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:
pontscho 2002-07-02 21:10:42 +00:00
parent 174efd77f2
commit ec989de7b0
5 changed files with 14 additions and 10 deletions

View File

@ -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 );
}

View File

@ -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 );

View File

@ -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,8 +65,8 @@ 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;
break;

View File

@ -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:

View File

@ -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;
}