X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2FguiControlFlow%2FCFV.c;h=5bca7f543647e66c2cee15e89b04ffb2ff09ff1c;hb=8d088fb270b8b2e03e3632f1b5733485a6675c07;hp=109d5a03265ea4a2a2b7f48e8db4522b0e01ae80;hpb=4c69e0cc2b20bbe101918f769842e31101045767;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/guiControlFlow/CFV.c b/ltt/branches/poly/lttv/modules/guiControlFlow/CFV.c index 109d5a03..5bca7f54 100644 --- a/ltt/branches/poly/lttv/modules/guiControlFlow/CFV.c +++ b/ltt/branches/poly/lttv/modules/guiControlFlow/CFV.c @@ -10,6 +10,9 @@ #include "CFV-private.h" +#define g_info(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format) +#define g_debug(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, format) + extern GSList *gControl_Flow_Data_List; /***************************************************************************** @@ -132,28 +135,38 @@ guicontrolflow(void) void guicontrolflow_destructor_full(ControlFlowData *Control_Flow_Data) { + g_info("CFV.c : guicontrolflow_destructor_full, %p", Control_Flow_Data); /* May already have been done by GTK window closing */ if(GTK_IS_WIDGET(Control_Flow_Data->Scrolled_Window_VC)) gtk_widget_destroy(Control_Flow_Data->Scrolled_Window_VC); - - guicontrolflow_destructor(Control_Flow_Data); + //Control_Flow_Data->Parent_Window = NULL; + //FIXME guicontrolflow_destructor(Control_Flow_Data); } +/* When this destructor is called, the widgets are already disconnected */ void guicontrolflow_destructor(ControlFlowData *Control_Flow_Data) { guint index; + g_info("CFV.c : guicontrolflow_destructor, %p", Control_Flow_Data); + g_info("%p, %p, %p", update_time_window_hook, Control_Flow_Data, Control_Flow_Data->Parent_Window); + if(GTK_IS_WIDGET(Control_Flow_Data->Scrolled_Window_VC)) + g_info("widget still exists"); + /* Process List is removed with it's widget */ //ProcessList_destroy(Control_Flow_Data->Process_List); - unreg_update_time_window(Update_Time_Window_Hook, + if(Control_Flow_Data->Parent_Window != NULL) + { + unreg_update_time_window(update_time_window_hook, Control_Flow_Data, - Control_Flow_Data->Scrolled_Window_VC->parent); + Control_Flow_Data->Parent_Window); - unreg_update_current_time(Update_Current_Time_Hook, + unreg_update_current_time(update_current_time_hook, Control_Flow_Data, - Control_Flow_Data->Scrolled_Window_VC->parent); - + Control_Flow_Data->Parent_Window); + } + g_info("CFV.c : guicontrolflow_destructor, %p", Control_Flow_Data); g_slist_remove(gControl_Flow_Data_List,Control_Flow_Data); g_free(Control_Flow_Data); }