1
mirror of https://github.com/mpv-player/mpv synced 2024-10-22 08:51:57 +02: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;
break;
case wsPRMouseButton:
case wsRRMouseButton:
gtkShow( evShowPopUpMenu,NULL );
break;

View File

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

View File

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

View File

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