Comment 7 for bug 42683

Revision history for this message
In , Mitch (mitch-hasbox) wrote :

Interesting. This happens on gtk1 and gtk2 builds since in gdk.c we set
the error handler using XSetErrorHandler() to an internal handler which
prints out the error message and exits. Unfortunately this means mozilla
can never catch this error and infact can't get to it's errorhandling
code

  XImage *ximage = XGetImage(dpy, drawable,
                             readX, readY, readWidth, readHeight,
      AllPlanes, ZPixmap);

  NS_ASSERTION((ximage!=NULL), "XGetImage() failed");
  if (!ximage)
    return;

The only way i see round this is to reset the errorhandler after the
gdk_init/gtk_init to either a mozilla handler to handle X errror or set
it to NULL so no handler gets called and we can get to the errorpath
if (!ximage). I think the former proposition is better.