GTK 3.20 broke (changed? matter of point of view) a lot of things affecting Scintilla, with various impact. Here are patches fixing the ones I know of:
- Fix the autoc popup font. This is due to CSS theming sintax changes.
- Fix an (harmless) warning when allocating the text area. That's GTK being pickier, but it's not crazy.
- Fix the autoc popup size. This is due to CSS theming changes, where the border size we care about is not set on a new
frame border node rather than directly inside
- Fix another autoc popup sizing issue spewing scary assertion failures (but doesn't visually impact appearance -- for now?). This is due to changes in the internal GtkScrolledWindow implementation not caping anymore with an allocation smaller than it expcetd originally. Fix this by ciomputing the actual size we want instead of considering 1px small enough (as we resize later anyway).
- Fix harmless warning/debug messages fetching the frame's borders size. This is due to changes in GTK spewing those when looking up style values for a non-current state in some cases. The change here is simply using what the current state happens to be, which in practice is just what we had plus an additional direction (LTR in my case) flag. Just GTK being pickier than reasonable I guess.
4th patch fixes an unrelated memory leak on GTK3.
I tested all this on 3.20 (obviously), and on Ubuntu 15.10's GTK 3.16.7. I'm pretty confident the changes will work with any ealrier version too, or are properly guarded.
When reviewing, note that gtk_check_version() has a pretty unexpected return value: it returns
NULL when the version is compatible (as it returns a descriptive string when not compatible).