Hi folks! Last week I attended the GUADEC and I met several interesting people there which was really good. I spent quite much time with investigating that collapsing problem I mentioned last week. With the great help of current and former Evolution devs, we found out, that the problem is not caused by the reason I suspected last time, but rather by unproper usage of a save-and-load-expanded-state-from-disk feature. The status of expanded nodes is (for a reason I don't know yet.) loaded from disk when a new email arrives. (I'm not quite sure about this anyway.) But since the state won't be saved after one expands a single thread, an old state will be loaded causing Evo to collapse it. So my new approach is to just save the state just before the message list is reloaded. I implemented that rather quickly but it didn't work very well, because now an empty state was saved on opening Evo causing it to forget the last state saved on exit. To make a long story short: I have a patch which corrects the wrong behaviour, but I have to ensure, that it doesn't break anything. Hence I tried to compile it and, guess what?! It failed... jhbuild updated glib which seems to not build correctly currently. Note to self: just do ,,jhbuild build evolution --start-at=evolution-data-server" to not run into trouble with dependencies any more. GLib has received this [1] update and it seems, that my compiler (GCC 4.1.2) doesn't fulfill #if defined (G_CAN_INLINE) || defined (__G_THREAD_C__) so that the function g_once_init_enter doesn't get implemented. Hence the linker cries about this missing function and dies. So I hope to get the verification done this week and hope that I am right with my assumption. If I am not, I would have to find other reasons why it might not work... So long, Tobi [1] http://svn.gnome.org/viewcvs/glib/trunk/glib/gthread.h?view=diff&r1=5615&r2=5616
Attachment:
signature.asc
Description: OpenPGP digital signature