[Gambas-user] GTK+ 3, the library that is a full mess at each new minor release

Benoît Minisini gambas at ...1...
Sun Sep 3 00:34:45 CEST 2017


Le 03/09/2017 à 00:26, Adrien Prokopowicz a écrit :
> Le Sat, 02 Sep 2017 21:28:25 +0200, Benoît Minisini via Gambas-user 
> <gambas-user at lists.sourceforge.net> a écrit:
> 
>> Hi,
>>
>> <rant>
>>
>> I have just noticed that GTK+ 3 has changed its internal drawing model 
>> (for the n-th time) since 3.20 (I think).
>>
>> And, as usual, this new drawing model is not API backward-compatible, 
>> and so now the Gambas Style drawing methods do not work anymore in 
>> Gambas.
>>
>> At the moment, I have no idea how to draw the widgets components with 
>> the new GTK+3, and if it is possible outside of the library.
>>
>> Really, I would not like to be in the brain of a GTK+ library 
>> developer... Someone should explain them what a "minor release" really 
>> is some day...
>>
>> </rant>
>>
> 
> I found this blog post to be somewhat informative on how the GTK devs think
> about versioning :
> 
> https://blogs.gnome.org/desrt/2016/06/13/gtk-4-0-is-not-gtk-4/
> 
>  From what I understood : GTK does not use SemVer. At all. Assuming 
> X.Y.Z versions,
> a .Y release IS a breaking change.
> 
> If you want stability (API or ABI-wise), use the previous major version.
> Only when GTK4 will come out, you will have a stable GTK3 (which means :
> make a gb.gtk4 component only when GTK5 is out).
> They also want to have a stricter release schedule : a minor release every
> six months, and a major release every two years.
> 
> This is a versioning scheme I completely agree with. I too would use this
> scheme, if I wasn't able to design APIs without breaking everything 
> every time
> I wanted to add something in.
> 
> (Yes, this is sarcasm.)
> 
> So, long story short : if you want to use GTK, either you rewrite your code
> every six months whenever a minor release comes out, or you wait two years
> for a new major release to bring you new features (and rewrite literally
> everything this time).
> 
> As for your issues, I think it may be related to how they broke themes 
> in recent
> releases, but I can't remember exactly when. I only remember they broke 
> it at
> least in two GTK3 versions, and 3.20 is definitely one of them.
> 

I think 3.20 is the third drawing model. Things broke in 3.16, and maybe 
before, I don't know. Anyway, I just succeeded in finding a new hack.

Regards,

-- 
Benoît Minisini




More information about the User mailing list