Hello, For this final week, I finally fixed the bug I was facing since the week 11 [1]. To fix this bug I started to look at why these critical assertions was happening, and discovered that when Gdl::DockItem-s were destroyed the child wasn't 'unparent-ed'. I looked at the gdl code to see why GdlDockItem's child was not 'unparent-ed' and saw that the _dispose function was never called and this is the function that is supposed to unparent the child. Then my mentor suggested me to check if the destructor of the Gdl::DockItem was called and it was indeed not called. The Gdl::DockItem was obviously not freed, so I checked the reference counting to see if the counter was hitting 0 and it was. At this point I didn't really understood why this was going wrong, so I compiled glibmm and glib to try to understand what was going on. Afterward I didn't notice something going wrong in those two libraries so I compiled gtk+ and gtkmm to see what was happening when g_object_unref was calling the dispose function and discovered that if the c++ Gdl::DockItem was not managed, it was not freed with manual calls to unreference.
I also discovered while checking the memory usage of my "Layout Manager" patch that I was keeping a reference of the DBGPerspective inside the DBGPerspective's layout manager and consequently blocked the workbench to free the perspective at exit. I fixed it and updated my gtk2 + gtk3 patches and sent one of them for review. I also updated the patch adding a contextual menu to the target terminal from an old review and sent it also to my mentor for review. I enjoyed very much working on nemiver during this GSoC and I would like to thank GNOME for accepting my proposal and I would also like to thank my mentor Dodji Seketeli, who was a great help to succeed this GSoC. Even if this GSoC is over, I plan to continue to send patches to nemiver. Fabien [1] https://mail.gnome.org/archives/nemiver-list/2011-August/msg00018.html _______________________________________________ nemiver-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/nemiver-list
