nheko
nheko copied to clipboard
context menu works only once
Describe the bug
The context menu only works once after starting nheko. Subsequent right-clicks on any message don't produce a context menu again.
To Reproduce
Steps to reproduce the behavior:
- right click a message
- dismiss the context menu (this actually needs to be closed as a separate window from the task bar)
- try to open the context menu again
- ... nothing happens

Expected behavior
Functioning context menu.
System:
- Nheko version: 0.8.2-ab0baf5d | Linux
- Profile used: yes
- Installation method: nheko-git from aur
- Operating System: Arch
- Qt version: current arch version
- C++ compiler: same
- Desktop Environment: gnome3 v40 (but this was happening on v3.38 as well)
The system is using a wayland session but nheko is running on XWayland (becasue QT needs an extra override for it not to. Also it's more buggy on native wayland.)
Logs
none that seem related.
Are you using a multi-monitor setup, or single-monitor? I've seen this issue on X11 in multi-monitor setups, but not in single-monitor setups. If you're on multiple, could you try and verify if the problem also occurs on single-monitor on Wayland?
I'm always on a single monitor. (And as noted above this is on Xwayland, I don't think this was happening on native wayland but other bugs made the app far less usable there.)
I have to say though that I haven't used nheko in the last ~2 months.
Thanks for the info! Sounds like running under Xwayland might trigger X's multi-monitor bug even on single monitor setups. 🤔 May have to split this out into two separate issues. I'm going to look into it a bit more and then figure out what the best course of action is.
Menus opening only once or as a window should be fixed by https://codereview.qt-project.org/c/qt/qtbase/+/385262 in Qt6. The other bug is still not fixed.
Which other bug?
That the menu gets positioned wrong :D
Can you check, if you can open menus multiple times now? It should be fixed on master now, I hope, although they will still get positioned wrong (i.e. offset by the scaling).
I can try on the weekend... If I don't forget :).
On January 31, 2022 3:31:59 PM GMT+01:00, "DeepBlueV7.X" @.***> wrote:
Can you check, if you can open menus multiple times now? It should be fixed on master now, I hope, although they will still get positioned wrong (i.e. offset by the scaling).
Experiencing the same bug with Wayland on Gnome 41.3.
Although the behavior I've noticed is slightly different than the one mentioned by @Bubu, i.e. when I try to open any subsequent context menu , etc....the app just freezes and force closes.

