[gtk+/parser] styleproperties: Speed up style_property_lookup()
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/parser] styleproperties: Speed up style_property_lookup()
- Date: Mon, 16 May 2011 21:54:02 +0000 (UTC)
commit 1010ab3211208f57efe43ea548d6b7fb9ba66dff
Author: Benjamin Otte <otte redhat com>
Date: Mon May 16 22:35:21 2011 +0200
styleproperties: Speed up style_property_lookup()
Use the already existing bsearch version instead of iterating the array
manually.
gtk/gtkstyleproperties.c | 23 ++++++++---------------
1 files changed, 8 insertions(+), 15 deletions(-)
---
diff --git a/gtk/gtkstyleproperties.c b/gtk/gtkstyleproperties.c
index 2bb8f5a..b1adea1 100644
--- a/gtk/gtkstyleproperties.c
+++ b/gtk/gtkstyleproperties.c
@@ -490,7 +490,6 @@ gtk_style_properties_lookup_property (const gchar *property_name,
GtkStylePropertiesClass *klass;
gboolean found = FALSE;
GQuark quark;
- gint i;
g_return_val_if_fail (property_name != NULL, FALSE);
@@ -503,23 +502,17 @@ gtk_style_properties_lookup_property (const gchar *property_name,
return FALSE;
}
- for (i = 0; i < properties->len; i++)
- {
- node = &g_array_index (properties, PropertyNode, i);
+ node = property_node_lookup (quark);
- if (node->property_quark == quark)
- {
- if (pspec)
- *pspec = node->pspec;
+ if (node)
+ {
+ if (pspec)
+ *pspec = node->pspec;
- if (parse_func)
- *parse_func = node->parse_func;
+ if (parse_func)
+ *parse_func = node->parse_func;
- found = TRUE;
- break;
- }
- else if (node->property_quark > quark)
- break;
+ found = TRUE;
}
g_type_class_unref (klass);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]