October/November - GTK4 migration - dboles
29 Nov. 2023, 21.15
Dev blog time again! Towards end of October, PBS boldly sped us towards running Inkscape on GTK4 by doing some temporary ‘bodges’ against our gtk4 branch to fix build errors and get Inkscape at least building against GTK4 and related libraries. This meant that we could deal with immediate launch-time errors and at least get some UI up and running, which then enables more contributors to independently focus on particular subsystems or UI elements.
Around this time I was finishing up some cleanup/tidying/optimisations for the Swatches and Selectors dialog, and reviewing various MRs for Jabier. I also worked to diagnose a problem with the Display Mode radio buttons getting us into an infinite loop when the mode was changed by another method; the fix was to revert that patch until GTK4, where it works right.
I then loaded up PBS’s gtk4-bodge branch as mentioned, and dived into helping there, finishing up build fixes and dealing with some of the immediate errors visible once we were launching. This kept me busy for most of a week! During this time I also submitted several MRs to gtkmm to add API that will be useful in future (for other projects, and for Inkscape if we can end up requiring gtkmm 4.14), as well as improving some tests for TreeIter et al., and fixing some bugs that had been revealed while porting our TreeIter use from GTK3 to 4.
For better part of a day, I focussed on getting our Dialog* family building on GTK4 and fixing early runtime bugs. This involved finishing the extensive DnD porting I’d started last month. I can’t promise that will be 100% functional right away, but I’m confident it’s 99% of the way :-)
After this I have other commitments, but did get in about a day’s work - discussing the GTK4 migration on its MR, submitting some small MRs, reviving my shortcuts migration so that Tav could pick that up, and doing a couple of small reviews to some other contributors’ MRs.
There’s been a lot of great work in the last couple of months, all - keep it up, and good luck!