mirror of
https://github.com/fltk/fltk.git
synced 2026-06-06 00:22:42 +08:00
Fix STR #2619. An extra FL_MOVE event is sent on X11 after the menu item is selected
by the keyboard. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8641 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
+8
-7
@@ -612,7 +612,7 @@ static void setitem(int m, int n) {
|
|||||||
|
|
||||||
static int forward(int menu) { // go to next item in menu menu if possible
|
static int forward(int menu) { // go to next item in menu menu if possible
|
||||||
menustate &pp = *p;
|
menustate &pp = *p;
|
||||||
// Fl_Menu_Button can geberate menu=-1. This line fixes it and selectes the first item.
|
// Fl_Menu_Button can generate menu=-1. This line fixes it and selectes the first item.
|
||||||
if (menu==-1)
|
if (menu==-1)
|
||||||
menu = 0;
|
menu = 0;
|
||||||
menuwindow &m = *(pp.p[menu]);
|
menuwindow &m = *(pp.p[menu]);
|
||||||
@@ -729,16 +729,17 @@ int menuwindow::early_hide_handle(int e) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case FL_MOVE:
|
||||||
|
#if ! (defined(WIN32) || defined(__APPLE__))
|
||||||
|
if (pp.state == DONE_STATE) {
|
||||||
|
return 1; // Fix for STR #2619
|
||||||
|
}
|
||||||
|
/* FALLTHROUGH */
|
||||||
|
#endif
|
||||||
case FL_ENTER:
|
case FL_ENTER:
|
||||||
case FL_MOVE:
|
|
||||||
case FL_PUSH:
|
case FL_PUSH:
|
||||||
case FL_DRAG:
|
case FL_DRAG:
|
||||||
{
|
{
|
||||||
#ifdef __QNX__
|
|
||||||
// STR 704: workaround QNX X11 bug - in QNX a FL_MOVE event is sent
|
|
||||||
// right after FL_RELEASE...
|
|
||||||
if (pp.state == DONE_STATE) return 1;
|
|
||||||
#endif // __QNX__
|
|
||||||
int mx = Fl::event_x_root();
|
int mx = Fl::event_x_root();
|
||||||
int my = Fl::event_y_root();
|
int my = Fl::event_y_root();
|
||||||
int item=0; int mymenu = pp.nummenus-1;
|
int item=0; int mymenu = pp.nummenus-1;
|
||||||
|
|||||||
Reference in New Issue
Block a user