aboutsummaryrefslogtreecommitdiffstats
path: root/filter/vfolder-rule.c
diff options
context:
space:
mode:
authorNot Zed <NotZed@Ximian.com>2001-11-28 05:32:04 +0800
committerMichael Zucci <zucchi@src.gnome.org>2001-11-28 05:32:04 +0800
commit8b80096cad750de0a00b252730aa019a69314813 (patch)
treef16db931321510ec819c21aef48cd4695876d7ea /filter/vfolder-rule.c
parent95e93d3433ca1481fc01c1ca177f69628e725432 (diff)
downloadgsoc2013-evolution-8b80096cad750de0a00b252730aa019a69314813.tar
gsoc2013-evolution-8b80096cad750de0a00b252730aa019a69314813.tar.gz
gsoc2013-evolution-8b80096cad750de0a00b252730aa019a69314813.tar.bz2
gsoc2013-evolution-8b80096cad750de0a00b252730aa019a69314813.tar.lz
gsoc2013-evolution-8b80096cad750de0a00b252730aa019a69314813.tar.xz
gsoc2013-evolution-8b80096cad750de0a00b252730aa019a69314813.tar.zst
gsoc2013-evolution-8b80096cad750de0a00b252730aa019a69314813.zip
Hook onto destroy event. (edit_editor_destroyed): IF we get destroyed,
2001-11-21 Not Zed <NotZed@Ximian.com> * rule-editor.c (rule_edit): Hook onto destroy event. (edit_editor_destroyed): IF we get destroyed, fake a -1 click event to clean up. (rule_add): hook onto destroy of dialogue. (add_editor_destroyed): Simulate -1 click event to clean up. Fix for #15745. 2001-11-20 Not Zed <NotZed@Ximian.com> * vfolder-rule.c (source_add): Desensitise button while we're running, and if we are destroyed, exit and do nothing when we're done. Fixes crash in #15498. * filter-folder.c (button_clicked): Ref 'ff' around dialogue showing incase we go away before it returns. Also desensitise button that invoked us while its being processed & remove 'is_active' hack. Fixes similar problems to those in #15498. svn path=/trunk/; revision=14794
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);