From fc31f2f8df53622d25d6b5f5cb22ce20465118ad Mon Sep 17 00:00:00 2001 From: "Johan B. C. Engelen" Date: Wed, 5 Sep 2007 18:55:34 +0000 Subject: LPE: fix undo bug for applying/removing effect (bzr r3686) --- src/live_effects/lpeobject.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/live_effects/lpeobject.cpp') diff --git a/src/live_effects/lpeobject.cpp b/src/live_effects/lpeobject.cpp index de2baa470..8c45a4d3c 100644 --- a/src/live_effects/lpeobject.cpp +++ b/src/live_effects/lpeobject.cpp @@ -105,6 +105,8 @@ livepatheffect_build(SPObject *object, SPDocument *document, Inkscape::XML::Node #ifdef LIVEPATHEFFECT_VERBOSE g_message("Build livepatheffect"); #endif + g_assert(object != NULL); + g_assert(SP_IS_OBJECT(object)); if (((SPObjectClass *) livepatheffect_parent_class)->build) (* ((SPObjectClass *) livepatheffect_parent_class)->build)(object, document, repr); @@ -115,7 +117,7 @@ livepatheffect_build(SPObject *object, SPDocument *document, Inkscape::XML::Node repr->addListener (&livepatheffect_repr_events, object); } - /* Register ourselves */ + /* Register ourselves, is this necessary? */ // sp_document_add_resource(document, "path-effect", object); } @@ -125,12 +127,15 @@ livepatheffect_build(SPObject *object, SPDocument *document, Inkscape::XML::Node static void livepatheffect_release(SPObject *object) { - LivePathEffectObject *lpeobj = LIVEPATHEFFECT(object); - #ifdef LIVEPATHEFFECT_VERBOSE g_print("Releasing livepatheffect"); #endif + LivePathEffectObject *lpeobj = LIVEPATHEFFECT(object); + + SP_OBJECT_REPR(object)->removeListenerByData(object); + + /* if (SP_OBJECT_DOCUMENT(object)) { // Unregister ourselves -- cgit v1.2.3