diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2002-02-27 06:21:33 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2002-02-27 06:21:33 +0800 |
commit | 9001aaa2f36f58125c46ccedaad4043213c5767a (patch) | |
tree | d01158e35f0ed28a48f01d636c10e78092246553 /shell/e-shell-view.c | |
parent | effbd15dbbe3a73a234febcc839e53285de6b534 (diff) | |
download | gsoc2013-evolution-9001aaa2f36f58125c46ccedaad4043213c5767a.tar.gz gsoc2013-evolution-9001aaa2f36f58125c46ccedaad4043213c5767a.tar.zst gsoc2013-evolution-9001aaa2f36f58125c46ccedaad4043213c5767a.zip |
[This gets rid of some spurious "could not find handler" messages
on exit. What happened is that the signal would be disconnected
twice, once by cleanup_delayed_selection() and once by the
while_alive handler.]
* e-shell-view.c (destroy): Call cleanup_delayed_selection() here.
(e_shell_view_display_uri): Use gtk_signal_connect_full(), not
e_gtk_signal_connect_full_while_alive().
svn path=/trunk/; revision=15848
Diffstat (limited to 'shell/e-shell-view.c')
-rw-r--r-- | shell/e-shell-view.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/shell/e-shell-view.c b/shell/e-shell-view.c index 7d369a9037..78059f5e17 100644 --- a/shell/e-shell-view.c +++ b/shell/e-shell-view.c @@ -1193,6 +1193,10 @@ destroy (GtkObject *object) shell_view = E_SHELL_VIEW (object); priv = shell_view->priv; + /* This is necessary to remove the signal handler for folder_new on the + storage set used for the delayed selection mechanism. */ + cleanup_delayed_selection (shell_view); + gtk_object_unref (GTK_OBJECT (priv->tooltips)); if (priv->history != NULL) @@ -2138,11 +2142,9 @@ display_uri (EShellView *shell_view, } else if (! create_new_view_for_uri (shell_view, uri)) { cleanup_delayed_selection (shell_view); priv->delayed_selection = g_strdup (uri); - e_gtk_signal_connect_full_while_alive (GTK_OBJECT (e_shell_get_storage_set (priv->shell)), "new_folder", - GTK_SIGNAL_FUNC (new_folder_cb), NULL, - shell_view, NULL, - FALSE, TRUE, - GTK_OBJECT (shell_view)); + gtk_signal_connect_full (GTK_OBJECT (e_shell_get_storage_set (priv->shell)), + "new_folder", GTK_SIGNAL_FUNC (new_folder_cb), NULL, + shell_view, NULL, FALSE, TRUE); retval = FALSE; goto end; } |