diff options
-rw-r--r-- | src/3rdparty/phonon/mmf/videoplayer_dsa.cpp | 8 | ||||
-rw-r--r-- | src/gui/kernel/qwidget_p.h | 20 |
2 files changed, 17 insertions, 11 deletions
diff --git a/src/3rdparty/phonon/mmf/videoplayer_dsa.cpp b/src/3rdparty/phonon/mmf/videoplayer_dsa.cpp index 21cdb16..732d2d9 100644 --- a/src/3rdparty/phonon/mmf/videoplayer_dsa.cpp +++ b/src/3rdparty/phonon/mmf/videoplayer_dsa.cpp @@ -162,7 +162,10 @@ void MMF::DsaVideoPlayer::prepareCompleted() void MMF::DsaVideoPlayer::handleVideoWindowChanged() { if (!m_window) { - m_window = QApplication::activeWindow()->effectiveWinId()->DrawableWindow(); + if (QWidget *window = QApplication::activeWindow()) + m_window = window->effectiveWinId()->DrawableWindow(); + else + m_window = 0; m_videoScreenRect = TRect(); } @@ -213,6 +216,9 @@ void MMF::DsaVideoPlayer::handleParametersChanged(VideoParameters parameters) TRACE_CONTEXT(DsaVideoPlayer::handleParametersChanged, EVideoInternal); TRACE_ENTRY_0(); + if (!m_window) + return; + #ifndef QT_NO_DEBUG getDsaRegion(m_wsSession, *m_window); #endif diff --git a/src/gui/kernel/qwidget_p.h b/src/gui/kernel/qwidget_p.h index 1bbc057..555647c 100644 --- a/src/gui/kernel/qwidget_p.h +++ b/src/gui/kernel/qwidget_p.h @@ -233,6 +233,15 @@ struct QWExtra { uint activated : 1; // RWindowBase::Activated has been called /** + * If this bit is set, each native widget receives the signals from the + * Symbian control immediately before and immediately after draw ops are + * sent to the window server for this control: + * void beginNativePaintEvent(const QRect &paintRect); + * void endNativePaintEvent(const QRect &paintRect); + */ + uint receiveNativePaintEvents : 1; + + /** * Defines the behaviour of QSymbianControl::Draw. */ enum NativePaintMode { @@ -257,16 +266,7 @@ struct QWExtra { Default = Blit }; - NativePaintMode nativePaintMode : 2; - - /** - * If this bit is set, each native widget receives the signals from the - * Symbian control immediately before and immediately after draw ops are - * sent to the window server for this control: - * void beginNativePaintEvent(const QRect &paintRect); - * void endNativePaintEvent(const QRect &paintRect); - */ - uint receiveNativePaintEvents : 1; + NativePaintMode nativePaintMode; #endif }; |