From dd0aa0d815fbc7dceb6ddccfdffe9c1814acdfc9 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Sun, 20 May 2001 22:48:40 +0000 Subject: [PATCH] Improve error messages for X errors and losing connection to the X server. 2001-05-11 Havoc Pennington * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and losing connection to the X server. --- ChangeLog | 5 ++++ ChangeLog.pre-2-0 | 5 ++++ ChangeLog.pre-2-10 | 5 ++++ ChangeLog.pre-2-2 | 5 ++++ ChangeLog.pre-2-4 | 5 ++++ ChangeLog.pre-2-6 | 5 ++++ ChangeLog.pre-2-8 | 5 ++++ docs/reference/gtk/tmpl/gtkrc.sgml | 1 + gdk/x11/gdkmain-x11.c | 46 +++++++++++++++++++----------- 9 files changed, 66 insertions(+), 16 deletions(-) diff --git a/ChangeLog b/ChangeLog index 914a8c2dd5..a43e82dc27 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-05-11 Havoc Pennington + + * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and + losing connection to the X server. + Sun May 20 13:59:20 2001 Owen Taylor * configure.in: Start checks for X from pangox/pangoxft diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 914a8c2dd5..a43e82dc27 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,8 @@ +2001-05-11 Havoc Pennington + + * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and + losing connection to the X server. + Sun May 20 13:59:20 2001 Owen Taylor * configure.in: Start checks for X from pangox/pangoxft diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 914a8c2dd5..a43e82dc27 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +2001-05-11 Havoc Pennington + + * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and + losing connection to the X server. + Sun May 20 13:59:20 2001 Owen Taylor * configure.in: Start checks for X from pangox/pangoxft diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 914a8c2dd5..a43e82dc27 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,8 @@ +2001-05-11 Havoc Pennington + + * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and + losing connection to the X server. + Sun May 20 13:59:20 2001 Owen Taylor * configure.in: Start checks for X from pangox/pangoxft diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 914a8c2dd5..a43e82dc27 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +2001-05-11 Havoc Pennington + + * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and + losing connection to the X server. + Sun May 20 13:59:20 2001 Owen Taylor * configure.in: Start checks for X from pangox/pangoxft diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 914a8c2dd5..a43e82dc27 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +2001-05-11 Havoc Pennington + + * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and + losing connection to the X server. + Sun May 20 13:59:20 2001 Owen Taylor * configure.in: Start checks for X from pangox/pangoxft diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 914a8c2dd5..a43e82dc27 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +2001-05-11 Havoc Pennington + + * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and + losing connection to the X server. + Sun May 20 13:59:20 2001 Owen Taylor * configure.in: Start checks for X from pangox/pangoxft diff --git a/docs/reference/gtk/tmpl/gtkrc.sgml b/docs/reference/gtk/tmpl/gtkrc.sgml index aeceb3e5ec..88a0a4a507 100644 --- a/docs/reference/gtk/tmpl/gtkrc.sgml +++ b/docs/reference/gtk/tmpl/gtkrc.sgml @@ -495,6 +495,7 @@ This can later be composited together with other #GtkRcStyle structures to form a #GtkStyle. +@parent_instance: @name: @bg_pixmap_name: @font_desc: diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c index 1773f761cc..6074834024 100644 --- a/gdk/x11/gdkmain-x11.c +++ b/gdk/x11/gdkmain-x11.c @@ -617,24 +617,32 @@ gdk_x_error (Display *display, { if (gdk_error_warnings) { - char buf[64]; - + gchar buf[64]; + gchar *msg; + XGetErrorText (display, error->error_code, buf, 63); + msg = + g_strdup_printf ("The program '%s' received an X Window System error.\n" + "This probably reflects a bug in the program.\n" + "The error was '%s'.\n" + " (Details: serial %ld error_code %d request_code %d minor_code %d)\n" + " (Note to programmers: normally, X errors are reported asynchronously;\n" + " that is, you will receive the error a while after causing it.\n" + " To debug your program, run it with the --sync command line\n" + " option to change this behavior. You can then get a meaningful\n" + " backtrace from your debugger if you break on the gdk_x_error() function.)", + g_get_prgname (), + buf, + error->serial, + error->error_code, + error->request_code, + error->minor_code); + #ifdef G_ENABLE_DEBUG - g_error ("%s\n serial %ld error_code %d request_code %d minor_code %d\n", - buf, - error->serial, - error->error_code, - error->request_code, - error->minor_code); + g_error ("%s", msg); #else /* !G_ENABLE_DEBUG */ - fprintf (stderr, "Gdk-ERROR **: %s\n serial %ld error_code %d request_code %d minor_code %d\n", - buf, - error->serial, - error->error_code, - error->request_code, - error->minor_code); + fprintf (stderr, "%s\n", msg); exit(1); #endif /* G_ENABLE_DEBUG */ @@ -675,11 +683,17 @@ gdk_x_io_error (Display *display) */ if (errno == EPIPE) { - fprintf (stderr, "Gdk-ERROR **: X connection to %s broken (explicit kill or server shutdown).\n", gdk_display ? DisplayString (gdk_display) : gdk_get_display()); + fprintf (stderr, + "The application '%s' lost its connection to the display %s;\n" + "most likely the X server was shut down or you killed/destroyed\n" + "the application.\n", + g_get_prgname (), + gdk_display ? DisplayString (gdk_display) : gdk_get_display()); } else { - fprintf (stderr, "Gdk-ERROR **: Fatal IO error %d (%s) on X server %s.\n", + fprintf (stderr, "%s: Fatal IO error %d (%s) on X server %s.\n", + g_get_prgname (), errno, g_strerror (errno), gdk_display ? DisplayString (gdk_display) : gdk_get_display()); }