Backport fix for pop-up menus on secondary heads (Gitlab #1098)
This commit is contained in:
parent
ef2610073a
commit
69790dd4aa
54
1110.patch
Normal file
54
1110.patch
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
From 6cd0aa429f0e042477ca89a5a9c0176f36ad117b Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
|
||||||
|
Date: Fri, 6 Mar 2020 17:24:35 +0100
|
||||||
|
Subject: [PATCH] window: Force placement for first placement rule
|
||||||
|
|
||||||
|
If we don't force the placement, we enter the constrain machinery with
|
||||||
|
the position (0, 0), meaning we always get the "current work area" setup
|
||||||
|
to correspond to whatever logical monitor was at that position.
|
||||||
|
|
||||||
|
Avoid this by doing the same as "meta_window_force_placement()" and set
|
||||||
|
"window->calc_placement" to TRUE while move-resizing, causing the
|
||||||
|
move-resize to first calculate the initial position.
|
||||||
|
|
||||||
|
Fixes: https://gitlab.gnome.org/GNOME/mutter/issues/1098
|
||||||
|
|
||||||
|
https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1110
|
||||||
|
---
|
||||||
|
src/wayland/meta-window-wayland.c | 7 +++++++
|
||||||
|
1 file changed, 7 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/wayland/meta-window-wayland.c b/src/wayland/meta-window-wayland.c
|
||||||
|
index 9864d2fd4..86cdbf86e 100644
|
||||||
|
--- a/src/wayland/meta-window-wayland.c
|
||||||
|
+++ b/src/wayland/meta-window-wayland.c
|
||||||
|
@@ -1001,6 +1001,10 @@ void
|
||||||
|
meta_window_place_with_placement_rule (MetaWindow *window,
|
||||||
|
MetaPlacementRule *placement_rule)
|
||||||
|
{
|
||||||
|
+ gboolean first_placement;
|
||||||
|
+
|
||||||
|
+ first_placement = !window->placement.rule;
|
||||||
|
+
|
||||||
|
g_clear_pointer (&window->placement.rule, g_free);
|
||||||
|
window->placement.rule = g_new0 (MetaPlacementRule, 1);
|
||||||
|
*window->placement.rule = *placement_rule;
|
||||||
|
@@ -1009,12 +1013,15 @@ meta_window_place_with_placement_rule (MetaWindow *window,
|
||||||
|
window->unconstrained_rect.y = window->rect.y;
|
||||||
|
window->unconstrained_rect.width = placement_rule->width;
|
||||||
|
window->unconstrained_rect.height = placement_rule->height;
|
||||||
|
+
|
||||||
|
+ window->calc_placement = first_placement;
|
||||||
|
meta_window_move_resize_internal (window,
|
||||||
|
(META_MOVE_RESIZE_MOVE_ACTION |
|
||||||
|
META_MOVE_RESIZE_RESIZE_ACTION |
|
||||||
|
META_MOVE_RESIZE_PLACEMENT_CHANGED),
|
||||||
|
META_GRAVITY_NORTH_WEST,
|
||||||
|
window->unconstrained_rect);
|
||||||
|
+ window->calc_placement = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
--
|
||||||
|
2.24.1
|
||||||
|
|
@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
Name: mutter
|
Name: mutter
|
||||||
Version: 3.35.92
|
Version: 3.35.92
|
||||||
Release: 2%{?dist}
|
Release: 3%{?dist}
|
||||||
Summary: Window and compositing manager based on Clutter
|
Summary: Window and compositing manager based on Clutter
|
||||||
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -18,6 +18,10 @@ Source0: http://download.gnome.org/sources/%{name}/3.35/%{name}-%{version}
|
|||||||
|
|
||||||
# Work-around for OpenJDK's compliance test
|
# Work-around for OpenJDK's compliance test
|
||||||
Patch0: 0001-window-actor-Special-case-shaped-Java-windows.patch
|
Patch0: 0001-window-actor-Special-case-shaped-Java-windows.patch
|
||||||
|
# Fix pop-up menus on secondary heads:
|
||||||
|
# https://gitlab.gnome.org/GNOME/mutter/issues/1098
|
||||||
|
# https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1110
|
||||||
|
Patch1: 1110.patch
|
||||||
|
|
||||||
BuildRequires: chrpath
|
BuildRequires: chrpath
|
||||||
BuildRequires: pango-devel
|
BuildRequires: pango-devel
|
||||||
@ -163,6 +167,9 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/%{name}.desktop
|
|||||||
%{_datadir}/mutter-%{mutter_api_version}/tests
|
%{_datadir}/mutter-%{mutter_api_version}/tests
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Mar 06 2020 Adam Williamson <awilliam@redhat.com> - 3.35.92-3
|
||||||
|
- Backport fix for pop-up menus on secondary heads (Gitlab #1098)
|
||||||
|
|
||||||
* Tue Mar 03 2020 Bastien Nocera <bnocera@redhat.com> - 3.35.92-2
|
* Tue Mar 03 2020 Bastien Nocera <bnocera@redhat.com> - 3.35.92-2
|
||||||
+ mutter-3.35.92-2
|
+ mutter-3.35.92-2
|
||||||
- Fix wayland session not starting up, see https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1103
|
- Fix wayland session not starting up, see https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1103
|
||||||
|
Loading…
Reference in New Issue
Block a user