import gi.repository.Gtk gives an error: CssProvider doesn't exist.
There's no CssProvider for GTK 2 so a check is needed.
https://gitlab.gnome.org/GNOME/pygobject/-/blob/master/gi/overrides/Gtk.py#L1636-L1650 needs if GTK3 or GTK4:
added to it, like this
if GTK3 or GTK4:
class CssProvider(Gtk.CssProvider):
def load_from_data(self, text, length=-1):
if (Gtk.get_major_version(), Gtk.get_minor_version()) >= (4, 9):
if isinstance(text, bytes):
text = text.decode("utf-8")
super(CssProvider, self).load_from_data(text, length)
else:
if isinstance(text, str):
text = text.encode("utf-8")
super(CssProvider, self).load_from_data(text)
CssProvider = override(CssProvider)
__all__.append("CssProvider")
I've tested the change locally.
My account can't create a merge request directly.