From: Benjamin Otte Date: Fri, 16 Feb 2018 05:30:48 +0000 (+0100) Subject: snapshot: "Inherit" from GdkSnapshot X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~22^2~957 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d4764cc89bd99fc8f4423ba06cc155ca88c40c60;p=gtk4.git snapshot: "Inherit" from GdkSnapshot This is a neat trick to get around the circularity between GDK, GSK and GTK that we inherit with the GdkPaintable interface. GdkPaintable uses GtkSnapshot GtkSnapshot creates GskRenderNodes GskRenderNodes use GdkTextures GdkTexture will soon implement GdkPaintable This causes a loop that spans GDK, GSK and GTK and this is the easiest way to resolve it without breaking bindings (at least that's the idea). --- diff --git a/gtk/gtksnapshotprivate.h b/gtk/gtksnapshotprivate.h index f78b5ede19..370784e27d 100644 --- a/gtk/gtksnapshotprivate.h +++ b/gtk/gtksnapshotprivate.h @@ -80,7 +80,7 @@ struct _GtkSnapshotState { } data; }; -struct _GtkSnapshot { +struct _GdkSnapshot { int ref_count; gboolean record_names; GskRenderer *renderer; diff --git a/gtk/gtktypes.h b/gtk/gtktypes.h index c38a845165..b7298d00db 100644 --- a/gtk/gtktypes.h +++ b/gtk/gtktypes.h @@ -39,7 +39,7 @@ typedef struct _GtkClipboard GtkClipboard; typedef struct _GtkRequisition GtkRequisition; typedef struct _GtkSelectionData GtkSelectionData; typedef struct _GtkSettings GtkSettings; -typedef struct _GtkSnapshot GtkSnapshot; +typedef GdkSnapshot GtkSnapshot; typedef struct _GtkStyleContext GtkStyleContext; typedef struct _GtkTooltip GtkTooltip; typedef struct _GtkWidget GtkWidget;