GNOME Bugzilla – Bug 687157
Incorrect Win32 API function prototype declarations
Last modified: 2012-12-02 20:51:03 UTC
In gdk/win32/gdkwindow-win32.c the 'PFN_FlashWindowEx' and 'PFN_SetLayeredWindowAttributes' function prototypes miss the 'WINAPI' calling convention declaration. As a result, the code produced when compiled by the MSVC10 toolchain, asssumes the 'cdecl' calling convention, double-cleaning the stack. I haven't checked if the same happens for MinGW toolchains. This bug is present on both 'master' and 'gtk-2-24' branches.
Created attachment 227599 [details] [review] add missing WINAPI declarations
This might manifested itself in rather strange ways, in my case it made g_type_check_instance_cast throw a memory access violation exception, when passed an invalid GtkTypeRefeference as the result of the stack messup.
In fact, same happens for a GCC produced GTK+ build (mingw32-gtk2-2.24.13-1.fc19.noarch.rpm).
*** This bug has been marked as a duplicate of bug 689235 ***