1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-12 01:49:33 +00:00

Fix popup menu problems: GTK cannot get a grab while the button is down,

so show it on button release instead of button press.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17088 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
reimar 2005-12-04 15:58:52 +00:00
parent 31469b3b69
commit ad18c2792b
4 changed files with 3 additions and 11 deletions

View File

@ -443,7 +443,7 @@ void mplMainMouseHandle( int Button,int X,int Y,int RX,int RY )
itemtype=0; itemtype=0;
break; break;
case wsPRMouseButton: case wsRRMouseButton:
gtkShow( evShowPopUpMenu,NULL ); gtkShow( evShowPopUpMenu,NULL );
break; break;

View File

@ -121,7 +121,7 @@ void mplPBMouseHandle( int Button,int X,int Y,int RX,int RY )
case wsRMMouseButton: case wsRMMouseButton:
mplHideMenu( RX,RY,0 ); mplHideMenu( RX,RY,0 );
break; break;
case wsPRMouseButton: case wsRRMouseButton:
gtkShow( evShowPopUpMenu,NULL ); gtkShow( evShowPopUpMenu,NULL );
break; break;
// --- // ---

View File

@ -47,7 +47,7 @@ void mplSubMouseHandle( int Button,int X,int Y,int RX,int RY )
switch( Button ) switch( Button )
{ {
case wsPRMouseButton: case wsRRMouseButton:
gtkShow( evShowPopUpMenu,NULL ); gtkShow( evShowPopUpMenu,NULL );
break; break;
case wsPMMouseButton: case wsPMMouseButton:

View File

@ -217,15 +217,7 @@ void gtkShow( int type,char * param )
gtk_widget_destroy( PopUpMenu ); gtk_widget_destroy( PopUpMenu );
} }
PopUpMenu=create_PopUpMenu(); PopUpMenu=create_PopUpMenu();
#ifdef HAVE_GTK2_GUI
// Ugly hack, but we don't want to loose events
while(!GTK_WIDGET_VISIBLE(PopUpMenu)) {
gtk_menu_popup(GTK_MENU(PopUpMenu), NULL, NULL, NULL, NULL, 0, gtk_get_current_event_time());
gtk_main_iteration();
}
#else
gtk_menu_popup( GTK_MENU( PopUpMenu ),NULL,NULL,NULL,NULL,0,0 ); gtk_menu_popup( GTK_MENU( PopUpMenu ),NULL,NULL,NULL,NULL,0,0 );
#endif //HAVE_GTK2_GUI
break; break;
case evHidePopUpMenu: case evHidePopUpMenu:
if ( PopUpMenu ) if ( PopUpMenu )