summaryrefslogtreecommitdiff
path: root/avmedia
diff options
context:
space:
mode:
Diffstat (limited to 'avmedia')
-rw-r--r--avmedia/source/framework/MediaControlBase.cxx2
-rw-r--r--avmedia/source/framework/mediacontrol.cxx2
2 files changed, 3 insertions, 1 deletions
diff --git a/avmedia/source/framework/MediaControlBase.cxx b/avmedia/source/framework/MediaControlBase.cxx
index 9cd55282226a..4caedac9db2b 100644
--- a/avmedia/source/framework/MediaControlBase.cxx
+++ b/avmedia/source/framework/MediaControlBase.cxx
@@ -163,7 +163,7 @@ void MediaControlBase::UpdateToolBoxes(MediaItem aMediaItem)
mpPlayToolBox->CheckItem( AVMEDIA_TOOLBOXITEM_PAUSE, false );
mpPlayToolBox->CheckItem( AVMEDIA_TOOLBOXITEM_STOP, false );
}
- else if( aMediaItem.getTime() > 0.0 && ( aMediaItem.getTime() < aMediaItem.getDuration() ) )
+ else if( aMediaItem.getState() == MediaState::Pause )
{
mpPlayToolBox->CheckItem( AVMEDIA_TOOLBOXITEM_PLAY, false );
mpPlayToolBox->CheckItem( AVMEDIA_TOOLBOXITEM_PAUSE );
diff --git a/avmedia/source/framework/mediacontrol.cxx b/avmedia/source/framework/mediacontrol.cxx
index 0988c88c0d13..e194a2296fef 100644
--- a/avmedia/source/framework/mediacontrol.cxx
+++ b/avmedia/source/framework/mediacontrol.cxx
@@ -274,6 +274,8 @@ IMPL_LINK( MediaControl, implTimeEndHdl, Slider*, p, void )
MediaItem aExecItem;
aExecItem.setTime( p->GetThumbPos() * maItem.getDuration() / AVMEDIA_TIME_RANGE );
+ // keep state (if the media was playing, keep it playing)
+ aExecItem.setState(maItem.getState());
execute( aExecItem );
update();
maIdle.Start();