> 2) The GTK+ platform code may remove support for older versions of GTK+. I think retaining support only for GTK+ 2.24 and not for any other 2.x releases would be good.
Looking for old #ifs in the GTK+ platform layer showed these:
/home/neil/merc/scintilla/gtk/PlatGTK.cxx:48:#if GTK_CHECK_VERSION(2,22,0)
/home/neil/merc/scintilla/gtk/PlatGTK.cxx:313:#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 8, 0)
/home/neil/merc/scintilla/gtk/PlatGTK.cxx:540:#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 2, 0)
/home/neil/merc/scintilla/gtk/PlatGTK.cxx:591:#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1,6,0)
/home/neil/merc/scintilla/gtk/PlatGTK.cxx:709:#ifdef PANGO_VERSION
/home/neil/merc/scintilla/gtk/PlatGTK.cxx:900:#ifdef PANGO_VERSION
/home/neil/merc/scintilla/gtk/ScintillaGTK.cxx:88:#if GTK_CHECK_VERSION(2,20,0)
/home/neil/merc/scintilla/gtk/ScintillaGTK.cxx:234:#if GTK_CHECK_VERSION(2,20,0)
/home/neil/merc/scintilla/gtk/ScintillaGTK.cxx:325:#if GTK_CHECK_VERSION(2,20,0)
/home/neil/merc/scintilla/gtk/ScintillaGTK.cxx:364:#if GTK_CHECK_VERSION(2,20,0)
/home/neil/merc/scintilla/gtk/ScintillaGTK.cxx:390:#if GTK_CHECK_VERSION(2,20,0)
/home/neil/merc/scintilla/gtk/ScintillaGTK.cxx:2726:#if GTK_CHECK_VERSION(2,22,0)
/home/neil/merc/scintilla/gtk/ScintillaGTK.cxx:2810:#if GTK_CHECK_VERSION(2,22,0)
Removing all these checks and choosing the ‘if’ case of each (not the ‘else’) worked correctly for an old version of Mint with GTK+ 2.24.23. Its possible but unlikely that earlier releases of GTK+ 2.24 will have problems.
The Pango checks appear to be handling Pango before it exposed a version number and the Cairo checks also appear quite old as Cairo 1.8 was 2008.
There are also checks for accessibility support but these are checking GTK+ 3.x so don’t matter for removing 2.16-2.22.
The attached patch for this change is only 182 lines and I think it is reasonable to commit to the 4.x branch.
Neil