# HG changeset patch # User Jan Dj¸«£rv # Date 1148368785 0 # Node ID b90abedf3b79a4a4f17c43c146619ec5ade0439b # Parent 8c734f2ba38afc15e69b57dc3ffd56ccc5bdf7c1 * xlwmenu.c: Include xterm.h if emacs instead of declaring functions used. (string_width): Declare as static. (Start, pop_up_menu): Set is_hint to 0 before calling handle_motion_event. (pop_up_menu): Return value and parameters for x_catch_errors and x_uncatch_errors changed. diff -r 8c734f2ba38a -r b90abedf3b79 lwlib/ChangeLog --- a/lwlib/ChangeLog Tue May 23 07:13:28 2006 +0000 +++ b/lwlib/ChangeLog Tue May 23 07:19:45 2006 +0000 @@ -1,3 +1,13 @@ +2006-05-23 Jan Dj,Ad(Brv + + * xlwmenu.c: Include xterm.h if emacs instead of declaring functions + used. + (string_width): Declare as static. + (Start, pop_up_menu): Set is_hint to 0 before calling + handle_motion_event. + (pop_up_menu): Return value and parameters for x_catch_errors and + x_uncatch_errors changed. + 2005-09-27 Dan Nicolaescu * xlwmenu.c (find_next_selectable): diff -r 8c734f2ba38a -r b90abedf3b79 lwlib/xlwmenu.c --- a/lwlib/xlwmenu.c Tue May 23 07:13:28 2006 +0000 +++ b/lwlib/xlwmenu.c Tue May 23 07:19:45 2006 +0000 @@ -53,21 +53,8 @@ extern int gray_bitmap_height; extern char *gray_bitmap_bits; -/* Defined in xterm.c. */ -extern int x_alloc_nearest_color_for_widget __P ((Widget, Colormap, XColor*)); -extern int x_alloc_lighter_color_for_widget __P ((Widget, Display*, Colormap, - unsigned long *, - double, int)); -extern int x_catch_errors __P ((Display*)); -extern void x_uncatch_errors P_ ((Display *, int)); -extern int x_had_errors_p __P ((Display*)); -extern void x_clear_errors __P ((Display*)); -extern unsigned long x_copy_dpy_color __P ((Display *, Colormap, - unsigned long)); +#include "xterm.h" -/* Defined in xfaces.c. */ -extern void x_free_dpy_colors __P ((Display *, Screen *, Colormap, - unsigned long *pixels, int npixels)); #else /* not emacs */ #include @@ -352,7 +339,7 @@ } /* Size code */ -int +static int string_width (mw, s) XlwMenuWidget mw; char *s; @@ -2088,6 +2075,7 @@ mw->menu.windows [0].y = ev->xmotion.y_root - ev->xmotion.y; /* handles the down like a move, slots are compatible */ + ev->xmotion.is_hint = 0; handle_motion_event (mw, &ev->xmotion); } } @@ -2425,7 +2413,6 @@ int borderwidth = mw->menu.shadow_thickness; Screen* screen = XtScreen (mw); Display *display = XtDisplay (mw); - int count; next_release_must_exit = 0; @@ -2472,7 +2459,7 @@ } #ifdef emacs - count = x_catch_errors (display); + x_catch_errors (display); #endif if (XtGrabPointer ((Widget)mw, False, (PointerMotionMask @@ -2500,9 +2487,10 @@ pointer_grabbed = 0; XtUngrabPointer ((Widget)mw, event->time); } - x_uncatch_errors (display, count); + x_uncatch_errors (); #endif + ((XMotionEvent*)event)->is_hint = 0; handle_motion_event (mw, (XMotionEvent*)event); }