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