summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThierry Thomas <thierry@FreeBSD.org>2004-04-09 21:21:12 +0000
committerThierry Thomas <thierry@FreeBSD.org>2004-04-09 21:21:12 +0000
commitc6c782e92e8078f78c5e2898d35668a792f1df24 (patch)
tree5b53385eda8770e70a64b768da6e399a17d841cd
parent- Use ${X11BASE} instead of hardcoded path (diff)
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.
Notes
Notes: svn path=/head/; revision=106614
-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;
+