mirror of
https://github.com/mpv-player/mpv
synced 2024-12-23 23:32:26 +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:
parent
31469b3b69
commit
ad18c2792b
@ -443,7 +443,7 @@ void mplMainMouseHandle( int Button,int X,int Y,int RX,int RY )
|
||||
itemtype=0;
|
||||
break;
|
||||
|
||||
case wsPRMouseButton:
|
||||
case wsRRMouseButton:
|
||||
gtkShow( evShowPopUpMenu,NULL );
|
||||
break;
|
||||
|
||||
|
@ -121,7 +121,7 @@ void mplPBMouseHandle( int Button,int X,int Y,int RX,int RY )
|
||||
case wsRMMouseButton:
|
||||
mplHideMenu( RX,RY,0 );
|
||||
break;
|
||||
case wsPRMouseButton:
|
||||
case wsRRMouseButton:
|
||||
gtkShow( evShowPopUpMenu,NULL );
|
||||
break;
|
||||
// ---
|
||||
|
@ -47,7 +47,7 @@ void mplSubMouseHandle( int Button,int X,int Y,int RX,int RY )
|
||||
|
||||
switch( Button )
|
||||
{
|
||||
case wsPRMouseButton:
|
||||
case wsRRMouseButton:
|
||||
gtkShow( evShowPopUpMenu,NULL );
|
||||
break;
|
||||
case wsPMMouseButton:
|
||||
|
@ -217,15 +217,7 @@ void gtkShow( int type,char * param )
|
||||
gtk_widget_destroy( 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 );
|
||||
#endif //HAVE_GTK2_GUI
|
||||
break;
|
||||
case evHidePopUpMenu:
|
||||
if ( PopUpMenu )
|
||||
|
Loading…
Reference in New Issue
Block a user