- nheko-version: nheko-git 0.9.1.r73.g1c83ce1e-1
- os: arch
Can you check, if you can open menus multiple times now? It should be fixed on master now, I hope, although they will still get positioned wrong (i.e. offset by the scaling).
@deepbluev7 that doesn't seems to be the case, still unable to open multiple menus...instead the app seems to just force close now.
Well, that's not great :D
Should I send logs?
A backtrace probably wouldn't hurt.
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
[2022-02-02 04:25:40.445] [ui] [info] Restoring window size 1066x845
[2022-02-02 04:25:40.505] [ui] [info] WebRTC: initialised GStreamer 1.18.5
[2022-02-02 04:25:40.606] [ui] [info] jdenticon plugin not found.
[2022-02-02 04:25:40.860] [ui] [info] starting nheko 0.9.1-c59bb675
[2022-02-02 04:25:41.011] [db] [info] database ready
[2022-02-02 04:25:41.012] [db] [info] restoring state from cache
[2022-02-02 04:25:41.012] [db] [info] Invalidating self verification status
<<removed some log here; Which I thought of to be related to account info>>
Gdk-Message: 04:25:52.577: Window 0x55adb10bb8a0 is a temporary window without parent, application will not be able to position it on screen.
(nheko:37692): Gdk-WARNING **: 04:25:52.577: Couldn't map as window 0x55adb10bb8a0 as popup because it doesn't have a parent
(nheko:37692): Gtk-CRITICAL **: 04:26:00.864: gtk_window_set_accept_focus: assertion 'GTK_IS_WINDOW (window)' failed
Error: signal 11:
nheko(+0x4600a1)[0x55adafe020a1]
/usr/lib/libpthread.so.0(+0x13870)[0x7ff74abb9870]
/usr/lib/libgtk-3.so.0(+0x1e5c8d)[0x7ff745ee6c8d]
/usr/lib/libgtk-3.so.0(+0x1e0b08)[0x7ff745ee1b08]
/usr/lib/libgtk-3.so.0(gtk_menu_popup+0x74)[0x7ff745ee2194]
/usr/lib/qt/plugins/platformthemes/libqgtk3.so(+0x12d9f)[0x7ff7464bed9f]
/usr/lib/qt/qml/Qt/labs/platform/libqtlabsplatformplugin.so(+0x28269)[0x7ff71417e269]
/usr/lib/qt/qml/Qt/labs/platform/libqtlabsplatformplugin.so(+0x2b553)[0x7ff714181553]
/usr/lib/libQt5Qml.so.5(+0x27cd16)[0x7ff74c94cd16]
/usr/lib/libQt5Qml.so.5(_ZNK3QV413QObjectMethod12callInternalEPKNS_5ValueES3_i+0x870)[0x7ff74c851340]
/usr/lib/libQt5Qml.so.5(_ZN3QV47Runtime28CallQmlContextPropertyLookup4callEPNS_15ExecutionEngineEjPNS_5ValueEi+0xa6)[0x7ff74c8762b6]
/usr/lib/libQt5Qml.so.5(+0x1910b2)[0x7ff74c8610b2]
/usr/lib/libQt5Qml.so.5(+0x194775)[0x7ff74c864775]
/usr/lib/libQt5Qml.so.5(+0x142108)[0x7ff74c812108]
/usr/lib/libQt5Qml.so.5(+0x190d6d)[0x7ff74c860d6d]
/usr/lib/libQt5Qml.so.5(+0x194775)[0x7ff74c864775]
/usr/lib/libQt5Qml.so.5(_ZN3QV48Function4callEPKNS_5ValueES3_iPKNS_16ExecutionContextE+0x16e)[0x7ff74c80646e]
/usr/lib/libQt5Qml.so.5(_ZN24QQmlJavaScriptExpression8evaluateEPN3QV48CallDataEPb+0x1f2)[0x7ff74c9648d2]
/usr/lib/libQt5Qml.so.5(_ZN25QQmlBoundSignalExpression8evaluateEPPv+0x383)[0x7ff74c91ec03]
/usr/lib/libQt5Qml.so.5(+0x2506bc)[0x7ff74c9206bc]
/usr/lib/libQt5Qml.so.5(_ZN12QQmlNotifier10emitNotifyEP20QQmlNotifierEndpointPPv+0x235)[0x7ff74c944485]
/usr/lib/libQt5Core.so.5(+0x2bc8ee)[0x7ff74b53d8ee]
/usr/lib/libQt5QuickTemplates2.so.5(_ZN27QQuickAbstractButtonPrivate13handleReleaseERK7QPointF+0xda)[0x7ff6cfaf491a]
/usr/lib/libQt5QuickTemplates2.so.5(_ZN13QQuickControl17mouseReleaseEventEP11QMouseEvent+0x19)[0x7ff6cfb0fa69]
/usr/lib/libQt5Quick.so.5(_ZN10QQuickItem5eventEP6QEvent+0x20b)[0x7ff74cd1a9db]
/usr/lib/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86)[0x7ff74c0f61a6]
/usr/lib/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x13a)[0x7ff74b50d16a]
/usr/lib/libQt5Quick.so.5(_ZN19QQuickWindowPrivate17deliverMouseEventEP23QQuickPointerMouseEvent+0x1d1)[0x7ff74cd290f1]
/usr/lib/libQt5Quick.so.5(_ZN19QQuickWindowPrivate19deliverPointerEventEP18QQuickPointerEvent+0x74)[0x7ff74cd29aa4]
/usr/lib/libQt5Gui.so.5(_ZN7QWindow5eventEP6QEvent+0x15d)[0x7ff74ba6224d]
/usr/lib/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86)[0x7ff74c0f61a6]
/usr/lib/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x13a)[0x7ff74b50d16a]
/usr/lib/libQt5QuickWidgets.so.5(_ZN12QQuickWidget17mouseReleaseEventEP11QMouseEvent+0x8e)[0x7ff74d4c0e1e]
/usr/lib/libQt5Widgets.so.5(_ZN7QWidget5eventEP6QEvent+0x896)[0x7ff74c12c616]
/usr/lib/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86)[0x7ff74c0f61a6]
/usr/lib/libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0xb67)[0x7ff74c0fafd7]
/usr/lib/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x13a)[0x7ff74b50d16a]
/usr/lib/libQt5Widgets.so.5(_ZN19QApplicationPrivate14sendMouseEventEP7QWidgetP11QMouseEventS1_S1_PS1_R8QPointerIS0_Ebb+0x1bf)[0x7ff74c0f999f]
/usr/lib/libQt5Widgets.so.5(+0x1cd7d7)[0x7ff74c14a7d7]
/usr/lib/libQt5Widgets.so.5(+0x1cf37c)[0x7ff74c14c37c]
/usr/lib/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86)[0x7ff74c0f61a6]
/usr/lib/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x13a)[0x7ff74b50d16a]
/usr/lib/libQt5Gui.so.5(_ZN22QGuiApplicationPrivate17processMouseEventEPN29QWindowSystemInterfacePrivate10MouseEventE+0x570)[0x7ff74ba52f40]
/usr/lib/libQt5Gui.so.5(_ZN22QWindowSystemInterface22sendWindowSystemEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0xb5)[0x7ff74ba3e5e5]
/usr/lib/libQt5XcbQpa.so.5(+0x63d90)[0x7ff746efbd90]
/usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x193)[0x7ff74afcbf13]
/usr/lib/libglib-2.0.so.0(+0xab0d9)[0x7ff74b0220d9]
/usr/lib/libglib-2.0.so.0(g_main_context_iteration+0x35)[0x7ff74afc9485]
/usr/lib/libQt5Core.so.5(_ZN20QEventDispatcherGlib13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0x6a)[0x7ff74b55844a]
/usr/lib/libQt5Core.so.5(_ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE+0x12b)[0x7ff74b50544b]
Error: signal 6:
nheko(+0x4600a1)[0x55adafe020a1]
/usr/lib/libc.so.6(+0x3cda0)[0x7ff74aa16da0]
/usr/lib/libpthread.so.0(raise+0x142)[0x7ff74abb9702]
nheko(+0x46015e)[0x55adafe0215e]
/usr/lib/libpthread.so.0(+0x13870)[0x7ff74abb9870]
/usr/lib/libgtk-3.so.0(+0x1e5c8d)[0x7ff745ee6c8d]
/usr/lib/libgtk-3.so.0(+0x1e0b08)[0x7ff745ee1b08]
/usr/lib/libgtk-3.so.0(gtk_menu_popup+0x74)[0x7ff745ee2194]
/usr/lib/qt/plugins/platformthemes/libqgtk3.so(+0x12d9f)[0x7ff7464bed9f]
/usr/lib/qt/qml/Qt/labs/platform/libqtlabsplatformplugin.so(+0x28269)[0x7ff71417e269]
/usr/lib/qt/qml/Qt/labs/platform/libqtlabsplatformplugin.so(+0x2b553)[0x7ff714181553]
/usr/lib/libQt5Qml.so.5(+0x27cd16)[0x7ff74c94cd16]
/usr/lib/libQt5Qml.so.5(_ZNK3QV413QObjectMethod12callInternalEPKNS_5ValueES3_i+0x870)[0x7ff74c851340]
/usr/lib/libQt5Qml.so.5(_ZN3QV47Runtime28CallQmlContextPropertyLookup4callEPNS_15ExecutionEngineEjPNS_5ValueEi+0xa6)[0x7ff74c8762b6]
/usr/lib/libQt5Qml.so.5(+0x1910b2)[0x7ff74c8610b2]
/usr/lib/libQt5Qml.so.5(+0x194775)[0x7ff74c864775]
/usr/lib/libQt5Qml.so.5(+0x142108)[0x7ff74c812108]
/usr/lib/libQt5Qml.so.5(+0x190d6d)[0x7ff74c860d6d]
/usr/lib/libQt5Qml.so.5(+0x194775)[0x7ff74c864775]
/usr/lib/libQt5Qml.so.5(_ZN3QV48Function4callEPKNS_5ValueES3_iPKNS_16ExecutionContextE+0x16e)[0x7ff74c80646e]
/usr/lib/libQt5Qml.so.5(_ZN24QQmlJavaScriptExpression8evaluateEPN3QV48CallDataEPb+0x1f2)[0x7ff74c9648d2]
/usr/lib/libQt5Qml.so.5(_ZN25QQmlBoundSignalExpression8evaluateEPPv+0x383)[0x7ff74c91ec03]
/usr/lib/libQt5Qml.so.5(+0x2506bc)[0x7ff74c9206bc]
/usr/lib/libQt5Qml.so.5(_ZN12QQmlNotifier10emitNotifyEP20QQmlNotifierEndpointPPv+0x235)[0x7ff74c944485]
/usr/lib/libQt5Core.so.5(+0x2bc8ee)[0x7ff74b53d8ee]
/usr/lib/libQt5QuickTemplates2.so.5(_ZN27QQuickAbstractButtonPrivate13handleReleaseERK7QPointF+0xda)[0x7ff6cfaf491a]
/usr/lib/libQt5QuickTemplates2.so.5(_ZN13QQuickControl17mouseReleaseEventEP11QMouseEvent+0x19)[0x7ff6cfb0fa69]
/usr/lib/libQt5Quick.so.5(_ZN10QQuickItem5eventEP6QEvent+0x20b)[0x7ff74cd1a9db]
/usr/lib/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86)[0x7ff74c0f61a6]
/usr/lib/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x13a)[0x7ff74b50d16a]
/usr/lib/libQt5Quick.so.5(_ZN19QQuickWindowPrivate17deliverMouseEventEP23QQuickPointerMouseEvent+0x1d1)[0x7ff74cd290f1]
/usr/lib/libQt5Quick.so.5(_ZN19QQuickWindowPrivate19deliverPointerEventEP18QQuickPointerEvent+0x74)[0x7ff74cd29aa4]
/usr/lib/libQt5Gui.so.5(_ZN7QWindow5eventEP6QEvent+0x15d)[0x7ff74ba6224d]
/usr/lib/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86)[0x7ff74c0f61a6]
/usr/lib/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x13a)[0x7ff74b50d16a]
/usr/lib/libQt5QuickWidgets.so.5(_ZN12QQuickWidget17mouseReleaseEventEP11QMouseEvent+0x8e)[0x7ff74d4c0e1e]
/usr/lib/libQt5Widgets.so.5(_ZN7QWidget5eventEP6QEvent+0x896)[0x7ff74c12c616]
/usr/lib/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86)[0x7ff74c0f61a6]
/usr/lib/libQt5Widgets.so.5(_ZN12QApplication6notifyEP7QObjectP6QEvent+0xb67)[0x7ff74c0fafd7]
/usr/lib/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x13a)[0x7ff74b50d16a]
/usr/lib/libQt5Widgets.so.5(_ZN19QApplicationPrivate14sendMouseEventEP7QWidgetP11QMouseEventS1_S1_PS1_R8QPointerIS0_Ebb+0x1bf)[0x7ff74c0f999f]
/usr/lib/libQt5Widgets.so.5(+0x1cd7d7)[0x7ff74c14a7d7]
/usr/lib/libQt5Widgets.so.5(+0x1cf37c)[0x7ff74c14c37c]
/usr/lib/libQt5Widgets.so.5(_ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent+0x86)[0x7ff74c0f61a6]
/usr/lib/libQt5Core.so.5(_ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent+0x13a)[0x7ff74b50d16a]
/usr/lib/libQt5Gui.so.5(_ZN22QGuiApplicationPrivate17processMouseEventEPN29QWindowSystemInterfacePrivate10MouseEventE+0x570)[0x7ff74ba52f40]
/usr/lib/libQt5Gui.so.5(_ZN22QWindowSystemInterface22sendWindowSystemEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE+0xb5)[0x7ff74ba3e5e5]
/usr/lib/libQt5XcbQpa.so.5(+0x63d90)[0x7ff746efbd90]
/usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x193)[0x7ff74afcbf13]
/usr/lib/libglib-2.0.so.0(+0xab0d9)[0x7ff74b0220d9]
Aborted (core dumped)
Ah, I see, I think that needs to be fixed in Qt still then.
Should be fixed on the master branch. Please reopen, if it is not :D