summaryrefslogtreecommitdiff
path: root/gtk/gtkfiledialog.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkfiledialog.c')
-rw-r--r--gtk/gtkfiledialog.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/gtk/gtkfiledialog.c b/gtk/gtkfiledialog.c
index 8b9fc21a6a..b267e2d239 100644
--- a/gtk/gtkfiledialog.c
+++ b/gtk/gtkfiledialog.c
@@ -976,6 +976,9 @@ gtk_file_dialog_open_finish (GtkFileDialog *self,
g_return_val_if_fail (g_task_is_valid (result, self), NULL);
g_return_val_if_fail (g_task_get_source_tag (G_TASK (result)) == gtk_file_dialog_open, NULL);
+ /* Destroy the dialog window not to be bound to GTask lifecycle */
+ g_task_set_task_data (G_TASK (result), NULL, NULL);
+
return finish_file_op (self, G_TASK (result), error);
}
@@ -1050,6 +1053,9 @@ gtk_file_dialog_select_folder_finish (GtkFileDialog *self,
g_return_val_if_fail (g_task_is_valid (result, self), NULL);
g_return_val_if_fail (g_task_get_source_tag (G_TASK (result)) == gtk_file_dialog_select_folder, NULL);
+ /* Destroy the dialog window not to be bound to GTask lifecycle */
+ g_task_set_task_data (G_TASK (result), NULL, NULL);
+
return finish_file_op (self, G_TASK (result), error);
}
@@ -1120,6 +1126,9 @@ gtk_file_dialog_save_finish (GtkFileDialog *self,
g_return_val_if_fail (g_task_is_valid (result, self), NULL);
g_return_val_if_fail (g_task_get_source_tag (G_TASK (result)) == gtk_file_dialog_save, NULL);
+ /* Destroy the dialog window not to be bound to GTask lifecycle */
+ g_task_set_task_data (G_TASK (result), NULL, NULL);
+
return finish_file_op (self, G_TASK (result), error);
}
@@ -1194,6 +1203,9 @@ gtk_file_dialog_open_multiple_finish (GtkFileDialog *self,
g_return_val_if_fail (g_task_is_valid (result, self), NULL);
g_return_val_if_fail (g_task_get_source_tag (G_TASK (result)) == gtk_file_dialog_open_multiple, NULL);
+ /* Destroy the dialog window not to be bound to GTask lifecycle */
+ g_task_set_task_data (G_TASK (result), NULL, NULL);
+
return finish_multiple_files_op (self, G_TASK (result), error);
}
@@ -1268,6 +1280,9 @@ gtk_file_dialog_select_multiple_folders_finish (GtkFileDialog *self,
g_return_val_if_fail (g_task_is_valid (result, self), NULL);
g_return_val_if_fail (g_task_get_source_tag (G_TASK (result)) == gtk_file_dialog_select_multiple_folders, NULL);
+ /* Destroy the dialog window not to be bound to GTask lifecycle */
+ g_task_set_task_data (G_TASK (result), NULL, NULL);
+
return finish_multiple_files_op (self, G_TASK (result), error);
}