diff options
author | randomguy3 <randomguy3@7c02a99a-9b00-45e3-bf44-6f3dd7fddb64> | 2012-02-09 18:36:29 +0000 |
---|---|---|
committer | randomguy3 <randomguy3@7c02a99a-9b00-45e3-bf44-6f3dd7fddb64> | 2012-02-09 18:36:29 +0000 |
commit | a206d69a858335b5c24831e177672c0f4386e89e (patch) | |
tree | 712a03a4fb3e4daca189b2186b80c45f686a0985 /tikzit | |
parent | 7c0a978357c7d406f5ef2cb4c272fe4572450aa2 (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')
-rw-r--r-- | tikzit/src/common/GraphChange.m | 29 |
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; |