diff options
author | Timothy Pearson <[email protected]> | 2014-10-09 13:29:39 -0500 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2014-10-09 13:29:39 -0500 |
commit | c0913ce69ba56f01e0b197f6c7a4776080da35a0 (patch) | |
tree | e15a785a8ee00f8d2c0c61fefd543cf1d82de45b /kaboodle/player.cpp | |
parent | 0ecfaa944652fa9b7a632e6135741c4b9f473a20 (diff) | |
download | tdemultimedia-c0913ce69ba56f01e0b197f6c7a4776080da35a0.tar.gz tdemultimedia-c0913ce69ba56f01e0b197f6c7a4776080da35a0.zip |
Fix artsd exiting on Xine-generated Xorg errors
This relates to Bug 2150
Fix Kaboodle not playing newly loaded videos
This relates to Bug 1905
Diffstat (limited to 'kaboodle/player.cpp')
-rw-r--r-- | kaboodle/player.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/kaboodle/player.cpp b/kaboodle/player.cpp index af53a91b..4ec345c7 100644 --- a/kaboodle/player.cpp +++ b/kaboodle/player.cpp @@ -88,15 +88,17 @@ KMediaPlayer::View *Kaboodle::Player::view(void) // notice how this is just an expanded stop() ? weird. bool Kaboodle::Player::openURL(const KURL &f) { - if(!current.isEmpty()) + bool previousLoad = !current.isEmpty(); + if (previousLoad) { uncompleted = false; engine->stop(); + current = f; } emit started(0); current = f; - if(!engine->load(current)) + if (!engine->load(current)) { current = KURL(); setState(Empty); @@ -104,12 +106,18 @@ bool Kaboodle::Player::openURL(const KURL &f) return false; } + if (previousLoad) + { + TQTimer::singleShot( 0, this, SLOT(play()) ); + return true; + } + stopAction->setEnabled(false); playAction->setEnabled(true); pauseAction->setEnabled(false); setState(Empty); // so stateChanged() is emitted and autoPlay works setState(Stop); - + tickerTimeout(); return true; } |