# HG changeset patch # User Daniel Atallah # Date 1231991818 0 # Node ID 8a5c0c5c71f986f833073082fe9de82730da2a3e # Parent 36897ddd3e083986c241f3355d341afe99ac16fd Jan Kratochvil found another race condition in the treeview tooltip code, this fixes it. Fixes #8069. diff -r 36897ddd3e08 -r 8a5c0c5c71f9 pidgin/pidgintooltip.c --- a/pidgin/pidgintooltip.c Thu Jan 15 03:54:58 2009 +0000 +++ b/pidgin/pidgintooltip.c Thu Jan 15 03:56:58 2009 +0000 @@ -82,7 +82,8 @@ static void destroy_tooltip_data(PidginTooltipData *data) { - gtk_tree_path_free(data->common.treeview.path); + if (data->common.treeview.path) + gtk_tree_path_free(data->common.treeview.path); pidgin_tooltip_destroy(); g_free(data); } @@ -380,7 +381,7 @@ g_signal_connect(G_OBJECT(widget), "motion-notify-event", G_CALLBACK(widget_motion_cb), wdata); g_signal_connect(G_OBJECT(widget), "leave-notify-event", G_CALLBACK(widget_leave_cb), NULL); - g_signal_connect_swapped(G_OBJECT(widget), "destroy", G_CALLBACK(g_free), wdata); + g_signal_connect_swapped(G_OBJECT(widget), "destroy", G_CALLBACK(destroy_tooltip_data), wdata); return TRUE; }