[gtk+] iconhelper: Get rid of _gtk_icon_helper_set_window()
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] iconhelper: Get rid of _gtk_icon_helper_set_window()
- Date: Wed, 9 Dec 2015 12:47:27 +0000 (UTC)
commit e95e2d5048e59cb0615943400d738534a24aa958
Author: Benjamin Otte <otte redhat com>
Date: Tue Dec 8 15:52:35 2015 +0100
iconhelper: Get rid of _gtk_icon_helper_set_window()
Instead use the window of the owner widget.
gtk/gtkcellrendererpixbuf.c | 2 --
gtk/gtkentry.c | 6 ------
gtk/gtkiconhelper.c | 43 +++++++------------------------------------
gtk/gtkiconhelperprivate.h | 2 --
gtk/gtkimage.c | 18 ------------------
gtk/gtkspinbutton.c | 1 -
6 files changed, 7 insertions(+), 65 deletions(-)
---
diff --git a/gtk/gtkcellrendererpixbuf.c b/gtk/gtkcellrendererpixbuf.c
index 397e7da..2f781cb 100644
--- a/gtk/gtkcellrendererpixbuf.c
+++ b/gtk/gtkcellrendererpixbuf.c
@@ -593,8 +593,6 @@ gtk_cell_renderer_pixbuf_render (GtkCellRenderer *cell,
if (icon_helper == NULL)
icon_helper = create_icon_helper (cellpixbuf, widget);
- _gtk_icon_helper_set_window (icon_helper,
- gtk_widget_get_window (widget));
_gtk_icon_helper_draw (icon_helper,
context, cr,
pix_rect.x, pix_rect.y);
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index 139bd11..83e738b 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -3134,10 +3134,6 @@ realize_icon_info (GtkWidget *widget,
gtk_widget_register_window (widget, icon_info->window);
gtk_widget_queue_resize (widget);
-
- _gtk_icon_helper_set_window (icon_info->icon_helper,
- gtk_widget_get_window (widget));
-
}
static void
@@ -3439,8 +3435,6 @@ gtk_entry_unrealize (GtkWidget *widget)
{
if ((icon_info = priv->icons[i]) != NULL)
{
- _gtk_icon_helper_set_window (icon_info->icon_helper, NULL);
-
if (icon_info->window != NULL)
{
gtk_widget_unregister_window (widget, icon_info->window);
diff --git a/gtk/gtkiconhelper.c b/gtk/gtkiconhelper.c
index 9cae307..ad79e2d 100644
--- a/gtk/gtkiconhelper.c
+++ b/gtk/gtkiconhelper.c
@@ -67,7 +67,6 @@ gtk_icon_helper_take_definition (GtkIconHelper *self,
void
_gtk_icon_helper_clear (GtkIconHelper *self)
{
- g_clear_object (&self->priv->window);
g_clear_pointer (&self->priv->rendered_surface, cairo_surface_destroy);
gtk_image_definition_unref (self->priv->def);
@@ -87,17 +86,6 @@ _gtk_icon_helper_invalidate (GtkIconHelper *self)
}
}
-void
- _gtk_icon_helper_set_window (GtkIconHelper *self,
- GdkWindow *window)
-{
- if (window)
- g_object_ref (window);
- g_clear_object (&self->priv->window);
- self->priv->window = window;
-
-}
-
static void
gtk_icon_helper_finalize (GObject *object)
{
@@ -223,30 +211,13 @@ get_surface_size (GtkIconHelper *self,
cairo_destroy (cr);
}
-static gint
-get_scale_factor (GtkIconHelper *self,
- GtkStyleContext *context)
-{
- GdkScreen *screen;
-
- if (self->priv->window)
- return gdk_window_get_scale_factor (self->priv->window);
-
- screen = gtk_style_context_get_screen (context);
-
- /* else fall back to something that is more likely to be right than
- * just returning 1:
- */
- return gdk_screen_get_monitor_scale_factor (screen, 0);
-}
-
static gboolean
check_invalidate_surface (GtkIconHelper *self,
GtkStyleContext *context)
{
int scale;
- scale = get_scale_factor (self, context);
+ scale = gtk_widget_get_scale_factor (self->priv->owner);
if ((self->priv->rendered_surface != NULL) &&
(self->priv->last_surface_scale == scale))
@@ -341,7 +312,7 @@ ensure_surface_from_pixbuf (GtkIconHelper *self,
else
pixbuf = g_object_ref (orig_pixbuf);
- surface = gdk_cairo_surface_create_from_pixbuf (pixbuf, scale, self->priv->window);
+ surface = gdk_cairo_surface_create_from_pixbuf (pixbuf, scale, gtk_widget_get_window (self->priv->owner));
icon_effect = _gtk_css_icon_effect_value_get (gtk_css_style_get_value (style,
GTK_CSS_PROPERTY_ICON_EFFECT));
gtk_css_icon_effect_apply (icon_effect, surface);
g_object_unref (pixbuf);
@@ -366,7 +337,7 @@ ensure_surface_for_icon_set (GtkIconHelper *self,
scale);
surface = gdk_cairo_surface_create_from_pixbuf (pixbuf,
scale,
- self->priv->window);
+ gtk_widget_get_window (self->priv->owner));
g_object_unref (pixbuf);
return surface;
@@ -442,13 +413,13 @@ ensure_surface_for_gicon (GtkIconHelper *self,
{
GtkCssIconEffect icon_effect;
- surface = gdk_cairo_surface_create_from_pixbuf (destination, scale, self->priv->window);
+ surface = gdk_cairo_surface_create_from_pixbuf (destination, scale, gtk_widget_get_window
(self->priv->owner));
icon_effect = _gtk_css_icon_effect_value_get (gtk_css_style_get_value (style,
GTK_CSS_PROPERTY_ICON_EFFECT));
gtk_css_icon_effect_apply (icon_effect, surface);
}
else
{
- surface = gdk_cairo_surface_create_from_pixbuf (destination, scale, self->priv->window);
+ surface = gdk_cairo_surface_create_from_pixbuf (destination, scale, gtk_widget_get_window
(self->priv->owner));
}
g_object_unref (destination);
@@ -546,7 +517,7 @@ gtk_icon_helper_ensure_surface (GtkIconHelper *self,
if (!check_invalidate_surface (self, context))
return;
- scale = get_scale_factor (self, context);
+ scale = gtk_widget_get_scale_factor (self->priv->owner);
self->priv->rendered_surface = gtk_icon_helper_load_surface (self, context, scale);
}
@@ -575,7 +546,7 @@ _gtk_icon_helper_get_size (GtkIconHelper *self,
case GTK_IMAGE_PIXBUF:
get_pixbuf_size (self,
- get_scale_factor (self, context),
+ gtk_widget_get_scale_factor (self->priv->owner),
gtk_image_definition_get_pixbuf (self->priv->def),
gtk_image_definition_get_scale (self->priv->def),
&width, &height, &scale);
diff --git a/gtk/gtkiconhelperprivate.h b/gtk/gtkiconhelperprivate.h
index a7bbcae..df4fb6a 100644
--- a/gtk/gtkiconhelperprivate.h
+++ b/gtk/gtkiconhelperprivate.h
@@ -71,8 +71,6 @@ GtkIconHelper *_gtk_icon_helper_new (GtkWidget *owner);
void _gtk_icon_helper_clear (GtkIconHelper *self);
void _gtk_icon_helper_invalidate (GtkIconHelper *self);
-void _gtk_icon_helper_set_window (GtkIconHelper *self,
- GdkWindow *window);
gboolean _gtk_icon_helper_get_is_empty (GtkIconHelper *self);
diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c
index a24d0df..48c00dc 100644
--- a/gtk/gtkimage.c
+++ b/gtk/gtkimage.c
@@ -157,7 +157,6 @@ static gint gtk_image_draw (GtkWidget *widget,
static void gtk_image_size_allocate (GtkWidget *widget,
GtkAllocation*allocation);
static void gtk_image_unmap (GtkWidget *widget);
-static void gtk_image_realize (GtkWidget *widget);
static void gtk_image_unrealize (GtkWidget *widget);
static void gtk_image_get_preferred_width (GtkWidget *widget,
gint *minimum,
@@ -233,7 +232,6 @@ gtk_image_class_init (GtkImageClass *class)
widget_class->get_preferred_height_and_baseline_for_width =
gtk_image_get_preferred_height_and_baseline_for_width;
widget_class->size_allocate = gtk_image_size_allocate;
widget_class->unmap = gtk_image_unmap;
- widget_class->realize = gtk_image_realize;
widget_class->unrealize = gtk_image_unrealize;
widget_class->style_updated = gtk_image_style_updated;
widget_class->screen_changed = gtk_image_screen_changed;
@@ -1558,24 +1556,8 @@ gtk_image_unmap (GtkWidget *widget)
}
static void
-gtk_image_realize (GtkWidget *widget)
-{
- GtkImage *image = GTK_IMAGE (widget);
- GtkImagePrivate *priv = image->priv;
-
- GTK_WIDGET_CLASS (gtk_image_parent_class)->realize (widget);
-
- _gtk_icon_helper_set_window (priv->icon_helper,
- gtk_widget_get_window (widget));
-}
-
-static void
gtk_image_unrealize (GtkWidget *widget)
{
- GtkImage *image = GTK_IMAGE (widget);
- GtkImagePrivate *priv = image->priv;
-
- _gtk_icon_helper_set_window (priv->icon_helper, NULL);
gtk_image_reset_anim_iter (GTK_IMAGE (widget));
GTK_WIDGET_CLASS (gtk_image_parent_class)->unrealize (widget);
diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c
index 0bf12c6..7b2f298 100644
--- a/gtk/gtkspinbutton.c
+++ b/gtk/gtkspinbutton.c
@@ -1100,7 +1100,6 @@ gtk_spin_button_panel_draw (GtkSpinButton *spin_button,
width = gdk_window_get_width (panel);
icon_helper = _gtk_icon_helper_new (widget);
- _gtk_icon_helper_set_window (icon_helper, panel);
_gtk_icon_helper_set_use_fallback (icon_helper, TRUE);
if (panel == priv->down_panel)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]