diff options
Diffstat (limited to 'src/quick/items/qquickitemgrabresult.cpp')
-rw-r--r-- | src/quick/items/qquickitemgrabresult.cpp | 7 |
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; } |