diff options
author | Sami Merila <sami.merila@nokia.com> | 2011-01-26 07:05:19 (GMT) |
---|---|---|
committer | Jason McDonald <jason.mcdonald@nokia.com> | 2011-01-28 09:46:00 (GMT) |
commit | 55f760f36b945af4e3f2009ecee3d234d421d2ce (patch) | |
tree | 99d6b80b5994f85fe76752558c5ade0407f8445e /src/gui/styles | |
parent | 374aa39abf0fc14eadb59346c5fb9d6dd763e592 (diff) | |
download | Qt-55f760f36b945af4e3f2009ecee3d234d421d2ce.zip Qt-55f760f36b945af4e3f2009ecee3d234d421d2ce.tar.gz Qt-55f760f36b945af4e3f2009ecee3d234d421d2ce.tar.bz2 |
Application background is incorrect if app locked to landscape.
If application orientation has been locked to landscape and application
is started out while device orientation is portrait, QS60Style draws
the QPalette::background like device would be in landscape. Style
is incorrectly following device orientation, when it should follow
application orientation.
As a fix, style follows now application orientation. As a bonus,
unnecessary fullscreen QPixmap creation is avoided when rotating the
device.
Task-number: QTBUG-16816
Reviewed-by: Jani Hautakangas
(cherry picked from commit 54313b3ba81c276cf06c40c2420b1ff1f30e64c3)
Diffstat (limited to 'src/gui/styles')
-rw-r--r-- | src/gui/styles/qs60style_s60.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/gui/styles/qs60style_s60.cpp b/src/gui/styles/qs60style_s60.cpp index 04c40aa..605872e 100644 --- a/src/gui/styles/qs60style_s60.cpp +++ b/src/gui/styles/qs60style_s60.cpp @@ -1378,12 +1378,13 @@ QPixmap QS60StylePrivate::frame(SkinFrameElements frame, const QSize &size, Skin QPixmap QS60StylePrivate::backgroundTexture() { bool createNewBackground = false; + TRect applicationRect = (static_cast<CEikAppUi*>(S60->appUi())->ApplicationRect()); if (!m_background) { createNewBackground = true; } else { //if background brush does not match screensize, re-create it - if (m_background->width() != S60->screenWidthInPixels || - m_background->height() != S60->screenHeightInPixels) { + if (m_background->width() != applicationRect.Width() || + m_background->height() != applicationRect.Height()) { delete m_background; createNewBackground = true; } @@ -1391,7 +1392,7 @@ QPixmap QS60StylePrivate::backgroundTexture() if (createNewBackground) { QPixmap background = part(QS60StyleEnums::SP_QsnBgScreen, - QSize(S60->screenWidthInPixels, S60->screenHeightInPixels), 0, SkinElementFlags()); + QSize(applicationRect.Width(), applicationRect.Height()), 0, SkinElementFlags()); m_background = new QPixmap(background); } return *m_background; @@ -1411,7 +1412,6 @@ QS60Style::QS60Style() void QS60StylePrivate::handleDynamicLayoutVariantSwitch() { clearCaches(QS60StylePrivate::CC_LayoutChange); - setBackgroundTexture(qApp); setActiveLayout(); refreshUI(); foreach (QWidget *widget, QApplication::allWidgets()) |