diff options
| author | Ted Gould <ted@gould.cx> | 2006-05-02 05:28:28 +0000 |
|---|---|---|
| committer | gouldtj <gouldtj@users.sourceforge.net> | 2006-05-02 05:28:28 +0000 |
| commit | 2745dd065553abb1e676823991ba2be0ce25579b (patch) | |
| tree | b3cabed6936ca285b9d020f4c1fb5d002e58b02b /src/extension/parameter.cpp | |
| parent | r11516@tres: ted | 2006-04-26 21:30:18 -0700 (diff) | |
| download | inkscape-2745dd065553abb1e676823991ba2be0ce25579b.tar.gz inkscape-2745dd065553abb1e676823991ba2be0ce25579b.zip | |
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.
(bzr r687)
Diffstat (limited to 'src/extension/parameter.cpp')
| -rw-r--r-- | src/extension/parameter.cpp | 19 |
1 files 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); } |
