Hi all!
After a work in three main phases over >2years: - merge 9b7af8caac08ad42a48214518bc004e258eb5873 (+1544,-1778 over 114 files) taking care of just the uses pertaining to the selections, - merge 50ab3a3c4215474d437f9adcc4b725bed26767d7 (+701,-884 over 60 files) taking care of many various uses, - tonight's merge of https://gitlab.com/inkscape/inkscape/merge_requests/86/diffs (+1041,-1612 over 90 files) taking care of the rest,
I'm pleased to announce that the number of GList and GSList in the codebase is at an historical low: → GLists are still in heavy uses in libcroco and libnrtype forcing two uses in sp-style-elem.cpp (libcroco) and widgets/font-selector.cpp (libnrtype) → Three files related to actions in src/widgets/ crash when gtkmmified so they still keep GSList in "proxies = gtk_action_get_proxies( GTK_ACTION(action) );". The normal way to get rid of those would be to make a big effort of gtkkmification of the actions and make them derive from Gio::Action https://developer.gnome.org/glibmm/unstable/classGio_1_1Action.html. I'm not sure how to achieve that.
Many of these lists were not properly g_(s)list_free'd, so I may or may not have fixed several dozens of memory leaks in the process.
I've been as careful as I could, but if you detect crashes or regressions linked to this merge, please contact me on IRC or email as soon as possible so that I can investigate.
Yay!