changeset 83443:4d989ab8dad8

Install workaround for "X protocol error: BadCursor (invalid Cursor parameter) on protocol request 2" * lwlib/xlwmenu.c (XlwMenuRealize): Ignore X errors while setting up cursor shape. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-483
author Karoly Lorentey <lorentey@elte.hu>
date Mon, 02 Jan 2006 07:43:46 +0000
parents db27bb9f0d2f
children 00c55c52afd8
files lwlib/xlwmenu.c
diffstat 1 files changed, 10 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lwlib/xlwmenu.c	Sun Jan 01 17:11:05 2006 +0000
+++ b/lwlib/xlwmenu.c	Mon Jan 02 07:43:46 2006 +0000
@@ -1825,6 +1825,7 @@
   XlwMenuWidget mw = (XlwMenuWidget)w;
   XSetWindowAttributes xswa;
   int mask;
+  int count;
 
   (*xlwMenuWidgetClass->core_class.superclass->core_class.realize)
     (w, valueMask, attributes);
@@ -1832,7 +1833,16 @@
   xswa.save_under = True;
   xswa.cursor = mw->menu.cursor_shape;
   mask = CWSaveUnder | CWCursor;
+  /* I sometimes get random BadCursor errors while creating the first
+     frame on a display.  I can not find their reason, but they are
+     annoying so for now let's ignore any errors here.  -- lorentey  */
+#ifdef emacs
+  count = x_catch_errors (XtDisplay (w));
+#endif
   XChangeWindowAttributes (XtDisplay (w), XtWindow (w), mask, &xswa);
+#ifdef emacs
+  x_uncatch_errors (XtDisplay (w), count);
+#endif
 
   mw->menu.windows [0].window = XtWindow (w);
   mw->menu.windows [0].x = w->core.x;