Closed Bug 1949726 Opened 1 month ago Closed 23 days ago

[Wayland] D&D operation may use wl_surface after its deleted

Categories

(Core :: Widget: Gtk, defect, P3)

defect

Tracking

()

RESOLVED FIXED
138 Branch
Tracking Status
firefox138 --- fixed

People

(Reporter: stransky, Assigned: stransky)

References

(Blocks 2 open bugs)

Details

Attachments

(4 files)

D&D operation may use wl_surface after its delete:

[3938404.373] {Default Queue} wl_data_source#246.dnd_drop_performed()
[3938404.402] {Default Queue}  -> wl_pointer#20.set_cursor(30241, wl_surface#25, 16, 16)
[3938404.406] {Default Queue}  -> wl_surface#25.attach(wl_buffer#176, 0, 0)
[3938404.409] {Default Queue}  -> wl_surface#25.set_buffer_scale(2)
[3938404.412] {Default Queue}  -> wl_surface#25.damage(0, 0, 32, 32)
[3938404.415] {Default Queue}  -> wl_surface#25.commit()
[3938404.479] {Default Queue}  -> wl_surface#78.destroy()
[Parent 130475: Renderer]: D/WidgetWayland [7f20f1dbaee0]: WaylandSurface::UnmapLocked()
[Parent 130475: Renderer]: D/WidgetWayland [7f20f1dbaee0]: WaylandSurface::ClearScaleLocked()
[3938406.730] {Default Queue}  -> wp_viewport#111.destroy()
[3938406.735] {Default Queue}  -> wl_subsurface#105.destroy()
[3938406.745] {Default Queue}  -> wl_surface#253.destroy()
[Parent 130475: Renderer]: D/WidgetWayland [7f20f1dbaee0]: WaylandSurface::ReleaseAllWaylandBuffersLocked(), buffers num 0
[Parent 130475: Main Thread]: D/WidgetWayland [7f20f09629c0]: WaylandSurface::RemoveAttachedBufferLocked()
[Parent 130475: Main Thread]: V/WidgetWayland [7f20f09629c0]: WaylandSurface::SetSizeLocked(): Size [0 x 0] unscaled size [0 x 0]
[Parent 130475: Main Thread]: D/WidgetWayland [7f20f09629c0]: WaylandSurface::SetViewPortDestLocked(): Size [0 x 0]
[Parent 130475, Main Thread] WARNING: WaylandSurface::SetViewPortDestLocked(): Wrong coordinates!: file /raid/src/widget/gtk/WaylandSurface.cpp:901
[3938407.134] {Default Queue}  -> wp_viewport#154.set_destination(-1, -1)
Flags: needinfo?(stransky)
Flags: needinfo?(stransky)
Summary: [Wayland] D&D operation may use wl_surface after its creation: → [Wayland] D&D operation may use wl_surface after its deleted
Flags: needinfo?(stransky)
Assignee: nobody → stransky
Status: NEW → ASSIGNED

This should eliminate Bug 1941119 and similar ones where we use invalid wayland object during D&D operation.

Flags: needinfo?(stransky)
See Also: → 1941119
Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/89e97ef6b3e3 [Wayland] Remove MozContainer direct rendering to GtkWidget r=emilio https://hg.mozilla.org/integration/autoland/rev/a4eca90c23d7 [Wayland] Implement WindowSurfaceCairo to draw to cairo surface r=emilio https://hg.mozilla.org/integration/autoland/rev/a3973ac5881a [Wayland] Paint drag&drop popup window from WindowSurfaceCairo backend r=emilio https://hg.mozilla.org/integration/autoland/rev/3e4c6761dcd3 [Wayland] Disable HW accelerated rendering of D&D popups r=emilio
Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/4f657a8c39fc [Wayland] Remove MozContainer direct rendering to GtkWidget r=emilio https://hg.mozilla.org/integration/autoland/rev/92a21b7a18a3 [Wayland] Implement WindowSurfaceCairo to draw to cairo surface r=emilio https://hg.mozilla.org/integration/autoland/rev/ac7c99163426 [Wayland] Paint drag&drop popup window from WindowSurfaceCairo backend r=emilio https://hg.mozilla.org/integration/autoland/rev/4ecf60a30562 [Wayland] Disable HW accelerated rendering of D&D popups r=emilio
Flags: needinfo?(stransky)
Duplicate of this bug: 1941119
See Also: 1941119
See Also: → 1890074
See Also: → 1863047
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: