mirror of
https://github.com/mpv-player/mpv
synced 2025-02-27 19:01:07 +00:00
fix window hiding bug with some wms (kde, gnome, icewm, mwm, wmaker)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6623 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
174efd77f2
commit
ec989de7b0
@ -185,7 +185,7 @@ void CheckDir( GtkWidget * list,char * directory )
|
||||
|
||||
static int FirstInit = 1;
|
||||
|
||||
void ShowFileSelect( int type )
|
||||
void ShowFileSelect( int type,int modal )
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -235,6 +235,9 @@ void ShowFileSelect( int type )
|
||||
gtk_entry_set_text( GTK_ENTRY( fsFilterCombo ),fsOtherFilterNames[fsNumberOfOtherFilterNames][0] );
|
||||
break;
|
||||
}
|
||||
|
||||
gtk_window_set_modal( GTK_WINDOW( fsFileSelect ),modal );
|
||||
|
||||
gtk_widget_show( fsFileSelect );
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
extern GtkWidget * fsFileSelect;
|
||||
|
||||
extern void HideFileSelect( void );
|
||||
extern void ShowFileSelect( int type );
|
||||
extern void ShowFileSelect( int type, int modal );
|
||||
|
||||
extern GtkWidget * create_FileSelect( void );
|
||||
|
||||
|
@ -9,6 +9,7 @@ void mplSubDraw( wsParamDisplay )
|
||||
if ( appMPlayer.subWindow.State == wsWindowClosed ) exit_player( MSGTR_Exit_quit );
|
||||
|
||||
if ( appMPlayer.subWindow.State == wsWindowFocusIn ) SubVisible++;
|
||||
if ( appMPlayer.subWindow.State == wsWindowFocusOut && wsWMType != wsWMKDE && wsWMType != wsWMIceWM ) SubVisible--;
|
||||
|
||||
if ( !appMPlayer.subWindow.Mapped ||
|
||||
appMPlayer.subWindow.Visible == wsWindowNotVisible ) return;
|
||||
@ -64,7 +65,7 @@ void mplSubMouseHandle( int Button,int X,int Y,int RX,int RY )
|
||||
if ( ( !mplSubMoved )&&( appMPlayer.subWindow.isFullScreen ) )
|
||||
{
|
||||
if( SubVisible++%2 ) wsMoveTopWindow( wsDisplay,appMPlayer.mainWindow.WindowID );
|
||||
else wsMoveTopWindow( wsDisplay,appMPlayer.subWindow.WindowID );
|
||||
else if ( wsWMType != wsWMNetWM && wsWMType != wsWMKDE ) wsMoveTopWindow( wsDisplay,appMPlayer.subWindow.WindowID );
|
||||
}
|
||||
msButton=0;
|
||||
mplSubMoved=0;
|
||||
|
@ -163,15 +163,15 @@ void gtkShow( int type,char * param )
|
||||
// gtkSetLayer( PlayList );
|
||||
break;
|
||||
case evLoad:
|
||||
ShowFileSelect( fsVideoSelector );
|
||||
ShowFileSelect( fsVideoSelector,0 );
|
||||
gtkSetLayer( fsFileSelect );
|
||||
break;
|
||||
case evFirstLoad:
|
||||
ShowFileSelect( fsVideoSelector );
|
||||
ShowFileSelect( fsVideoSelector,0 );
|
||||
gtkSetLayer( fsFileSelect );
|
||||
break;
|
||||
case evLoadSubtitle:
|
||||
ShowFileSelect( fsSubtitleSelector );
|
||||
ShowFileSelect( fsSubtitleSelector,0 );
|
||||
gtkSetLayer( fsFileSelect );
|
||||
break;
|
||||
case evAbout:
|
||||
|
@ -662,16 +662,16 @@ buttonreleased:
|
||||
if ( !strncmp( name,"_ICEWM_TRAY",11 ) )
|
||||
{
|
||||
wsWMType=wsWMIceWM;
|
||||
mp_dbg( MSGT_GPLAYER,MSGL_STATUS,"[ws] Detected wm is IceWM.\n" );
|
||||
// mp_dbg( MSGT_GPLAYER,MSGL_STATUS,"[ws] Detected wm is IceWM.\n" );
|
||||
}
|
||||
if ( !strncmp( name,"_KDE_",5 ) )
|
||||
{
|
||||
mp_dbg( MSGT_GPLAYER,MSGL_STATUS,"[ws] Detected wm is KDE.\n" );
|
||||
// mp_dbg( MSGT_GPLAYER,MSGL_STATUS,"[ws] Detected wm is KDE.\n" );
|
||||
wsWMType=wsWMKDE;
|
||||
}
|
||||
if ( !strncmp( name,"KWM_WIN_DESKTOP",15 ) )
|
||||
{
|
||||
mp_dbg( MSGT_GPLAYER,MSGL_STATUS,"[ws] Detected wm is WindowMaker style.\n" );
|
||||
// mp_dbg( MSGT_GPLAYER,MSGL_STATUS,"[ws] Detected wm is WindowMaker style.\n" );
|
||||
wsWMType=wsWMWMaker;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user