From af2959566f522235e56c102b273b1e1d2554f52d Mon Sep 17 00:00:00 2001 From: Fred Kiefer Date: Wed, 16 Jul 2003 11:01:51 +0000 Subject: [PATCH] Added [XGScreenContext dealloc] to clean up RContext. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@17238 72102866-910b-0410-8b05-ffd578937521 --- Source/x11/XGServer.m | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/Source/x11/XGServer.m b/Source/x11/XGServer.m index f85f935..66d0936 100644 --- a/Source/x11/XGServer.m +++ b/Source/x11/XGServer.m @@ -254,6 +254,31 @@ _parse_display_name(NSString *name, int *dn, int *sn) return self; } +- (void) dealloc +{ + // FIXME: context.c does not include a clean up function for Rcontext, + // so we try do it here. + if (rcontext) + { + XFreeGC(rcontext->dpy, rcontext->copy_gc); + if (rcontext->drawable) + { + XDestroyWindow(rcontext->dpy, rcontext->drawable); + } + if (rcontext->pixels) + { + free(rcontext->pixels); + } + if (rcontext->colors) + { + free(rcontext->colors); + } + free(rcontext->attribs); + free(rcontext); + } + [super dealloc]; +} + - (XGDrawMechanism) drawMechanism { return drawMechanism;