a bit of more optimization

This commit is contained in:
Sergey V. Udaltsov 2005-01-08 21:23:15 +00:00
parent d52a911b8e
commit 6b0d6cac30

View file

@ -45,6 +45,8 @@
static GSwitchItConfig currentConfig; static GSwitchItConfig currentConfig;
static GSwitchItKbdConfig currentKbdConfig; static GSwitchItKbdConfig currentKbdConfig;
/* never terminated */
static GSwitchItKbdConfig initialSysKbdConfig; static GSwitchItKbdConfig initialSysKbdConfig;
static gboolean initedOk; static gboolean initedOk;
@ -143,9 +145,7 @@ apply_xkb_settings (void)
if (currentKbdConfig.overrideSettings) { if (currentKbdConfig.overrideSettings) {
/* initialization - from the system settings */ /* initialization - from the system settings */
GSwitchItKbdConfigLoadFromXInitial (&currentKbdConfig); GSwitchItKbdConfigSaveToGConf (&initialSysKbdConfig);
currentKbdConfig.overrideSettings = FALSE;
GSwitchItKbdConfigSaveToGConf (&currentKbdConfig);
} else { } else {
GSwitchItKbdConfigLoadFromXCurrent (&currentSysKbdConfig); GSwitchItKbdConfigLoadFromXCurrent (&currentSysKbdConfig);
/* Activate - only if different! */ /* Activate - only if different! */
@ -181,7 +181,6 @@ gnome_settings_keyboard_xkb_sysconfig_changed_response (GtkDialog * dialog,
break; break;
} }
gtk_widget_destroy (GTK_WIDGET (dialog)); gtk_widget_destroy (GTK_WIDGET (dialog));
GSwitchItKbdConfigTerm (&initialSysKbdConfig);
} }
static void static void
@ -199,6 +198,7 @@ gnome_settings_keyboard_xkb_analyze_sysconfig (void)
g_object_unref (confClient); g_object_unref (confClient);
GSwitchItKbdConfigLoadFromGConfBackup (&backupGConfKbdConfig); GSwitchItKbdConfigLoadFromGConfBackup (&backupGConfKbdConfig);
GSwitchItKbdConfigLoadFromXInitial (&initialSysKbdConfig); GSwitchItKbdConfigLoadFromXInitial (&initialSysKbdConfig);
initialSysKbdConfig.overrideSettings = FALSE;
isConfigChanged = g_slist_length (backupGConfKbdConfig.layouts) && isConfigChanged = g_slist_length (backupGConfKbdConfig.layouts) &&
!GSwitchItKbdConfigEquals (&initialSysKbdConfig, &backupGConfKbdConfig); !GSwitchItKbdConfigEquals (&initialSysKbdConfig, &backupGConfKbdConfig);