# HG changeset patch
# User nicodvb
# Date 1141548908 0
# Node ID 4a8c4d03c88c6e3eaae3dd00065a1dab4dc53226
# Parent  a3dd033ec92e4dfb1dee6fff4382c236a0d493df
restored the ability to disable subtitles when cycling with slave command 'sub_select' (previously broken in release 1.900)

diff -r a3dd033ec92e -r 4a8c4d03c88c mplayer.c
--- a/mplayer.c	Sun Mar 05 07:23:12 2006 +0000
+++ b/mplayer.c	Sun Mar 05 08:55:08 2006 +0000
@@ -3783,12 +3783,15 @@
     case MP_CMD_SUB_SELECT:
     if (global_sub_size) {
         int source = -1;
+        int reset=0;
         int v = cmd->args[0].v.i;
 
         if (v < -1)
             global_sub_pos++;
         else
             global_sub_pos = v;
+	if(global_sub_pos == global_sub_size)
+	    reset = 1;
         if (global_sub_pos >= global_sub_size)
             global_sub_pos = -1;
         if (global_sub_pos >= 0)
@@ -3805,7 +3808,7 @@
         vo_sub_last = vo_sub = NULL;
 #endif
         vobsub_id = -1;
-	if(dvdsub_lang) {
+	if(dvdsub_lang || reset) {
         dvdsub_id = -1;
         if (d_dvdsub) d_dvdsub->id = -1;
 	}
@@ -3872,6 +3875,13 @@
             }
             if (!global_sub_quiet_osd_hack) osd_show_vobsub_changed = sh_video->fps;
         } else { // off
+#ifdef USE_DVDREAD
+            if (vo_spudec && stream->type == STREAMTYPE_DVD && dvdsub_id < 0) {
+	        dvdsub_id = -2;
+                d_dvdsub->id = dvdsub_id;
+                spudec_reset(vo_spudec);
+            }
+#endif	    
             if (!global_sub_quiet_osd_hack) osd_show_vobsub_changed = sh_video->fps;
 #ifdef USE_SUB
             vo_osd_changed(OSDTYPE_SUBTITLE);