aboutsummaryrefslogtreecommitdiffstats
path: root/shell/evolution-folder-selector-button.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/evolution-folder-selector-button.c')
-rw-r--r--shell/evolution-folder-selector-button.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/shell/evolution-folder-selector-button.c b/shell/evolution-folder-selector-button.c
index 144e47afc2..39d05354e9 100644
--- a/shell/evolution-folder-selector-button.c
+++ b/shell/evolution-folder-selector-button.c
@@ -161,6 +161,8 @@ clicked (GtkButton *button)
g_signal_emit (folder_selector_button, signals[POPPED_UP], 0);
+ g_object_add_weak_pointer (G_OBJECT (parent_window), (void **) &parent_window);
+
evolution_shell_client_user_select_folder (priv->shell_client,
parent_window,
priv->title,
@@ -168,17 +170,15 @@ clicked (GtkButton *button)
(const char **)priv->possible_types,
&return_folder);
-#if 0 /* FIXME */
+ g_object_remove_weak_pointer (G_OBJECT (parent_window), (void **) &parent_window);
+
/* If the parent gets destroyed despite our best efforts (eg,
* because its own parent got destroyed), then the folder
* selector button will have been destroyed too and we need
* to just bail out here.
*/
- if (GTK_OBJECT_DESTROYED (parent_window)) {
- g_object_unref (parent_window);
+ if (parent_window == NULL)
return;
- }
-#endif
gtk_widget_set_sensitive (GTK_WIDGET (parent_window), TRUE);
g_object_unref (parent_window);