Changeset 260570 in webkit


Ignore:
Timestamp:
Apr 23, 2020 8:24:02 AM (4 years ago)
Author:
commit-queue@webkit.org
Message:

[GTK] Crash in cairo_surface_mark_dirty_rectangle() in accelerated compositing mode under X11
https://bugs.webkit.org/show_bug.cgi?id=210636

Patch by John Frankish <john.frankish@outlook.com> on 2020-04-23
Reviewed by Carlos Garcia Campos.

When cairo is configured to use xcb instead of xlib, it might use an image surface attached to the xlib one as
snapshot. In that case a flush is needed to detach that snapshot after we have drawn the surface in the
context.

  • UIProcess/gtk/AcceleratedBackingStoreX11.cpp:

(WebKit::AcceleratedBackingStoreX11::paint): Call cairo_surface_flush() after drawing.

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r260569 r260570  
     12020-04-23  John Frankish  <john.frankish@outlook.com>
     2
     3        [GTK] Crash in cairo_surface_mark_dirty_rectangle() in accelerated compositing mode under X11
     4        https://bugs.webkit.org/show_bug.cgi?id=210636
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        When cairo is configured to use xcb instead of xlib, it might use an image surface attached to the xlib one as
     9        snapshot. In that case a flush is needed to detach that snapshot after we have drawn the surface in the
     10        context.
     11
     12        * UIProcess/gtk/AcceleratedBackingStoreX11.cpp:
     13        (WebKit::AcceleratedBackingStoreX11::paint): Call cairo_surface_flush() after drawing.
     14
    1152020-04-23  Chris Dumez  <cdumez@apple.com>
    216
  • trunk/Source/WebKit/UIProcess/gtk/AcceleratedBackingStoreX11.cpp

    r247563 r260570  
    202202    cairo_restore(cr);
    203203
     204    cairo_surface_flush(m_surface.get());
     205
    204206    return true;
    205207}
Note: See TracChangeset for help on using the changeset viewer.