Gtk3.22 client doesn't migrate settings from Gtk2
Each 'new' Gtk client (Gtk3, Gtk3.22) migrates settings only from the next older one. So, Gtk3 migrates from Gtk2 (
migrate_options_from_gtk2()), and Gtk3.22 migrates from Gtk3 (
If a user goes straight from Gtk2 to Gtk3.22 without ever running Gtk3 (quite likely given that we now recommend 3.22; e.g. Debian uses it by default), I think they will not get any settings migration at all; they will go back to the defaults.
Really I think the Gtk clients ought to go back through all previous Gtk clients on the same version looking for settings, with the effective search path looking like:
: 2.0<--3.0 .freeciv-client-rc-2.5 ^ +-----+ | 2.0<--3.0<--3.22 .freeciv/freeciv-client-rc-2.6 ^ +-----------+ | 2.0<--3.0<--3.22 .freeciv/freeciv-client-rc-3.0 ^ +-----+ | 3.0<--3.22<--4.0 .freeciv/freeciv-client-rc-3.1
(This probably isn't as complex as it looks, since we already have the logic to go between versions.)
It's going to be a bit annoying to implement because the Gtk2->3 migration code currently lives in gui-gtk3/ but Gtk3.22 will want a copy.
#3 Updated by Marko Lindqvist 6 months ago
- File 0003-gtk3.22-Migrate-settings-all-the-way-from-gtk2-clien.patch 0003-gtk3.22-Migrate-settings-all-the-way-from-gtk2-clien.patch added
- Status changed from In Progress to Resolved
S2_6 version of the patch attached. This one should be pushed in before 2.6.2 release, for the benefit of people updating from Ubuntu-18.04 LTS to Ubuntu-20.04 LTS.
Later branches will follow.