From a5f3fc3c419cecdbb5c0ed22b1892f99239f7aca Mon Sep 17 00:00:00 2001 From: Jens Granseuer Date: Fri, 26 Sep 2008 19:03:43 +0000 Subject: [PATCH] Patch by: Matt Keenan 2008-09-26 Jens Granseuer Patch by: Matt Keenan * xrandr-capplet.c: (show_error), (run_application): show an error dialog instead of crashing when initialization fails due to XRandR not being available (bug #553762) svn path=/trunk/; revision=9003 --- capplets/display/ChangeLog | 8 ++++++++ capplets/display/xrandr-capplet.c | 12 ++++-------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/capplets/display/ChangeLog b/capplets/display/ChangeLog index d78cdcef5..58386d610 100644 --- a/capplets/display/ChangeLog +++ b/capplets/display/ChangeLog @@ -1,3 +1,11 @@ +2008-09-26 Jens Granseuer + + Patch by: Matt Keenan + + * xrandr-capplet.c: (show_error), (run_application): show an error + dialog instead of crashing when initialization fails due to XRandR + not being available (bug #553762) + ==================== 2.24.0.1 ==================== 2008-09-06 Jens Granseuer diff --git a/capplets/display/xrandr-capplet.c b/capplets/display/xrandr-capplet.c index ae6b80b87..3a8a980cf 100644 --- a/capplets/display/xrandr-capplet.c +++ b/capplets/display/xrandr-capplet.c @@ -62,25 +62,20 @@ struct App static void rebuild_gui (App *app); static void on_rate_changed (GtkComboBox *box, gpointer data); -#if 0 static void -show_error (const GError *err) +show_error (const char *err) { - if (!err) - return; - GtkWidget *dialog = gtk_message_dialog_new ( NULL, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_WARNING, - GTK_BUTTONS_OK, err->message); + GTK_BUTTONS_OK, err); gtk_window_set_title (GTK_WINDOW (dialog), ""); gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); } -#endif static gboolean do_free (gpointer data) @@ -1726,7 +1721,8 @@ run_application (App *app) on_screen_changed, app); if (!app->screen) { - g_error ("Could not get screen info"); + g_warning (_("The X server does not support the XRANDR extension. Runtime resolution changes to the display size are not available.")); + show_error (_("The X server does not support the XRANDR extension. Runtime resolution changes to the display size are not available.")); g_object_unref (xml); return; }