kwin/autotests
Vlad Zahorodnii e31ec802f4 Drop Deleted
Currently, the normal window lifecycle looks as follows: create Window,
wait until it's shown, add it to Workspace, wait until it's closed,
create a Deleted, copy properties from the original window to the
deleted one, destroy the original window, wait until the last deleted
window reference is dropped.

There are a couple of issues with this design: we can't nicely
encapsulate X11 or Wayland specific implementation details if they need
to be accessed for closed windows; manual copying of properties is
cumbersome and error prone and we've had a dozen of cases where effects
worked incorrectly because some properties had not been copied.

The goal of this patch is to drop Deleted and extend the lifetime of the
original window, but with a special state set: Window::isDeleted().

The main danger is that somebody can try to do something with deleted
windows that they should not do, but on the other hand, such code needs
to be guarded with relevant checks too.
2023-03-28 08:31:08 +00:00
..
drm backends/drm: restrict common mode generation to drivers that support scaling 2023-03-25 18:52:15 +01:00
integration Drop Deleted 2023-03-28 08:31:08 +00:00
libinput Port to KF6 2023-02-28 18:30:26 +02:00
libkwineffects Remove some include_directories() 2023-03-23 14:37:48 +02:00
CMakeLists.txt tabbox: Drop TabBoxClient 2023-03-25 20:46:54 +00:00
onscreennotificationtest.cpp build: Add -Wno-unused-parameter compiler option 2022-10-31 15:50:37 +00:00
onscreennotificationtest.h
opengl_context_attribute_builder_test.cpp Prefix more kwineffects includes with libkwineffects/ 2023-03-25 21:05:12 +00:00
test_client_machine.cpp Remove Qt 5 specific code 2023-02-28 18:30:26 +02:00
test_ftrace.cpp
test_gestures.cpp gesture: use the global direction enums 2023-02-02 16:21:36 +00:00
test_utils.cpp test_utils: Test whether mmap PROT_WRITE fails 2022-10-24 19:02:36 +02:00
test_virtual_desktops.cpp Make VirtualDesktopManager::currentChanged pass VirtualDesktop 2023-02-25 21:22:40 +00:00
test_window_paint_data.cpp Remove some include_directories() 2023-03-23 14:37:48 +02:00
test_x11_timestamp_update.cpp Remove Qt 5 specific code 2023-02-28 18:30:26 +02:00
test_xcb_size_hints.cpp Remove Qt 5 specific code 2023-02-28 18:30:26 +02:00
test_xcb_window.cpp Remove Qt 5 specific code 2023-02-28 18:30:26 +02:00
test_xcb_wrapper.cpp Remove Qt 5 specific code 2023-02-28 18:30:26 +02:00
test_xkb.cpp Remove Qt 5 specific code 2023-02-28 18:30:26 +02:00
testutils.h Remove some include_directories() 2023-03-23 14:37:48 +02:00
xcb_scaling_mock.cpp Ensure size is valid after maximising 2022-07-27 08:43:23 +00:00