[gtk+] GtkTooltip: Avoid extra work
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] GtkTooltip: Avoid extra work
- Date: Thu, 20 Feb 2014 23:32:11 +0000 (UTC)
commit 55b0019589e73e0c2bd863b596f7252de561ecfc
Author: Matthias Clasen <mclasen redhat com>
Date: Thu Feb 20 18:31:10 2014 -0500
GtkTooltip: Avoid extra work
When we are hiding the label or icon anyway, no need to change
it right before, causing reallocation overhead.
gtk/gtktooltip.c | 70 ++++++++++++++++++++++++++++++++++--------------------
1 files changed, 44 insertions(+), 26 deletions(-)
---
diff --git a/gtk/gtktooltip.c b/gtk/gtktooltip.c
index e2bb4cc..919d6ca 100644
--- a/gtk/gtktooltip.c
+++ b/gtk/gtktooltip.c
@@ -291,12 +291,15 @@ gtk_tooltip_set_markup (GtkTooltip *tooltip,
{
g_return_if_fail (GTK_IS_TOOLTIP (tooltip));
- gtk_label_set_markup (GTK_LABEL (tooltip->label), markup);
-
if (markup)
- gtk_widget_show (tooltip->label);
+ {
+ gtk_label_set_markup (GTK_LABEL (tooltip->label), markup);
+ gtk_widget_show (tooltip->label);
+ }
else
- gtk_widget_hide (tooltip->label);
+ {
+ gtk_widget_hide (tooltip->label);
+ }
}
/**
@@ -315,12 +318,15 @@ gtk_tooltip_set_text (GtkTooltip *tooltip,
{
g_return_if_fail (GTK_IS_TOOLTIP (tooltip));
- gtk_label_set_text (GTK_LABEL (tooltip->label), text);
-
if (text)
- gtk_widget_show (tooltip->label);
+ {
+ gtk_label_set_text (GTK_LABEL (tooltip->label), text);
+ gtk_widget_show (tooltip->label);
+ }
else
- gtk_widget_hide (tooltip->label);
+ {
+ gtk_widget_hide (tooltip->label);
+ }
}
/**
@@ -341,12 +347,15 @@ gtk_tooltip_set_icon (GtkTooltip *tooltip,
if (pixbuf)
g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
- gtk_image_set_from_pixbuf (GTK_IMAGE (tooltip->image), pixbuf);
-
if (pixbuf)
- gtk_widget_show (tooltip->image);
+ {
+ gtk_image_set_from_pixbuf (GTK_IMAGE (tooltip->image), pixbuf);
+ gtk_widget_show (tooltip->image);
+ }
else
- gtk_widget_hide (tooltip->image);
+ {
+ gtk_widget_hide (tooltip->image);
+ }
}
/**
@@ -370,14 +379,17 @@ gtk_tooltip_set_icon_from_stock (GtkTooltip *tooltip,
{
g_return_if_fail (GTK_IS_TOOLTIP (tooltip));
- G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
- gtk_image_set_from_stock (GTK_IMAGE (tooltip->image), stock_id, size);
- G_GNUC_END_IGNORE_DEPRECATIONS;
-
if (stock_id)
- gtk_widget_show (tooltip->image);
+ {
+ G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
+ gtk_image_set_from_stock (GTK_IMAGE (tooltip->image), stock_id, size);
+ G_GNUC_END_IGNORE_DEPRECATIONS;
+ gtk_widget_show (tooltip->image);
+ }
else
- gtk_widget_hide (tooltip->image);
+ {
+ gtk_widget_hide (tooltip->image);
+ }
}
/**
@@ -399,12 +411,15 @@ gtk_tooltip_set_icon_from_icon_name (GtkTooltip *tooltip,
{
g_return_if_fail (GTK_IS_TOOLTIP (tooltip));
- gtk_image_set_from_icon_name (GTK_IMAGE (tooltip->image), icon_name, size);
-
if (icon_name)
- gtk_widget_show (tooltip->image);
+ {
+ gtk_image_set_from_icon_name (GTK_IMAGE (tooltip->image), icon_name, size);
+ gtk_widget_show (tooltip->image);
+ }
else
- gtk_widget_hide (tooltip->image);
+ {
+ gtk_widget_hide (tooltip->image);
+ }
}
/**
@@ -426,12 +441,15 @@ gtk_tooltip_set_icon_from_gicon (GtkTooltip *tooltip,
{
g_return_if_fail (GTK_IS_TOOLTIP (tooltip));
- gtk_image_set_from_gicon (GTK_IMAGE (tooltip->image), gicon, size);
-
if (gicon)
- gtk_widget_show (tooltip->image);
+ {
+ gtk_image_set_from_gicon (GTK_IMAGE (tooltip->image), gicon, size);
+ gtk_widget_show (tooltip->image);
+ }
else
- gtk_widget_hide (tooltip->image);
+ {
+ gtk_widget_hide (tooltip->image);
+ }
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]