aboutsummaryrefslogtreecommitdiffstats
path: root/lang
diff options
context:
space:
mode:
authorthierry <thierry@FreeBSD.org>2004-04-10 05:21:12 +0800
committerthierry <thierry@FreeBSD.org>2004-04-10 05:21:12 +0800
commita0d1362697434b4fa2106d532d9a8dc58ac25f31 (patch)
tree28a82fdfe709b2fd8435b1861154746d8363d403 /lang
parent243c2dac783a767439b308228ad79d4a128029f8 (diff)
downloadfreebsd-ports-gnome-a0d1362697434b4fa2106d532d9a8dc58ac25f31.tar.gz
freebsd-ports-gnome-a0d1362697434b4fa2106d532d9a8dc58ac25f31.tar.zst
freebsd-ports-gnome-a0d1362697434b4fa2106d532d9a8dc58ac25f31.zip
Fix an horrible bug in Gambas.
The 0.92 IDE corrupts tabstrips in forms when you save them! If you have a tabstrip with three tabs, for example, then each tab will have the same children controls as the first one! This is the reason why some people wrote that the compiler said an unexpected '"Frame1" already defined' or something similar. Approved by: pav (mentor) Obtained from: the author.
Diffstat (limited to 'lang')
-rw-r--r--lang/gambas/Makefile1
-rw-r--r--lang/gambas/files/patch-src::exec::gbx_exec_enum.c22
2 files changed, 23 insertions, 0 deletions
diff --git a/lang/gambas/Makefile b/lang/gambas/Makefile
index c604dd6f06a5..e0f72cbb6be9 100644
--- a/lang/gambas/Makefile
+++ b/lang/gambas/Makefile
@@ -6,6 +6,7 @@
PORTNAME= gambas
PORTVERSION= 0.92
+PORTREVISION= 1
CATEGORIES= lang
MASTER_SITES= http://gambas.sourceforge.net/
diff --git a/lang/gambas/files/patch-src::exec::gbx_exec_enum.c b/lang/gambas/files/patch-src::exec::gbx_exec_enum.c
new file mode 100644
index 000000000000..b0eaab26bae2
--- /dev/null
+++ b/lang/gambas/files/patch-src::exec::gbx_exec_enum.c
@@ -0,0 +1,22 @@
+--- ./src/exec/gbx_exec_enum.c.orig Fri Apr 9 21:33:05 2004
++++ ./src/exec/gbx_exec_enum.c Fri Apr 9 21:33:33 2004
+@@ -41,8 +41,8 @@
+ local = &BP[code & 0xFF];
+
+ EXEC_object(local, &class, &object, &defined);
+- EXEC_enum_data = (void *)(local[1]._void.value);
+- memset(EXEC_enum_data, 0, 8);
++ EXEC_enum_data = (void *)(&local[1]._void.ptype);
++ memset(EXEC_enum_data, 0, 12);
+
+ EXEC_special(SPEC_FIRST, class, object, 0, TRUE);
+ }
+@@ -58,7 +58,7 @@
+ local = &BP[PC[-1] & 0xFF];
+
+ EXEC_object(local, &class, &object, &defined);
+- EXEC_enum_data = (void *)(local[1]._void.value);
++ EXEC_enum_data = (void *)(&local[1]._void.ptype);
+
+ EXEC_enum_stop = FALSE;
+