fix error at login screen

This commit is contained in:
Ray Strode 2011-02-02 22:24:18 -05:00
parent e8a693a024
commit d07b5001fc
2 changed files with 51 additions and 1 deletions

View File

@ -0,0 +1,44 @@
diff --git a/libgnomekbd/gkbd-keyboard-config.c b/libgnomekbd/gkbd-keyboard-config.c
index bbbc840..fa562f9 100644
--- a/libgnomekbd/gkbd-keyboard-config.c
+++ b/libgnomekbd/gkbd-keyboard-config.c
@@ -328,12 +328,13 @@ gkbd_keyboard_config_load_params (GkbdKeyboardConfig * kbd_config,
gchar *pc;
pc = g_settings_get_string (kbd_config->settings, param_names[0]);
- if (pc == NULL) {
+
+ if (pc == NULL || pc[0] == '\0') {
gkbd_keyboard_config_model_set (kbd_config, NULL);
} else {
gkbd_keyboard_config_model_set (kbd_config, pc);
- g_free (pc);
}
+ g_free (pc);
xkl_debug (150, "Loaded Kbd model: [%s]\n",
kbd_config->model ? kbd_config->model : "(null)");
@@ -342,10 +343,20 @@ gkbd_keyboard_config_load_params (GkbdKeyboardConfig * kbd_config,
kbd_config->layouts_variants =
g_settings_get_strv (kbd_config->settings, param_names[1]);
+ if (kbd_config->layouts_variants != NULL && kbd_config->layouts_variants[0] == NULL) {
+ g_strfreev (kbd_config->layouts_variants);
+ kbd_config->layouts_variants = NULL;
+ }
+
g_strfreev (kbd_config->options);
kbd_config->options =
g_settings_get_strv (kbd_config->settings, param_names[2]);
+
+ if (kbd_config->options != NULL && kbd_config->options[0] == NULL) {
+ g_strfreev (kbd_config->options);
+ kbd_config->options = NULL;
+ }
}
static void
--
1.7.3.5

View File

@ -1,6 +1,6 @@
Name: libgnomekbd
Version: 2.91.5
Release: 5%{?dist}
Release: 6%{?dist}
Summary: A keyboard configuration library
Group: System Environment/Libraries
@ -21,6 +21,8 @@ BuildRequires: gobject-introspection-devel
Requires(post): GConf2
Patch0: fix-error-at-login-screen.patch
%description
The libgnomekbd package contains a GNOME library which manages
keyboard configuration and offers various widgets related to
@ -51,6 +53,7 @@ of the keyboard indicator applet.
%prep
%setup -q
%patch0 -p1 -b .fix-error
%build
%configure --disable-static --enable-compile-warnings=no --enable-introspection
@ -114,6 +117,9 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor >&/dev/null || :
%changelog
* Wed Feb 02 2011 Ray Strode <rstrode@redhat.com> 2.91.5-6
- Fix error at login screen
* Wed Feb 2 2011 Matthias Clasen <mclasen@redhat.com> 2.91.5-5
- Build with introspection