summaryrefslogtreecommitdiff
path: root/lwlib/xlwmenu.c
diff options
context:
space:
mode:
authorPaul Reilly <pmr@pajato.com>1994-09-25 00:22:16 +0000
committerPaul Reilly <pmr@pajato.com>1994-09-25 00:22:16 +0000
commit4a014d53dba26d8554a443fe0f924254c26b47ee (patch)
tree59b77421552eecf6d4d5f2ac8a42abfb5b111449 /lwlib/xlwmenu.c
parentc76b68bd953b0b9d10e19cf640656c160f9f3762 (diff)
downloademacs-4a014d53dba26d8554a443fe0f924254c26b47ee.tar.gz
*** empty log message ***
Diffstat (limited to 'lwlib/xlwmenu.c')
-rw-r--r--lwlib/xlwmenu.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/lwlib/xlwmenu.c b/lwlib/xlwmenu.c
index 0df7a477bdd..32d9ea9f7cc 100644
--- a/lwlib/xlwmenu.c
+++ b/lwlib/xlwmenu.c
@@ -30,6 +30,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include <X11/bitmaps/gray>
#include "xlwmenuP.h"
+static int disable_add_grab, disable_grab_pointer;
+
static int pointer_grabbed;
static XEvent menu_post_event;
@@ -1446,7 +1448,8 @@ pop_up_menu (mw, event)
{
XEvent *ev = (XEvent *) event;
- XtAddGrab ((Widget) mw, True, True);
+ if (!disable_add_grab)
+ XtAddGrab ((Widget) mw, True, True);
/* notes the absolute position of the menubar window */
mw->menu.windows [0].x = ev->xmotion.x_root - ev->xmotion.x;
@@ -1456,12 +1459,18 @@ pop_up_menu (mw, event)
#ifdef emacs
x_catch_errors ();
#endif
- XtGrabPointer ((Widget)mw, False,
- (PointerMotionMask | PointerMotionHintMask | ButtonReleaseMask
- | ButtonPressMask),
- GrabModeAsync, GrabModeAsync, None, mw->menu.cursor_shape,
- event->time);
- pointer_grabbed = 1;
+ if (!disable_grab_pointer)
+ {
+ XtGrabPointer ((Widget)mw, False,
+ (PointerMotionMask
+ | PointerMotionHintMask
+ | ButtonReleaseMask
+ | ButtonPressMask),
+ GrabModeAsync, GrabModeAsync, None,
+ mw->menu.cursor_shape,
+ event->time);
+ pointer_grabbed = 1;
+ }
#ifdef emacs
if (x_had_errors_p ())
{