From 68b79b4fab16f1b5121ea18192836c3b7a23d2e5 Mon Sep 17 00:00:00 2001 From: Jody Goldberg Date: Wed, 10 Apr 2002 23:30:45 +0000 Subject: [PATCH] http://bugzilla.gnome.org/show_bug.cgi?id=77203 be more anal about server 2002-04-01 Jody Goldberg http://bugzilla.gnome.org/show_bug.cgi?id=77203 * gnome-settings-accessibility-keyboard.c (set_gconf_from_server) : be more anal about server failure. (set_server_from_gconf) : ditto. 2002-03-30 Jody Goldberg * gnome-settings-xsettings.c (translations) : reorder to match gdk. This simplifies maintenance. --- gnome-settings-daemon/ChangeLog | 12 +++++++ .../gnome-settings-accessibility-keyboard.c | 35 +++++++++++++------ .../gnome-settings-keyboard.c | 2 +- .../gnome-settings-xsettings.c | 32 ++++++++--------- 4 files changed, 54 insertions(+), 27 deletions(-) diff --git a/gnome-settings-daemon/ChangeLog b/gnome-settings-daemon/ChangeLog index d7efcf8d4..73944c5ed 100644 --- a/gnome-settings-daemon/ChangeLog +++ b/gnome-settings-daemon/ChangeLog @@ -1,3 +1,15 @@ +2002-04-01 Jody Goldberg + + http://bugzilla.gnome.org/show_bug.cgi?id=77203 + * gnome-settings-accessibility-keyboard.c (set_gconf_from_server) : be + more anal about server failure. + (set_server_from_gconf) : ditto. + +2002-03-30 Jody Goldberg + + * gnome-settings-xsettings.c (translations) : reorder to match gdk. + This simplifies maintenance. + Tue Apr 9 11:58:10 2002 Jonathan Blandford * Makefile.am: Add commented out disk support until I finish the code. diff --git a/gnome-settings-daemon/gnome-settings-accessibility-keyboard.c b/gnome-settings-daemon/gnome-settings-accessibility-keyboard.c index b8a789b25..71bfc9051 100644 --- a/gnome-settings-daemon/gnome-settings-accessibility-keyboard.c +++ b/gnome-settings-daemon/gnome-settings-accessibility-keyboard.c @@ -79,6 +79,18 @@ set_server_from_gconf (GConfEntry *ignored) gint32 enabled, enable_mask; XkbDescRec *desc; GConfClient *client = gconf_client_get_default (); + Status status; + + gdk_error_trap_push (); + desc = XkbGetMap (GDK_DISPLAY (), XkbAllMapComponentsMask, XkbUseCoreKbd); + desc->ctrls = NULL; + status = XkbGetControls (GDK_DISPLAY (), XkbAllControlsMask, desc); + XSync (GDK_DISPLAY (), FALSE); + gdk_error_trap_pop (); + + g_return_if_fail (status == Success); + g_return_if_fail (desc != NULL); + g_return_if_fail (desc->ctrls != NULL); if (we_are_changing_xkb_state) { d ("We changed gconf accessibility state\n"); @@ -86,6 +98,8 @@ set_server_from_gconf (GConfEntry *ignored) } else d ("Someone changed gconf accessibility state\n"); + desc->ctrls->ax_options = XkbAX_LatchToLockMask; + enable_mask = XkbAccessXKeysMask | XkbSlowKeysMask | XkbBounceKeysMask | @@ -98,11 +112,6 @@ set_server_from_gconf (GConfEntry *ignored) enabled = XkbAccessXFeedbackMask; - desc = XkbGetMap(GDK_DISPLAY (), 0, XkbUseCoreKbd); - XkbGetControls (GDK_DISPLAY (), XkbAllControlsMask, desc); - - desc->ctrls->ax_options = XkbAX_LatchToLockMask; - /* general */ if (gconf_client_get_bool (client, CONFIG_ROOT "/enable", NULL)) enabled |= XkbAccessXKeysMask; @@ -172,7 +181,7 @@ set_server_from_gconf (GConfEntry *ignored) gdk_error_trap_push (); we_are_changing_xkb_state = TRUE; XkbSetControls (GDK_DISPLAY (), which, desc); - gdk_flush (); + XSync (GDK_DISPLAY (), FALSE); we_are_changing_xkb_state = FALSE; gdk_error_trap_pop (); } @@ -182,13 +191,19 @@ set_gconf_from_server (GConfEntry *ignored) { XkbDescRec *desc; GConfClient *client = gconf_client_get_default (); + Status status; gdk_error_trap_push (); - desc = XkbGetMap(GDK_DISPLAY (), 0, XkbUseCoreKbd); - XkbGetControls (GDK_DISPLAY (), XkbAllControlsMask, desc); - XFlush (GDK_DISPLAY ()); + desc = XkbGetMap (GDK_DISPLAY (), XkbAllMapComponentsMask, XkbUseCoreKbd); + desc->ctrls = NULL; + status = XkbGetControls (GDK_DISPLAY (), XkbAllControlsMask, desc); + XSync (GDK_DISPLAY (), FALSE); gdk_error_trap_pop (); + g_return_if_fail (status != Success); + g_return_if_fail (desc != NULL); + g_return_if_fail (desc->ctrls != NULL); + desc->ctrls->ax_options = XkbAX_LatchToLockMask; /* guard against reloading the server when gconf notices that the state @@ -287,7 +302,7 @@ gnome_settings_accessibility_keyboard_init (GConfClient *client) XkbSelectEvents (GDK_DISPLAY (), XkbUseCoreKbd, XkbAllEventsMask, XkbAllEventsMask); - XFlush (GDK_DISPLAY ()); + XSync (GDK_DISPLAY (), FALSE); gdk_error_trap_pop (); gdk_window_add_filter (NULL, &cb_xkb_event_filter, NULL); diff --git a/gnome-settings-daemon/gnome-settings-keyboard.c b/gnome-settings-daemon/gnome-settings-keyboard.c index 7ba7c7408..7abd16a86 100644 --- a/gnome-settings-daemon/gnome-settings-keyboard.c +++ b/gnome-settings-daemon/gnome-settings-keyboard.c @@ -96,7 +96,7 @@ apply_settings (void) XChangeKeyboardControl (GDK_DISPLAY (), KBKeyClickPercent, &kbdcontrol); - XFlush (GDK_DISPLAY ()); + XSync (GDK_DISPLAY (), FALSE); gdk_error_trap_pop (); } diff --git a/gnome-settings-daemon/gnome-settings-xsettings.c b/gnome-settings-daemon/gnome-settings-xsettings.c index f90b6b251..481a996b6 100644 --- a/gnome-settings-daemon/gnome-settings-xsettings.c +++ b/gnome-settings-daemon/gnome-settings-xsettings.c @@ -62,24 +62,24 @@ translate_string_string (TranslationEntry *trans, } static TranslationEntry translations [] = { - { "/desktop/gnome/peripherals/mouse/double_click", "Net/DoubleClickTime", GCONF_VALUE_INT, - translate_int_int }, - { "/desktop/gnome/gtk-color-palette", "Gtk/ColorPalette", GCONF_VALUE_STRING, - translate_string_string }, - { "/desktop/gnome/gtk-toolbar-style", "Gtk/ToolbarStyle", GCONF_VALUE_STRING, - translate_string_string }, - { "/desktop/gnome/gtk-toolbar-icon-size", "Gtk/ToolbarIconSize", GCONF_VALUE_STRING, - translate_string_string }, - { "/desktop/gnome/interface/gtk_theme", "Net/ThemeName", GCONF_VALUE_STRING, - translate_string_string }, - { "/desktop/gnome/interface/gtk_key_theme", "Gtk/KeyThemeName", GCONF_VALUE_STRING, - translate_string_string }, - { "/desktop/gnome/interface/font_name", "Gtk/FontName", GCONF_VALUE_STRING, - translate_string_string }, + { "/desktop/gnome/peripherals/mouse/double_click", "Net/DoubleClickTime", + GCONF_VALUE_INT, translate_int_int }, + { "/desktop/gnome/gtk-color-palette", "Gtk/ColorPalette", + GCONF_VALUE_STRING, translate_string_string }, + { "/desktop/gnome/interface/font_name", "Gtk/FontName", + GCONF_VALUE_STRING, translate_string_string }, + { "/desktop/gnome/interface/gtk_key_theme", "Gtk/KeyThemeName", + GCONF_VALUE_STRING, translate_string_string }, + { "/desktop/gnome/gtk-toolbar-style", "Gtk/ToolbarStyle", + GCONF_VALUE_STRING, translate_string_string }, + { "/desktop/gnome/gtk-toolbar-icon-size", "Gtk/ToolbarIconSize", + GCONF_VALUE_STRING, translate_string_string }, { "/desktop/gnome/interface/cursor_blink", "Net/CursorBlink", - GCONF_VALUE_BOOL, translate_bool_int }, + GCONF_VALUE_BOOL, translate_bool_int }, { "/desktop/gnome/interface/cursor_blink_time", "Net/CursorBlinkTime", - GCONF_VALUE_INT, translate_int_int } + GCONF_VALUE_INT, translate_int_int }, + { "/desktop/gnome/interface/gtk_theme", "Net/ThemeName", + GCONF_VALUE_STRING, translate_string_string } }; static TranslationEntry*