diff options
author | dscho <dscho> | 2002-04-25 14:19:04 +0000 |
---|---|---|
committer | dscho <dscho> | 2002-04-25 14:19:04 +0000 |
commit | 11deabd325f252b900754b2830cd2b600c302ca1 (patch) | |
tree | 0cdaeb1212bf5da270794b14b279eafcb90a99a8 | |
parent | efa12fa978ca10c329e4cb14fefa597a6d93f2e8 (diff) | |
download | libtdevnc-11deabd325f252b900754b2830cd2b600c302ca1.tar.gz libtdevnc-11deabd325f252b900754b2830cd2b600c302ca1.zip |
x11vnc memleaks patched
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | x11vnc.c | 13 |
2 files changed, 13 insertions, 2 deletions
@@ -68,7 +68,7 @@ OSXvnc-server: mac.o libvncserver.a x11vnc.o: x11vnc.c 1instance.c x11vnc: x11vnc.o libvncserver.a - $(CC) -o x11vnc x11vnc.o $(LIBS) $(XLIBS) + $(CC) -g -o x11vnc x11vnc.o $(LIBS) $(XLIBS) x11vnc_static: x11vnc.o libvncserver.a $(CC) -o x11vnc_static x11vnc.o libvncserver.a /usr/lib/libz.a /usr/lib/libjpeg.a $(XLIBS) @@ -73,11 +73,13 @@ void init_keycodes() XFree ((char *) keymap); } +static Bool shutDownServer=0; + /* the hooks */ void clientGone(rfbClientPtr cl) { - exit(0); + shutDownServer=-1; } enum rfbNewClientAction newClient(rfbClientPtr cl) @@ -502,6 +504,15 @@ int main(int argc,char** argv) #endif rfbProcessEvents(screen,-1); + if(shutDownServer) { + free(backupImage); + rfbScreenCleanup(screen); + XFree(dpy); +#ifndef NO_SHM + XShmDetach(dpy,framebufferImage); +#endif + exit(0); + } if(dontTile) { if(gotInput) { |