window: Unrealize renderer before children
Unrealize the GSK renderer before destroying children. This makes the renderer drop any texture caches that it might have, so that we don't needlessly download them when releasing the widget-side holder objects. As a fortunate side effect, this fixes crashes on exit with GtkGLArea-containing windows under Wayland.
This commit is contained in:
@@ -5687,6 +5687,8 @@ gtk_window_unrealize (GtkWidget *widget)
|
||||
info->last.flags = 0;
|
||||
}
|
||||
|
||||
gsk_renderer_unrealize (priv->renderer);
|
||||
|
||||
if (priv->popup_menu)
|
||||
{
|
||||
gtk_widget_destroy (priv->popup_menu);
|
||||
@@ -5700,7 +5702,6 @@ gtk_window_unrealize (GtkWidget *widget)
|
||||
(GtkCallback) gtk_widget_unrealize,
|
||||
NULL);
|
||||
|
||||
gsk_renderer_unrealize (priv->renderer);
|
||||
g_clear_object (&priv->renderer);
|
||||
|
||||
surface = priv->surface;
|
||||
|
||||
Reference in New Issue
Block a user