aboutsummaryrefslogtreecommitdiffstats
path: root/filter/vfolder-rule.c
diff options
context:
space:
mode:
Diffstat (limited to 'filter/vfolder-rule.c')
-rw-r--r--filter/vfolder-rule.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/filter/vfolder-rule.c b/filter/vfolder-rule.c
index f940747c71..818b303366 100644
--- a/filter/vfolder-rule.c
+++ b/filter/vfolder-rule.c
@@ -358,12 +358,20 @@ source_add(GtkWidget *widget, struct _source_data *data)
GList *l;
gchar *s;
+ gtk_widget_set_sensitive(widget, FALSE);
def = "";
evolution_shell_client_user_select_folder (global_shell_client,
GTK_WINDOW (gtk_widget_get_toplevel (widget)),
_("Select Folder"),
def, allowed_types, NULL, &uri);
+ if (GTK_OBJECT_DESTROYED(widget)) {
+ g_free(uri);
+ return;
+ }
+
+ gtk_widget_set_sensitive(widget, TRUE);
+
if (uri != NULL && uri[0] != '\0') {
data->vr->sources = g_list_append(data->vr->sources, uri);