From ab391138cacc62ab184a338e237c4430356b41f9 Mon Sep 17 00:00:00 2001 From: Nick Schermer Date: Fri, 26 Apr 2013 18:05:10 +0000 Subject: Store the watch function id to avoid possible double free (bug #9709). --- diff --git a/xfce4-session/xfsm-startup.c b/xfce4-session/xfsm-startup.c index e43c53c..c621397 100644 --- a/xfce4-session/xfsm-startup.c +++ b/xfce4-session/xfsm-startup.c @@ -903,9 +903,10 @@ xfsm_startup_start_properties (XfsmProperties *properties, child_watch_data = g_new0 (XfsmStartupData, 1); child_watch_data->manager = g_object_ref (manager); child_watch_data->properties = properties; - g_child_watch_add_full (G_PRIORITY_LOW, properties->pid, - xfsm_startup_child_watch, child_watch_data, - (GDestroyNotify) xfsm_startup_data_free); + child_watch_data->properties->child_watch_id = + g_child_watch_add_full (G_PRIORITY_LOW, properties->pid, + xfsm_startup_child_watch, child_watch_data, + (GDestroyNotify) xfsm_startup_data_free); /* set a timeout -- client must register in a a certain amount of time * or it's assumed to be broken/have issues. */ -- cgit v0.9.1