Ulrich Drepper <drepper(a)cygnus.com> writes:
> I have bad news: even with Jan's patch to handle scrollbars somewhat
> different I get a crash with Gnus in the same place. It seems,
> though, that it crashes a bit less often. I ran this Emacs for 24
> hours and it was heavily used.
I was afraid so. My patch makes the race condition less rare, but it
doesn't make it go away.
> If you have any more proposals how to instrument the code or patches
> to try send them my way.
This patch will (or should, because I didn't test it) make the crash
go away while I ponder on how fix x_any_window_to_frame. If you get
the message could please lookup the window id in the output of
'xwininfo -tree'
Jan
P.S. Greg, your lost selection bug could be related to this. Could you
by any change find out the window id of the lost Selection message?
Index: event-Xt.c
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs-20/src/event-Xt.c,v
retrieving revision 1.43
diff -u -u -r1.43 event-Xt.c
--- event-Xt.c 1999/06/16 20:45:57 1.43
+++ event-Xt.c 1999/08/20 18:59:21
@@ -777,9 +777,22 @@
int bufsiz = sizeof (buffer);
Status status;
#ifdef XIM_XLIB
- XIC xic = FRAME_X_XIC (x_any_window_to_frame
- (get_device_from_display (event->display),
- event->window));
+ XIC xic;
+ struct frame *f;
+
+ /* Maybe we should convert to a widget and then also try its parent
+ #### */
+ f = x_any_window_to_frame (get_device_from_display (event->display),
+ event->window);
+
+ if (f)
+ xic = FRAME_X_XIC (f);
+ else
+ {
+ xic = NULL;
+ fprintf (STDERR,"Failed to find frame for window %x\n", event->window);
+ }
+
#endif /* XIM_XLIB */
#endif /* HAVE_XIM */