https://bugzilla.novell.com/show_bug.cgi?id=343447#c4
--- Comment #4 from Michael Meeks 2007-11-22 03:42:10 MST ---
Haha! - so, I speculate here:
It looks (to me) like the bug lurks at: em_folder_tree_construct:
g_signal_connect (priv->model, "row-changed", G_CALLBACK
(emft_model_row_changed), emft);
* Why are we connecting a signal handler to an object, and then not life-cycle
managing it properly ?
* Can we guarentee that this model has only one view ?
* If so, why do we not construct it ourselves ?
* *Why!* are we not removing that signal on destruction of emft ?
+ [ that looks really dangerous, either a big leak or a crasher bug ].
* *Why!* are we manipulating the model in the view when this is (clearly) a
model-related issue ? can we not do this in the model instead ? [ surely that
makes more sense ]
All calls of em_folder_tree_new_with_model are here:
em-folder-selection-button.c:236: emft = (EMFolderTree *)
em_folder_tree_new_with_model (model);
em-folder-selection.c:67: emft = (EMFolderTree *)
em_folder_tree_new_with_model (model);
em-folder-tree.c:568: emft = (EMFolderTree *) em_folder_tree_new_with_model
(model);
em-folder-tree.c:706:em_folder_tree_new_with_model (EMFolderTreeModel *model)
em-folder-tree.h:73:GtkWidget *em_folder_tree_new_with_model (EMFolderTreeModel
*model);
em-folder-utils.c:748: folder_tree = (EMFolderTree *)
em_folder_tree_new_with_model (model);
em-vfolder-rule.c:509: emft =(EMFolderTree
*)em_folder_tree_new_with_model(mail_component_peek_tree_model(mail_component_peek()));
mail-component.c:702: tree_widget = (GtkWidget *)
em_folder_tree_new_with_model (priv->model);
Presumably one or other of them is (sensibly) re-using the model [ to reduce
memory use ], but the view is clinging to it (somehow).
I normally create 3x evo. windows in mail mode, then switch them one by one to
addressbook, then calendar; I also use C-M-v to move mails around (another
folder view) a lot: I guess it's the top-level that is not lifecycle managed
properly though rather than C-M-v.
HTH.
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.