# HG changeset patch # User Gerd Moellmann # Date 993662156 0 # Node ID f70ea2b09e46d74e56d09562c68928a83feb4ad2 # Parent ab6119af2d6b9f4ce32ed5eb7ae3b1c4659a8eec (EmacsFrameSetCharSize): Turn off atimers and block SIGIO around the code where Xt might wait for a ConfigureNotifyEvent. (toplevel): Include and syssignal.h. diff -r ab6119af2d6b -r f70ea2b09e46 src/widget.c --- a/src/widget.c Wed Jun 27 15:56:51 2001 +0000 +++ b/src/widget.c Wed Jun 27 17:15:56 2001 +0000 @@ -51,6 +51,9 @@ #include #include "../lwlib/lwlib.h" +#include +#include "syssignal.h" + #define max(a, b) ((a) > (b) ? (a) : (b)) /* This sucks: this is the first default that x-faces.el tries. This won't @@ -956,6 +959,15 @@ XtVaSetValues (f->output_data.x->widget, XtNwaitForWm, (XtArgVal) f->output_data.x->wait_for_wm, NULL); + + /* Workaround: When a SIGIO or SIGALRM occurs while Xt is + waiting for a ConfigureNotify event (see above), this leads + to Xt waiting indefinitely instead of using its default + timeout (5 seconds). */ + turn_on_atimers (0); +#ifdef SIGIO + sigblock (sigmask (SIGIO)); +#endif /* Do parents first, otherwise LessTif's geometry management enters an infinite loop (as of 2000-01-15). This is fixed in @@ -973,7 +985,11 @@ XtNheight, (XtArgVal) pixel_height, XtNwidth, (XtArgVal) pixel_width, NULL); - +#ifdef SIGIO + sigunblock (sigmask (SIGIO)); +#endif + turn_on_atimers (1); + lw_refigure_widget (f->output_data.x->column_widget, True); update_hints_inhibit = 0;