We've been bitten by a number of Gtk bugs over the years. These particularly affect our Windows packages, where we have traditionally had a limited set of prebuilt versions of Gtk to choose from, and had to choose which bug we ship with. (These days we've given up on the official releases, and build our own Gtk.)
These tables cover the versions of Gtk itself, since that's what we seem to have trouble with, rather than its dependencies like Glib. (Newer versions of Glib tend to drop compatibility with obsolete versions of Windows; this isn't covered here.)
In addition to the upstream trouble, we make life more difficult for ourselves by building Gtk2 and Gtk3 packages in a single "gnuwin" environment (ref); they share some dependencies (e.g. Glib); and in our experience, a given version of Gtk2/3 may not work with a given version of Glib (etc), and later versions of Glib are not always better in this regard. Usually we pick the extra libraries that come with Gtk3; so we may have to pick a pair of Gtk2/3 versions that are compatible in this regard. (If we ever find we can't, we can always prepare two separate environments.) The details of this are not covered here either.
(Darker colours are for observations we have made with Freeciv, lighter colours are unproven speculations about fixed versions / root causes.)
Please don't edit this table if you're not a Freeciv developer; if you have any further relevant observations please leave them in the relevant bugs in the bug tracker, or on the talk page here if they don't fit elsewhere.
Gtk2[]
Version | Win32? | Crosser | Freeciv | Bugs | |||||
---|---|---|---|---|---|---|---|---|---|
Worklist drag GNA#18517 |
Black map / hang GNA#18243 |
get_handle crash GNA#21272 |
CJK trouble GNA#21038 |
Text background GNA#21475 |
Crash with new Gtk3 GNA#23022 | ||||
2.12.0 | Minimum version that Freeciv 2.4-2.6+ source compiles against | ||||||||
2.16.0 | Yes | - | ? - 2.1.9 | ||||||
2.16.5 | Yes | - | 2.2.0-RC1 - 2.2.7 2.3.0-beta3 - 2.3.0-RC1 |
OK | |||||
2.16.6 | Yes | - | 2.2.0-beta1 - 2.2.0-beta3 2.3.1-2.3.4 (2.3.5 test) 2.4.0-beta1 |
OK | Broken | OK | OK | ||
2.18.0 | Yes | - | - | OK | OK | ||||
2.18.9 | Yes | - | - | OK | OK | ||||
2.20.1 | Yes | 0.6.4 | - | Broken | OK | ||||
2.22.1 | Yes | 0.6.5 | 2.3.0-RC2 - 2.3.0 | Broken | OK | OK | |||
2.24.4 | No | (0.6.5.103) | - | Broken | OK | ||||
2.24.5 | No | - | - | Broken 652872 unfixed |
|||||
2.24.6 | No | - | - | OK 652872 fixed |
658841 unfixed? | ||||
2.24.7 | No | - | - | 658841 fixed? | |||||
2.24.8 | Yes | 0.7 | - | OK | OK? | OK | |||
2.24.10 | Yes | 0.8 | 2.3.5 2.4.0-beta2 - 2.4.3 2.5.0-beta1 |
OK | OK | OK? | Broken | OK | |
2.24.13 | No | 0.9 | - | 668239 unfixed | |||||
2.24.14 | No | 0.10.1 | - | 668239 fixed | |||||
2.24.19 | No | 0.11.1 | - | OK | OK | ||||
2.24.20 | No | 0.12-0.14 | (2.4.3 test, older) 2.4.4- 2.5.0-beta2 - |
OK | OK | OK 695636 unfixed |
Broken | ||
2.24.21 | No | - | - | Broken 695636 fixed |
|||||
2.24.22 | No | - | - | Broken | |||||
2.24.24 | No | - | - | Broken | |||||
2.24.25 | No | - | - | Broken 741060 unfixed |
|||||
2.24.26 | No | - | 741060 fixed | Broken | |||||
2.24.27 | No | 0.15 | - | ||||||
2.24.28 | No | - |
Gtk3[]
We haven't officially launched Gtk3 Windows clients at the time of writing, due to major usability issues. Unadorned Freeciv versions refer to test builds made by cproc.
Version | Win32? | Crosser | Freeciv | Bugs | ||
---|---|---|---|---|---|---|
Black popups GNA#20999 |
CJK trouble GNA#21038 |
Makes Gtk2 crashy GNA#23022 | ||||
3.4.0 | Minimum version that Freeciv 2.4-2.5 source compiles against | |||||
3.4.2 | Yes | - | (2.5.0-beta0 test) | |||
3.6.3 | No | - | - | 668239 unfixed | ||
3.6.4 | Yes | 0.10.1-0.11.1 | 2.4.1- (2.5.0-beta0 test) 2.5.0-beta1 |
Broken | OK 668239 fixed |
OK |
3.8.0 | Minimum version that Freeciv 2.6+ source compiles against | |||||
3.8.2 | kinda? | - | (2.5.0-beta0 test) 2.5.0-RC1 - |
OK | OK | OK |
3.10.4 | kinda? | - | (2.5.0-beta0 test) 2.5.0-beta2 |
OK | OK | Broken |