Skip to content
  • Alexander Larsson's avatar
    Fix transparency handling with non-double-buffered drawing · 251cffb6
    Alexander Larsson authored
    Sometimes we need to read back the window content into our double
    buffer due to rendering a window with alpha when there is
    no implicit paint or it has been flushed due to non-db drawing
    before.
    
    However, in this case we can't use gdk_cairo_set_source_window as
    it might trigger an implicit paint flush as we detect what we
    think is a direct non-double buffered window draw operation, which
    will flush the implicit paint operation that we're just setting up.
    
    To fix this we use the raw gdk_window_ref_impl_surface operation
    to get the source surface.
    251cffb6