diff options
| author | Joseph Da Silva <joseph.f.dasilva3@gmail.com> | 2019-03-20 15:52:46 +0000 |
|---|---|---|
| committer | Joseph Da Silva <joseph.f.dasilva3@gmail.com> | 2019-03-20 15:52:46 +0000 |
| commit | 7a6a1baa2b891c16edd7fbb86be3179f92adaee2 (patch) | |
| tree | 4c6dfc999dcc4ba532d4c6387f0ac52ac6019008 /src/xml/simple-node.cpp | |
| parent | GTK-3.22 dependency (diff) | |
| download | inkscape-7a6a1baa2b891c16edd7fbb86be3179f92adaee2.tar.gz inkscape-7a6a1baa2b891c16edd7fbb86be3179f92adaee2.zip | |
Fixed: circles and ellipses had wrong element names in XML editor (Issue #116)
Diffstat (limited to '')
| -rw-r--r-- | src/xml/simple-node.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/xml/simple-node.cpp b/src/xml/simple-node.cpp index 8996bd990..700eba9e8 100644 --- a/src/xml/simple-node.cpp +++ b/src/xml/simple-node.cpp @@ -149,6 +149,15 @@ public: } }; +class DebugSetElementName : public DebugXMLNode { +public: + DebugSetElementName(Node const& node, GQuark name) + : DebugXMLNode(node, "set-name") + { + _addProperty("name", g_quark_to_string(name)); + } +}; + } using Util::ptr_shared; @@ -399,6 +408,21 @@ SimpleNode::setAttribute(gchar const *name, gchar const *value, bool const /*is_ g_free( cleaned_value ); } +void SimpleNode::setCodeUnsafe(int code) { + GQuark old_code = static_cast<GQuark>(_name); + GQuark new_code = static_cast<GQuark>(code); + + Debug::EventTracker<> tracker; + tracker.set<DebugSetElementName>(*this, new_code); + + _name = new_code; + + if (new_code != old_code) { + _document->logger()->notifyElementNameChanged(*this, old_code, new_code); + _observers.notifyElementNameChanged(*this, old_code, new_code); + } +} + void SimpleNode::addChild(Node *generic_child, Node *generic_ref) { g_assert(generic_child); g_assert(generic_child->document() == _document); |
