From: Mark D. <the...@us...> - 2003-11-27 19:04:22
|
Update of /cvsroot/gaim/gaim/src In directory sc8-pr-cvs1:/tmp/cvs-serv29450/src Modified Files: core.c core.h Log Message: "A masterpiece" says time magazine. Rolling Stone raves, "8 stars!" That guy gave it 4 thumbs up, and he only has 2 thumbs. This fixes "[ 849022 ] "gaim-remote quit" causes seg fault" http://sourceforge.net/tracker/index.php?func=detail&aid=849022&group_id=235&atid=100235 Index: core.c =================================================================== RCS file: /cvsroot/gaim/gaim/src/core.c,v retrieving revision 1.61 retrieving revision 1.62 diff -u -d -p -r1.61 -r1.62 --- core.c 5 Nov 2003 06:15:49 -0000 1.61 +++ core.c 27 Nov 2003 19:04:19 -0000 1.62 @@ -145,6 +145,14 @@ gaim_core_quit(void) _core = NULL; } +gboolean +gaim_core_quit_cb(gpointer unused) +{ + gaim_core_quit(); + + return FALSE; +} + const char * gaim_core_get_version(void) { Index: core.h =================================================================== RCS file: /cvsroot/gaim/gaim/src/core.h,v retrieving revision 1.65 retrieving revision 1.66 diff -u -d -p -r1.65 -r1.66 --- core.h 30 Sep 2003 22:55:22 -0000 1.65 +++ core.h 27 Nov 2003 19:04:19 -0000 1.66 @@ -57,6 +57,20 @@ gboolean gaim_core_init(const char *ui); void gaim_core_quit(void); /** + * Calls gaim_core_quit(). This can be used as the function + * passed to g_timeout_add() when you want to shutdown Gaim + * in a specified amount of time. When shutting down Gaim + * from a plugin, you must use this with a timeout value of 0: + * g_timeout_add(0, gaim_core_quitcb, NULL); + * This is ensures that code from your plugin is not being + * executed when gaim_core_quit() is called. Otherwise you + * would get a core dump after gaim_core_quit() executes and + * control returns to your plugin because gaim_core_quit() frees + * all plugins. + */ +gboolean gaim_core_quit_cb(gpointer unused); + +/** * Returns the version of the core library. * * @return The version of the core library. |