[mutter/gnome-3-28] tests, stacking: Add tests with no-input and no-take-focus windows



commit 1ebf32187acfb88f8f347f2da102532a85e54269
Author: Marco Trevisan (Treviño) <mail 3v1n0 net>
Date:   Tue Nov 13 07:48:53 2018 +0100

    tests, stacking: Add tests with no-input and no-take-focus windows
    
    When a window with no frame, that doesn't accept focus and that has no
    take-focus atom set is destroyed, we ended up in not changing the current_focus
    window, causing a crash.
    
    Added test cases that verify this situation.
    
    Related to https://gitlab.gnome.org/GNOME/mutter/issues/308
    https://gitlab.gnome.org/GNOME/mutter/merge_requests/307
    (cherry picked from commit 2fc7760ceed6f948d4f3c1dd74d4e57c7df05eea)

 src/Makefile-tests.am                              |  3 +++
 ...ransient-no-input-no-take-focus-parent.metatest | 21 ++++++++++++++++++++
 ...ansient-no-input-no-take-focus-parents.metatest | 23 ++++++++++++++++++++++
 .../closed-transient-no-input-parent.metatest      | 20 +++++++++++++++++++
 4 files changed, 67 insertions(+)
---
diff --git a/src/Makefile-tests.am b/src/Makefile-tests.am
index 4be832cc9..376491799 100644
--- a/src/Makefile-tests.am
+++ b/src/Makefile-tests.am
@@ -15,6 +15,9 @@ dist_stacking_DATA =                          \
        tests/stacking/basic-x11.metatest       \
        tests/stacking/basic-wayland.metatest   \
        tests/stacking/closed-transient.metatest        \
+       tests/stacking/closed-transient-no-input-no-take-focus-parent.metatest  \
+       tests/stacking/closed-transient-no-input-no-take-focus-parents.metatest \
+       tests/stacking/closed-transient-no-input-parent.metatest        \
        tests/stacking/minimized.metatest       \
        tests/stacking/mixed-windows.metatest   \
        tests/stacking/set-parent.metatest      \
diff --git a/src/tests/stacking/closed-transient-no-input-no-take-focus-parent.metatest 
b/src/tests/stacking/closed-transient-no-input-no-take-focus-parent.metatest
new file mode 100644
index 000000000..4249c32b9
--- /dev/null
+++ b/src/tests/stacking/closed-transient-no-input-no-take-focus-parent.metatest
@@ -0,0 +1,21 @@
+new_client 1 x11
+create 1/1
+show 1/1
+
+create 1/2 csd
+set_parent 1/2 1
+can_take_focus 1/2 false
+accept_focus 1/2 false
+show 1/2
+
+create 1/3 csd
+set_parent 1/3 2
+show 1/3
+
+wait
+assert_stacking 1/1 1/2 1/3
+
+destroy 1/3
+
+wait
+assert_stacking 1/1 1/2
diff --git a/src/tests/stacking/closed-transient-no-input-no-take-focus-parents.metatest 
b/src/tests/stacking/closed-transient-no-input-no-take-focus-parents.metatest
new file mode 100644
index 000000000..a61c64055
--- /dev/null
+++ b/src/tests/stacking/closed-transient-no-input-no-take-focus-parents.metatest
@@ -0,0 +1,23 @@
+new_client 1 x11
+create 1/1
+accept_focus 1/1 false
+can_take_focus 1/1 false
+show 1/1
+
+create 1/2 csd
+set_parent 1/2 1
+can_take_focus 1/2 false
+accept_focus 1/2 false
+show 1/2
+
+create 1/3 csd
+set_parent 1/3 2
+show 1/3
+
+wait
+assert_stacking 1/1 1/2 1/3
+
+destroy 1/3
+wait
+
+assert_stacking 1/1 1/2
diff --git a/src/tests/stacking/closed-transient-no-input-parent.metatest 
b/src/tests/stacking/closed-transient-no-input-parent.metatest
new file mode 100644
index 000000000..4cadb2350
--- /dev/null
+++ b/src/tests/stacking/closed-transient-no-input-parent.metatest
@@ -0,0 +1,20 @@
+new_client 1 x11
+create 1/1
+show 1/1
+
+create 1/2 csd
+set_parent 1/2 1
+accept_focus 1/2 false
+show 1/2
+
+create 1/3 csd
+set_parent 1/3 2
+show 1/3
+
+wait
+assert_stacking 1/1 1/2 1/3
+
+destroy 1/3
+
+wait
+assert_stacking 1/1 1/2


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]