Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

List of GTK 4 regressions #1554

Closed
mathiascode opened this issue Sep 7, 2021 · 7 comments
Closed

List of GTK 4 regressions #1554

mathiascode opened this issue Sep 7, 2021 · 7 comments
Milestone

Comments

@mathiascode
Copy link
Member

mathiascode commented Sep 7, 2021

To test the GTK 4 version of Nicotine+ in a Linux/BSD environment, start Nicotine+ using:
NICOTINE_GTK_VERSION=4 nicotine

@82d
Copy link

82d commented Oct 4, 2021

$NICOTINE_GTK_VERSION=4 nicotine
Traceback (most recent call last):
  File "/usr/local/bin/nicotine", line 24, in <module>
    sys.exit(run())
  File "/usr/local/lib/python3.8/site-packages/pynicotine/__init__.py", line 232, in run
    return run_gui(core, trayicon, hidden, bindip, port, ci_mode, multi_instance)
  File "/usr/local/lib/python3.8/site-packages/pynicotine/gtkgui/__init__.py", line 52, in run_gui
    error = check_gui_dependencies()
  File "/usr/local/lib/python3.8/site-packages/pynicotine/gtkgui/__init__.py", line 41, in check_gui_dependencies
    from gi.repository import Gtk  # noqa: F401
  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/local/lib/python3.8/site-packages/gi/importer.py", line 145, in load_module
    dynamic_module = load_overrides(introspection_module)
  File "/usr/local/lib/python3.8/site-packages/gi/overrides/__init__.py", line 118, in load_overrides
    override_mod = importlib.import_module(override_package_name)
  File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "/usr/local/lib/python3.8/site-packages/gi/overrides/Gtk.py", line 168, in <module>
    class Container(Gtk.Container, Widget):
  File "/usr/local/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'

FreeBSD 12.2-RELEASE-p6
Nicotine+ 3.1.1

@mathiascode
Copy link
Member Author

You need PyGObject 3.40 or newer.

@mathiascode
Copy link
Member Author

Version requirements are now checked on startup (GTK >= 4.4.0 and PyGObject >= 3.40.0 is required).

@mathiascode
Copy link
Member Author

I'll close this for now, since the remaining issues are not exclusive to Nicotine+.

@francisuk1989
Copy link

francisuk1989 commented Feb 14, 2022

Just wanted to give a update on the situation, I'm running GTK 4.6.0 https://archlinux.org/packages/extra/x86_64/gtk4 via Manjaro (Arch based)

@mathiascode There is missing logo, Screenshot https://pasteboard.co/htxU1EVIevpa.png

[francis@ArchLinux nicotine-plus]$ NICOTINE_GTK_VERSION=4 ./nicotine
[2022-02-14 03:00:51] Loading GTK 4.6.0
[2022-02-14 03:00:52] Loading Python 3.10.2 (main, Jan 15 2022, 19:56:27) [GCC 11.1.0]
[2022-02-14 03:00:52] Loading Nicotine+ 3.2.2.dev1
[2022-02-14 03:00:52] Listening on port: 22342
[2022-02-14 03:00:52] Loading plugin system
[2022-02-14 03:00:52] You need to specify a username and password before connecting…
[2022-02-14 03:00:54] UPnP: Failed to forward external port 22342: UPnP is not available on this network
[2022-02-14 03:05:19] Connecting to server
**(org.nicotine_plus.Nicotine:35112): Gtk-WARNING : 03:05:19.501: GtkGizmo 0x55eb35a56640 (progress) reported min width -2, but sizes must be >= 0
[2022-02-14 03:05:19] Rescanning shares…
[2022-02-14 03:05:19] 0 folders found before rescan, rebuilding…
[2022-02-14 03:05:19] Connected to server server, logging in…
[2022-02-14 03:05:20] 1853 privileged users
[2022-02-14 03:05:20] You have no privileges. Privileges are not required, but allow your downloads to be queued ahead of non-privileged users.

**(org.nicotine_plus.Nicotine:35112): Gtk-WARNING **: 03:05:26.253: Broken accounting of active state for widget 0x55eb3783ee40(GtkPopoverContent)

(org.nicotine_plus.Nicotine:35112): Gtk-WARNING **: 03:05:26.253: Broken accounting of active state for widget 0x55eb37a2a6a0(GtkPopoverMenu)
[2022-02-14 03:05:35] Rescan complete: 166 folders found

(org.nicotine_plus.Nicotine:35112): Gtk-WARNING **: 03:05:35.698: Broken accounting of active state for widget 0x55eb3783ee40(GtkPopoverContent)

(org.nicotine_plus.Nicotine:35112): Gtk-WARNING **: 03:05:35.698: Broken accounting of active state for widget 0x55eb37a2a6a0(GtkPopoverMenu)

(org.nicotine_plus.Nicotine:35112): Gtk-WARNING **: 03:05:37.615: Broken accounting of active state for widget 0x55eb37427430(GtkPopoverContent)

(org.nicotine_plus.Nicotine:35112): Gtk-WARNING **: 03:05:37.615: Broken accounting of active state for widget 0x55eb37a2a460(GtkPopoverMenu)

(org.nicotine_plus.Nicotine:35555): Gtk-WARNING **: 03:10:56.046: GtkGizmo 0x5582df161670 (progress) reported min width -2, but sizes must be >=

(org.nicotine_plus.Nicotine:35555): Gtk-CRITICAL **: 03:27:44.904: gtk_widget_measure: assertion 'for_size >= -1' failed

(org.nicotine_plus.Nicotine:35555): Gtk-WARNING **: 03:27:44.904: gtk_widget_size_allocate(): attempt to allocate GtkImage image 0x5582deec4f80 with width -2 and height -1

(org.nicotine_plus.Nicotine:35555): Gtk-CRITICAL **: 03:27:44.905: gtk_widget_measure: assertion 'for_size >= -1' failed

(org.nicotine_plus.Nicotine:35555): Gtk-WARNING **: 03:27:44.905: gtk_widget_size_allocate(): attempt to allocate GtkImage image 0x5582df0972e0 with width -2 and height 0

(org.nicotine_plus.Nicotine:35555): Gtk-WARNING **: 03:28:44.746: GtkGizmo 0x5582e19c19a0 (progress) reported min width -2, but sizes must be >= 0

(org.nicotine_plus.Nicotine:35555): Gtk-WARNING **: 03:36:56.307: Broken accounting of active state for widget 0x5582e15d26b0(GtkPopoverMenu)

(org.nicotine_plus.Nicotine:35555): Gtk-WARNING **: 03:40:41.049: GtkGizmo 0x5582e3404b30 (progress) reported min width -2, but sizes must be >= 0

@mathiascode
Copy link
Member Author

@francisuk1989 I've seen the issue with missing icons on someone else's system too. Unfortunately, we can't control this in Nicotine+, something on your system causes GTK 4 to not set an icon theme.

Regarding the other warnings, do you remember what you did for them to appear? Was this a longer session where you opened many context menus?

@mathiascode mathiascode reopened this Apr 29, 2022
@mathiascode mathiascode changed the title To-do list for GTK 4 List of GTK 4 regressions Apr 29, 2022
@mathiascode mathiascode pinned this issue Apr 29, 2022
@mathiascode
Copy link
Member Author

Closing in favor of #2014

@mathiascode mathiascode unpinned this issue May 6, 2022
@mathiascode mathiascode added this to the 3.3.0 milestone Jan 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants