lag leading to a UI freeze when creating widgets (GtkPopoverMenu/GtkMenuButton) with a GMenuModel generated dynamically a few times
Steps to reproduce
- right click to create a popover
The code that does this is this, given a GMenu menu and a GtkWidget widget:
GtkPopoverMenu * popover_menu =
GTK_POPOVER_MENU (
gtk_popover_menu_new_from_model (
G_MENU_MODEL (menu)));
gtk_widget_set_parent (
GTK_WIDGET (popover_menu), widget);
gtk_popover_set_pointing_to (
GTK_POPOVER (popover_menu),
&Z_GDK_RECTANGLE_INIT_UNIT ((int) x, (int) y));
gtk_popover_popup (
GTK_POPOVER (popover_menu));
- click somewhere else to make the popover go away
- right click again to show the popover
- click somewhere else to make the popover go away
- repeat a couple more times -> app freezes
Current behavior
App freezes
Expected outcome
No freeze
Version information
Latest master as of now
Additional information
Note that my GMenu model is created dynamically every time you right click.
Here is what gdb says if I ctrl-C and check the backtrace:
^C
Thread 1 "zrythm" received signal SIGINT, Interrupt.
0x00007ffff7204319 in g_menu_item_get_attribute_value () from /usr/lib/libgio-2.0.so.0
(gdb) bt
#0 0x00007ffff7204319 in g_menu_item_get_attribute_value () at /usr/lib/libgio-2.0.so.0
#1 0x00007ffff7ab45cc in gtk_menu_tracker_item_action_added (observer=0x5555831cea40, observable=0x555583403710, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkmenutrackeritem.c:306
#2 0x00007ffff7a44757 in gtk_action_observer_action_added (observer=0x5555831cea40, observable=0x555583403710, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionobserver.c:80
#3 0x00007ffff7a41cc6 in gtk_action_muxer_action_added (muxer=0x555583403710, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:509
#4 0x00007ffff7a4371e in gtk_action_muxer_observer_action_added (observer=0x555583403710, observable=0x5555834da100, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:1142
#5 0x00007ffff7a44757 in gtk_action_observer_action_added (observer=0x555583403710, observable=0x5555834da100, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionobserver.c:80
#6 0x00007ffff7a41cc6 in gtk_action_muxer_action_added (muxer=0x5555834da100, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:509
#7 0x00007ffff7a4371e in gtk_action_muxer_observer_action_added (observer=0x5555834da100, observable=0x5555834d8d40, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:1142
#8 0x00007ffff7a44757 in gtk_action_observer_action_added (observer=0x5555834da100, observable=0x5555834d8d40, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionobserver.c:80
#9 0x00007ffff7a41cc6 in gtk_action_muxer_action_added (muxer=0x5555834d8d40, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:509
#10 0x00007ffff7a4371e in gtk_action_muxer_observer_action_added (observer=0x5555834d8d40, observable=0x555583d61420, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:1142
#11 0x00007ffff7a44757 in gtk_action_observer_action_added (observer=0x5555834d8d40, observable=0x555583d61420, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionobserver.c:80
#12 0x00007ffff7a41cc6 in gtk_action_muxer_action_added (muxer=0x555583d61420, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:509
#13 0x00007ffff7a4371e in gtk_action_muxer_observer_action_added (observer=0x555583d61420, observable=0x555583afa3a0, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:1142
#14 0x00007ffff7a44757 in gtk_action_observer_action_added (observer=0x555583d61420, observable=0x555583afa3a0, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionobserver.c:80
#15 0x00007ffff7a41cc6 in gtk_action_muxer_action_added (muxer=0x555583afa3a0, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:509
#16 0x00007ffff7a4371e in gtk_action_muxer_observer_action_added (observer=0x555583afa3a0, observable=0x555583cad3c0, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:1142
#17 0x00007ffff7a44757 in gtk_action_observer_action_added (observer=0x555583afa3a0, observable=0x555583cad3c0, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionobserver.c:80
#18 0x00007ffff7a41cc6 in gtk_action_muxer_action_added (muxer=0x555583cad3c0, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:509
#19 0x00007ffff7a4371e in gtk_action_muxer_observer_action_added (observer=0x555583cad3c0, observable=0x555583cad140, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:1142
#20 0x00007ffff7a44757 in gtk_action_observer_action_added (observer=0x555583cad3c0, observable=0x555583cad140, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionobserver.c:80
#21 0x00007ffff7a41cc6 in gtk_action_muxer_action_added (muxer=0x555583cad140, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:509
#22 0x00007ffff7a4371e in gtk_action_muxer_observer_action_added (observer=0x555583cad140, observable=0x555583bfe610, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:1142
#23 0x00007ffff7a44757 in gtk_action_observer_action_added (observer=0x555583cad140, observable=0x555583bfe610, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionobserver.c:80
#24 0x00007ffff7a41cc6 in gtk_action_muxer_action_added (muxer=0x555583bfe610, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:509
#25 0x00007ffff7a4371e in gtk_action_muxer_observer_action_added (observer=0x555583bfe610, observable=0x555583bfe490, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:1142
#26 0x00007ffff7a44757 in gtk_action_observer_action_added (observer=0x555583bfe610, observable=0x555583bfe490, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
at ../subprojects/gtk-master/gtk/gtkactionobserver.c:80
#27 0x00007ffff7a41cc6 in gtk_action_muxer_action_added (muxer=0x555583bfe490, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:509
#28 0x00007ffff7a4371e in gtk_action_muxer_observer_action_added (observer=0x555583bfe490, observable=0x5555839c38b0, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0)
--Type <RET> for more, q to quit, c to continue without paging--c
at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:1142
#29 0x00007ffff7a44757 in gtk_action_observer_action_added (observer=0x555583bfe490, observable=0x5555839c38b0, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionobserver.c:80
#30 0x00007ffff7a41cc6 in gtk_action_muxer_action_added (muxer=0x5555839c38b0, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:509
#31 0x00007ffff7a4371e in gtk_action_muxer_observer_action_added (observer=0x5555839c38b0, observable=0x5555837d4500, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:1142
#32 0x00007ffff7a44757 in gtk_action_observer_action_added (observer=0x5555839c38b0, observable=0x5555837d4500, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionobserver.c:80
#33 0x00007ffff7a41cc6 in gtk_action_muxer_action_added (muxer=0x5555837d4500, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:509
#34 0x00007ffff7a4371e in gtk_action_muxer_observer_action_added (observer=0x5555837d4500, observable=0x555556ed5140, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:1142
#35 0x00007ffff7a44757 in gtk_action_observer_action_added (observer=0x5555837d4500, observable=0x555556ed5140, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionobserver.c:80
#36 0x00007ffff7a41cc6 in gtk_action_muxer_action_added (muxer=0x555556ed5140, action_name=0x5555871cb370 "app.create-audio-group-track", parameter_type=0x0, enabled=1, state=0x0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:509
#37 0x00007ffff7a42fae in gtk_action_muxer_register_observer (observable=0x555556ed5140, name=0x5555871cb370 "app.create-audio-group-track", observer=0x5555837d4500) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:971
#38 0x00007ffff7a444ae in gtk_action_observable_register_observer (observable=0x555556ed5140, action_name=0x5555871cb370 "app.create-audio-group-track", observer=0x5555837d4500) at ../subprojects/gtk-master/gtk/gtkactionobservable.c:47
#39 0x00007ffff7a43036 in gtk_action_muxer_register_observer (observable=0x5555837d4500, name=0x5555871cb370 "app.create-audio-group-track", observer=0x5555839c38b0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:977
#40 0x00007ffff7a444ae in gtk_action_observable_register_observer (observable=0x5555837d4500, action_name=0x5555871cb370 "app.create-audio-group-track", observer=0x5555839c38b0) at ../subprojects/gtk-master/gtk/gtkactionobservable.c:47
#41 0x00007ffff7a43036 in gtk_action_muxer_register_observer (observable=0x5555839c38b0, name=0x5555871cb370 "app.create-audio-group-track", observer=0x555583bfe490) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:977
#42 0x00007ffff7a444ae in gtk_action_observable_register_observer (observable=0x5555839c38b0, action_name=0x5555871cb370 "app.create-audio-group-track", observer=0x555583bfe490) at ../subprojects/gtk-master/gtk/gtkactionobservable.c:47
#43 0x00007ffff7a43036 in gtk_action_muxer_register_observer (observable=0x555583bfe490, name=0x5555871cb370 "app.create-audio-group-track", observer=0x555583bfe610) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:977
#44 0x00007ffff7a444ae in gtk_action_observable_register_observer (observable=0x555583bfe490, action_name=0x5555871cb370 "app.create-audio-group-track", observer=0x555583bfe610) at ../subprojects/gtk-master/gtk/gtkactionobservable.c:47
#45 0x00007ffff7a43036 in gtk_action_muxer_register_observer (observable=0x555583bfe610, name=0x5555871cb370 "app.create-audio-group-track", observer=0x555583cad140) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:977
#46 0x00007ffff7a444ae in gtk_action_observable_register_observer (observable=0x555583bfe610, action_name=0x5555871cb370 "app.create-audio-group-track", observer=0x555583cad140) at ../subprojects/gtk-master/gtk/gtkactionobservable.c:47
#47 0x00007ffff7a43036 in gtk_action_muxer_register_observer (observable=0x555583cad140, name=0x5555871cb370 "app.create-audio-group-track", observer=0x555583cad3c0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:977
#48 0x00007ffff7a444ae in gtk_action_observable_register_observer (observable=0x555583cad140, action_name=0x5555871cb370 "app.create-audio-group-track", observer=0x555583cad3c0) at ../subprojects/gtk-master/gtk/gtkactionobservable.c:47
#49 0x00007ffff7a43036 in gtk_action_muxer_register_observer (observable=0x555583cad3c0, name=0x5555871cb370 "app.create-audio-group-track", observer=0x555583afa3a0) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:977
#50 0x00007ffff7a444ae in gtk_action_observable_register_observer (observable=0x555583cad3c0, action_name=0x5555871cb370 "app.create-audio-group-track", observer=0x555583afa3a0) at ../subprojects/gtk-master/gtk/gtkactionobservable.c:47
#51 0x00007ffff7a43036 in gtk_action_muxer_register_observer (observable=0x555583afa3a0, name=0x5555871cb370 "app.create-audio-group-track", observer=0x555583d61420) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:977
#52 0x00007ffff7a444ae in gtk_action_observable_register_observer (observable=0x555583afa3a0, action_name=0x5555871cb370 "app.create-audio-group-track", observer=0x555583d61420) at ../subprojects/gtk-master/gtk/gtkactionobservable.c:47
#53 0x00007ffff7a43036 in gtk_action_muxer_register_observer (observable=0x555583d61420, name=0x5555871cb370 "app.create-audio-group-track", observer=0x555584ad0b10) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:977
#54 0x00007ffff7a444ae in gtk_action_observable_register_observer (observable=0x555583d61420, action_name=0x5555871cb370 "app.create-audio-group-track", observer=0x555584ad0b10) at ../subprojects/gtk-master/gtk/gtkactionobservable.c:47
#55 0x00007ffff7a41a14 in notify_observers_added (muxer=0x555584ad0b10, parent=0x555583d61420) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:450
#56 0x00007ffff7a43fde in gtk_action_muxer_set_parent (muxer=0x555584ad0b10, parent=0x555583d61420) at ../subprojects/gtk-master/gtk/gtkactionmuxer.c:1382
#57 0x00007ffff7a1d244 in _gtk_widget_update_parent_muxer (widget=0x555583b17420) at ../subprojects/gtk-master/gtk/gtkwidget.c:10822
#58 0x00007ffff7a12915 in gtk_widget_reposition_after (widget=0x555583b17420, parent=0x555583cb0d10, previous_sibling=0x555583b171e0) at ../subprojects/gtk-master/gtk/gtkwidget.c:6064
#59 0x00007ffff7a12c54 in gtk_widget_set_parent (widget=0x555583b17420, parent=0x555583cb0d10) at ../subprojects/gtk-master/gtk/gtkwidget.c:6139
#60 0x0000555555f75200 in z_gtk_show_context_menu_from_g_menu(GtkWidget*, double, double, GMenu*) (widget=0x555583cb0d10, x=30.000001907348633, y=87.000007629394531, menu=0x5555834c9790) at ../src/utils/gtk.c:1853
#61 0x000055555604d0b6 in show_context_menu(DragDestBoxWidget*, double, double) (self=0x555583cb0d10, x=30.000001907348633, y=87.000007629394531) at ../src/gui/widgets/drag_dest_box.c:513
#62 0x000055555604d10e in on_right_click(GtkGestureClick*, gint, gdouble, gdouble, gpointer) (gesture=0x555583d66b20, n_press=1, x=30.000001907348633, y=87.000007629394531, user_data=0x555583cb0d10) at ../src/gui/widgets/drag_dest_box.c:530
#63 0x00007ffff76e4499 in _gtk_marshal_VOID__INT_DOUBLE_DOUBLEv (closure=0x555583c22ed0, return_value=0x0, instance=0x555583d66b20, args=0x7fffffffcb70, marshal_data=0x0, n_params=3, param_types=0x55558283df60) at subprojects/gtk-master/gtk/gtkmarshalers.c:5445
#64 0x00007ffff73201c0 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#65 0x00007ffff7320330 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#66 0x00007ffff7815fbb in gtk_gesture_click_begin (gesture=0x555583d66b20, sequence=0x0) at ../subprojects/gtk-master/gtk/gtkgestureclick.c:231
#67 0x00007ffff73074ac in g_cclosure_marshal_VOID__BOXEDv () at /usr/lib/libgobject-2.0.so.0
#68 0x00007ffff73201c0 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#69 0x00007ffff7320330 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#70 0x00007ffff781142a in _gtk_gesture_set_recognized (gesture=0x555583d66b20, recognized=1, sequence=0x0) at ../subprojects/gtk-master/gtk/gtkgesture.c:337
#71 0x00007ffff78115a2 in _gtk_gesture_check_recognized (gesture=0x555583d66b20, sequence=0x0) at ../subprojects/gtk-master/gtk/gtkgesture.c:383
#72 0x00007ffff7811de9 in gtk_gesture_handle_event (controller=0x555583d66b20, event=0x555583191990, x=30.000001907348633, y=87.000007629394531) at ../subprojects/gtk-master/gtk/gtkgesture.c:648
#73 0x00007ffff78182da in gtk_gesture_single_handle_event (controller=0x555583d66b20, event=0x555583191990, x=30.000001907348633, y=87.000007629394531) at ../subprojects/gtk-master/gtk/gtkgesturesingle.c:227
#74 0x00007ffff78163ed in gtk_gesture_click_handle_event (controller=0x555583d66b20, event=0x555583191990, x=30.000001907348633, y=87.000007629394531) at ../subprojects/gtk-master/gtk/gtkgestureclick.c:324
#75 0x00007ffff77cf29e in gtk_event_controller_handle_event (controller=0x555583d66b20, event=0x555583191990, target=0x555583cb0d10, x=30.000001907348633, y=87.000007629394531) at ../subprojects/gtk-master/gtk/gtkeventcontroller.c:369
#76 0x00007ffff7a0f870 in gtk_widget_run_controllers (widget=0x555583cb0d10, event=0x555583191990, target=0x555583cb0d10, x=30.000001907348633, y=87.000007629394531, phase=GTK_PHASE_BUBBLE) at ../subprojects/gtk-master/gtk/gtkwidget.c:4569
#77 0x00007ffff7a0ff29 in gtk_widget_event (widget=0x555583cb0d10, event=0x555583191990, target=0x555583cb0d10) at ../subprojects/gtk-master/gtk/gtkwidget.c:4763
#78 0x00007ffff788142b in gtk_propagate_event_internal (widget=0x555583cb0d10, event=0x555583191990, topmost=0x0) at ../subprojects/gtk-master/gtk/gtkmain.c:1898
#79 0x00007ffff78815cf in gtk_propagate_event (widget=0x555583cb0d10, event=0x555583191990) at ../subprojects/gtk-master/gtk/gtkmain.c:1948
#80 0x00007ffff7880d33 in gtk_main_do_event (event=0x555583191990) at ../subprojects/gtk-master/gtk/gtkmain.c:1640
#81 0x00007ffff7a2e85b in surface_event (surface=0x5555848477f0, event=0x555583191990, widget=0x55558389e290) at ../subprojects/gtk-master/gtk/gtkwindow.c:4735
#82 0x00007ffff7b74cf2 in _gdk_marshal_BOOLEAN__POINTER (closure=0x5555833fccd0, return_value=0x7fffffffd6e0, n_param_values=2, param_values=0x7fffffffd740, invocation_hint=0x7fffffffd6c0, marshal_data=0x0) at subprojects/gtk-master/gdk/gdkmarshalers.c:258
#83 0x00007ffff7bb2e93 in gdk_surface_event_marshaller (closure=0x5555833fccd0, return_value=0x7fffffffd6e0, n_param_values=2, param_values=0x7fffffffd740, invocation_hint=0x7fffffffd6c0, marshal_data=0x0) at ../subprojects/gtk-master/gdk/gdksurface.c:435
#84 0x00007ffff7302d8f in g_closure_invoke () at /usr/lib/libgobject-2.0.so.0
#85 0x00007ffff731e718 in () at /usr/lib/libgobject-2.0.so.0
#86 0x00007ffff731f40b in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#87 0x00007ffff7320330 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#88 0x00007ffff7bb7f55 in gdk_surface_handle_event (event=0x555583191990) at ../subprojects/gtk-master/gdk/gdksurface.c:2948
#89 0x00007ffff7b931a4 in _gdk_event_emit (event=0x555583191990) at ../subprojects/gtk-master/gdk/gdkevents.c:490
#90 0x00007ffff7c1c982 in gdk_event_source_dispatch (source=0x55558273b8a0, callback=0x0, user_data=0x0) at ../subprojects/gtk-master/gdk/x11/gdkeventsource.c:425
#91 0x00007ffff73a04dc in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#92 0x00007ffff73f4749 in () at /usr/lib/libglib-2.0.so.0
#93 0x00007ffff739dbc1 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#94 0x00007ffff72072ee in g_application_run () at /usr/lib/libgio-2.0.so.0
#95 0x0000555555e829fc in main(int, char**) (argc=2, argv=0x7fffffffdd08) at ../src/main.c:42
the popover is generated in this function using the code mentioned above: #60 0x0000555555f75200 in z_gtk_show_context_menu_from_g_menu(GtkWidget*, double, double, GMenu*)
Edited by alex-tee