diff options
Diffstat (limited to 'Gui')
-rw-r--r-- | Gui/mplayer/gtk/opts.c | 7 | ||||
-rw-r--r-- | Gui/mplayer/mw.h | 3 | ||||
-rw-r--r-- | Gui/wm/ws.c | 14 |
3 files changed, 15 insertions, 9 deletions
diff --git a/Gui/mplayer/gtk/opts.c b/Gui/mplayer/gtk/opts.c index 0f62de4a64..35f0592342 100644 --- a/Gui/mplayer/gtk/opts.c +++ b/Gui/mplayer/gtk/opts.c @@ -364,6 +364,7 @@ void ShowPreferences( void ) gtk_signal_connect( GTK_OBJECT( HSFontOSDScale ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)9 ); gtk_signal_connect( GTK_OBJECT( EFontEncoding ),"changed",GTK_SIGNAL_FUNC( prEntry ),NULL ); #endif + gtk_signal_connect( GTK_OBJECT( HSPPQuality ),"motion_notify_event",GTK_SIGNAL_FUNC( prHScaler ),(void*)10 ); gtk_signal_connect( GTK_OBJECT( CLADrivers ),"select_row",GTK_SIGNAL_FUNC( prCListRow ),(void*)0 ); gtk_signal_connect( GTK_OBJECT( CLVDrivers ),"select_row",GTK_SIGNAL_FUNC( prCListRow ),(void*)1 ); @@ -557,6 +558,9 @@ static gboolean prHScaler( GtkWidget * widget,GdkEventMotion * event,gpointer u gtkSet( gtkSetFontOSDScale,HSFontOSDScaleadj->value,NULL ); break; #endif + case 10: // auto quality + gtkSet( gtkSetAutoq,HSPPQualityadj->value,NULL ); + break; } return FALSE; } @@ -1638,7 +1642,8 @@ GtkWidget * create_Preferences( void ) gtk_misc_set_alignment( GTK_MISC( label14 ),7.45058e-09,0.5 ); gtk_misc_set_padding( GTK_MISC( label14 ),4,0 ); - HSPPQualityadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0,0,0 ) ); + if ( guiIntfStruct.sh_video && guiIntfStruct.Playing ) HSPPQualityadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,get_video_quality_max( guiIntfStruct.sh_video ),0,0,0 ) ); + else HSPPQualityadj=GTK_ADJUSTMENT( gtk_adjustment_new( 0,0,100,0,0,0 ) ); HSPPQuality=gtk_hscale_new( HSPPQualityadj ); gtk_widget_set_name( HSPPQuality,"HSPPQuality" ); gtk_widget_ref( HSPPQuality ); diff --git a/Gui/mplayer/mw.h b/Gui/mplayer/mw.h index f3eff2b12e..f7098aea65 100644 --- a/Gui/mplayer/mw.h +++ b/Gui/mplayer/mw.h @@ -456,8 +456,9 @@ set_volume: case 1: default: movie_aspect=-1; } - guiIntfStruct.FilenameChanged=1; wsClearWindow( appMPlayer.subWindow ); + if ( guiIntfStruct.StreamType == STREAMTYPE_DVD ) goto play_dvd_2; + else guiIntfStruct.FilenameChanged=1; break; // --- timer events diff --git a/Gui/wm/ws.c b/Gui/wm/ws.c index 744a496e4a..443bc8b958 100644 --- a/Gui/wm/ws.c +++ b/Gui/wm/ws.c @@ -575,11 +575,11 @@ Bool wsEvents( Display * display,XEvent * Event,XPointer arg ) case ClientMessage: if ( Event->xclient.message_type == wsWindowList[l]->AtomProtocols ) { - if ( Event->xclient.data.l[0] == wsWindowList[l]->AtomDeleteWindow ) + if ( (Atom)Event->xclient.data.l[0] == wsWindowList[l]->AtomDeleteWindow ) { i=wsWindowClosed; goto expose; } - if ( Event->xclient.data.l[0] == wsWindowList[l]->AtomTakeFocus ) + if ( (Atom)Event->xclient.data.l[0] == wsWindowList[l]->AtomTakeFocus ) { i=wsWindowFocusIn; wsWindowList[l]->Focused=wsFocused; goto expose; } - if ( Event->xclient.data.l[0] == wsWindowList[l]->AtomRolle ) + if ( (Atom)Event->xclient.data.l[0] == wsWindowList[l]->AtomRolle ) { mp_msg( MSGT_GPLAYER,MSGL_STATUS,"[ws] rolled.\n" ); } } else { /* try to process DND events */ @@ -776,7 +776,7 @@ void wsSetLayer( Display * wsDisplay, Window win, int layer ) Atom type; int format; unsigned long nitems, bytesafter; - unsigned char * args = NULL; + Atom * args = NULL; if ( wsWMType == wsWMIceWM ) { @@ -792,7 +792,7 @@ void wsSetLayer( Display * wsDisplay, Window win, int layer ) } type=XInternAtom( wsDisplay,"_NET_SUPPORTED",False ); - if ( Success == XGetWindowProperty( wsDisplay,wsRootWin,type,0,65536 / sizeof( int32_t ),False,AnyPropertyType,&type,&format,&nitems,&bytesafter,&args ) && nitems > 0 ) + if ( Success == XGetWindowProperty( wsDisplay,wsRootWin,type,0,65536 / sizeof( int32_t ),False,AnyPropertyType,&type,&format,&nitems,&bytesafter,(unsigned char **)&args ) && nitems > 0 ) { int i; XEvent e; @@ -806,7 +806,7 @@ void wsSetLayer( Display * wsDisplay, Window win, int layer ) e.xclient.data.l[1]=XInternAtom( wsDisplay,"_NET_WM_STATE_STAYS_ON_TOP",False ); type=XInternAtom( wsDisplay,"_NET_WM_STATE_FULLSCREEN",False ); - for ( i=0;i < nitems;i++ ) + for ( i=0;(unsigned long)i < nitems;i++ ) if ( args[i] == type ) { e.xclient.data.l[1]=XInternAtom( wsDisplay,"_NET_WM_STATE_FULLSCREEN",False ); break; } e.xclient.data.l[2]=0l; @@ -818,7 +818,7 @@ void wsSetLayer( Display * wsDisplay, Window win, int layer ) return; } type=XInternAtom( wsDisplay,"_WIN_SUPPORTING_WM_CHECK",False ); - if ( Success == XGetWindowProperty( wsDisplay,wsRootWin,type,0,65536 / sizeof( int32_t ),False,AnyPropertyType,&type,&format,&nitems,&bytesafter,&args ) && nitems > 0 ) + if ( Success == XGetWindowProperty( wsDisplay,wsRootWin,type,0,65536 / sizeof( int32_t ),False,AnyPropertyType,&type,&format,&nitems,&bytesafter,(unsigned char **)&args ) && nitems > 0 ) { XClientMessageEvent xev; |