summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/phonon/ds9/videorenderer_vmr9.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2011-09-30 15:53:37 +0200
committerQt by Nokia <qt-info@nokia.com>2011-09-30 15:55:10 +0200
commit70e753f08972a53d61c3f1ce5e9a1980c7dcaafe (patch)
tree410fe8032cd5c600a0189870568eaf80726e373f /src/3rdparty/phonon/ds9/videorenderer_vmr9.cpp
parent7161e2a0201b44ac1577296a37cd1595a468c6c7 (diff)
videorenderer: Implement HWND-retrieval properly.
Change-Id: I5ab678eeaaba498e802cc73d08f884ea5dcc0161 Reviewed-on: http://codereview.qt-project.org/5889 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
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)