[Lazarus] GTK2 gboolean changed
Marco van de Voort
marcov at stack.nl
Sun Jul 3 23:17:12 CEST 2011
(related to mantis 17400)
FYI
In FPC/trunk the GTK2 gboolean type has been changed from "longbool" to a
new type "boolean32".
motivation:
There have been some problems with the GTK2 boolean type for a while.
The longbool type that was used till now had the advantage of being 32-bit
and compatible to pascal boolean (and pascal if ... then tests), but had the
disadvantage that values unequal to 0 and 1 were legal in it, and could be
passed to GTK2.
An attempt to fix this using an enum = (gfalse=0,gtrue=1) failed because it
needed too many (100+) patches. The compiler devels then implemented a new boolean
type, boolean32. This type, if I understood it right is a normal Boolean but
4 bytes wide.
I tested this today, and everything seemed to work. Lazarus only needed one
oneline change that I committed, since it is still compatible with the old
(2.4.x) situation.
Please keep an eye open the coming days for new gtk2 related problems that
could signal there is a problem.
FPC (2.5.1) can be compiled with noboolean32 to get the old situation back.
More information about the Lazarus
mailing list