summaryrefslogtreecommitdiffstats
path: root/src/arc-context.cpp
diff options
context:
space:
mode:
authorMarkus Engel <markus.engel@tum.de>2013-04-20 19:16:13 +0000
committerMarkus Engel <markus.engel@tum.de>2013-04-20 19:16:13 +0000
commit1227ca0189590b281116fcc808bdd8c674b2196c (patch)
tree9ce1978824c1baaba62865364c7e45aee7b42cd9 /src/arc-context.cpp
parentReplaced casting macros for EventContext tree; added contructors. (diff)
downloadinkscape-1227ca0189590b281116fcc808bdd8c674b2196c.tar.gz
inkscape-1227ca0189590b281116fcc808bdd8c674b2196c.zip
Further changes to EventContexts; they work without GObject
(bzr r11608.1.97)
Diffstat (limited to 'src/arc-context.cpp')
-rw-r--r--src/arc-context.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/arc-context.cpp b/src/arc-context.cpp
index 21fd41a49..31e05a6ca 100644
--- a/src/arc-context.cpp
+++ b/src/arc-context.cpp
@@ -149,6 +149,28 @@ void CArcContext::finish() {
CEventContext::finish();
}
+SPArcContext::~SPArcContext() {
+ SPEventContext *ec = SP_EVENT_CONTEXT(this);
+ SPArcContext *ac = SP_ARC_CONTEXT(this);
+
+ ec->enableGrDrag(false);
+
+ ac->sel_changed_connection.disconnect();
+ ac->sel_changed_connection.~connection();
+
+ delete ec->shape_editor;
+ ec->shape_editor = NULL;
+
+ /* fixme: This is necessary because we do not grab */
+ if (ac->item) {
+ sp_arc_finish(ac);
+ }
+
+ delete ac->_message_context;
+
+ //G_OBJECT_CLASS(sp_arc_context_parent_class)->dispose(object);
+}
+
static void sp_arc_context_dispose(GObject *object)
{
SPEventContext *ec = SP_EVENT_CONTEXT(object);