summaryrefslogtreecommitdiffstats
path: root/src/xml/simple-node.cpp
diff options
context:
space:
mode:
authorJoseph Da Silva <joseph.f.dasilva3@gmail.com>2019-03-20 15:52:46 +0000
committerJoseph Da Silva <joseph.f.dasilva3@gmail.com>2019-03-20 15:52:46 +0000
commit7a6a1baa2b891c16edd7fbb86be3179f92adaee2 (patch)
tree4c6dfc999dcc4ba532d4c6387f0ac52ac6019008 /src/xml/simple-node.cpp
parentGTK-3.22 dependency (diff)
downloadinkscape-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.cpp24
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);