From: Matthias Clasen Date: Tue, 29 Nov 2022 23:59:23 +0000 (-0500) Subject: filedialog: Report cancellation propertly X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~9^2~49^2~11 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=417382375bb51dfad74ed1105fe7b3879d07a378;p=gtk4.git filedialog: Report cancellation propertly Unless we prevent it, GTask will always report cancellation as G_IO_ERROR_CANCELLED. But we want GTK_DIALOG_ERROR_ABORTED for this case. --- diff --git a/gtk/gtkfiledialog.c b/gtk/gtkfiledialog.c index 3d25750abb..d5cf620db5 100644 --- a/gtk/gtkfiledialog.c +++ b/gtk/gtkfiledialog.c @@ -778,6 +778,7 @@ gtk_file_dialog_open (GtkFileDialog *self, current_file, NULL, FALSE); task = g_task_new (self, cancellable, callback, user_data); + g_task_set_check_cancellable (task, FALSE); g_task_set_source_tag (task, gtk_file_dialog_open); g_task_set_task_data (task, chooser, (GDestroyNotify) gtk_native_dialog_destroy); @@ -854,6 +855,7 @@ gtk_file_dialog_select_folder (GtkFileDialog *self, current_folder, NULL, FALSE); task = g_task_new (self, cancellable, callback, user_data); + g_task_set_check_cancellable (task, FALSE); g_task_set_source_tag (task, gtk_file_dialog_select_folder); g_task_set_task_data (task, chooser, (GDestroyNotify) gtk_native_dialog_destroy); @@ -935,6 +937,7 @@ gtk_file_dialog_save (GtkFileDialog *self, current_file, current_name, FALSE); task = g_task_new (self, cancellable, callback, user_data); + g_task_set_check_cancellable (task, FALSE); g_task_set_source_tag (task, gtk_file_dialog_save); g_task_set_task_data (task, chooser, (GDestroyNotify) gtk_native_dialog_destroy); @@ -1008,6 +1011,7 @@ gtk_file_dialog_open_multiple (GtkFileDialog *self, NULL, NULL, TRUE); task = g_task_new (self, cancellable, callback, user_data); + g_task_set_check_cancellable (task, FALSE); g_task_set_source_tag (task, gtk_file_dialog_open_multiple); g_task_set_task_data (task, chooser, (GDestroyNotify) gtk_native_dialog_destroy); @@ -1082,6 +1086,7 @@ gtk_file_dialog_select_multiple_folders (GtkFileDialog *self, NULL, NULL, TRUE); task = g_task_new (self, cancellable, callback, user_data); + g_task_set_check_cancellable (task, FALSE); g_task_set_source_tag (task, gtk_file_dialog_select_multiple_folders); g_task_set_task_data (task, chooser, (GDestroyNotify) gtk_native_dialog_destroy);