diff options
Diffstat (limited to 'filter/vfolder-rule.c')
-rw-r--r-- | filter/vfolder-rule.c | 8 |
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); |