diff options
author | Chun-wei Fan <fanchunwei@src.gnome.org> | 2017-10-03 14:29:00 +0800 |
---|---|---|
committer | Chun-wei Fan <fanchunwei@src.gnome.org> | 2018-03-21 11:01:00 +0800 |
commit | 019bf81f0694a90be8e0cfece26a4d1e63389dd4 (patch) | |
tree | 0fb67565a08a4b4b01466e1bb1a445f2d669f277 /tests/warn/invalid-element-type.h | |
parent | 35506b60b4383e53836fc24de7f5401c0502eb3d (diff) | |
download | gobject-introspection-win64.fixes.master.tar.gz |
girepository: Properly acquire and check pointer valueswin64.fixes.master
On Windows (Visual Studio at least), unsigned longs are always 4 bytes,
on both 32-bit and x64 Windows, so we cannot use unsigned longs to deal
with pointers on 64-bit builds, as pointers are 8 bytes on 64-bit
Windows, which may well render the pointer (which we acquired from
libffi) invalid.
This will fix crashes in PyGObject which are manifested when launching
the cairo-demo example sript (intermittent) and when clicking on
"Interactive Dialog" button in the Dialog demo in the PyGObject GTK+
Code demos before entering anything in Entry 1 and Entry 2, when running
on x64 Visual Studio builds of the GTK+/PyGObject stack.
Also use size_t instead of unsigned long in gthash.c when we check that
memory & 0x3 is 0, to silence compiler warnings from enabling /Wp64,
which is used to detect portability problems on Visual Studio when
doing x86->x64 code builds.
https://bugzilla.gnome.org/show_bug.cgi?id=702788
Diffstat (limited to 'tests/warn/invalid-element-type.h')
0 files changed, 0 insertions, 0 deletions