diff options
author | Benjamin Otte <otte@redhat.com> | 2016-04-21 22:28:14 +0200 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2016-05-05 15:03:58 -0400 |
commit | 758e10ad41a300e6343f4cbc2c9da39f1373f7aa (patch) | |
tree | 9c1b66957a6e2b4e2c8bb81fec0fcd42cb9ca52e /gtk | |
parent | 5d5b7c9f7f0242d7d47549ee7d97fd1c5c22bce9 (diff) | |
download | gtk+-758e10ad41a300e6343f4cbc2c9da39f1373f7aa.tar.gz |
cssbgsizevalue: Avoid allocating new value if not needed
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/gtkcssbgsizevalue.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gtk/gtkcssbgsizevalue.c b/gtk/gtkcssbgsizevalue.c index b5da0677d0..3e25ded758 100644 --- a/gtk/gtkcssbgsizevalue.c +++ b/gtk/gtkcssbgsizevalue.c @@ -60,6 +60,16 @@ gtk_css_value_bg_size_compute (GtkCssValue *value, if (value->y) y = _gtk_css_value_compute (value->y, property_id, provider, style, parent_style); + if (x == value->x && y == value->y) + { + if (x) + _gtk_css_value_unref (x); + if (y) + _gtk_css_value_unref (y); + + return _gtk_css_value_ref (value); + } + return _gtk_css_bg_size_value_new (value->x ? x : NULL, value->y ? y : NULL); } |