• Olivier Fourdan's avatar
    wayland: Drop cairo surfaces when withdrawing · 3bd7b379
    Olivier Fourdan authored
    If a window is unmapped by the client while gdk is processing updates,
    (for example Firefox un-mapping its window on Expose events), the
    windowing backend resources might be lost (for example with Wayland)
    which can cause a crash in end_paint().
    
    Make sure we drop the cairo surfaces as well when hiding the surface,
    that will avoid the crash in gdk_window_impl_wayland_end_paint() when
    trying to attach the staging cairo surface to a released wl_surface,
    these will be recreated when needed when the surface becomes visible
    again and there is no need to keep such buffers around for a surface
    which is not visible anyway.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=793062
    3bd7b379
Name
Last commit
Last update
..
broadway Loading commit data...
deprecated Loading commit data...
mir Loading commit data...
quartz Loading commit data...
resources/glsl Loading commit data...
wayland Loading commit data...
win32 Loading commit data...
x11 Loading commit data...
COPYING Loading commit data...
Makefile.am Loading commit data...
fallback-c89.c Loading commit data...
gdk-autocleanup.h Loading commit data...
gdk-private.c Loading commit data...
gdk-private.h Loading commit data...
gdk.c Loading commit data...
gdk.h Loading commit data...
gdkapplaunchcontext.c Loading commit data...
gdkapplaunchcontext.h Loading commit data...
gdkapplaunchcontextprivate.h Loading commit data...
gdkcairo.c Loading commit data...
gdkcairo.h Loading commit data...
gdkconfig.h.win32 Loading commit data...
gdkconfig.h.win32_broadway Loading commit data...
gdkcursor.c Loading commit data...
gdkcursor.h Loading commit data...
gdkcursorprivate.h Loading commit data...
gdkdeprecated.c Loading commit data...
gdkdevice.c Loading commit data...
gdkdevice.h Loading commit data...
gdkdevicemanager.c Loading commit data...
gdkdevicemanager.h Loading commit data...
gdkdevicemanagerprivate.h Loading commit data...
gdkdevicepad.c Loading commit data...
gdkdevicepad.h Loading commit data...
gdkdevicepadprivate.h Loading commit data...
gdkdeviceprivate.h Loading commit data...
gdkdevicetool.c Loading commit data...
gdkdevicetool.h Loading commit data...
gdkdevicetoolprivate.h Loading commit data...
gdkdisplay.c Loading commit data...
gdkdisplay.h Loading commit data...
gdkdisplaymanager.c Loading commit data...
gdkdisplaymanager.h Loading commit data...
gdkdisplaymanagerprivate.h Loading commit data...
gdkdisplayprivate.h Loading commit data...
gdkdnd.c Loading commit data...
gdkdnd.h Loading commit data...
gdkdndprivate.h Loading commit data...
gdkdrawingcontext.c Loading commit data...
gdkdrawingcontext.h Loading commit data...
gdkdrawingcontextprivate.h Loading commit data...
gdkenumtypes.c.template Loading commit data...
gdkenumtypes.h.template Loading commit data...
gdkevents.c Loading commit data...
gdkevents.h Loading commit data...
gdkframeclock.c Loading commit data...
gdkframeclock.h Loading commit data...
gdkframeclockidle.c Loading commit data...
gdkframeclockidle.h Loading commit data...
gdkframeclockprivate.h Loading commit data...
gdkframetimings.c Loading commit data...
gdkframetimings.h Loading commit data...
gdkgl.c Loading commit data...
gdkglcontext.c Loading commit data...
gdkglcontext.h Loading commit data...
gdkglcontextprivate.h Loading commit data...
gdkglobals.c Loading commit data...
gdkinternals.h Loading commit data...
gdkintl.h Loading commit data...
gdkkeynames.c Loading commit data...
gdkkeys.c Loading commit data...
gdkkeys.h Loading commit data...
gdkkeysprivate.h Loading commit data...
gdkkeysyms-compat.h Loading commit data...
gdkkeysyms-update.pl Loading commit data...
gdkkeysyms.h Loading commit data...
gdkkeyuni.c Loading commit data...
gdkmain.h Loading commit data...
gdkmarshalers.list Loading commit data...
gdkmonitor.c Loading commit data...
gdkmonitor.h Loading commit data...
gdkmonitorprivate.h Loading commit data...
gdkoffscreenwindow.c Loading commit data...
gdkpango.c Loading commit data...
gdkpango.h Loading commit data...
gdkpixbuf-drawable.c Loading commit data...
gdkpixbuf.h Loading commit data...
gdkprivate.h Loading commit data...
gdkproperty.c Loading commit data...
gdkproperty.h Loading commit data...
gdkrectangle.c Loading commit data...
gdkrectangle.h Loading commit data...
gdkrgba.c Loading commit data...
gdkrgba.h Loading commit data...
gdkscreen.c Loading commit data...
gdkscreen.h Loading commit data...
gdkscreenprivate.h Loading commit data...
gdkseat.c Loading commit data...
gdkseat.h Loading commit data...
gdkseatdefault.c Loading commit data...
gdkseatdefaultprivate.h Loading commit data...
gdkseatprivate.h Loading commit data...
gdkselection.c Loading commit data...
gdkselection.h Loading commit data...
gdktestutils.h Loading commit data...
gdkthreads.h Loading commit data...
gdktypes.h Loading commit data...
gdkversionmacros.h.in Loading commit data...
gdkvisual.c Loading commit data...
gdkvisual.h Loading commit data...
gdkvisualprivate.h Loading commit data...
gdkwindow.c Loading commit data...
gdkwindow.h Loading commit data...
gdkwindowimpl.c Loading commit data...
gdkwindowimpl.h Loading commit data...
gdkx.h Loading commit data...
gen-keyname-table.pl Loading commit data...
keyname-table.h Loading commit data...
keynames-translate.txt Loading commit data...
keynames.txt Loading commit data...
makefile.msc Loading commit data...