diff options
-rw-r--r-- | e-util/gconf-bridge.c | 33 | ||||
-rw-r--r-- | shell/e-shell-window-private.c | 34 |
2 files changed, 21 insertions, 46 deletions
diff --git a/e-util/gconf-bridge.c b/e-util/gconf-bridge.c index e5d5a1998e..d0f884d8fa 100644 --- a/e-util/gconf-bridge.c +++ b/e-util/gconf-bridge.c @@ -53,9 +53,6 @@ typedef struct { that have not received change notification yet. */ - GConfValue *use_first_value; /* Not NULL when the object is a - Widget and wasn't realized. */ - GObject *object; GParamSpec *prop; gulong prop_notify_id; @@ -266,9 +263,6 @@ prop_binding_sync_prop_to_pref (PropBinding *binding) binding->prop->name, &value); - if (binding->use_first_value) { - gconf_value = binding->use_first_value; - } else switch (value.g_type) { case G_TYPE_STRING: gconf_value = gconf_value_new (GCONF_VALUE_STRING); @@ -362,17 +356,10 @@ prop_binding_sync_prop_to_pref (PropBinding *binding) /* Set to GConf */ gconf_client_set (bridge->client, binding->key, gconf_value, NULL); - if (binding->use_first_value) { - gconf_value_free (binding->use_first_value); - binding->use_first_value = NULL; - - gconf_client_notify (bridge->client, binding->key); - } else { - /* Store until change notification comes in, so that we are able - * to ignore it */ - binding->val_changes = g_slist_append (binding->val_changes, - gconf_value); - } + /* Store until change notification comes in, so that we are able + * to ignore it */ + binding->val_changes = g_slist_append (binding->val_changes, + gconf_value); done: g_value_unset (&value); @@ -526,7 +513,6 @@ gconf_bridge_bind_property_full (GConfBridge *bridge, binding->id = new_id (); binding->delayed_mode = delayed_sync; binding->val_changes = NULL; - binding->use_first_value = NULL; binding->key = g_strdup (key); binding->object = object; binding->prop = pspec; @@ -550,11 +536,7 @@ gconf_bridge_bind_property_full (GConfBridge *bridge, val = gconf_client_get (bridge->client, key, NULL); if (val) { prop_binding_sync_pref_to_prop (binding, val); - if (GTK_IS_WIDGET (object) && !gtk_widget_get_realized (GTK_WIDGET (object))) { - binding->use_first_value = val; - } else { - gconf_value_free (val); - } + gconf_value_free (val); } /* Handle case where watched object gets destroyed */ @@ -645,11 +627,6 @@ prop_binding_unbind (PropBinding *binding) (binding->val_changes, binding->val_changes); } - if (binding->use_first_value) { - gconf_value_free (binding->use_first_value); - binding->use_first_value = NULL; - } - /* The object might have been destroyed .. */ if (binding->object) { g_signal_handler_disconnect (binding->object, diff --git a/shell/e-shell-window-private.c b/shell/e-shell-window-private.c index 7bcf069408..7e7185963e 100644 --- a/shell/e-shell-window-private.c +++ b/shell/e-shell-window-private.c @@ -412,24 +412,6 @@ e_shell_window_private_constructed (EShellWindow *shell_window) bridge = gconf_bridge_get (); - /* First restore window size, then the rest */ - - /* Configure the initial size and position of the window by way - * of either a user-supplied geometry string or the last recorded - * values. Note that if a geometry string is applied, the window - * size and position are -not- recorded. */ - if (priv->geometry != NULL) { - if (!gtk_window_parse_geometry (window, priv->geometry)) - g_printerr ( - "Failed to parse geometry '%s'\n", - priv->geometry); - g_free (priv->geometry); - priv->geometry = NULL; - } else { - key = "/apps/evolution/shell/view_defaults/window"; - gconf_bridge_bind_window (bridge, key, window, TRUE, TRUE); - } - object = G_OBJECT (shell_window); key = "/apps/evolution/shell/view_defaults/component_id"; gconf_bridge_bind_property (bridge, key, object, "active-view"); @@ -464,6 +446,22 @@ e_shell_window_private_constructed (EShellWindow *shell_window) key = "/apps/evolution/shell/view_defaults/toolbar_visible"; gconf_bridge_bind_property (bridge, key, object, "toolbar-visible"); + /* Configure the initial size and position of the window by way + * of either a user-supplied geometry string or the last recorded + * values. Note that if a geometry string is applied, the window + * size and position are -not- recorded. */ + if (priv->geometry != NULL) { + if (!gtk_window_parse_geometry (window, priv->geometry)) + g_printerr ( + "Failed to parse geometry '%s'\n", + priv->geometry); + g_free (priv->geometry); + priv->geometry = NULL; + } else { + key = "/apps/evolution/shell/view_defaults/window"; + gconf_bridge_bind_window (bridge, key, window, TRUE, TRUE); + } + shell_window_init_switcher_style (shell_window); id = "org.gnome.evolution.shell"; |