Diffstat (limited to 'noncore/multimedia/opieplayer2/mediaplayer.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/mediaplayer.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/noncore/multimedia/opieplayer2/mediaplayer.cpp b/noncore/multimedia/opieplayer2/mediaplayer.cpp index d6fbb53..0ec6fad 100644 --- a/noncore/multimedia/opieplayer2/mediaplayer.cpp +++ b/noncore/multimedia/opieplayer2/mediaplayer.cpp @@ -37,2 +37,3 @@ MediaPlayer::MediaPlayer( PlayListWidget &_playList, MediaPlayerState &_mediaPla m_xineControl = 0; + xine = new XINE::Lib( XINE::Lib::InitializeInThread ); @@ -67,2 +68,7 @@ MediaPlayer::MediaPlayer( PlayListWidget &_playList, MediaPlayerState &_mediaPla MediaPlayer::~MediaPlayer() { + // this shold never happen, but one never knows... + if ( xine ) { + xine->ensureInitialized(); + delete xine; + } delete m_xineControl; @@ -373,4 +379,8 @@ void MediaPlayer::recreateAudioAndVideoWidgets() const - XINE::Lib *xine = new XINE::Lib( XINE::Lib::InitializeImmediately ); + if ( !xine ) + xine = new XINE::Lib( XINE::Lib::InitializeImmediately ); + m_xineControl = new XineControl( xine, m_videoUI->vidWidget(), mediaPlayerState ); + + xine = 0; } |