summaryrefslogtreecommitdiff
path: root/avmedia/source/viewer/mediawindow_impl.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'avmedia/source/viewer/mediawindow_impl.cxx')
-rw-r--r--avmedia/source/viewer/mediawindow_impl.cxx32
1 files changed, 16 insertions, 16 deletions
diff --git a/avmedia/source/viewer/mediawindow_impl.cxx b/avmedia/source/viewer/mediawindow_impl.cxx
index 7a6863b1b2bc..c84849b2dec3 100644
--- a/avmedia/source/viewer/mediawindow_impl.cxx
+++ b/avmedia/source/viewer/mediawindow_impl.cxx
@@ -56,12 +56,6 @@ MediaWindowControl::MediaWindowControl( vcl::Window* pParent ) :
-MediaWindowControl::~MediaWindowControl()
-{
-}
-
-
-
void MediaWindowControl::update()
{
MediaItem aItem;
@@ -93,12 +87,6 @@ MediaChildWindow::MediaChildWindow( vcl::Window* pParent, SystemWindowData* pDat
}
#endif
-MediaChildWindow::~MediaChildWindow()
-{
-}
-
-
-
void MediaChildWindow::MouseMove( const MouseEvent& rMEvt )
{
const MouseEvent aTransformedEvent( GetParent()->ScreenToOutputPixel( OutputToScreenPixel( rMEvt.GetPosPixel() ) ),
@@ -168,7 +156,7 @@ MediaWindowImpl::MediaWindowImpl( vcl::Window* pParent, MediaWindow* pMediaWindo
mpMediaWindow( pMediaWindow ),
mpEvents( NULL ),
mbEventTransparent(true),
- mpMediaWindowControl( bInternalMediaControl ? new MediaWindowControl( this ) : NULL ),
+ mpMediaWindowControl( bInternalMediaControl ? VclPtr<MediaWindowControl>::Create( this ) : nullptr ),
mpEmptyBmpEx( NULL ),
mpAudioBmpEx( NULL )
{
@@ -183,6 +171,11 @@ MediaWindowImpl::MediaWindowImpl( vcl::Window* pParent, MediaWindow* pMediaWindo
MediaWindowImpl::~MediaWindowImpl()
{
+ disposeOnce();
+}
+
+void MediaWindowImpl::dispose()
+{
if( mpEvents )
mpEvents->cleanUp();
@@ -208,8 +201,13 @@ MediaWindowImpl::~MediaWindowImpl()
mpMediaWindow = NULL;
delete mpEmptyBmpEx;
+ mpEmptyBmpEx = NULL;
delete mpAudioBmpEx;
- delete mpMediaWindowControl;
+ mpAudioBmpEx = NULL;
+ mpMediaWindowControl.disposeAndClear();
+ mpChildWindow.disposeAndClear();
+
+ Control::dispose();
}
uno::Reference< media::XPlayer > MediaWindowImpl::createPlayer( const OUString& rURL, const OUString& rReferer, const OUString* pMimeType )
@@ -510,13 +508,15 @@ void MediaWindowImpl::onURLChanged()
{
if( m_sMimeType == AVMEDIA_MIMETYPE_COMMON )
{
- mpChildWindow.reset(new MediaChildWindow(this) );
+ mpChildWindow.disposeAndClear();
+ mpChildWindow.reset(VclPtr<MediaChildWindow>::Create(this) );
}
#if HAVE_FEATURE_GLTF
else if ( m_sMimeType == AVMEDIA_MIMETYPE_JSON )
{
SystemWindowData aWinData = OpenGLContext::generateWinData(this, false);
- mpChildWindow.reset(new MediaChildWindow(this,&aWinData));
+ mpChildWindow.disposeAndClear();
+ mpChildWindow.reset(VclPtr<MediaChildWindow>::Create(this,&aWinData));
mbEventTransparent = false;
}
#endif