vals[i].length = strlen (tmp); vals[i++].value = g_strdup(tmp); g_free(tmp); .... and vals[] never gets freed. proposed fix: --- gnome-client.c~ 2003-02-01 15:03:20.000000000 +0100 +++ gnome-client.c 2003-02-01 15:03:20.000000000 +0100 @@ -482,8 +482,7 @@ vals[i].length = strlen (sm_screen); vals[i++].value = (char *)sm_screen; vals[i].length = strlen (tmp); - vals[i++].value = g_strdup(tmp); - g_free(tmp); + vals[i++].value = tmp; #endif for (list = client->static_args; list; list = g_list_next (list)) @@ -499,6 +498,9 @@ } client_set_value (client, SmRestartCommand, SmLISTofARRAY8, i, vals); +#ifdef HAVE_GTK_MULTIHEAD + g_free(tmp); +#endif g_free (vals); } [
http://bugzilla.gnome.org/show_bug.cgi?id=104986
Apparently this patch was bad. The first g_free (tmp); should go. It made apps hang.
- g_free(tmp); was in my patch upstream forgot to merge that line
we already have this in rawhide I believe, I just didn't close the bug. (we don't have the hang part)
I'll pull the patch from the srpm then. And close the bug upstream.
Nothing even remotely similar in the current rawhide RPM. Arjan, could you give me a patch to clean up the missing part wrt current GNOME CVS?
I think this is already in gnome cvs
No, it's not. Arjan's patch still applies cleanly and it was just a bad merge on andersca's part that made it break in the first place. I'll reapply it for the next release (both branches)
Right, we just came to same conclusion: 2003-02-04 Anders Carlsson <andersca> * libgnomeui/gnome-client.c: (client_set_restart_command): Revert fix since it caused brokenness. I thought Anders had *fixed* it not just taken it out ;-)
Commited upstream to both branches.