aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickitemgrabresult.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickitemgrabresult.cpp')
-rw-r--r--src/quick/items/qquickitemgrabresult.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/quick/items/qquickitemgrabresult.cpp b/src/quick/items/qquickitemgrabresult.cpp
index 00e84536e9..41e9b2fe90 100644
--- a/src/quick/items/qquickitemgrabresult.cpp
+++ b/src/quick/items/qquickitemgrabresult.cpp
@@ -40,6 +40,7 @@
#include <private/qtquickglobal_p.h>
#include "qquickitemgrabresult.h"
+#include "qquickrendercontrol.h"
#include "qquickwindow.h"
#include "qquickitem.h"
#if QT_CONFIG(quick_shadereffect)
@@ -293,7 +294,11 @@ QQuickItemGrabResult *QQuickItemGrabResultPrivate::create(QQuickItem *item, cons
return nullptr;
}
- if (!item->window()->isVisible()) {
+ QWindow *effectiveWindow = item->window();
+ if (QWindow *renderWindow = QQuickRenderControl::renderWindowFor(item->window()))
+ effectiveWindow = renderWindow;
+
+ if (!effectiveWindow->isVisible()) {
qmlWarning(item) << "grabToImage: item's window is not visible";
return nullptr;
}