summaryrefslogtreecommitdiff
path: root/tikzit/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'tikzit/src/common')
-rw-r--r--tikzit/src/common/GraphChange.m29
1 files changed, 27 insertions, 2 deletions
diff --git a/tikzit/src/common/GraphChange.m b/tikzit/src/common/GraphChange.m
index 02999c8..7375150 100644
--- a/tikzit/src/common/GraphChange.m
+++ b/tikzit/src/common/GraphChange.m
@@ -41,8 +41,33 @@
@synthesize affectedEdges, affectedNodes;
@synthesize edgeRef, nodeRef;
-@synthesize oldNode, nwNode;
-@synthesize oldEdge, nwEdge;
+// For some reason, gcc screws up the typing for these
+// properties when we use @synthesize, so instead we
+// define them manually.
+- (Node*) nwNode { return nwNode; }
+- (void) setNwNode:(Node*)e {
+ Node *cp = [e copy];
+ [nwNode release];
+ nwNode = cp;
+}
+- (Node*) oldNode { return oldNode; }
+- (void) setOldNode:(Node*)e {
+ Node *cp = [e copy];
+ [oldNode release];
+ oldNode = cp;
+}
+- (Edge*) nwEdge { return nwEdge; }
+- (void) setNwEdge:(Edge*)e {
+ Edge *cp = [e copy];
+ [nwEdge release];
+ nwEdge = cp;
+}
+- (Edge*) oldEdge { return oldEdge; }
+- (void) setOldEdge:(Edge*)e {
+ Edge *cp = [e copy];
+ [oldEdge release];
+ oldEdge = cp;
+}
@synthesize oldNodeTable, nwNodeTable;
@synthesize oldEdgeTable, nwEdgeTable;