From 7a6a1baa2b891c16edd7fbb86be3179f92adaee2 Mon Sep 17 00:00:00 2001 From: Joseph Da Silva Date: Wed, 20 Mar 2019 21:22:46 +0530 Subject: Fixed: circles and ellipses had wrong element names in XML editor (Issue #116) --- src/xml/simple-node.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/xml/simple-node.cpp') 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(_name); + GQuark new_code = static_cast(code); + + Debug::EventTracker<> tracker; + tracker.set(*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); -- cgit v1.2.3 From 498fe82b7a315ebc94dd7bf23cd1c1d1fb7d74d8 Mon Sep 17 00:00:00 2001 From: Joseph Da Silva Date: Wed, 20 Mar 2019 21:40:02 +0530 Subject: make GQuark => int conversion explicit --- src/xml/simple-node.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/xml/simple-node.cpp') diff --git a/src/xml/simple-node.cpp b/src/xml/simple-node.cpp index 700eba9e8..a1f0c7024 100644 --- a/src/xml/simple-node.cpp +++ b/src/xml/simple-node.cpp @@ -415,7 +415,7 @@ void SimpleNode::setCodeUnsafe(int code) { Debug::EventTracker<> tracker; tracker.set(*this, new_code); - _name = new_code; + _name = static_cast(new_code); if (new_code != old_code) { _document->logger()->notifyElementNameChanged(*this, old_code, new_code); -- cgit v1.2.3