aboutsummaryrefslogtreecommitdiffhomepage
path: root/Gui/mplayer
diff options
context:
space:
mode:
authorGravatar pontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-07-02 21:10:42 +0000
committerGravatar pontscho <pontscho@b3059339-0415-0410-9bf9-f77b7e298cf2>2002-07-02 21:10:42 +0000
commitec989de7b062682835c721b173e9475b9ecaba44 (patch)
tree7c9ca3e7edbd92463d18bdc16c44ebdbd4b44aa8 /Gui/mplayer
parent174efd77f23b4bb3f03cd43b972336adebc1c2e6 (diff)
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
Diffstat (limited to 'Gui/mplayer')
-rw-r--r--Gui/mplayer/gtk/fs.c5
-rw-r--r--Gui/mplayer/gtk/fs.h2
-rw-r--r--Gui/mplayer/sw.h5
-rw-r--r--Gui/mplayer/widgets.c6
4 files changed, 11 insertions, 7 deletions
diff --git a/Gui/mplayer/gtk/fs.c b/Gui/mplayer/gtk/fs.c
index a3ffb2f28d..9ee5a6c58b 100644
--- a/Gui/mplayer/gtk/fs.c
+++ b/Gui/mplayer/gtk/fs.c
@@ -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 );
}
diff --git a/Gui/mplayer/gtk/fs.h b/Gui/mplayer/gtk/fs.h
index c0368394e0..b1de763a26 100644
--- a/Gui/mplayer/gtk/fs.h
+++ b/Gui/mplayer/gtk/fs.h
@@ -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 );
diff --git a/Gui/mplayer/sw.h b/Gui/mplayer/sw.h
index 88cf6ec235..0dc177b8ce 100644
--- a/Gui/mplayer/sw.h
+++ b/Gui/mplayer/sw.h
@@ -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;
diff --git a/Gui/mplayer/widgets.c b/Gui/mplayer/widgets.c
index 6602096db0..69225367e3 100644
--- a/Gui/mplayer/widgets.c
+++ b/Gui/mplayer/widgets.c
@@ -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: