[evolution] Revert "Bug #608203 - Left pane of mailer window is really narrow at startup"



commit 2cb330eb0978689dd2535c70be08fc01c0e05379
Author: Matthew Barnes <mbarnes redhat com>
Date:   Fri May 28 16:17:30 2010 -0400

    Revert "Bug #608203 - Left pane of mailer window is really narrow at startup"
    
    This reverts commit 0cdd9484fec0b1fec0801df7d7e0b05c6544ba9b.
    
    Causes the Mail window to erroneously switch to Contacts when opening
    the Contacts window in express mode.

 e-util/gconf-bridge.c          |   33 +++++----------------------------
 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 e5d5a19..d0f884d 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 7bcf069..7e71859 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";



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]