summaryrefslogtreecommitdiff
path: root/avmedia
diff options
context:
space:
mode:
authorZolnai Tamás <tamas.zolnai@collabora.com>2014-05-25 15:38:03 +0200
committerZolnai Tamás <tamas.zolnai@collabora.com>2014-05-25 15:39:39 +0200
commit25db60d2e4f1097cdd6a9944e96461fe57658628 (patch)
tree5223fe9c46695d37b75bdeed46607051ab5e7ac3 /avmedia
parenta850d96fade014f11bc076fb916fae8c7c5eaecb (diff)
mpEvents is freed by other object so using scoped_ptr lead to crash. Change-Id: I28c9d322b5ee5da6edf5022da18b42f59b608dec
Diffstat (limited to 'avmedia')
-rw-r--r--avmedia/source/viewer/mediawindow_impl.cxx3
-rw-r--r--avmedia/source/viewer/mediawindow_impl.hxx2
2 files changed, 2 insertions, 3 deletions
diff --git a/avmedia/source/viewer/mediawindow_impl.cxx b/avmedia/source/viewer/mediawindow_impl.cxx
index 1310832aaf99..a3618430c1b0 100644
--- a/avmedia/source/viewer/mediawindow_impl.cxx
+++ b/avmedia/source/viewer/mediawindow_impl.cxx
@@ -510,8 +510,7 @@ void MediaWindowImpl::onURLChanged()
if( !mpChildWindow )
return;
mpChildWindow->SetHelpId( HID_AVMEDIA_PLAYERWINDOW );
- mpEvents.reset(new MediaEventListenersImpl( *mpChildWindow.get() ) );
- mxEventsIf.set( static_cast< ::cppu::OWeakObject* >( mpEvents.get() ) );
+ mxEventsIf.set( static_cast< ::cppu::OWeakObject* >( mpEvents = new MediaEventListenersImpl( *mpChildWindow.get() ) ) );
if( mxPlayer.is() )
{
diff --git a/avmedia/source/viewer/mediawindow_impl.hxx b/avmedia/source/viewer/mediawindow_impl.hxx
index d6084305b199..7bf7f369143f 100644
--- a/avmedia/source/viewer/mediawindow_impl.hxx
+++ b/avmedia/source/viewer/mediawindow_impl.hxx
@@ -171,7 +171,7 @@ namespace avmedia
MediaWindow* mpMediaWindow;
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > mxEventsIf;
- boost::scoped_ptr<MediaEventListenersImpl> mpEvents;
+ MediaEventListenersImpl* mpEvents;
bool mbEventTransparent;
boost::scoped_ptr<MediaChildWindow> mpChildWindow;
MediaWindowControl* mpMediaWindowControl;