aboutsummaryrefslogtreecommitdiffstats
path: root/editors/madedit
diff options
context:
space:
mode:
authordelphij <delphij@FreeBSD.org>2009-02-13 09:51:56 +0800
committerdelphij <delphij@FreeBSD.org>2009-02-13 09:51:56 +0800
commitddd13b3a849c3b235afc783da29029e1a4463035 (patch)
treef6526810cc2c800cc0925f8c78ee19a4794c4aa8 /editors/madedit
parent1ca73bade818490740c3fc281f137ba41deb77fd (diff)
downloadfreebsd-ports-gnome-ddd13b3a849c3b235afc783da29029e1a4463035.tar.gz
freebsd-ports-gnome-ddd13b3a849c3b235afc783da29029e1a4463035.tar.zst
freebsd-ports-gnome-ddd13b3a849c3b235afc783da29029e1a4463035.zip
For some reason the Wx ClassInfo destructor would end up with a loop
in the RTTI chain, which in turn cause an infinite loop. Add a workaround for the situation by calling _Exit() in place of exit() which will not invoke atexit() callbacks. Reported by: buganini gmail com
Diffstat (limited to 'editors/madedit')
-rw-r--r--editors/madedit/Makefile2
-rw-r--r--editors/madedit/files/patch-src__MadEditFrame.cpp11
2 files changed, 12 insertions, 1 deletions
diff --git a/editors/madedit/Makefile b/editors/madedit/Makefile
index e0a28ab87ab7..10a7f6f85088 100644
--- a/editors/madedit/Makefile
+++ b/editors/madedit/Makefile
@@ -7,7 +7,7 @@
PORTNAME= madedit
PORTVERSION= 0.2.8
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= editors
MASTER_SITES= SF
diff --git a/editors/madedit/files/patch-src__MadEditFrame.cpp b/editors/madedit/files/patch-src__MadEditFrame.cpp
new file mode 100644
index 000000000000..93948d87f5aa
--- /dev/null
+++ b/editors/madedit/files/patch-src__MadEditFrame.cpp
@@ -0,0 +1,11 @@
+--- ./src/MadEditFrame.cpp.orig 2007-10-08 02:37:26.000000000 -0700
++++ ./src/MadEditFrame.cpp 2009-02-12 17:39:21.810385103 -0800
+@@ -2158,7 +2158,7 @@
+ #ifndef __WXMSW__
+ // it will crash randomly under linux.
+ // so we must call exit() to quit the app.
+- exit(0);
++ _Exit(0);
+ #else
+ extern HANDLE g_Mutex;
+ if(g_Mutex)