From ffc3a5801196e732e1f715719f80f5bd9fa72dac Mon Sep 17 00:00:00 2001 From: pontscho Date: Mon, 11 Nov 2002 16:57:09 +0000 Subject: updating git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@8151 b3059339-0415-0410-9bf9-f77b7e298cf2 --- Gui/interface.c | 6 ++---- Gui/wm/ws.c | 47 ++++++++++++++++++++++++----------------------- 2 files changed, 26 insertions(+), 27 deletions(-) (limited to 'Gui') diff --git a/Gui/interface.c b/Gui/interface.c index 2b297869e4..b379d3fe1e 100644 --- a/Gui/interface.c +++ b/Gui/interface.c @@ -599,8 +599,7 @@ int guiGetEvent( int type,char * arg ) while ( video_out_drivers[i++] ) if ( video_out_drivers[i - 1]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE ) { - const vo_info_t *info = video_out_drivers[i - 1]->get_info(); - gaddlist( &video_driver_list,(char *)info->short_name ); + gaddlist( &video_driver_list,(char *)video_out_drivers[i - 1]->info->short_name ); break; } } @@ -613,8 +612,7 @@ int guiGetEvent( int type,char * arg ) while ( video_out_drivers[i++] ) if ( video_out_drivers[i - 1]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE ) { - const vo_info_t *info = video_out_drivers[i - 1]->get_info(); - if ( ( video_driver_list && !gstrcmp( video_driver_list[0],(char *)info->short_name ) )&&( video_out_drivers[i - 1]->control( VOCTRL_GUI_NOWINDOW,NULL ) == VO_TRUE ) ) + if ( ( video_driver_list && !gstrcmp( video_driver_list[0],(char *)video_out_drivers[i - 1]->info->short_name ) )&&( video_out_drivers[i - 1]->control( VOCTRL_GUI_NOWINDOW,NULL ) == VO_TRUE ) ) { guiIntfStruct.NoWindow=True; break; } } } diff --git a/Gui/wm/ws.c b/Gui/wm/ws.c index ba4b21e708..4d1c2b9baf 100644 --- a/Gui/wm/ws.c +++ b/Gui/wm/ws.c @@ -770,7 +770,7 @@ while(wsTrue){ #define WIN_LAYER_ONBOTTOM 2 #define WIN_LAYER_NORMAL 4 -#define WIN_LAYER_ONTOP 6 +#define WIN_LAYER_ONTOP 10 void wsSetLayer( Display * wsDisplay, Window win, int layer ) { @@ -791,6 +791,29 @@ void wsSetLayer( Display * wsDisplay, Window win, int layer ) XInternAtom( wsDisplay,"_WIN_LAYER",False ),XA_CARDINAL,32,PropModeReplace,(unsigned char *)&layer,1 ); 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,(unsigned char **)&args ) && nitems > 0 ) + { + XClientMessageEvent xev; + + memset( &xev,0,sizeof( xev ) ); + xev.type=ClientMessage; + xev.window=win; + xev.message_type=XInternAtom( wsDisplay,"_WIN_LAYER",False ); + xev.format=32; + switch ( layer ) + { + case -1: xev.data.l[0] = WIN_LAYER_ONBOTTOM; break; + case 0: xev.data.l[0] = WIN_LAYER_NORMAL; break; + case 1: xev.data.l[0] = WIN_LAYER_ONTOP; break; + } + XSendEvent( wsDisplay,wsRootWin,False,SubstructureNotifyMask,(XEvent*)&xev ); + if ( layer ) XRaiseWindow( wsDisplay,win ); + + XFree( args ); + return; + } type=XInternAtom( wsDisplay,"_NET_SUPPORTED",False ); if ( Success == XGetWindowProperty( wsDisplay,wsRootWin,type,0,65536 / sizeof( int32_t ),False,AnyPropertyType,&type,&format,&nitems,&bytesafter,(unsigned char **)&args ) && nitems > 0 ) @@ -815,28 +838,6 @@ void wsSetLayer( Display * wsDisplay, Window win, int layer ) e.xclient.data.l[4]=0l; XSendEvent( wsDisplay,wsRootWin,False,SubstructureRedirectMask,&e ); - XFree( args ); - 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,(unsigned char **)&args ) && nitems > 0 ) - { - XClientMessageEvent xev; - - memset( &xev,0,sizeof( xev ) ); - xev.type=ClientMessage; - xev.window=win; - xev.message_type=XInternAtom( wsDisplay,"_WIN_LAYER",False ); - xev.format=32; - switch ( layer ) - { - case -1: xev.data.l[0] = WIN_LAYER_ONBOTTOM; break; - case 0: xev.data.l[0] = WIN_LAYER_NORMAL; break; - case 1: xev.data.l[0] = WIN_LAYER_ONTOP; break; - } - XSendEvent( wsDisplay,wsRootWin,False,SubstructureNotifyMask,(XEvent*)&xev ); - if ( layer ) XRaiseWindow( wsDisplay,win ); - XFree( args ); return; } -- cgit v1.2.3