9b922f8833
Summary: Most of the functionality which is special to internal clients is moved from ShellClient to InternalClient. As KWin's qpa is still bound to the Wayland protocol InternalClient inherits from ShellClient. Due to that some aspects in ShellClient are "weird". ShellClient still detects whether it's an internal client and uses the variable m_internal to capture the state. This is required as we cannot use the isInternal method. Most of m_internal usage is in init which is called from constructor of ShellClient. Thus it's not possible to call into virtual methods of InternalClient. Also some of the code is duplicated and some methods are temporarily marked as virtual. The next step will be to remove ShmBuffer for internal windows which should decouple the two implementations further with the long term goal of having InternalClient inherit AbstractClient directly. Test Plan: Run nested KWin, triggered outline (OpenGL case) and debug console (shm case). InternalWindow unit test still passes. Reviewers: #kwin Subscribers: kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D18569 |
||
---|---|---|
.. | ||
data | ||
effects | ||
fakes | ||
helper | ||
scripting | ||
activities_test.cpp | ||
CMakeLists.txt | ||
colorcorrect_nightcolor_test.cpp | ||
dbus_interface_test.cpp | ||
debug_console_test.cpp | ||
decoration_input_test.cpp | ||
desktop_window_x11_test.cpp | ||
dont_crash_aurorae_destroy_deco.cpp | ||
dont_crash_cancel_animation.cpp | ||
dont_crash_cursor_physical_size_empty.cpp | ||
dont_crash_empty_deco.cpp | ||
dont_crash_glxgears.cpp | ||
dont_crash_no_border.cpp | ||
dont_crash_reinitialize_compositor.cpp | ||
dont_crash_useractions_menu.cpp | ||
generic_scene_opengl_test.cpp | ||
generic_scene_opengl_test.h | ||
globalshortcuts_test.cpp | ||
idle_inhibition_test.cpp | ||
input_stacking_order.cpp | ||
internal_window.cpp | ||
keyboard_layout_test.cpp | ||
keymap_creation_failure_test.cpp | ||
kwin_wayland_test.cpp | ||
kwin_wayland_test.h | ||
kwinbindings_test.cpp | ||
lockscreen.cpp | ||
maximize_test.cpp | ||
modifier_only_shortcut_test.cpp | ||
move_resize_window_test.cpp | ||
no_global_shortcuts_test.cpp | ||
no_xdg_runtime_dir_test.cpp | ||
plasma_surface_test.cpp | ||
plasmawindow_test.cpp | ||
platformcursor.cpp | ||
pointer_constraints_test.cpp | ||
pointer_input.cpp | ||
quick_tiling_test.cpp | ||
scene_opengl_es_test.cpp | ||
scene_opengl_shadow_test.cpp | ||
scene_opengl_test.cpp | ||
scene_qpainter_shadow_test.cpp | ||
scene_qpainter_test.cpp | ||
screen_changes_test.cpp | ||
screenedge_client_show_test.cpp | ||
shade_test.cpp | ||
shell_client_rules_test.cpp | ||
shell_client_test.cpp | ||
showing_desktop_test.cpp | ||
stacking_order_test.cpp | ||
start_test.cpp | ||
struts_test.cpp | ||
tabbox_test.cpp | ||
test_helpers.cpp | ||
touch_input_test.cpp | ||
transient_no_input_test.cpp | ||
transient_placement.cpp | ||
virtual_desktop_test.cpp | ||
window_rules_test.cpp | ||
window_selection_test.cpp | ||
x11_client_test.cpp | ||
xwayland_input_test.cpp | ||
xwayland_selections_test.cpp |