summaryrefslogtreecommitdiffstats
path: root/src/draw-anchor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/draw-anchor.cpp')
-rw-r--r--src/draw-anchor.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/draw-anchor.cpp b/src/draw-anchor.cpp
index b06e94a48..32ee8ca78 100644
--- a/src/draw-anchor.cpp
+++ b/src/draw-anchor.cpp
@@ -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));
}