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();