summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Hergert <christian@hergert.me>2022-03-11 18:19:44 -0800
committerChristian Hergert <christian@hergert.me>2022-03-11 18:19:44 -0800
commit9e2357d5f3e028089dd106050a3a07d4fa510c20 (patch)
treea8465e7f0ed71f4e7fc2eac9a0fb5de0aea47a6c
parentbd0c68f641c1d7dad7edcdd8af463afd1131c980 (diff)
downloadgtk+-9e2357d5f3e028089dd106050a3a07d4fa510c20.tar.gz
macos: clear sorted surfaces when showing file chooser
When showing the native file chooser, we need to ensure we clear the sorted surfaces in the display so that we don't risk delivering events correctly on the next frame.
-rw-r--r--gtk/gtkfilechoosernativequartz.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gtk/gtkfilechoosernativequartz.c b/gtk/gtkfilechoosernativequartz.c
index 3854937c0d..05ff830b9c 100644
--- a/gtk/gtkfilechoosernativequartz.c
+++ b/gtk/gtkfilechoosernativequartz.c
@@ -39,6 +39,7 @@
#include "gtkfilefilterprivate.h"
#include "macos/gdkmacos.h"
+#include "macos/gdkmacosdisplay-private.h"
#include "macos/gdkmacossurface-private.h"
typedef struct {
@@ -368,6 +369,9 @@ filechooser_quartz_launch (FileChooserQuartzData *data)
[data->key_window makeKeyAndOrderFront:nil];
}
+ /* Need to clear our cached copy of ordered windows */
+ _gdk_macos_display_clear_sorting (GDK_MACOS_DISPLAY (gdk_display_get_default ()));
+
if (!data->skip_response)
{
g_slist_free_full (self->custom_files, g_object_unref);