[gtk+] stack-allocate GtkCssLookup instances
- From: Timm Bäder <baedert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] stack-allocate GtkCssLookup instances
- Date: Tue, 2 Jan 2018 17:52:51 +0000 (UTC)
commit 355b883f32314fb6d3bff3d9dccbae264c542df5
Author: Timm Bäder <mail baedert org>
Date: Tue Jan 2 08:36:10 2018 +0100
stack-allocate GtkCssLookup instances
gtk/gtkcsslookup.c | 16 +++++-----------
gtk/gtkcsslookupprivate.h | 5 +++--
gtk/gtkcssstaticstyle.c | 10 +++++-----
3 files changed, 13 insertions(+), 18 deletions(-)
---
diff --git a/gtk/gtkcsslookup.c b/gtk/gtkcsslookup.c
index 3a4c02d..cc1df1d 100644
--- a/gtk/gtkcsslookup.c
+++ b/gtk/gtkcsslookup.c
@@ -24,12 +24,11 @@
#include "gtkprivatetypebuiltins.h"
#include "gtkprivate.h"
-GtkCssLookup *
-_gtk_css_lookup_new (const GtkBitmask *relevant)
+void
+_gtk_css_lookup_init (GtkCssLookup *lookup,
+ const GtkBitmask *relevant)
{
- GtkCssLookup *lookup;
-
- lookup = g_malloc0 (sizeof (GtkCssLookup));
+ memset (lookup, 0, sizeof (*lookup));
if (relevant)
{
@@ -40,17 +39,12 @@ _gtk_css_lookup_new (const GtkBitmask *relevant)
lookup->missing = _gtk_bitmask_new ();
lookup->missing = _gtk_bitmask_invert_range (lookup->missing, 0, GTK_CSS_PROPERTY_N_PROPERTIES);
}
-
- return lookup;
}
void
-_gtk_css_lookup_free (GtkCssLookup *lookup)
+_gtk_css_lookup_destroy (GtkCssLookup *lookup)
{
- gtk_internal_return_if_fail (lookup != NULL);
-
_gtk_bitmask_free (lookup->missing);
- g_free (lookup);
}
gboolean
diff --git a/gtk/gtkcsslookupprivate.h b/gtk/gtkcsslookupprivate.h
index 8aaa913..ca4094d 100644
--- a/gtk/gtkcsslookupprivate.h
+++ b/gtk/gtkcsslookupprivate.h
@@ -38,8 +38,9 @@ struct _GtkCssLookup {
GtkCssLookupValue values[GTK_CSS_PROPERTY_N_PROPERTIES];
};
-GtkCssLookup * _gtk_css_lookup_new (const GtkBitmask *relevant);
-void _gtk_css_lookup_free (GtkCssLookup *lookup);
+void _gtk_css_lookup_init (GtkCssLookup *lookup,
+ const GtkBitmask *relevant);
+void _gtk_css_lookup_destroy (GtkCssLookup *lookup);
static inline const GtkBitmask *_gtk_css_lookup_get_missing (const GtkCssLookup *lookup);
gboolean _gtk_css_lookup_is_missing (const GtkCssLookup *lookup,
diff --git a/gtk/gtkcssstaticstyle.c b/gtk/gtkcssstaticstyle.c
index 1152399..a87b409 100644
--- a/gtk/gtkcssstaticstyle.c
+++ b/gtk/gtkcssstaticstyle.c
@@ -172,27 +172,27 @@ gtk_css_static_style_new_compute (GtkStyleProvider *provider,
GtkCssStyle *parent)
{
GtkCssStaticStyle *result;
- GtkCssLookup *lookup;
+ GtkCssLookup lookup;
GtkCssChange change = GTK_CSS_CHANGE_ANY_SELF | GTK_CSS_CHANGE_ANY_SIBLING | GTK_CSS_CHANGE_ANY_PARENT;
- lookup = _gtk_css_lookup_new (NULL);
+ _gtk_css_lookup_init (&lookup, NULL);
if (matcher)
gtk_style_provider_lookup (provider,
matcher,
- lookup,
+ &lookup,
&change);
result = g_object_new (GTK_TYPE_CSS_STATIC_STYLE, NULL);
result->change = change;
- _gtk_css_lookup_resolve (lookup,
+ _gtk_css_lookup_resolve (&lookup,
provider,
result,
parent);
- _gtk_css_lookup_free (lookup);
+ _gtk_css_lookup_destroy (&lookup);
return GTK_CSS_STYLE (result);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]