diff options
author | Carl Schwan <carl@carlschwan.eu> | 2024-04-15 15:41:23 +0200 |
---|---|---|
committer | Carl Schwan <carl@carlschwan.eu> | 2024-04-15 15:58:49 +0200 |
commit | ffb557ff17d45684aac159762ae4bcc8a04ba573 (patch) | |
tree | e1c9c5f082cf3e22ca9a590307771bb4c6022024 | |
parent | 24c3d54f90bd0898d22757aa62782d4ed2761480 (diff) |
Fix crash in QQuickItem::mapToItem
item->window() can be null and this will cause a crash when this happen.
This seems to be a recent regression as with Qt 6.6 I never saw this
crash and now I see it semi regularly in various applications
Change-Id: I2056073bb72df81de8e8a6cbd48aed0478d91121
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
-rw-r--r-- | src/quick/items/qquickitem.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index 5e92403dc2..01f15d2490 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -8750,8 +8750,9 @@ QPointF QQuickItem::mapToItem(const QQuickItem *item, const QPointF &point) cons { QPointF p = mapToScene(point); if (item) { - if (item->window() != window()) - p = item->window()->mapFromGlobal(window()->mapToGlobal(p)); + const QQuickWindow *itemWindow = item->window(); + if (itemWindow != nullptr && itemWindow != window()) + p = itemWindow->mapFromGlobal(window()->mapToGlobal(p)); p = item->mapFromScene(p); } |