diff options
author | Christian Ehrlicher <[email protected]> | 2025-05-21 20:22:40 +0200 |
---|---|---|
committer | Christian Ehrlicher <[email protected]> | 2025-06-10 18:30:25 +0000 |
commit | 46c2aa2b617ea136dbd1c9c7606316a10588ef11 (patch) | |
tree | c4b9550da5d65209822efa6975af8998947d4ac4 | |
parent | 5e9efe45dfe1319b41300b0d3ea7b243ea2c8f73 (diff) |
QPA/Windows: Fix QPainter warnings when animations are disabled
Don't draw on a QImage with a size of 0/0.
This amends 5feefd30734cd12753956819fc7c152be07c24cd
Pick-to: 6.10 6.9 6.9.1
Fixes: QTBUG-135844
Task-number: QTBUG-127634
Change-Id: Ib57cdccfabe67454984f3229f9d7ad02dd0d9992
Reviewed-by: Błażej Szczygieł <[email protected]>
Reviewed-by: Wladimir Leuschner <[email protected]>
-rw-r--r-- | src/plugins/platforms/windows/qwindowswindow.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp index c1530789f4c..81a3f1d37b7 100644 --- a/src/plugins/platforms/windows/qwindowswindow.cpp +++ b/src/plugins/platforms/windows/qwindowswindow.cpp @@ -2457,14 +2457,16 @@ void QWindowsWindow::handleGeometryChange() clearFlag(SynchronousGeometryChangeEvent); qCDebug(lcQpaEvents) << __FUNCTION__ << this << window() << m_data.geometry; - bool arranged = QWindowsWindow::isWindowArranged(m_data.hwnd); - if (arranged || (m_windowWasArranged && !arranged)) { - transitionAnimatedCustomTitleBar(); - } + if (m_data.hwndTitlebar) { + bool arranged = QWindowsWindow::isWindowArranged(m_data.hwnd); + if (arranged || (m_windowWasArranged && !arranged)) + transitionAnimatedCustomTitleBar(); - const int titleBarHeight = getTitleBarHeight_sys(savedDpi()); - MoveWindow(m_data.hwndTitlebar, m_data.geometry.x(), m_data.geometry.y(), m_data.geometry.width(), titleBarHeight, true); - m_windowWasArranged = arranged; + const int titleBarHeight = getTitleBarHeight_sys(savedDpi()); + MoveWindow(m_data.hwndTitlebar, m_data.geometry.x(), m_data.geometry.y(), + m_data.geometry.width(), titleBarHeight, true); + m_windowWasArranged = arranged; + } } void QWindowsBaseWindow::setGeometry_sys(const QRect &rect) const @@ -2743,6 +2745,8 @@ void QWindowsWindow::correctWindowPlacement(WINDOWPLACEMENT &windowPlacement) void QWindowsWindow::transitionAnimatedCustomTitleBar() { + if (!m_data.hwndTitlebar) + return; const QWinRegistryKey registry(HKEY_CURRENT_USER, LR"(Control Panel\Desktop\WindowMetrics)"); if (registry.isValid() && registry.value(LR"(MinAnimate)") == 1) { ShowWindow(m_data.hwndTitlebar, SW_HIDE); |