summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/phonon/ds9/videorenderer_vmr9.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/phonon/ds9/videorenderer_vmr9.cpp')
-rw-r--r--src/3rdparty/phonon/ds9/videorenderer_vmr9.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/3rdparty/phonon/ds9/videorenderer_vmr9.cpp b/src/3rdparty/phonon/ds9/videorenderer_vmr9.cpp
index cf4937b..3c957d6 100644
--- a/src/3rdparty/phonon/ds9/videorenderer_vmr9.cpp
+++ b/src/3rdparty/phonon/ds9/videorenderer_vmr9.cpp
@@ -34,10 +34,20 @@ QT_BEGIN_NAMESPACE
namespace Phonon
{
+ static inline QWindow *windowForWidget(QWidget *widget)
+ {
+ if (QWindow *window = widget->windowHandle())
+ return window;
+ if (QWidget *nativeParent = widget->nativeParentWidget())
+ return nativeParent->windowHandle();
+ return 0;
+ }
+
static inline HWND hwndForWidget(QWidget *widget)
{
- QWindow *window = widget->windowHandle();
- return static_cast<HWND> (QGuiApplication::platformNativeInterface()->nativeResourceForWindow("handle", window));
+ if (QWindow *window = windowForWidget(widget))
+ return static_cast<HWND> (QGuiApplication::platformNativeInterface()->nativeResourceForWindow("handle", window));
+ return 0;
}
static inline HDC getDC(const QWidget *widget)