diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2013-07-23 11:40:43 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-07-24 10:55:59 +0200 |
commit | 0edf1390ca0cd70cd2b4d4c971a9631f0f35c24c (patch) | |
tree | 9fa94eceb95b9a10c3aa6c97ee1fd4d34b3d39f8 | |
parent | bd602a2dc4bc9491f80919b09a8990edb6fbee97 (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>
-rw-r--r-- | src/plugins/platforms/windows/qwindowscontext.cpp | 7 |
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)) |