* Only restore the previous playing position when there is a file that is

currently playing; this fixes the the problem I mentioned in a comment in
  bug #3855.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36224 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler
2010-04-13 15:23:03 +00:00
parent 2548ea219a
commit be982b9cd5
+7 -1
View File
@@ -908,7 +908,10 @@ MainWin::OpenPlaylist(const BMessage* playlistArchive)
playlistLocker.Unlock();
playlistArchive->FindInt64("position", (int64*)&fInitialSeekPosition);
if (currentIndex != -1) {
// Restore the current play position only if we have something to play
playlistArchive->FindInt64("position", (int64*)&fInitialSeekPosition);
}
if (IsHidden())
Show();
@@ -1051,6 +1054,7 @@ MainWin::GetQuitMessage(BMessage* message)
message->AddRect("window frame", Frame());
message->AddBool("audio only", !fHasVideo);
message->AddInt64("creation time", fCreationTime);
if (!fHasVideo && fHasAudio) {
// store playlist, current index and position if this is audio
BMessage playlistArchive;
@@ -1061,6 +1065,7 @@ MainWin::GetQuitMessage(BMessage* message)
if (!fPlaylist)
return;
BAutolock playlistLocker(fPlaylist);
if (fPlaylist->Archive(&playlistArchive) != B_OK
|| playlistArchive.AddInt32("index",
@@ -1189,6 +1194,7 @@ MainWin::_PlaylistItemOpened(const PlaylistItemRef& item, status_t result)
fHasVideo = fController->VideoTrackCount() != 0;
fHasAudio = fController->AudioTrackCount() != 0;
SetTitle(item->Name().String());
fController->SetTimePosition(fInitialSeekPosition);
fInitialSeekPosition = 0;
}