export CVSROOT=:pserver:anonymous@cvs.freespeech.sourceforge.net:/cvsroot/freespeech
or (for csh users) setenv CVSROOT :pserver:anonymous@cvs.freespeech.sourceforge.net:/cvsroot/freespeech
cvs login (the password is return)
cvs checkout FreeSpeech
Note: you must use the ./autogen.sh with the --disable-static option to compile from CVS.
--- gdataset.c-premerge Sun Oct 17 18:14:15 1999 +++ gdataset.c Sun Oct 17 18:15:00 1999 @@ -110,7 +110,11 @@ g_datalist_clear_i (GData **datalist) list = prev->next; if (prev->destroy_func) + { + G_UNLOCK (g_dataset_global); prev->destroy_func (prev->data); + G_LOCK (g_dataset_global); + } if (g_data_cache_length < G_DATA_CACHE_MAX) { @@ -233,7 +237,11 @@ g_data_set_internal (GData **datalist, * data without destroy notification */ if (list->destroy_func && !destroy_func) + { + G_UNLOCK (g_dataset_global); list->destroy_func (list->data); + G_LOCK (g_dataset_global); + } if (g_data_cache_length < G_DATA_CACHE_MAX) { @@ -275,7 +283,9 @@ g_data_set_internal (GData **datalist, /* we need to have updated all structures prior to * invokation of the destroy function */ + G_UNLOCK (g_dataset_global); dfunc (ddata); + G_LOCK (g_dataset_global); } return;A linux binary version of glib 1.2.6 with the patch applied is available here