Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.15.7
-
None
-
-
487de47277 (qt/qtwayland/dev) 9b9effe175 (qt/qtwayland/6.3) 9b9effe175 (qt/tqtc-qtwayland/6.3) 487de47277 (qt/tqtc-qtwayland/dev) 1d7b2acac9 (qt/tqtc-qtwayland/6.2) 9b9effe175 (qt/qtwayland/6.3.1) 9b9effe175 (qt/tqtc-qtwayland/6.3.1)
Description
This was originally reported against OBS Studio: https://github.com/obsproject/obs-studio/issues/6227
Seems like qt-wayland is, in some circumstances, sending invalid min / max sizes through the wire, where any one of the min sizes is bigger than the corresponding max size. Have a look:
[ 718440.740] -> xdg_toplevel@48.set_app_id("com.obsproject.Studio") [ 718441.113] -> wl_surface@42.set_buffer_scale(1) [ 718441.484] -> wl_surface@42.set_buffer_transform(0) [ 718441.804] -> wl_surface@42.commit() [ 718442.070] -> wl_compositor@4.create_region(new id wl_region@49) [ 718442.487] -> wl_region@49.add(3, 30, 616, 712) [ 718443.011] -> wl_surface@42.set_opaque_region(wl_region@49) [ 718443.388] -> wl_region@49.destroy() [ 718444.213] wl_buffer@32.release() [ 718445.252] -> xdg_toplevel@48.set_min_size(562, 738) [ 718445.781] -> xdg_toplevel@48.set_max_size(720, 880) [ 718446.180] -> wl_surface@42.commit() [ 718446.497] -> wl_compositor@4.create_region(new id wl_region@50) [ 718446.906] -> wl_region@50.add(3, 30, 616, 738) [ 718447.396] -> wl_surface@42.set_opaque_region(wl_region@50) [ 718447.752] -> wl_region@50.destroy() ... [ 719721.243] wl_pointer@3.frame() [ 719722.174] -> xdg_toplevel@48.set_min_size(746, 738) [ 719722.386] -> xdg_toplevel@48.set_max_size(720, 880) [ 719722.567] -> wl_surface@42.commit() [ 719722.716] -> xdg_surface@47.set_window_geometry(0, 0, 752, 771) [ 719722.962] -> wl_compositor@4.create_region(new id wl_region@54) [ 719723.156] -> wl_region@54.add(3, 30, 746, 738) [ 719723.414] -> wl_surface@42.set_opaque_region(wl_region@54) [ 719723.594] -> wl_region@54.destroy() [ 719723.753] wl_buffer@34.release() [ 719723.980] wl_callback@49.done(3395) [ 719724.247] -> wl_shm_pool@52.destroy() [ 719724.455] -> wl_buffer@53.destroy() [ 719724.678] -> wl_surface@25.attach(wl_buffer@34, 0, 0) [ 719724.975] -> wl_surface@25.damage(0, 0, 2147483647, 2147483647) [ 719725.222] -> wl_shm_pool@46.destroy() [ 719725.449] -> wl_buffer@51.destroy() [ 719725.690] -> wl_surface@25.commit() [ 719725.932] -> wl_display@1.sync(new id wl_callback@49) [ 719726.198] -> wl_shm@5.create_pool(new id wl_shm_pool@50, fd 45, 2319168) [ 719726.818] -> wl_shm_pool@50.create_buffer(new id wl_buffer@55, 0, 752, 771, 3008, 0) [ 719728.263] wl_display@1.error(wl_surface@42, 4, "Invalid min/max size")
Attachments
Issue Links
- relates to
-
QTBUG-103391 crash on start: The Wayland connection experienced a fatal error: Protocol error
-
- Closed
-
-
QTBUG-113233 Need a way atomically adjust QWindow minimum and maximum sizes
-
- Closed
-
- resulted in
-
QTBUG-103768 Client: Unbatched propagation of size hints
-
- Reported
-