Project

General

Profile

Bug #856682

Gtk3.22 client doesn't migrate settings from Gtk2

Added by Jacob Nevins 6 months ago. Updated 5 months ago.

Status:
Closed
Priority:
Normal
Category:
gui-gtk-3.22
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

Description

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 (migrate_options_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.


Related issues

Related to Freeciv - Bug #765941: Gtk3.x automatic initial setting of "Arrange widgets for small displays" is ineffectiveClosed

History

#1 Updated by Marko Lindqvist 6 months ago

I don't think it should do migration from gtk-2 to gtk-3, and similar, if it have already done it with an older version. If user has explicitly defined settings for both gtk-2 and gtk-3, we should not change either on update.

#2 Updated by Marko Lindqvist 6 months ago

  • Category set to gui-gtk-3.22
  • Status changed from New to In Progress
  • Assignee set to Marko Lindqvist
  • Target version set to 2.6.2

#3 Updated by Marko Lindqvist 6 months ago

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.

#6 Updated by Marko Lindqvist 5 months ago

Pushed to S2_6 & S3_0.

#7 Updated by Jacob Nevins 5 months ago

Thanks for this. Comment 1 -- good point. The committed approach looks good.

#8 Updated by Jacob Nevins 5 months ago

  • Related to Bug #765941: Gtk3.x automatic initial setting of "Arrange widgets for small displays" is ineffective added

#9 Updated by Marko Lindqvist 5 months ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF