From 2a884fd7ade680c2cdc4bcdd1fa2055b2ae576ea Mon Sep 17 00:00:00 2001 From: Lauris Kaplinski Date: Tue, 26 Mar 2002 16:39:05 +0000 Subject: [PATCH] Two minor checks, that fix crash/misbehaviour at broken GConf setups --- capplets/keyboard/ChangeLog | 5 +++++ capplets/keyboard/gnome-keyboard-properties.c | 5 ++++- capplets/ui-properties/ChangeLog | 4 ++++ capplets/ui-properties/gnome-ui-properties.c | 4 +++- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/capplets/keyboard/ChangeLog b/capplets/keyboard/ChangeLog index 0a705d303..424e3dd81 100644 --- a/capplets/keyboard/ChangeLog +++ b/capplets/keyboard/ChangeLog @@ -1,3 +1,8 @@ +2002-03-26 Lauris Kaplinski + + * gnome-keyboard-properties.c (bell_to_widget): Be nice on + invalid and NULL Gconf values + 2002-03-25 Jody Goldberg * gnome-keyboard-properties.c (volume_to_widget) : new. diff --git a/capplets/keyboard/gnome-keyboard-properties.c b/capplets/keyboard/gnome-keyboard-properties.c index 826eb7691..5a91ca260 100644 --- a/capplets/keyboard/gnome-keyboard-properties.c +++ b/capplets/keyboard/gnome-keyboard-properties.c @@ -148,12 +148,15 @@ static GConfValue * bell_to_widget (GConfPropertyEditor *peditor, const GConfValue *value) { GConfValue *new_value; + const gchar *str; gint val = 2; + str = (value && (value->type == GCONF_VALUE_STRING)) ? gconf_value_get_string (value) : NULL; + new_value = gconf_value_new (GCONF_VALUE_INT); if (value->type == GCONF_VALUE_STRING) { gconf_string_to_enum (bell_enums, - gconf_value_get_string (value), + str, &val); } gconf_value_set_int (new_value, val); diff --git a/capplets/ui-properties/ChangeLog b/capplets/ui-properties/ChangeLog index 8c284dc04..2a70061d1 100644 --- a/capplets/ui-properties/ChangeLog +++ b/capplets/ui-properties/ChangeLog @@ -1,3 +1,7 @@ +2002-03-21 Lauris Kaplinski + + * gnome-ui-properties.c (toolbar_to_widget): Check GConf value type + 2002-03-21 Dave Camp * gnome-ui-properties.c: (show_handlebar), (set_toolbar_style), diff --git a/capplets/ui-properties/gnome-ui-properties.c b/capplets/ui-properties/gnome-ui-properties.c index a0e82a296..a4f79eef7 100644 --- a/capplets/ui-properties/gnome-ui-properties.c +++ b/capplets/ui-properties/gnome-ui-properties.c @@ -58,11 +58,13 @@ static GConfValue * toolbar_to_widget (GConfPropertyEditor *peditor, GConfValue *value) { GConfValue *new_value; + const gchar *str; gint val = 2; + str = (value && (value->type == GCONF_VALUE_STRING)) ? gconf_value_get_string (value) : NULL; new_value = gconf_value_new (GCONF_VALUE_INT); gconf_string_to_enum (toolbar_style_enums, - gconf_value_get_string (value), + str, &val); gconf_value_set_int (new_value, val);