GtkWindow: Don't double free export user data
authorJonas Ådahl <jadahl@gmail.com>
Tue, 9 May 2017 15:07:02 +0000 (23:07 +0800)
committerJonas Ådahl <jadahl@gmail.com>
Tue, 9 May 2017 15:19:20 +0000 (23:19 +0800)
The user data passed when exporting a Wayland window was supposed to be
freed using the destroy_func, as is commonly done. This was previously
broken, as the user data was just NULL:ed when exported, and only
actually destroyed when unexporting before having exported.

While e016d9a5dba6f6f99aee94d0b72c00bee299b96a fixed this, it introduced
a regression, as GtkWindow was nice enough to free the memory anyway
after having received the exported handle, causing it now to double
free.

https://bugzilla.gnome.org/show_bug.cgi?id=782109

gtk/gtkwindow.c

index 3404d951eef5c78e9f99554163b6526e2ba543e3..55924bbf6cc7ad1fd70c7e4649c9a7afe0b0009d 100644 (file)
@@ -12664,8 +12664,6 @@ wayland_window_handle_exported (GdkWindow  *window,
   handle_str = g_strdup_printf ("wayland:%s", wayland_handle_str);
   data->callback (data->window, handle_str, data->user_data);
   g_free (handle_str);
-
-  g_free (data);
 }
 #endif