Gtk override invalid for gtk 4
Trying to use gtk 4 with pygobject, I get the following error
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
File "<frozen importlib._bootstrap>", line 618, in _load_backward_compatible
File "/usr/lib/python3.8/site-packages/gi/importer.py", line 145, in load_module
dynamic_module = load_overrides(introspection_module)
File "/usr/lib/python3.8/site-packages/gi/overrides/__init__.py", line 118, in load_overrides
override_mod = importlib.import_module(override_package_name)
File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/usr/lib/python3.8/site-packages/gi/overrides/Gtk.py", line 168, in <module>
class Container(Gtk.Container, Widget):
File "/usr/lib/python3.8/site-packages/gi/module.py", line 123, in __getattr__
raise AttributeError("%r object has no attribute %r" % (
AttributeError: 'gi.repository.Gtk' object has no attribute 'Container'
It's easy to reproduce, just run flatpak run org.gnome.Platform//master
start python and run
import gi
gi.require_version('Gtk', '4.0')
from gi.repository import Gtk
Either the override should be fixed to check for the gtk version, or the override itself should be versioned. I think the latter makes more sense.