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/select-context.cpp | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'src/select-context.cpp') diff --git a/src/select-context.cpp b/src/select-context.cpp index 604b4c7cc..085ac1532 100644 --- a/src/select-context.cpp +++ b/src/select-context.cpp @@ -155,6 +155,42 @@ sp_select_context_init(SPSelectContext *sc) new (sc) SPSelectContext(); } +SPSelectContext::~SPSelectContext() { + SPSelectContext *sc = SP_SELECT_CONTEXT(this); + SPEventContext * ec = SP_EVENT_CONTEXT (this); + + ec->enableGrDrag(false); + + if (sc->grabbed) { + sp_canvas_item_ungrab(sc->grabbed, GDK_CURRENT_TIME); + sc->grabbed = NULL; + } + + delete sc->_seltrans; + sc->_seltrans = NULL; + delete sc->_describer; + sc->_describer = NULL; + + if (CursorSelectDragging) { +#if GTK_CHECK_VERSION(3,0,0) + g_object_unref(CursorSelectDragging); +#else + gdk_cursor_unref (CursorSelectDragging); +#endif + CursorSelectDragging = NULL; + } + if (CursorSelectMouseover) { +#if GTK_CHECK_VERSION(3,0,0) + g_object_unref(CursorSelectMouseover); +#else + gdk_cursor_unref (CursorSelectMouseover); +#endif + CursorSelectMouseover = NULL; + } + + //G_OBJECT_CLASS(sp_select_context_parent_class)->dispose(object); +} + static void sp_select_context_dispose(GObject *object) { -- cgit v1.2.3