summaryrefslogtreecommitdiff
path: root/tikzit/src/common
diff options
context:
space:
mode:
authorrandomguy3 <randomguy3@7c02a99a-9b00-45e3-bf44-6f3dd7fddb64>2012-02-09 18:36:29 +0000
committerrandomguy3 <randomguy3@7c02a99a-9b00-45e3-bf44-6f3dd7fddb64>2012-02-09 18:36:29 +0000
commita206d69a858335b5c24831e177672c0f4386e89e (patch)
tree712a03a4fb3e4daca189b2186b80c45f686a0985 /tikzit/src/common
parent7c0a978357c7d406f5ef2cb4c272fe4572450aa2 (diff)
Work around an apparent bug in gcc and/or GNUstep to do with synthesizing properties
git-svn-id: https://tikzit.svn.sourceforge.net/svnroot/tikzit/trunk@415 7c02a99a-9b00-45e3-bf44-6f3dd7fddb64
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;