summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-08-31 14:16:28 +0000
committerpontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-08-31 14:16:28 +0000
commit25c699c572d5024bcc95ae499a0f4509f1cab78f (patch)
tree9d1d0ecebcd9e1444933f10336dc4773f36bae6b
parenta2023e8ff40f076748a7af1a0e1388466a0ae0c1 (diff)
downloadmpv-25c699c572d5024bcc95ae499a0f4509f1cab78f.tar.bz2
mpv-25c699c572d5024bcc95ae499a0f4509f1cab78f.tar.xz
async reply fix ?
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1803 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--Gui/mplayer/play.c7
-rw-r--r--Gui/mplayer/play.h3
-rw-r--r--Gui/mplayer/psignal.c6
-rw-r--r--mplayer.c10
4 files changed, 17 insertions, 9 deletions
diff --git a/Gui/mplayer/play.c b/Gui/mplayer/play.c
index 3e39f73aa9..4f45fd4eeb 100644
--- a/Gui/mplayer/play.c
+++ b/Gui/mplayer/play.c
@@ -205,4 +205,11 @@ void ChangeSkin( void )
mplSubRender=1; wsPostRedisplay( &appMPlayer.subWindow );
}
}
+ mplShMem->SkinChange=0;
+}
+
+void EventHandling( void )
+{
+ wsHandleEvents();mplTimerHandler(0); // handle GUI timer events
+ if ( mplShMem->SkinChange ) ChangeSkin();
}
diff --git a/Gui/mplayer/play.h b/Gui/mplayer/play.h
index 88ba80e904..07ed6a8f1e 100644
--- a/Gui/mplayer/play.h
+++ b/Gui/mplayer/play.h
@@ -47,6 +47,8 @@ typedef struct
int TimeSec;
int LengthInSec;
char Filename[4096];
+
+ int SkinChange;
} mplCommStruct;
extern mplCommStruct * mplShMem;
@@ -82,5 +84,6 @@ extern void mplSendMessage( int msg );
extern void mplPlayerThread( void );
extern void ChangeSkin( void );
+extern void EventHandling( void );
#endif
diff --git a/Gui/mplayer/psignal.c b/Gui/mplayer/psignal.c
index 38912c22f0..547913ff09 100644
--- a/Gui/mplayer/psignal.c
+++ b/Gui/mplayer/psignal.c
@@ -168,7 +168,7 @@ void mplMainSigHandler( int s )
if ( s != SIGTYPE ) return;
// #ifdef DEBUG
- if ( gtkShMem->message ) dbprintf( 5,"[psignal] main sig handler gtk msg: %d\n",gtkShMem->message );
+// if ( gtkShMem->message ) dbprintf( 5,"[psignal] main sig handler gtk msg: %d\n",gtkShMem->message );
// if ( mplShMem->message ) dbprintf( 5,"[psignal] main sig handler mpl msg: %d\n",mplShMem->message );
// #endif
@@ -199,9 +199,7 @@ void mplMainSigHandler( int s )
case evLoad: gtkVisibleFileSelect=0; break;
}
break;
- case evSkinBrowser:
- ChangeSkin();
- break;
+ case evSkinBrowser: mplShMem->SkinChange=1; break;
case evFileLoaded:
strcpy( mplShMem->Filename,gtkShMem->fs.dir ); strcat( mplShMem->Filename,"/" ); strcat( mplShMem->Filename,gtkShMem->fs.filename );
if ( mplMainAutoPlay ) mplGeneralTimer=1;
diff --git a/mplayer.c b/mplayer.c
index 4d665248bd..c27ede2040 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -583,7 +583,7 @@ play_next_file:
mplShMem->Playing= (gui_no_filename) ? 0 : 1;
while(mplShMem->Playing!=1){
usleep(20000);
- wsHandleEvents();mplTimerHandler(0); // handle GUI timer events
+ EventHandling();
}
if(gui_no_filename){
filename=mplShMem->Filename;
@@ -1291,7 +1291,7 @@ if(1)
}
#ifdef HAVE_NEW_GUI
if(use_gui){
- wsHandleEvents();mplTimerHandler(0); // handle GUI timer events
+ EventHandling();
}
#endif
video_out->check_events(); // check events AST
@@ -1329,7 +1329,7 @@ if(1)
#ifdef HAVE_NEW_GUI
if(use_gui){
- wsHandleEvents();mplTimerHandler(0); // handle GUI timer events
+ EventHandling();
}
#endif
@@ -1341,7 +1341,7 @@ if(1)
usec_sleep(1000000*(time_frame-0.002));
#ifdef HAVE_NEW_GUI
if(use_gui){
- wsHandleEvents();mplTimerHandler(0); // handle GUI timer events
+ EventHandling();
}
#endif
time_frame-=GetRelativeTime();
@@ -1512,7 +1512,7 @@ if(auto_quality>0){
#endif
#ifdef HAVE_NEW_GUI
if(use_gui){
- wsHandleEvents();mplTimerHandler(0); // handle GUI timer events
+ EventHandling();
if(mplShMem->Playing!=2 || (rel_seek_secs || abs_seek_pos)) break; // end of pause or seek
}
#endif