summaryrefslogtreecommitdiffstats
path: root/src/rect-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/rect-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/rect-context.cpp')
-rw-r--r--src/rect-context.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/rect-context.cpp b/src/rect-context.cpp
index e0c0af2c9..2a1dfcd55 100644
--- a/src/rect-context.cpp
+++ b/src/rect-context.cpp
@@ -155,6 +155,31 @@ void CRectContext::finish() {
CEventContext::finish();
}
+
+SPRectContext::~SPRectContext() {
+ SPRectContext *rc = SP_RECT_CONTEXT(this);
+ SPEventContext *ec = SP_EVENT_CONTEXT(this);
+
+ ec->enableGrDrag(false);
+
+ rc->sel_changed_connection.disconnect();
+ rc->sel_changed_connection.~connection();
+
+ delete ec->shape_editor;
+ ec->shape_editor = NULL;
+
+ /* fixme: This is necessary because we do not grab */
+ if (rc->item) {
+ sp_rect_finish(rc);
+ }
+
+ if (rc->_message_context) {
+ delete rc->_message_context;
+ }
+
+ //G_OBJECT_CLASS(sp_rect_context_parent_class)->dispose(object);
+}
+
static void sp_rect_context_dispose(GObject *object)
{
SPRectContext *rc = SP_RECT_CONTEXT(object);