diff options
author | Sami Merila <sami.merila@nokia.com> | 2009-12-23 11:37:50 (GMT) |
---|---|---|
committer | Sami Merila <sami.merila@nokia.com> | 2009-12-23 11:37:50 (GMT) |
commit | 7eb0abe8cd9f810905ec079e45ece1ed7fc9b9aa (patch) | |
tree | f589889eeee100b2c211b9b7e489be26e3e24985 /src | |
parent | 6928ffb7533d23f0be220116a7b11d90bee72fb5 (diff) | |
download | Qt-7eb0abe8cd9f810905ec079e45ece1ed7fc9b9aa.zip Qt-7eb0abe8cd9f810905ec079e45ece1ed7fc9b9aa.tar.gz Qt-7eb0abe8cd9f810905ec079e45ece1ed7fc9b9aa.tar.bz2 |
Setting background color to a QDialog doesn't work
Since dialogs use their own theme graphics for background, regular
method of checking the palette fails (as generic background brush is
probably unchanged). Therefore to check if the dialog background is
using default (=theme graphic), it needs to check the cache key value
of background - so that it matches with the one in stored theme
palette.
Task-number: QTBUG-5898
Reviewed-by: Janne Koskinen
Diffstat (limited to 'src')
-rw-r--r-- | src/gui/styles/qs60style.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gui/styles/qs60style.cpp b/src/gui/styles/qs60style.cpp index b386c28..e370ed0 100644 --- a/src/gui/styles/qs60style.cpp +++ b/src/gui/styles/qs60style.cpp @@ -2160,7 +2160,10 @@ void QS60Style::drawPrimitive(PrimitiveElement element, const QStyleOption *opti || qobject_cast<const QMenu *> (widget) #endif //QT_NO_MENU ) { - if (QS60StylePrivate::canDrawThemeBackground(option->palette.base())) + //Need extra check since dialogs have their own theme background + if (QS60StylePrivate::canDrawThemeBackground(option->palette.base()) && + option->palette.window().texture().cacheKey() == + QS60StylePrivate::m_themePalette->window().texture().cacheKey()) QS60StylePrivate::drawSkinElement(QS60StylePrivate::SE_OptionsMenu, painter, option->rect, flags); else commonStyleDraws = true; |