Skip to content
  • Neil Roberts's avatar
    westoy: Add an option to explicitly disable cairo on a widget · 97b747cd
    Neil Roberts authored
    The subsurfaces example creates a subsurface widget and uses EGL to
    render to it directly rather than using the cairo context from the
    widget. In theory this shouldn't cause any problems because the westoy
    window code lazily creates the cairo surface when an application
    creates a cairo context. However commit fdca95c7 changed the behaviour
    to force the lazy creation at the beginning of each surface redraw.
    This ends up making the triangle surface get two attaches – one from
    Cairo and one from the direct EGL.
    
    It looks like it would be difficult to reinstate the lazy surface
    creation behaviour whilst still maintaining the error handling for
    surface creation because none of the redraw handlers in the example
    clients are designed to cope with that. Instead, this patch adds an
    explicit option on a widget to disable creating the Cairo surface and
    the subsurface example now uses that.
    
    Closes: https://bugs.freedesktop.org/show_bug.cgi?id=72854
    97b747cd