You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Vlad Zahorodnii 017906541b Refactor compositing teardown in X11Window and Unmanaged
Currently, X11Window and Unmanaged call finishCompositing(), which tries
to destroy the window item and other associated compositing data.

Usually, it has no any effect on the window item and the effect window
because they are moved to the Deleted. However, it has some effect on
the XDamage handle.

If the X11 window is unmapped, it will destroy the XDamage handle. If
the X11 window is destroyed, it will do nothing. Why does it behave like
that? Because that's how the XDamage spec is written.

This change removes the call to finishCompositing() and refactors how
the XDamage is handled so Window::finishCompositing() is more generic.

If the X11 window is destroyed, SurfaceItemX11::forgetDamage() will be
called and SurfaceItemX11::~SurfaceItemX11() won't attempt to destroy
the damage handle.

If the X11 window is unmapped, SurfaceItemX11::destroyDamage() will be
called and destroyDamage() in SurfaceItemX11::~SurfaceItemX11() will
noop.

If compositing has been restarted, destroyDamage() in
SurfaceItemX11::~SurfaceItemX11() will destroy the damage handle.
2 years ago
..
cursoritem.cpp
cursoritem.h
cursorscene.cpp
cursorscene.h
decorationitem.cpp
decorationitem.h
dndiconitem.cpp
dndiconitem.h
imageitem.cpp
imageitem.h
item.cpp
item.h
itemrenderer.cpp
itemrenderer.h
itemrenderer_opengl.cpp
itemrenderer_opengl.h effects: introduce RenderTarget and RenderViewport 2 years ago
itemrenderer_qpainter.cpp
itemrenderer_qpainter.h
scene.cpp
scene.h
shadowitem.cpp
shadowitem.h
surfaceitem.cpp
surfaceitem.h
surfaceitem_internal.cpp
surfaceitem_internal.h
surfaceitem_wayland.cpp
surfaceitem_wayland.h
surfaceitem_x11.cpp
surfaceitem_x11.h
windowitem.cpp
windowitem.h
workspacescene.cpp
workspacescene.h
workspacescene_opengl.cpp
workspacescene_opengl.h
workspacescene_qpainter.cpp
workspacescene_qpainter.h