changeset 4974:5da7b1522a9f

small bug fixed and workarounds :(
author pontscho
date Thu, 07 Mar 2002 11:57:33 +0000
parents 544c1dae591c
children 877f0f643fef
files Gui/interface.h Gui/mplayer/mw.h libvo/x11_common.c mplayer.c playtree.c
diffstat 5 files changed, 34 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/Gui/interface.h	Thu Mar 07 02:49:46 2002 +0000
+++ b/Gui/interface.h	Thu Mar 07 11:57:33 2002 +0000
@@ -102,6 +102,7 @@
 #define guiSetPause 2
 
 extern void guiInit( int argc,char* argv[], char *envp[] );
+extern void guiDone( void );
 extern void guiGetEvent( int type,char * arg );
 extern void guiEventHandling( void );
 
--- a/Gui/mplayer/mw.h	Thu Mar 07 02:49:46 2002 +0000
+++ b/Gui/mplayer/mw.h	Thu Mar 07 11:57:33 2002 +0000
@@ -208,7 +208,6 @@
   {
 // --- user events
    case evExit:
-        wsDoExit();  // sets wsTrue=False;
         exit_player( "Exit" );
         break;
 
--- a/libvo/x11_common.c	Thu Mar 07 02:49:46 2002 +0000
+++ b/libvo/x11_common.c	Thu Mar 07 11:57:33 2002 +0000
@@ -473,9 +473,16 @@
            ret|=VO_EVENT_RESIZE;
            break;
       case KeyPress:
-           XLookupString( &Event.xkey,buf,sizeof(buf),&keySym,&stat );
-           vo_x11_putkey( ( (keySym&0xff00) != 0?( (keySym&0x00ff) + 256 ):( keySym ) ) );
-           ret|=VO_EVENT_KEYPRESS;
+           { 
+	    int key;
+            XLookupString( &Event.xkey,buf,sizeof(buf),&keySym,&stat );
+	    key=( (keySym&0xff00) != 0?( (keySym&0x00ff) + 256 ):( keySym ) );
+	    #ifdef HAVE_NEW_GUI
+	     if ( ( use_gui )&&( key == wsEnter ) ) break;
+	    #endif
+            vo_x11_putkey( key );
+            ret|=VO_EVENT_KEYPRESS;
+	   }
            break;
 #ifdef HAVE_NEW_INPUT
       case ButtonPress:
--- a/mplayer.c	Thu Mar 07 02:49:46 2002 +0000
+++ b/mplayer.c	Thu Mar 07 11:57:33 2002 +0000
@@ -749,7 +749,7 @@
   if(use_gui){
        guiInit( argc,argv,envp );
        inited_flags|=INITED_GUI;
-       guiGetEvent( guiCEvent,(gui_no_filename) ? 0 : 1 );
+       guiGetEvent( guiCEvent,(char *)((gui_no_filename) ? 0 : 1) );
   }
 #endif
 
@@ -769,7 +769,7 @@
      if ( guiIntfStruct.DVDChanged ) 
       {
        guiIntfStruct.DVDChanged=0;
-       guiGetEvent( guiCEvent,guiSetPlay );
+       guiGetEvent( guiCEvent,(char *)guiSetPlay );
        filename="/dev/dvd";
        goto play_dvd;
       }
@@ -795,21 +795,12 @@
        {
         play_tree_t * entry = play_tree_new();
         play_tree_add_file( entry,guiIntfStruct.Filename );
-        if ( playtree )
+        if ( playtree ) play_tree_free_list( playtree->child,1 );
+         else playtree=play_tree_new();
+        play_tree_set_child( playtree,entry );
+        if(playtree)
 	 {
-          play_tree_free_list( playtree->child,1 );
-          play_tree_set_child( playtree,entry );
-	 }
-          else
-           {
-	    fprintf( stderr,"[mplayer] new playtree created.\n" );
-            if ( !playtree ) playtree=play_tree_new();
-            play_tree_set_child( playtree,entry );
-           }
-
-        if(playtree->child)
-	 {
-	  playtree_iter = play_tree_iter_new(playtree->child,mconfig);
+	  playtree_iter = play_tree_iter_new(playtree,mconfig);
 	  if(playtree_iter)
 	   {
 	    if(play_tree_iter_step(playtree_iter,0,0) != PLAY_TREE_ITER_ENTRY)
@@ -820,8 +811,9 @@
 	    filename = play_tree_iter_get_file(playtree_iter,1);
 	   }
          }
+//	filename=playtree->child->files[0]; 
    	guiIntfStruct.FilenameChanged=0;
-       }
+       } 
     }
 #endif
 
@@ -2034,7 +2026,7 @@
 	fflush(stdout);
       }
 #ifdef HAVE_NEW_GUI
-      if(use_gui) guiGetEvent( guiCEvent,guiSetPause );
+      if(use_gui) guiGetEvent( guiCEvent,(char *)guiSetPause );
 #endif
       if (video_out && sh_video)
 	 video_out->control(VOCTRL_PAUSE, NULL);
@@ -2091,7 +2083,7 @@
         video_out->control(VOCTRL_RESUME, NULL);	// resume video
       (void)GetRelativeTime();	// keep TF around FT in next cycle
 #ifdef HAVE_NEW_GUI
-      if (use_gui) guiGetEvent( guiCEvent,guiSetPlay );
+      if (use_gui) guiGetEvent( guiCEvent,(char *)guiSetPlay );
 #endif
   }
 
@@ -2903,6 +2895,18 @@
 	    ,our_n_frames,bench_dropped_frames);
 }
 
+#ifdef HAVE_NEW_GUI
+ if( use_gui ) 
+  {
+#ifdef USE_DVDREAD
+   if ( !guiIntfStruct.DVDChanged ) 
+#endif
+   mplStop();
+#warning workaround for kiba playtree with gui ... if i dont play the prev/next file, then playtree sig6 (assert)
+   eof=0;
+  }	
+#endif
+
 if(eof == PT_NEXT_ENTRY || eof == PT_PREV_ENTRY) {
   eof = eof == PT_NEXT_ENTRY ? 1 : -1;
   if(play_tree_iter_step(playtree_iter,eof,0) == PLAY_TREE_ITER_ENTRY) {
@@ -2930,16 +2934,6 @@
 
 if(eof == 0) eof = 1;
 
-#ifdef HAVE_NEW_GUI
-      if(use_gui) 
-       {
-#ifdef USE_DVDREAD
-        if ( !guiIntfStruct.DVDChanged ) 
-#endif
-	mplStop();
-       }	
-#endif
-
 while(playtree_iter != NULL) {
   filename = play_tree_iter_get_file(playtree_iter,eof);
   if(filename == NULL) {
--- a/playtree.c	Thu Mar 07 02:49:46 2002 +0000
+++ b/playtree.c	Thu Mar 07 11:57:33 2002 +0000
@@ -442,7 +442,6 @@
 void
 play_tree_iter_free(play_tree_iter_t* iter) {
 
-  if ( !iter ) return;  
 #ifdef MP_DEBUG
   assert(iter != NULL);
 #endif
@@ -461,7 +460,6 @@
 play_tree_iter_step(play_tree_iter_t* iter, int d,int with_nodes) {
   play_tree_t* pt;
 
-  if ( !iter ) return PLAY_TREE_ITER_ERROR;
 #ifdef MP_DEBUG
   assert(iter != NULL);
   assert(iter->root != NULL);