Invalid default size is asked of surfaces created maximised
In the following log, a [1060784.891] xdg_toplevel@19.configure(0, 0, array[4])
is sent after the client requested its surface to be maximised, which is fine (“If the width or height arguments are zero, it means the client should decide its own window dimension.”) but then Weston disconnects the client for having used a random size (probably the previous one it had on another compositor) instead of 0×0, which would be invalid anyway.
Click here for a full WAYLAND_DEBUG
output of gnome-contacts
% WAYLAND_DISPLAY=wayland-1 WAYLAND_DEBUG=1 gnome-contacts
[1059962.090] -> wl_display@1.get_registry(new id wl_registry@2)
[1059962.320] -> wl_display@1.sync(new id wl_callback@3)
[1059963.890] wl_display@1.delete_id(3)
[1059964.611] wl_registry@2.global(1, "wl_compositor", 4)
[1059964.962] -> wl_registry@2.bind(1, "wl_compositor", 4, new id [unknown]@4)
[1059965.118] wl_registry@2.global(2, "wl_subcompositor", 1)
[1059965.185] -> wl_registry@2.bind(2, "wl_subcompositor", 1, new id [unknown]@5)
[1059965.245] wl_registry@2.global(3, "wp_viewporter", 1)
[1059965.301] wl_registry@2.global(4, "zxdg_output_manager_v1", 2)
[1059965.356] -> wl_registry@2.bind(4, "zxdg_output_manager_v1", 2, new id [unknown]@6)
[1059965.425] -> wl_display@1.sync(new id wl_callback@7)
[1059965.516] wl_registry@2.global(5, "wp_presentation", 1)
[1059965.574] wl_registry@2.global(6, "zwp_relative_pointer_manager_v1", 1)
[1059965.627] wl_registry@2.global(7, "zwp_pointer_constraints_v1", 1)
[1059965.682] wl_registry@2.global(8, "zwp_input_timestamps_manager_v1", 1)
[1059965.747] wl_registry@2.global(9, "wl_data_device_manager", 3)
[1059965.803] -> wl_registry@2.bind(9, "wl_data_device_manager", 3, new id [unknown]@8)
[1059965.967] wl_registry@2.global(10, "wl_shm", 1)
[1059966.104] -> wl_registry@2.bind(10, "wl_shm", 1, new id [unknown]@9)
[1059966.241] wl_registry@2.global(11, "wl_drm", 2)
[1059966.398] wl_registry@2.global(12, "wl_seat", 7)
[1059966.550] wl_registry@2.global(13, "zwp_linux_dmabuf_v1", 4)
[1059966.684] wl_registry@2.global(14, "weston_direct_display_v1", 1)
[1059966.815] wl_registry@2.global(15, "zwp_linux_explicit_synchronization_v1", 2)
[1059966.956] wl_registry@2.global(16, "weston_content_protection", 1)
[1059967.098] wl_registry@2.global(17, "wl_output", 3)
[1059967.252] -> wl_registry@2.bind(17, "wl_output", 2, new id [unknown]@10)
[1059967.923] -> zxdg_output_manager_v1@6.get_xdg_output(new id zxdg_output_v1@11, wl_output@10)
[1059968.394] -> wl_display@1.sync(new id wl_callback@12)
[1059968.661] wl_registry@2.global(18, "zwp_input_panel_v1", 1)
[1059968.857] wl_registry@2.global(19, "zwp_input_method_v1", 1)
[1059969.021] wl_registry@2.global(20, "zwp_text_input_manager_v1", 1)
[1059969.171] wl_registry@2.global(21, "xdg_wm_base", 3)
[1059969.321] wl_registry@2.global(22, "weston_desktop_shell", 1)
[1059969.355] wl_registry@2.global(23, "weston_screenshooter", 1)
[1059969.535] wl_callback@3.done(46)
[1059970.036] -> wl_shm@9.create_pool(new id wl_shm_pool@3, fd 11, 2304)
[1059970.301] -> wl_registry@2.bind(12, "wl_seat", 7, new id [unknown]@13)
[1059995.843] -> wl_data_device_manager@8.get_data_device(new id wl_data_device@14, wl_seat@13)
[1059996.752] -> wl_compositor@4.create_surface(new id wl_surface@15)
[1059996.835] -> wl_display@1.sync(new id wl_callback@16)
[1059997.466] wl_display@1.delete_id(7)
[1059997.504] wl_display@1.delete_id(12)
[1059997.526] wl_display@1.delete_id(16)
[1059997.547] wl_callback@7.done(46)
[1059997.574] wl_shm@9.format(0)
[1059997.597] wl_shm@9.format(1)
[1059997.619] wl_shm@9.format(909199186)
[1059997.640] wl_shm@9.format(842093913)
[1059997.661] wl_shm@9.format(842094158)
[1059997.682] wl_shm@9.format(1448695129)
[1059997.704] wl_shm@9.format(1448434008)
[1059997.725] wl_output@10.geometry(0, 0, 68, 136, 0, "unknown", "unknown", 0)
[1059997.807] wl_output@10.scale(2)
[1059997.839] wl_output@10.mode(3, 720, 1440, 60006)
[1059997.869] wl_output@10.done()
[1059997.890] zxdg_output_v1@11.logical_position(0, 0)
[1059997.914] zxdg_output_v1@11.logical_size(360, 720)
[1059997.937] zxdg_output_v1@11.name("DSI-1")
[1059997.959] zxdg_output_v1@11.done()
[1059997.999] wl_callback@12.done(46)
[1059998.025] wl_seat@13.capabilities(6)
[1059998.058] -> wl_seat@13.get_keyboard(new id wl_keyboard@12)
[1059998.184] -> wl_seat@13.get_touch(new id wl_touch@7)
[1059998.281] wl_seat@13.name("default")
[1059998.307] wl_callback@16.done(46)
[1059998.335] -> wl_registry@2.bind(21, "xdg_wm_base", 3, new id [unknown]@16)
[1060507.773] -> wl_compositor@4.create_surface(new id wl_surface@17)
[1060525.502] -> wl_display@1.get_registry(new id wl_registry@18)
[1060525.625] -> wl_display@1.sync(new id wl_callback@19)
[1060526.293] wl_display@1.delete_id(19)
[1060526.355] wl_registry@18.global(1, "wl_compositor", 4)
[1060526.385] wl_registry@18.global(2, "wl_subcompositor", 1)
[1060526.411] wl_registry@18.global(3, "wp_viewporter", 1)
[1060526.437] wl_registry@18.global(4, "zxdg_output_manager_v1", 2)
[1060526.463] wl_registry@18.global(5, "wp_presentation", 1)
[1060526.489] wl_registry@18.global(6, "zwp_relative_pointer_manager_v1", 1)
[1060526.516] wl_registry@18.global(7, "zwp_pointer_constraints_v1", 1)
[1060526.544] wl_registry@18.global(8, "zwp_input_timestamps_manager_v1", 1)
[1060526.575] wl_registry@18.global(9, "wl_data_device_manager", 3)
[1060526.597] wl_registry@18.global(10, "wl_shm", 1)
[1060526.618] wl_registry@18.global(11, "wl_drm", 2)
[1060526.641] wl_registry@18.global(12, "wl_seat", 7)
[1060526.669] wl_registry@18.global(13, "zwp_linux_dmabuf_v1", 4)
[1060526.698] -> wl_registry@18.bind(13, "zwp_linux_dmabuf_v1", 4, new id [unknown]@20)
[1060526.733] wl_registry@18.global(14, "weston_direct_display_v1", 1)
[1060526.760] wl_registry@18.global(15, "zwp_linux_explicit_synchronization_v1", 2)
[1060526.786] wl_registry@18.global(16, "weston_content_protection", 1)
[1060526.812] wl_registry@18.global(17, "wl_output", 3)
[1060526.844] wl_registry@18.global(18, "zwp_input_panel_v1", 1)
[1060526.873] wl_registry@18.global(19, "zwp_input_method_v1", 1)
[1060526.900] wl_registry@18.global(20, "zwp_text_input_manager_v1", 1)
[1060526.928] wl_registry@18.global(21, "xdg_wm_base", 3)
[1060526.955] wl_registry@18.global(22, "weston_desktop_shell", 1)
[1060526.981] wl_registry@18.global(23, "weston_screenshooter", 1)
[1060527.009] wl_callback@19.done(46)
[1060527.045] -> zwp_linux_dmabuf_v1@20.get_default_feedback(new id zwp_linux_dmabuf_feedback_v1@19)
[1060527.079] -> wl_display@1.sync(new id wl_callback@21)
[1060527.457] wl_display@1.delete_id(21)
[1060527.501] zwp_linux_dmabuf_feedback_v1@19.format_table(fd 11, 1200)
[1060527.594] zwp_linux_dmabuf_feedback_v1@19.main_device(array[8])
[1060529.248] zwp_linux_dmabuf_feedback_v1@19.tranche_target_device(array[8])
[1060529.320] zwp_linux_dmabuf_feedback_v1@19.tranche_flags(0)
[1060529.359] zwp_linux_dmabuf_feedback_v1@19.tranche_formats(array[150])
[1060529.426] zwp_linux_dmabuf_feedback_v1@19.tranche_done()
[1060529.450] zwp_linux_dmabuf_feedback_v1@19.done()
[1060529.473] wl_callback@21.done(46)
[1060529.509] -> zwp_linux_dmabuf_feedback_v1@19.destroy()
[1060529.595] -> wl_registry@18.bind(11, "wl_drm", 2, new id [unknown]@21)
[1060529.631] -> wl_display@1.sync(new id wl_callback@22)
[1060530.278] wl_display@1.delete_id(19)
[1060530.332] wl_display@1.delete_id(22)
[1060530.377] wl_drm@21.device("/dev/dri/card1")
[1060530.756] -> wl_drm@21.authenticate(1)
[1060530.827] wl_drm@21.format(875713089)
[1060530.857] wl_drm@21.format(875713112)
[1060530.881] wl_drm@21.format(909199186)
[1060530.900] wl_drm@21.format(961959257)
[1060530.921] wl_drm@21.format(825316697)
[1060530.939] wl_drm@21.format(842093913)
[1060530.960] wl_drm@21.format(909202777)
[1060530.982] wl_drm@21.format(875713881)
[1060531.001] wl_drm@21.format(842094158)
[1060531.021] wl_drm@21.format(909203022)
[1060531.038] wl_drm@21.format(1448695129)
[1060531.056] wl_drm@21.capabilities(1)
[1060531.074] wl_callback@22.done(46)
[1060531.118] -> wl_display@1.sync(new id wl_callback@22)
[1060531.434] wl_display@1.delete_id(22)
[1060531.470] wl_drm@21.authenticated()
[1060531.493] wl_callback@22.done(46)
[1060754.481] -> xdg_wm_base@16.get_xdg_surface(new id xdg_surface@22, wl_surface@17)
[1060754.601] -> xdg_surface@22.get_toplevel(new id xdg_toplevel@19)
[1060754.638] -> xdg_toplevel@19.set_parent(nil)
[1060754.659] -> xdg_toplevel@19.set_title("Contacts")
[1060754.684] -> xdg_toplevel@19.set_maximized()
[1060754.709] -> xdg_toplevel@19.set_app_id("org.gnome.Contacts")
[1060754.736] -> wl_surface@17.commit()
[1060755.523] -> xdg_toplevel@19.set_maximized()
[1060755.564] -> xdg_toplevel@19.unset_fullscreen()
[1060763.744] wl_keyboard@12.repeat_info(40, 400)
[1060763.842] wl_keyboard@12.keymap(1, fd 10, 63970)
[1060784.891] xdg_toplevel@19.configure(0, 0, array[4])
[1060785.011] xdg_surface@22.configure(47)
[1060785.161] -> xdg_surface@22.ack_configure(47)
[1060848.578] -> xdg_toplevel@19.set_min_size(300, 101)
[1060848.679] -> xdg_toplevel@19.set_max_size(0, 0)
[1060848.707] -> wl_surface@17.set_buffer_scale(2)
(gnome-contacts:4519): Gtk-WARNING **: 17:42:32.717: Allocating size to GtkBox 0xaaaad15cd760 without calling gtk_widget_measure(). How does the code know the size to allocate?
[1060889.907] -> wl_surface@17.set_buffer_scale(2)
[1060890.225] -> zwp_linux_dmabuf_v1@20.get_surface_feedback(new id zwp_linux_dmabuf_feedback_v1@23, wl_surface@17)
[1060890.283] -> wl_display@1.sync(new id wl_callback@24)
[1060890.717] wl_display@1.delete_id(24)
[1060890.755] wl_callback@24.done(47)
[1060890.857] zwp_linux_dmabuf_feedback_v1@23.format_table(fd 18, 1200)
[1060890.963] zwp_linux_dmabuf_feedback_v1@23.main_device(array[8])
[1060890.993] zwp_linux_dmabuf_feedback_v1@23.tranche_target_device(array[8])
[1060891.025] zwp_linux_dmabuf_feedback_v1@23.tranche_flags(0)
[1060891.051] zwp_linux_dmabuf_feedback_v1@23.tranche_formats(array[150])
[1060891.100] zwp_linux_dmabuf_feedback_v1@23.tranche_done()
[1060891.131] zwp_linux_dmabuf_feedback_v1@23.done()
[1060968.046] -> xdg_surface@22.set_window_geometry(0, 0, 360, 600)
[1060968.152] -> wl_compositor@4.create_region(new id wl_region@24)
[1060968.206] -> wl_region@24.add(0, 0, 360, 600)
[1060968.236] -> wl_surface@17.set_opaque_region(wl_region@24)
[1060968.262] -> wl_region@24.destroy()
[1060968.290] -> wl_compositor@4.create_region(new id wl_region@25)
[1060968.317] -> wl_region@25.add(-12, -12, 384, 624)
[1060968.344] -> wl_surface@17.set_input_region(wl_region@25)
[1060968.367] -> wl_region@25.destroy()
[1060968.393] -> wl_surface@17.frame(new id wl_callback@26)
[1060968.446] -> wl_surface@17.frame(new id wl_callback@27)
[1060968.484] -> zwp_linux_dmabuf_v1@20.create_params(new id zwp_linux_buffer_params_v1@28)
[1060968.557] -> zwp_linux_buffer_params_v1@28.add(fd 19, 0, 0, 2880, 0, 0)
[1060968.619] -> zwp_linux_buffer_params_v1@28.create_immed(new id wl_buffer@29, 720, 1200, 875713089, 0)
[1060968.661] -> zwp_linux_buffer_params_v1@28.destroy()
[1060968.696] -> wl_surface@17.attach(wl_buffer@29, 0, 0)
[1060968.731] -> wl_surface@17.damage_buffer(0, 0, 720, 1200)
[1060971.585] -> wl_surface@17.commit()
[1060974.423] wl_display@1.delete_id(24)
[1060974.519] wl_display@1.delete_id(25)
[1060974.553] wl_display@1.delete_id(28)
[1060974.578] wl_display@1.error(xdg_wm_base@16, 4, "xdg_surface buffer (360 x 600) does not match the configured maximized state (0 x 0)")
Gdk-Message: 17:42:32.837: Error 71 (Protocol error) dispatching to Wayland display.