kwin/autotests/integration
Vlad Zahorodnii 33827bbdbe autotests: Fix internal connection teardown
This might be the root cause of random ASAN errors in testQuickTiling.

From commit 617291c6974d232ee99c4c49e891ce16863e3d6e:

The internal EventQueue is a child of the registry object. This means
that after the registry is destroyed, all proxy objects in that event
queue are going to have invalid reference to it, which is not a problem
as long as the wl_display_dispatch() function is not called.

The wl_display_dispatch() function uses wl_proxy's queue reference to
enqueue incoming events to that queue.

Unfortunately, during teardown, the internal ConnectionThread may
dispatch events right after the registry object has been destroyed,
which can lead to a crash.

In order to fix the crash, we need to destroy all proxy objects and only
after that we can destroy the event queue. It's okay if wayland events
are dispatched in between.

i.e. the EventQueue object must be destroyed last to ensure avoid hitting
dangling pointers.
2022-09-08 10:16:35 +00:00
..
data Prettify license headers 2020-08-07 19:57:56 +00:00
effects Restore the crossfade effect 2022-09-07 10:16:36 +00:00
fakes Run clang-format 2022-03-25 13:25:15 +02:00
helper replace all uses of QScopedPointer with std::unique_ptr 2022-08-04 12:30:09 +00:00
protocols Implement the layer-shell v1 protocol 2020-09-03 18:11:44 +00:00
scripting Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
activation_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
activities_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
buffer_size_change_test.cpp replace all uses of QScopedPointer with std::unique_ptr 2022-08-04 12:30:09 +00:00
CMakeLists.txt autotests: Port KWinFrameworkIntegration from source vars to target based apis 2022-04-25 13:12:21 +00:00
dbus_interface_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
debug_console_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
decoration_input_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
desktop_window_x11_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
dont_crash_aurorae_destroy_deco.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
dont_crash_cancel_animation.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
dont_crash_cursor_physical_size_empty.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
dont_crash_empty_deco.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
dont_crash_glxgears.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
dont_crash_no_border.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
dont_crash_reinitialize_compositor.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
dont_crash_useractions_menu.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
generic_scene_opengl_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
generic_scene_opengl_test.h Run clang-format 2022-03-25 13:25:15 +02:00
globalshortcuts_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
idle_inhibition_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
input_stacking_order.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
inputmethod_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
internal_window.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
keyboard_layout_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
keymap_creation_failure_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
kwin_wayland_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
kwin_wayland_test.h Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
kwinbindings_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
layershellv1window_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
lockscreen.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
maximize_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
modifier_only_shortcut_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
move_resize_window_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
nightcolor_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
no_global_shortcuts_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
outputchanges_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
placement_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
plasma_surface_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
plasmawindow_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
platformcursor.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
pointer_constraints_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
pointer_input.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
quick_tiling_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
scene_opengl_es_test.cpp Run clang-format 2022-03-25 13:25:15 +02:00
scene_opengl_test.cpp Run clang-format 2022-03-25 13:25:15 +02:00
scene_qpainter_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
screen_changes_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
screenedge_client_show_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
screenedges_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
screens_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
shade_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
showing_desktop_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
stacking_order_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
struts_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
tabbox_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
test_helpers.cpp autotests: Fix internal connection teardown 2022-09-08 10:16:35 +00:00
test_virtualkeyboard_dbus.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
touch_input_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
transient_placement.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
virtual_desktop_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
window_rules_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
window_selection_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
x11_window_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
xdgshellwindow_rules_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
xdgshellwindow_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
xwayland_input_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
xwayland_selections_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
xwaylandserver_crash_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00
xwaylandserver_restart_test.cpp Move multi-purpose code in its own directory 2022-09-06 11:21:40 +03:00