From 70e753f08972a53d61c3f1ce5e9a1980c7dcaafe Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 30 Sep 2011 15:53:37 +0200 Subject: videorenderer: Implement HWND-retrieval properly. Change-Id: I5ab678eeaaba498e802cc73d08f884ea5dcc0161 Reviewed-on: http://codereview.qt-project.org/5889 Reviewed-by: Qt Sanity Bot Reviewed-by: Friedemann Kleint --- src/3rdparty/phonon/ds9/videorenderer_vmr9.cpp | 14 ++++++++++++-- 1 file 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 (QGuiApplication::platformNativeInterface()->nativeResourceForWindow("handle", window)); + if (QWindow *window = windowForWidget(widget)) + return static_cast (QGuiApplication::platformNativeInterface()->nativeResourceForWindow("handle", window)); + return 0; } static inline HDC getDC(const QWidget *widget) -- cgit v1.2.3