summaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2013-07-23 11:40:43 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-07-24 10:55:59 +0200
commit0edf1390ca0cd70cd2b4d4c971a9631f0f35c24c (patch)
tree9fa94eceb95b9a10c3aa6c97ee1fd4d34b3d39f8 /src/plugins
parentbd602a2dc4bc9491f80919b09a8990edb6fbee97 (diff)
Windows: Mark window margins as dirty when the theme changes.
Task-number: QTBUG-31523 Change-Id: Ibd8ed4e3fc5b6d1723f94dc32b3bf86b74e71020 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/platforms/windows/qwindowscontext.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins/platforms/windows/qwindowscontext.cpp b/src/plugins/platforms/windows/qwindowscontext.cpp
index 872fd07729..42b0ee9bfe 100644
--- a/src/plugins/platforms/windows/qwindowscontext.cpp
+++ b/src/plugins/platforms/windows/qwindowscontext.cpp
@@ -848,10 +848,15 @@ bool QWindowsContext::windowsProc(HWND hwnd, UINT message,
case QtWindows::CloseEvent:
QWindowSystemInterface::handleCloseEvent(platformWindow->window());
return true;
- case QtWindows::ThemeChanged: // ### fixme: Compress these events?
+ case QtWindows::ThemeChanged: {
+ // Switch from Aero to Classic changes margins.
+ const Qt::WindowFlags flags = platformWindow->window()->flags();
+ if ((flags & Qt::WindowType_Mask) != Qt::Desktop && !(flags & Qt::FramelessWindowHint))
+ platformWindow->setFlag(QWindowsWindow::FrameDirty);
if (QWindowsTheme *theme = QWindowsTheme::instance())
theme->windowsThemeChanged(platformWindow->window());
return true;
+ }
#ifndef Q_OS_WINCE
case QtWindows::ActivateWindowEvent:
if (platformWindow->testFlag(QWindowsWindow::BlockedByModal))