Mercurial > mplayer.hg
diff Gui/win32/interface.c @ 22487:1c5ea79749ea
fixed dvd chapter and title switching
author | vayne |
---|---|
date | Sat, 10 Mar 2007 14:33:28 +0000 |
parents | afe33a1c6e75 |
children | d78278e1ece6 |
line wrap: on
line diff
--- a/Gui/win32/interface.c Sat Mar 10 14:32:19 2007 +0000 +++ b/Gui/win32/interface.c Sat Mar 10 14:33:28 2007 +0000 @@ -167,10 +167,6 @@ guiIntfStruct.DiskChanged = 1; mplSetFileName(NULL, dvd_device, STREAMTYPE_DVD); - guiIntfStruct.Title = guiIntfStruct.DVD.current_title; - guiIntfStruct.Chapter = guiIntfStruct.DVD.current_chapter; - guiIntfStruct.Angle = guiIntfStruct.DVD.current_angle; - dvdname[0] = 0; strcat(dvdname, "DVD Movie"); GetVolumeInformation(dvd_device, dvdname, MAX_PATH, NULL, NULL, NULL, NULL, 0); @@ -281,13 +277,28 @@ case evDropFile: case evLoadPlay: { - mplSetFileName(NULL, filename, STREAMTYPE_FILE); - guiIntfStruct.FilenameChanged = guiIntfStruct.NewPlay = 1; - update_playlistwindow(); - mplGotoTheNext = guiIntfStruct.Playing? 0 : 1; - guiGetEvent(guiCEvent, (void *) guiSetStop); - guiGetEvent(guiCEvent, (void *) guiSetPlay); - break; + switch(guiIntfStruct.StreamType) + { + case STREAMTYPE_DVD: + { + guiIntfStruct.Title = guiIntfStruct.DVD.current_title; + guiIntfStruct.Chapter = guiIntfStruct.DVD.current_chapter; + guiIntfStruct.Angle = guiIntfStruct.DVD.current_angle; + guiIntfStruct.DiskChanged = 1; + guiGetEvent(guiCEvent, (void *) guiSetPlay); + break; + } + default: + { + guiIntfStruct.FilenameChanged = guiIntfStruct.NewPlay = 1; + update_playlistwindow(); + mplGotoTheNext = guiIntfStruct.Playing? 0 : 1; + guiGetEvent(guiCEvent, (void *) guiSetStop); + guiGetEvent(guiCEvent, (void *) guiSetPlay); + break; + } + } + break; } case evNext: mplNext();