summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Ehrlicher <[email protected]>2025-05-21 20:22:40 +0200
committerChristian Ehrlicher <[email protected]>2025-06-10 18:30:25 +0000
commit46c2aa2b617ea136dbd1c9c7606316a10588ef11 (patch)
treec4b9550da5d65209822efa6975af8998947d4ac4
parent5e9efe45dfe1319b41300b0d3ea7b243ea2c8f73 (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.cpp18
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);