diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2011-09-30 15:53:37 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-09-30 15:55:10 +0200 |
commit | 70e753f08972a53d61c3f1ce5e9a1980c7dcaafe (patch) | |
tree | 410fe8032cd5c600a0189870568eaf80726e373f | |
parent | 7161e2a0201b44ac1577296a37cd1595a468c6c7 (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>
-rw-r--r-- | src/3rdparty/phonon/ds9/videorenderer_vmr9.cpp | 14 |
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) |