CVSROOT: /cvs/gnome Module name: glib Changes by: tml 05/08/31 17:02:47
Modified files: . : ChangeLog glib : gutils.c gutils.h Log message: 2005-08-31 Tor Lillqvist <[EMAIL PROTECTED]> * glib/gutils.h: Wrapping atexit() is a bad idea on Windows, where the EXE and each DLL have their own atexit function chains. #define g_atexit as atexit instead. This means it has a better chance of doing what the caller wants. For instance, gtkhtml calls g_atexit() registering a function in gtkhtml itself. This caused a crash when g_atexit() was implemented as a function in the GLib DLL. The gtkhtml DLL was already unloaded by the time the GLib DLL got unloaded. * glib/gutils.c: #undef the #define mentioned above, to also get a real g_atexit() into the DLL for backward compatibility. Document the Windows behaviour of g_atexit(), and document the varying ways atexit() can behave in the context of dynamically loaded modules on Unix. URL : http://cvs.gnome.org/bonsai/cvsquery.cgi?branch=&dir=glib&who=tml&date=explicit&mindate=2005-08-31%2017:01&maxdate=2005-08-31%2017:03 _______________________________________________ cvs-commits-list mailing list cvs-commits-list@gnome.org http://mail.gnome.org/mailman/listinfo/cvs-commits-list