]> git.eshelyaron.com Git - emacs.git/commitdiff
Print out more X error details
authorPo Lu <luangruo@yahoo.com>
Sat, 24 Dec 2022 06:12:17 +0000 (14:12 +0800)
committerPo Lu <luangruo@yahoo.com>
Sat, 24 Dec 2022 06:18:56 +0000 (14:18 +0800)
* src/xterm.c (x_error_quitter): Print the failing resource ID
and minor code on an X error.

src/xterm.c

index acb008475c79c73a537180ea4457e1c579fd70a3..9f6d51967209425e9c27a854002ba64ccd2ca232 100644 (file)
@@ -26300,8 +26300,10 @@ x_error_handler (Display *display, XErrorEvent *event)
 static void NO_INLINE
 x_error_quitter (Display *display, XErrorEvent *event)
 {
-  char buf[256], buf1[400 + INT_STRLEN_BOUND (int)
-                     + INT_STRLEN_BOUND (unsigned long)];
+  char buf[256], buf1[800 + INT_STRLEN_BOUND (int)
+                     + INT_STRLEN_BOUND (unsigned long)
+                     + INT_STRLEN_BOUND (XID)
+                     + INT_STRLEN_BOUND (int)];
 
   /* Ignore BadName errors.  They can happen because of fonts
      or colors that are not defined.  */
@@ -26314,8 +26316,12 @@ x_error_quitter (Display *display, XErrorEvent *event)
 
   XGetErrorText (display, event->error_code, buf, sizeof (buf));
   sprintf (buf1, "X protocol error: %s on protocol request %d\n"
-          "Serial no: %lu\n", buf, event->request_code,
-          event->serial);
+          "Serial no: %lu\n"
+          "Failing resource ID (if any): 0x%lx\n"
+          "Minor code: %d\n",
+          "This is a bug!  Please report this to bug-gnu-emacs@gnu.org!\n"
+          buf, event->request_code, event->serial, event->resourceid,
+          event->minor_code);
   x_connection_closed (display, buf1, false);
 }