From a206d69a858335b5c24831e177672c0f4386e89e Mon Sep 17 00:00:00 2001 From: randomguy3 Date: Thu, 9 Feb 2012 18:36:29 +0000 Subject: 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 --- tikzit/src/common/GraphChange.m | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) (limited to 'tikzit/src/common') 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; -- cgit v1.2.3