Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.12.0 Beta 4
-
None
-
-
09b6fcf3ec501cb94d89833745264a16c2a74209 (qt/qtwayland/5.12)
Description
Somewhat convoluted way to reproduce, will update if I find a simpler way:
1. Open qtcreator on a wlroots-based compositor
2. Type something that will both autocomplete and give a tooltip.
3. Press escape to close the suggestion
The parent (suggestion) is destroyed before the child (tooltip) leading to a protocol error.
Jira refuses to upload the log, so heres it is filtered to show only xdg output:
~/d/q/b/d/qtwayland cat qtcreator-popup-error.log | ag xdg [927132.608] wl_registry@2.global(10, "zxdg_output_manager_v1", 2) [927132.618] -> wl_registry@2.bind(10, "zxdg_output_manager_v1", 1, new id [unknown]@8) [927132.660] wl_registry@2.global(14, "zxdg_shell_v6", 1) [927132.668] wl_registry@2.global(15, "xdg_wm_base", 2) [927132.685] wl_registry@2.global(17, "zxdg_decoration_manager_v1", 1) [927132.802] -> zxdg_output_manager_v1@8.get_xdg_output(new id zxdg_output_v1@13, wl_output@12) [927132.835] -> zxdg_output_manager_v1@8.get_xdg_output(new id zxdg_output_v1@16, wl_output@15) [927132.867] -> zxdg_output_manager_v1@8.get_xdg_output(new id zxdg_output_v1@19, wl_output@18) [927133.314] zxdg_output_v1@13.logical_position(0, 0) [927133.321] zxdg_output_v1@13.logical_size(1200, 1920) [927133.327] zxdg_output_v1@13.done() [927133.661] zxdg_output_v1@16.logical_position(3120, 500) [927133.667] zxdg_output_v1@16.logical_size(1920, 1080) [927133.673] zxdg_output_v1@16.done() [927134.098] zxdg_output_v1@19.logical_position(1200, 500) [927134.104] zxdg_output_v1@19.logical_size(1920, 1080) [927134.110] zxdg_output_v1@19.done() [927143.928] wl_registry@20.global(10, "zxdg_output_manager_v1", 2) [927143.961] wl_registry@20.global(14, "zxdg_shell_v6", 1) [927143.969] wl_registry@20.global(15, "xdg_wm_base", 2) [927143.986] wl_registry@20.global(17, "zxdg_decoration_manager_v1", 1) [928943.801] -> wl_registry@2.bind(15, "xdg_wm_base", 1, new id [unknown]@28) [928943.849] -> wl_registry@2.bind(17, "zxdg_decoration_manager_v1", 1, new id [unknown]@29) Using the 'xdg-shell' shell integration [928943.896] -> xdg_wm_base@28.get_xdg_surface(new id xdg_surface@30, wl_surface@25) [928943.914] -> xdg_surface@30.get_toplevel(new id xdg_toplevel@31) [928943.927] -> zxdg_decoration_manager_v1@29.get_toplevel_decoration(new id zxdg_toplevel_decoration_v1@32, xdg_toplevel@31) [928943.939] -> xdg_toplevel@31.set_maximized() [928943.945] -> zxdg_toplevel_decoration_v1@32.unset_mode() [928943.953] -> xdg_toplevel@31.set_title("Qt Creator") [928943.965] -> xdg_toplevel@31.set_app_id("qtcreator") [928943.980] -> zxdg_toplevel_decoration_v1@32.unset_mode() [928943.987] -> xdg_toplevel@31.set_maximized() [928987.623] xdg_wm_base@28.ping(21642) [928987.630] -> xdg_wm_base@28.pong(21642) [928987.640] xdg_toplevel@31.configure(0, 0, array) [928987.660] xdg_surface@30.configure(21641) [928987.676] -> xdg_surface@30.set_window_geometry(0, 0, 956, 1015) [928987.687] -> xdg_surface@30.ack_configure(21641) [930092.423] -> xdg_toplevel@31.set_title("qt-dev - Qt Creator") [930274.901] xdg_toplevel@31.configure(1916, 907, array) [930274.912] xdg_surface@30.configure(21643) [930275.315] -> xdg_surface@30.set_window_geometry(0, 0, 1916, 907) [930275.328] -> xdg_surface@30.ack_configure(21643) [930383.516] -> xdg_toplevel@31.set_title("[viewporter-12] - qt-dev - Qt Creator") [931117.336] -> xdg_toplevel@31.set_title("qt-dev - Qt Creator") [937026.126] -> xdg_toplevel@31.set_title("qwaylandwpviewporter.cpp (src/compositor/extensions @ qtwayland) [viewporter-12] - qt-dev - Qt Creator") [964212.763] -> xdg_wm_base@28.get_xdg_surface(new id xdg_surface@17, wl_surface@42) [964212.775] -> xdg_wm_base@28.create_positioner(new id xdg_positioner@24) [964212.783] -> xdg_positioner@24.set_anchor_rect(860, 295, 1, 1) [964212.795] -> xdg_positioner@24.set_anchor(5) [964212.800] -> xdg_positioner@24.set_gravity(8) [964212.804] -> xdg_positioner@24.set_size(104, 21) [964212.812] -> xdg_surface@17.get_popup(new id xdg_popup@45, xdg_surface@30, xdg_positioner@24) [964212.824] -> xdg_positioner@24.destroy() [964212.831] -> xdg_popup@45.grab(wl_seat@10, 21672) [964222.358] xdg_popup@45.configure(860, 295, 104, 21) [964222.370] xdg_surface@17.configure(21676) [964222.376] -> xdg_surface@17.ack_configure(21676) [964449.717] -> xdg_wm_base@28.get_xdg_surface(new id xdg_surface@48, wl_surface@47) [964449.733] -> xdg_wm_base@28.create_positioner(new id xdg_positioner@49) [964449.742] -> xdg_positioner@49.set_anchor_rect(106, 1, 1, 1) [964449.754] -> xdg_positioner@49.set_anchor(5) [964449.759] -> xdg_positioner@49.set_gravity(8) [964449.764] -> xdg_positioner@49.set_size(128, 21) [964449.773] -> xdg_surface@48.get_popup(new id xdg_popup@50, xdg_surface@17, xdg_positioner@49) [964449.784] -> xdg_positioner@49.destroy() [964453.397] xdg_popup@50.configure(106, 1, 128, 21) [964453.409] xdg_surface@48.configure(21681) [964453.415] -> xdg_surface@48.ack_configure(21681) [965641.740] -> xdg_popup@45.destroy() [965641.754] -> xdg_surface@17.destroy() [965641.791] -> xdg_popup@50.destroy() [965641.798] -> xdg_surface@48.destroy() [965658.030] wl_display@1.error(xdg_wm_base@28, 2, "xdg_popup was destroyed while it was not the topmost popup") xdg_wm_base@28: error 2: xdg_popup was destroyed while it was not the topmost popup