From 5a66bad8a66941aeb2ed5f4360cbc211332f2a30 Mon Sep 17 00:00:00 2001 From: gouldtj Date: Tue, 2 May 2006 05:28:28 +0000 Subject: [PATCH] r11517@tres: ted | 2006-04-28 22:20:06 -0700 Moving the extension to be on the upper entry in defs so it is only once. Also optimizing by looking for a Quark. --- src/extension/parameter.cpp | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/extension/parameter.cpp b/src/extension/parameter.cpp index 9b6d02f17..b407db9a9 100644 --- a/src/extension/parameter.cpp +++ b/src/extension/parameter.cpp @@ -515,17 +515,7 @@ Parameter::pref_name (void) Inkscape::XML::Node * Parameter::find_child (Inkscape::XML::Node * adult) { - Inkscape::XML::Node * retval = NULL; - for (retval = adult->firstChild(); - retval != NULL; - retval = retval->next()) { - gchar const * name = retval->attribute("name"); - if (name == NULL) continue; - if (!strcmp(name, _name)) - break; - } - - return retval; + return sp_repr_lookup_child(adult, "name", _name); } Inkscape::XML::Node * @@ -533,7 +523,6 @@ Parameter::new_child (Inkscape::XML::Node * parent) { Inkscape::XML::Node * retval; retval = sp_repr_new("inkscape:extension-param"); - retval->setAttribute("extension", extension->get_id()); retval->setAttribute("name", _name); parent->appendChild(retval); @@ -546,10 +535,13 @@ Parameter::document_param_node (SPDocument * doc) Inkscape::XML::Node * defs = SP_OBJECT_REPR(SP_DOCUMENT_DEFS(doc)); Inkscape::XML::Node * params = NULL; + GQuark const name_quark = g_quark_from_string("inkscape:extension-params"); + for (Inkscape::XML::Node * child = defs->firstChild(); child != NULL; child = child->next()) { - if (!strcmp(child->name(), "inkscape:extension-param")) { + if ((GQuark)child->code() == name_quark && + !strcmp(child->attribute("extension"), extension->get_id())) { params = child; break; } @@ -557,6 +549,7 @@ Parameter::document_param_node (SPDocument * doc) if (params == NULL) { params = sp_repr_new("inkscape:extension-param"); + params->setAttribute("extension", extension->get_id()); defs->appendChild(params); } -- 2.39.5