summaryrefslogtreecommitdiff
path: root/gtk/gtkcellrendererpixbuf.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2018-03-16 04:50:26 +0100
committerBenjamin Otte <otte@redhat.com>2018-03-16 06:04:45 +0100
commit12409ee0754f39bcd28ace210314501966afdb91 (patch)
treec73f22dc300c3790ef0979c764b92707524787c1 /gtk/gtkcellrendererpixbuf.c
parentcbe40f5f46d8358ec944b00037d73482d2d6b4a2 (diff)
downloadgtk+-12409ee0754f39bcd28ace210314501966afdb91.tar.gz
cellrendererpixbuf: Store the texture in the iconhelper paintable
That's kinda weird but allows us to delete the texture case from GtkIconHelper and GTK_IMAGE_TEXTURE from the GtkImageType enum. And it doesn't cause any other problems because the cell renderer can't deal with paintables - otherwise it would mirror GtkImage and have a "paintable" property instead.
Diffstat (limited to 'gtk/gtkcellrendererpixbuf.c')
-rw-r--r--gtk/gtkcellrendererpixbuf.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/gtk/gtkcellrendererpixbuf.c b/gtk/gtkcellrendererpixbuf.c
index 3cca5e5555..083a7ff2d0 100644
--- a/gtk/gtkcellrendererpixbuf.c
+++ b/gtk/gtkcellrendererpixbuf.c
@@ -240,7 +240,7 @@ gtk_cell_renderer_pixbuf_get_property (GObject *object,
g_value_set_object (value, priv->pixbuf_expander_closed);
break;
case PROP_TEXTURE:
- g_value_set_object (value, gtk_image_definition_get_texture (priv->image_def));
+ g_value_set_object (value, gtk_image_definition_get_paintable (priv->image_def));
break;
case PROP_ICON_SIZE:
g_value_set_enum (value, priv->icon_size);
@@ -263,11 +263,8 @@ notify_storage_type (GtkCellRendererPixbuf *cellpixbuf,
{
switch (storage_type)
{
- case GTK_IMAGE_TEXTURE:
- g_object_notify (G_OBJECT (cellpixbuf), "texture");
- break;
case GTK_IMAGE_PAINTABLE:
- g_object_notify (G_OBJECT (cellpixbuf), "paintable");
+ g_object_notify (G_OBJECT (cellpixbuf), "texture");
break;
case GTK_IMAGE_ICON_NAME:
g_object_notify (G_OBJECT (cellpixbuf), "icon-name");
@@ -335,7 +332,7 @@ gtk_cell_renderer_pixbuf_set_property (GObject *object,
texture = gdk_texture_new_for_pixbuf (pixbuf);
else
texture = NULL;
- take_image_definition (cellpixbuf, gtk_image_definition_new_texture (texture));
+ take_image_definition (cellpixbuf, gtk_image_definition_new_paintable (GDK_PAINTABLE (texture)));
break;
case PROP_PIXBUF_EXPANDER_OPEN:
if (priv->pixbuf_expander_open)
@@ -348,7 +345,7 @@ gtk_cell_renderer_pixbuf_set_property (GObject *object,
priv->pixbuf_expander_closed = (GdkPixbuf*) g_value_dup_object (value);
break;
case PROP_TEXTURE:
- take_image_definition (cellpixbuf, gtk_image_definition_new_texture (g_value_get_object (value)));
+ take_image_definition (cellpixbuf, gtk_image_definition_new_paintable (g_value_get_object (value)));
break;
case PROP_ICON_SIZE:
gtk_cell_renderer_pixbuf_set_icon_size (cellpixbuf, g_value_get_enum (value));
@@ -530,14 +527,14 @@ gtk_cell_renderer_pixbuf_snapshot (GtkCellRenderer *cell,
{
icon_helper = gtk_icon_helper_new (gtk_style_context_get_node (context), widget);
texture = gdk_texture_new_for_pixbuf (priv->pixbuf_expander_open);
- _gtk_icon_helper_set_texture (icon_helper, texture);
+ _gtk_icon_helper_set_paintable (icon_helper, GDK_PAINTABLE (texture));
g_object_unref (texture);
}
else if (!is_expanded && priv->pixbuf_expander_closed != NULL)
{
icon_helper = gtk_icon_helper_new (gtk_style_context_get_node (context), widget);
texture = gdk_texture_new_for_pixbuf (priv->pixbuf_expander_closed);
- _gtk_icon_helper_set_texture (icon_helper, texture);
+ _gtk_icon_helper_set_paintable (icon_helper, GDK_PAINTABLE (texture));
g_object_unref (texture);
}
else