From 1227ca0189590b281116fcc808bdd8c674b2196c Mon Sep 17 00:00:00 2001 From: Markus Engel Date: Sat, 20 Apr 2013 21:16:13 +0200 Subject: Further changes to EventContexts; they work without GObject (bzr r11608.1.97) --- src/arc-context.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/arc-context.cpp') 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); -- cgit v1.2.3