Code

SPDrawAnchor should add a refcount to SPCurve!
authorjohanengelen <johanengelen@users.sourceforge.net>
Mon, 19 May 2008 19:04:45 +0000 (19:04 +0000)
committerjohanengelen <johanengelen@users.sourceforge.net>
Mon, 19 May 2008 19:04:45 +0000 (19:04 +0000)
src/draw-anchor.cpp

index b06e94a48f0eccf8429af96ae0ec9e284dd24560..32ee8ca78be02f305cb2618a818a06977d848837 100644 (file)
@@ -18,6 +18,7 @@
 #include "desktop-handles.h"
 #include "event-context.h"
 #include "display/sodipodi-ctrl.h"
+#include "display/curve.h"
 
 /**
  * Creates an anchor object and initializes it.
@@ -31,6 +32,7 @@ sp_draw_anchor_new(SPDrawContext *dc, SPCurve *curve, gboolean start, NR::Point
 
     a->dc = dc;
     a->curve = curve;
+    curve->ref();
     a->start = start;
     a->active = FALSE;
     a->dp = delta;
@@ -53,6 +55,9 @@ sp_draw_anchor_new(SPDrawContext *dc, SPCurve *curve, gboolean start, NR::Point
 SPDrawAnchor *
 sp_draw_anchor_destroy(SPDrawAnchor *anchor)
 {
+    if (anchor->curve) {
+        anchor->curve->unref();
+    }
     if (anchor->ctrl) {
         gtk_object_destroy(GTK_OBJECT(anchor->ctrl));
     }