mutter.git
7 years agoMerge version 3.28.3-1+rpi1 and 3.28.3-2 to produce 3.28.3-2+rpi1 archive/raspbian/3.28.3-2+rpi1 raspbian/3.28.3-2+rpi1
Raspbian forward pporter [Thu, 9 Aug 2018 14:06:29 +0000 (15:06 +0100)]
Merge version 3.28.3-1+rpi1 and 3.28.3-2 to produce 3.28.3-2+rpi1

7 years agoMerge mutter (3.28.3-2) import into refs/heads/workingbranch
Simon McVittie [Tue, 31 Jul 2018 14:35:03 +0000 (15:35 +0100)]
Merge mutter (3.28.3-2) import into refs/heads/workingbranch

7 years agoSkip test that started failing with 3.25
Jeremy Bicha [Thu, 31 Aug 2017 11:11:39 +0000 (07:11 -0400)]
Skip test that started failing with 3.25

That way we can still benefit by running all the other tests.

Bug: https://bugzilla.gnome.org/785319
Applied-upstream: no

Gbp-Pq: Topic debian
Gbp-Pq: Name skip-failing-tests-325.patch

7 years agoDon't run failing tests
Jeremy Bicha [Fri, 5 May 2017 13:26:36 +0000 (08:26 -0500)]
Don't run failing tests

That way we can still benefit by running all the other tests.

Bug: https://bugzilla.gnome.org/782215
Bug: https://bugzilla.gnome.org/753836
Applied-upstream: no

Gbp-Pq: Topic debian
Gbp-Pq: Name skip-failing-tests.patch

7 years agobackends/x11: Support input-synaptics, if present.
Daniel van Vugt [Sun, 18 Mar 2018 16:56:36 +0000 (12:56 -0400)]
backends/x11: Support input-synaptics, if present.

Add support for configuring the Xorg synaptics touchpad driver.

Turns out it's very simple to support both libinput and synaptics
simultaneously, both under the heading of XI2.

Bug-Ubuntu: https://launchpad.net/bugs/1686081
Forwarded: https://gitlab.gnome.org/GNOME/mutter/merge_requests/37
Applied-upstream: no, rejected as not long-term sustainable
Last-Update: 2018-03-16

Gbp-Pq: Topic debian
Gbp-Pq: Name synaptics-support.patch

7 years agogtk-shell: Work around non-working startup notifications
Florian Müllner [Thu, 20 Oct 2016 16:00:04 +0000 (18:00 +0200)]
gtk-shell: Work around non-working startup notifications

GNOME Shell relies on the MetaScreen::startup-sequence-changed signal,
which is tied to (lib)startup-notification and therefore X11. As a result,
when we remove the startup sequence of a wayland client, GNOME Shell will
not be notified about this until startup-notification's timeout is hit.
As a temporary stop-gap, go through XWayland even for wayland clients,
so that the signal is emitted when expected.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=768531
Applied-upstream: no

Gbp-Pq: Name bgo768531_workaround-startup-notifications.patch

7 years agocore: Return -1 if meta_window_get_monitor is called on an unmanaged window
Sam Spilsbury [Tue, 10 Oct 2017 16:39:40 +0000 (11:39 -0500)]
core: Return -1 if meta_window_get_monitor is called on an unmanaged window

As opposed to crashing. In this case, letting the caller deal with
it is the best policy, since this is public API.

Fixes #78834

Forwarded: yes
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=788834
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/bionic/+source/gnome-shell/+bug/1724439

Gbp-Pq: Name core-Return-1-if-meta_window_get_monitor-is-called-on-an-.patch

7 years agoclutter: Smooth out master clock to smooth visuals
Daniel van Vugt [Fri, 16 Feb 2018 08:50:59 +0000 (02:50 -0600)]
clutter: Smooth out master clock to smooth visuals

Clutter's master clock was jittery because it included errors in cur_tick
such as dispatch delays due to other sources. Dispatch could also occur up
to 1ms early since GSource can only be timed to the millisecond. All of this
could impact the visual smoothness of animations as they are displayed on
the steady interval of the monitor, but spacially moving in less regular
steps derived from the dispatch times.

The simple fix is to ignore any jitter in dispatch timing. Try a little
bit harder to use a precise interval that will better match the display
hardware, and smoother visuals will follow.

Bug: https://gitlab.gnome.org/GNOME/mutter/issues/25
Forwarded: https://gitlab.gnome.org/GNOME/mutter/merge_requests/70

Gbp-Pq: Name clutter-Smooth-out-master-clock-to-smooth-visuals.patch

7 years agotheme: load icons as Gtk does with fallback and RTL support
Marco Trevisan (Treviño) [Fri, 30 Mar 2018 21:17:39 +0000 (15:17 -0600)]
theme: load icons as Gtk does with fallback and RTL support

Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/62

Gbp-Pq: Name theme-load-icons-as-Gtk-does-with-fallback-and-RTL-suppor.patch

7 years agotheme: use gtk_render_icon_suface to paint button icon
Marco Trevisan (Treviño) [Fri, 30 Mar 2018 20:13:41 +0000 (14:13 -0600)]
theme: use gtk_render_icon_suface to paint button icon

This will properly take care of the icon transformations
and of the shadow.

Fixes #100

Bug: https://gitlab.gnome.org/GNOME/mutter/issues/100
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1764558
Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/62

Gbp-Pq: Name theme-use-gtk_render_icon_suface-to-paint-button-icon.patch

7 years agomonitor: Use current monitor mode to check whether active
Jonas Ådahl [Tue, 31 Jul 2018 11:18:51 +0000 (13:18 +0200)]
monitor: Use current monitor mode to check whether active

For historical reasons meta_monitor_is_active() checked whether it is
active by checking whether the main output have a CRTC assigned and
whether that CRTC has a current mode. At a later point, the MetaMonitor
got its own mode abstraction (MetaMonitorMode), but
meta_monitor_is_active() was never updated to use this.

An issue with checking the main output's CRTC state is that, if there is
some CRTC mode combination that for some reason isn't properly detected
by the MetaMonitorMode abstraction (e.g. some tiling configuration not
yet handled), meta_monitor_is_active() would return TRUE, even though no
(abstracted) mode was set. This would cause confusion here and there,
leading to NULL pointer dereferences due to the assumption that if a
monitor is active, it has an active mode.

Instead, change meta_monitor_is_active() to directly check the current
monitor mode, and log a warning if the main output still happen to have
a CRTC with a mode assigned to it. This way, when an not undrestood CRTC
mode combination is encountered, instead of dereferencing NULL pointers,
simply assume the monitor is not active, which means that it will not be
managed or rendered by mutter at all.

https://gitlab.gnome.org/GNOME/mutter/issues/130

(cherry picked from commit 4d465eac0806eb1ead375e2852d4a9d6bc24524f)

Bug-GNOME: https://gitlab.gnome.org/GNOME/mutter/issues/130
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1723615
Applied-Upstream: 3.28.4, commit:https://gitlab.gnome.org/GNOME/mutter/commit/d0d80780

Gbp-Pq: Name monitor-Use-current-monitor-mode-to-check-whether-active.patch

7 years agowindow: Explicitly exclude unmanaging window from focus again
Florian Müllner [Fri, 25 May 2018 19:24:17 +0000 (21:24 +0200)]
window: Explicitly exclude unmanaging window from focus again

Since commit b3b9d9e16 we no longer have to pass the unmanaging window
to make sure we don't try to focus it again, however the parameter also
influences the focus policy by giving ancestors preference over the normal
stack order.

https://gitlab.gnome.org/GNOME/mutter/issues/15

(cherry picked from commit d99442d6e6b7c9b383863cc754db609398d4e65b)

Bug-GNOME: https://gitlab.gnome.org/GNOME/mutter/issues/15
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1422253
Applied-Upstream: 3.28.4, commit:https://gitlab.gnome.org/GNOME/mutter/commit/137f2223

Gbp-Pq: Name window-Explicitly-exclude-unmanaging-window-from-focus-ag.patch

7 years agowindow: Don't refuse to move focus to the grab window
Florian Müllner [Fri, 25 May 2018 18:18:23 +0000 (18:18 +0000)]
window: Don't refuse to move focus to the grab window

We refuse to move focus while a grab operation is in place. While this
generally makes sense, there's no reason why the window that owns the
grab shouldn't be given the regular input focus as well - we pretty
much assume that the grab window is also the focus window anyway.

In fact there's a strong reason for allowing the focus change here:
If the grab window isn't the focus window, it probably has a modal
transient that is focused instead, and a likely reason for the focus
request is that the transient is being unmanaged and we must move
the focus elsewhere.

https://gitlab.gnome.org/GNOME/mutter/issues/15

(cherry picked from commit 148da24f9510ebd23d750b8224aa0ab3a549e69e)

Bug-GNOME: https://gitlab.gnome.org/GNOME/mutter/issues/15
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1422253
Applied-Upstream: 3.28.4, commit:https://gitlab.gnome.org/GNOME/mutter/commit/513cc535

Gbp-Pq: Name window-Don-t-refuse-to-move-focus-to-the-grab-window.patch

7 years agowindow/wayland: Always update monitor for non-user ops
Olivier Fourdan [Mon, 18 Jun 2018 10:39:11 +0000 (12:39 +0200)]
window/wayland: Always update monitor for non-user ops

meta_window_wayland_update_main_monitor() would skip the monitor update
if the difference in scale between the old and the new monitor would
cause another monitor change.

While this is suitable when the monitor change results from a user
interactively moving the surface between monitors of different scales,
this can leave dangling pointers to freed monitors when this is
triggered by a change of monitor configuration.

Make sure we update the monitor unconditionally if not from a user
operation.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/189
(cherry picked from commit a3da4b8d5bd217c0262fd9361036877d155a300f)

Bug-GNOME: https://gitlab.gnome.org/GNOME/mutter/issues/189
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1784398
Applied-Upstream: 3.28.4, commit:https://gitlab.gnome.org/GNOME/mutter/commit/d74a04606

Gbp-Pq: Name window-wayland-Always-update-monitor-for-non-user-ops.patch

7 years agomonitor-manager: Filter out low screen resolutions
Andrea Azzarone [Mon, 16 Jul 2018 16:09:40 +0000 (18:09 +0200)]
monitor-manager: Filter out low screen resolutions

Avoid exporting through org.gnome.Mutter.DisplayConfig.GetCurrentState
excessively-low screen resolutions setting both a minimum width and a minimum
height. GetCurrentState is e.g. used by Gnome Control Center to build a list of
selectable resolutions.

Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=793223
(cherry picked from commit 649c26e05a67c52a4f5acf6b4aa3b1217e9bc9c0)

Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/1772831
Bug-GNOME: https://bugzilla.gnome.org/show_bug.cgi?id=793223
Applied-Upstream: 3.28.4, commit:https://gitlab.gnome.org/GNOME/mutter/commit/0c5e61a2a

Gbp-Pq: Name monitor-manager-Filter-out-low-screen-resolutions.patch

7 years agonative/gpu: Handle drmModeSetCrtc() failing gracefully
Jonas Ådahl [Tue, 24 Apr 2018 09:26:33 +0000 (09:26 +0000)]
native/gpu: Handle drmModeSetCrtc() failing gracefully

If drmModeSetCrtc() is called with no fb, mode or connectors for some
CRTC it may still fail, and we should handle that gracefully instead of
assuming it failed to set a non-disabled state.

Closes https://gitlab.gnome.org/GNOME/mutter/issues/70

(cherry picked from commit 6e953e2725d5d5b10d14c7bd479bd99f6853addc)

Bug-GNOME: https://gitlab.gnome.org/GNOME/mutter/issues/70
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1754949
Applied-Upstream: https://gitlab.gnome.org/GNOME/mutter/commit/44682a2cc555

Gbp-Pq: Name native-gpu-Handle-drmModeSetCrtc-failing-gracefully.patch

7 years agogpu-kms: Don't crash if drmModeGetResources returns NULL
Aaron Plattner [Thu, 19 Jul 2018 17:51:34 +0000 (10:51 -0700)]
gpu-kms: Don't crash if drmModeGetResources returns NULL

DRM drivers can be opened by meta_launcher_open_restricted() even if they don't
implement modesetting. However, drmModeGetResources() will return NULL.

Check whether that happened in meta_gpu_kms_new() and return with an error
instead of crashing.

Fixes #223.

Applied-Upstream: https://gitlab.gnome.org/GNOME/mutter/commit/62660bbd15
Bug-GNOME: https://gitlab.gnome.org/GNOME/mutter/issues/223
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1767956

Gbp-Pq: Name gpu-kms-Don-t-crash-if-drmModeGetResources-returns-N.patch

7 years agomutter (3.28.3-2) unstable; urgency=medium
Simon McVittie [Tue, 31 Jul 2018 14:35:03 +0000 (15:35 +0100)]
mutter (3.28.3-2) unstable; urgency=medium

  * Team upload

  [ Iain Lane ]
  * debian/gbp.conf: Set the upstream branch to upstream/3.28.x, since we've
    branched for experimental now.

  [ Marco Trevisan (Treviño) ]
  * d/p/native-gpu-Handle-drmModeSetCrtc-failing-gracefully.patch:
    - Avoid crashing when warning about wrongly set crtc mode
      (LP: #1754949)
  * d/p/gpu-kms-Don-t-crash-if-drmModeGetResources-returns-N.patch:
    - Don't crash if drmModeGetResources returns NULL  (LP: #1767956)
  * d/p/window-wayland-Always-update-monitor-for-non-user-ops.patch:
    - Always update monitor in wayland, avoiding crash (LP: #1784398)
  * d/p/monitor-manager-Filter-out-low-screen-resolutions.patch:
    - Don't return screen resolutions that can't be applied (LP: #1772831)
  * d/p/window-Don-t-refuse-to-move-focus-to-the-grab-window.patch,
    d/p/window-Explicitly-exclude-unmanaging-window-from-focus-ag.patch:
    - Don't crash if a modal dialog closes while being dragged
      (LP: #1422253)
  * d/p/monitor-Use-current-monitor-mode-to-check-whether-active.patch:
    - Don't try to use an invalid monitor mode to figure out scaling
      (LP: #1723615)

  [ Simon McVittie ]
  * Sort patch series in upstream order, with patches applied upstream
    first
  * d/copyright: Remove obsolete FSF postal addresses
  * Standards-Version: 4.1.5 (no changes required)
  * Set Rules-Requires-Root to no
  * Update symbols file

[dgit import unpatched mutter 3.28.3-2]

7 years agoImport mutter_3.28.3-2.debian.tar.xz
Simon McVittie [Tue, 31 Jul 2018 14:35:03 +0000 (15:35 +0100)]
Import mutter_3.28.3-2.debian.tar.xz

[dgit import tarball mutter 3.28.3-2 mutter_3.28.3-2.debian.tar.xz]

7 years agoMerge version 3.28.2-3+rpi1 and 3.28.3-1 to produce 3.28.3-1+rpi1 archive/raspbian/3.28.3-1+rpi1 raspbian/3.28.3-1+rpi1
Raspbian forward pporter [Thu, 26 Jul 2018 12:28:47 +0000 (13:28 +0100)]
Merge version 3.28.2-3+rpi1 and 3.28.3-1 to produce 3.28.3-1+rpi1

7 years agoMerge mutter (3.28.3-1) import into refs/heads/workingbranch
Marco Trevisan (Treviño) [Thu, 19 Jul 2018 13:59:38 +0000 (14:59 +0100)]
Merge mutter (3.28.3-1) import into refs/heads/workingbranch

7 years agoImport mutter_3.28.3.orig.tar.xz
Marco Trevisan (Treviño) [Thu, 19 Jul 2018 13:59:38 +0000 (14:59 +0100)]
Import mutter_3.28.3.orig.tar.xz

[dgit import orig mutter_3.28.3.orig.tar.xz]

7 years agoSkip test that started failing with 3.25
Jeremy Bicha [Thu, 31 Aug 2017 11:11:39 +0000 (07:11 -0400)]
Skip test that started failing with 3.25

That way we can still benefit by running all the other tests.

Bug: https://bugzilla.gnome.org/785319
Applied-upstream: no

Gbp-Pq: Topic debian
Gbp-Pq: Name skip-failing-tests-325.patch

7 years agoDon't run failing tests
Jeremy Bicha [Fri, 5 May 2017 13:26:36 +0000 (08:26 -0500)]
Don't run failing tests

That way we can still benefit by running all the other tests.

Bug: https://bugzilla.gnome.org/782215
Bug: https://bugzilla.gnome.org/753836
Applied-upstream: no

Gbp-Pq: Topic debian
Gbp-Pq: Name skip-failing-tests.patch

7 years agobackends/x11: Support input-synaptics, if present.
Daniel van Vugt [Sun, 18 Mar 2018 16:56:36 +0000 (12:56 -0400)]
backends/x11: Support input-synaptics, if present.

Add support for configuring the Xorg synaptics touchpad driver.

Turns out it's very simple to support both libinput and synaptics
simultaneously, both under the heading of XI2.

Bug-Ubuntu: https://launchpad.net/bugs/1686081
Forwarded: https://gitlab.gnome.org/GNOME/mutter/merge_requests/37
Applied-upstream: no, rejected as not long-term sustainable
Last-Update: 2018-03-16

Gbp-Pq: Topic debian
Gbp-Pq: Name synaptics-support.patch

7 years agogtk-shell: Work around non-working startup notifications
Florian Müllner [Thu, 20 Oct 2016 16:00:04 +0000 (18:00 +0200)]
gtk-shell: Work around non-working startup notifications

GNOME Shell relies on the MetaScreen::startup-sequence-changed signal,
which is tied to (lib)startup-notification and therefore X11. As a result,
when we remove the startup sequence of a wayland client, GNOME Shell will
not be notified about this until startup-notification's timeout is hit.
As a temporary stop-gap, go through XWayland even for wayland clients,
so that the signal is emitted when expected.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=768531
Applied-upstream: no

Gbp-Pq: Name bgo768531_workaround-startup-notifications.patch

7 years agocore: Return -1 if meta_window_get_monitor is called on an unmanaged window
Sam Spilsbury [Tue, 10 Oct 2017 16:39:40 +0000 (11:39 -0500)]
core: Return -1 if meta_window_get_monitor is called on an unmanaged window

As opposed to crashing. In this case, letting the caller deal with
it is the best policy, since this is public API.

Fixes #78834

Forwarded: yes
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=788834
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/bionic/+source/gnome-shell/+bug/1724439

Gbp-Pq: Name core-Return-1-if-meta_window_get_monitor-is-called-on-an-.patch

7 years agoclutter: Smooth out master clock to smooth visuals
Daniel van Vugt [Fri, 16 Feb 2018 08:50:59 +0000 (02:50 -0600)]
clutter: Smooth out master clock to smooth visuals

Clutter's master clock was jittery because it included errors in cur_tick
such as dispatch delays due to other sources. Dispatch could also occur up
to 1ms early since GSource can only be timed to the millisecond. All of this
could impact the visual smoothness of animations as they are displayed on
the steady interval of the monitor, but spacially moving in less regular
steps derived from the dispatch times.

The simple fix is to ignore any jitter in dispatch timing. Try a little
bit harder to use a precise interval that will better match the display
hardware, and smoother visuals will follow.

Bug: https://gitlab.gnome.org/GNOME/mutter/issues/25
Forwarded: https://gitlab.gnome.org/GNOME/mutter/merge_requests/70

Gbp-Pq: Name clutter-Smooth-out-master-clock-to-smooth-visuals.patch

7 years agotheme: load icons as Gtk does with fallback and RTL support
Marco Trevisan (Treviño) [Fri, 30 Mar 2018 21:17:39 +0000 (15:17 -0600)]
theme: load icons as Gtk does with fallback and RTL support

Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/62

Gbp-Pq: Name theme-load-icons-as-Gtk-does-with-fallback-and-RTL-suppor.patch

7 years agotheme: use gtk_render_icon_suface to paint button icon
Marco Trevisan (Treviño) [Fri, 30 Mar 2018 20:13:41 +0000 (14:13 -0600)]
theme: use gtk_render_icon_suface to paint button icon

This will properly take care of the icon transformations
and of the shadow.

Fixes #100

Bug: https://gitlab.gnome.org/GNOME/mutter/issues/100
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1764558
Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/62

Gbp-Pq: Name theme-use-gtk_render_icon_suface-to-paint-button-icon.patch

7 years agomutter (3.28.3-1) unstable; urgency=medium
Marco Trevisan (Treviño) [Thu, 19 Jul 2018 13:59:38 +0000 (14:59 +0100)]
mutter (3.28.3-1) unstable; urgency=medium

  * New upstream release
  * d/p/backends-Add-logical-monitor-monitor-output-crtc-ref-chai.patch,
    d/p/backends-Move-MetaOutput-crtc-field-into-private-struct.patch,
    d/p/clutter-device-evdev-Get-devices-from-main-seat-if-no-rea.patch,
    d/p/clutter-evdev-Don-t-ignore-CAPS-lock-as-modifier.patch,
    d/p/clutter-evdev-ignore-injected-events-from-IM.patch,
    d/p/clutter-seat-evdev-Add-function-to-get-device-by-id.patch,
    d/p/device-manager-evdev-Add-main-seat-to-seats-by-default.patch,
    d/p/device-manager-evdev-Free-the-main-seat-on-finalize.patch,
    d/p/device-manager-evdev-Set-and-unset-the-stage-for-the-main.patch,
    d/p/frames-Allow-for-unknown-mouse-buttons.patch,
    d/p/frames-Handle-touch-events.patch,
    d/p/frames-Make-1st-button-motion-handlers-take-generic-event.patch,
    d/p/renderer-native-Don-t-crash-if-the-FB-surface-can-t-be-lo.patch,
    d/p/wayland-Compare-geometries-after-chaining-up.patch,
    d/p/wayland-Don-t-reset-input-focus-on-text-commit.patch,
    d/p/wayland-Use-cursor-position-in-logical-monitor.patch,
    d/p/wayland-update-enter-leave-output-after-effects.patch,
    d/p/window-actor-add-new-signal-effects-completed.patch:
    Remove patches already applied on 3.28 branch

[dgit import unpatched mutter 3.28.3-1]

7 years agoImport mutter_3.28.3-1.debian.tar.xz
Marco Trevisan (Treviño) [Thu, 19 Jul 2018 13:59:38 +0000 (14:59 +0100)]
Import mutter_3.28.3-1.debian.tar.xz

[dgit import tarball mutter 3.28.3-1 mutter_3.28.3-1.debian.tar.xz]

7 years agoMerge version 3.28.2-2+rpi1 and 3.28.2-3 to produce 3.28.2-3+rpi1 archive/raspbian/3.28.2-3+rpi1 raspbian/3.28.2-3+rpi1
Raspbian forward pporter [Sun, 15 Jul 2018 14:21:53 +0000 (15:21 +0100)]
Merge version 3.28.2-2+rpi1 and 3.28.2-3 to produce 3.28.2-3+rpi1

7 years agoMerge mutter (3.28.2-3) import into refs/heads/workingbranch
Simon McVittie [Sun, 8 Jul 2018 10:32:56 +0000 (11:32 +0100)]
Merge mutter (3.28.2-3) import into refs/heads/workingbranch

7 years agoSkip test that started failing with 3.25
Jeremy Bicha [Thu, 31 Aug 2017 11:11:39 +0000 (07:11 -0400)]
Skip test that started failing with 3.25

That way we can still benefit by running all the other tests.

Bug: https://bugzilla.gnome.org/785319
Applied-upstream: no

Gbp-Pq: Topic debian
Gbp-Pq: Name skip-failing-tests-325.patch

7 years agoDon't run failing tests
Jeremy Bicha [Fri, 5 May 2017 13:26:36 +0000 (08:26 -0500)]
Don't run failing tests

That way we can still benefit by running all the other tests.

Bug: https://bugzilla.gnome.org/782215
Bug: https://bugzilla.gnome.org/753836
Applied-upstream: no

Gbp-Pq: Topic debian
Gbp-Pq: Name skip-failing-tests.patch

7 years agobackends/x11: Support input-synaptics, if present.
Daniel van Vugt [Sun, 18 Mar 2018 16:56:36 +0000 (12:56 -0400)]
backends/x11: Support input-synaptics, if present.

Add support for configuring the Xorg synaptics touchpad driver.

Turns out it's very simple to support both libinput and synaptics
simultaneously, both under the heading of XI2.

Bug-Ubuntu: https://launchpad.net/bugs/1686081
Forwarded: https://gitlab.gnome.org/GNOME/mutter/merge_requests/37
Applied-upstream: no, rejected as not long-term sustainable
Last-Update: 2018-03-16

Gbp-Pq: Topic debian
Gbp-Pq: Name synaptics-support.patch

7 years agogtk-shell: Work around non-working startup notifications
Florian Müllner [Thu, 20 Oct 2016 16:00:04 +0000 (18:00 +0200)]
gtk-shell: Work around non-working startup notifications

GNOME Shell relies on the MetaScreen::startup-sequence-changed signal,
which is tied to (lib)startup-notification and therefore X11. As a result,
when we remove the startup sequence of a wayland client, GNOME Shell will
not be notified about this until startup-notification's timeout is hit.
As a temporary stop-gap, go through XWayland even for wayland clients,
so that the signal is emitted when expected.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=768531
Applied-upstream: no

Gbp-Pq: Name bgo768531_workaround-startup-notifications.patch

7 years agocore: Return -1 if meta_window_get_monitor is called on an unmanaged window
Sam Spilsbury [Tue, 10 Oct 2017 16:39:40 +0000 (11:39 -0500)]
core: Return -1 if meta_window_get_monitor is called on an unmanaged window

As opposed to crashing. In this case, letting the caller deal with
it is the best policy, since this is public API.

Fixes #78834

Forwarded: yes
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=788834
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/bionic/+source/gnome-shell/+bug/1724439

Gbp-Pq: Name core-Return-1-if-meta_window_get_monitor-is-called-on-an-.patch

7 years agoclutter: Smooth out master clock to smooth visuals
Daniel van Vugt [Fri, 16 Feb 2018 08:50:59 +0000 (02:50 -0600)]
clutter: Smooth out master clock to smooth visuals

Clutter's master clock was jittery because it included errors in cur_tick
such as dispatch delays due to other sources. Dispatch could also occur up
to 1ms early since GSource can only be timed to the millisecond. All of this
could impact the visual smoothness of animations as they are displayed on
the steady interval of the monitor, but spacially moving in less regular
steps derived from the dispatch times.

The simple fix is to ignore any jitter in dispatch timing. Try a little
bit harder to use a precise interval that will better match the display
hardware, and smoother visuals will follow.

Bug: https://gitlab.gnome.org/GNOME/mutter/issues/25
Forwarded: https://gitlab.gnome.org/GNOME/mutter/merge_requests/70

Gbp-Pq: Name clutter-Smooth-out-master-clock-to-smooth-visuals.patch

7 years agotheme: load icons as Gtk does with fallback and RTL support
Marco Trevisan (Treviño) [Fri, 30 Mar 2018 21:17:39 +0000 (15:17 -0600)]
theme: load icons as Gtk does with fallback and RTL support

Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/62

Gbp-Pq: Name theme-load-icons-as-Gtk-does-with-fallback-and-RTL-suppor.patch

7 years agotheme: use gtk_render_icon_suface to paint button icon
Marco Trevisan (Treviño) [Fri, 30 Mar 2018 20:13:41 +0000 (14:13 -0600)]
theme: use gtk_render_icon_suface to paint button icon

This will properly take care of the icon transformations
and of the shadow.

Fixes #100

Bug: https://gitlab.gnome.org/GNOME/mutter/issues/100
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1764558
Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/62

Gbp-Pq: Name theme-use-gtk_render_icon_suface-to-paint-button-icon.patch

7 years agobackends: Add logical monitor -> monitor -> output -> crtc ref chain
Jonas Ådahl [Fri, 3 Nov 2017 10:27:57 +0000 (04:27 -0600)]
backends: Add logical monitor -> monitor -> output -> crtc ref chain

Make it so that each logical monitor has a reference to all the
monitors that are assigned to it.

All monitors has a reference to each output that belongs to it.

Each output has a reference to any CRTC it has been assigned.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=786929
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1703668
Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/81
Applied-upstream: 3.28.3, commit:fe1616668e9d82e87f6c518b3b4bacff3afefdf7

Gbp-Pq: Name backends-Add-logical-monitor-monitor-output-crtc-ref-chai.patch

7 years agobackends: Move MetaOutput::crtc field into private struct
Jonas Ådahl [Fri, 3 Nov 2017 10:25:30 +0000 (04:25 -0600)]
backends: Move MetaOutput::crtc field into private struct

No functional changes. This is only done so that changes to reference
counting can done more reliably.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=786929
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1703668
Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/81
Applied-upstream: 3.28.3, commit:7d01aec48da979f4fdad3c5f586fd0fd340d9325

Gbp-Pq: Name backends-Move-MetaOutput-crtc-field-into-private-struct.patch

7 years agorenderer-native: Don't crash if the FB surface can't be locked
Marco Trevisan (Treviño) [Tue, 8 May 2018 21:36:33 +0000 (22:36 +0100)]
renderer-native: Don't crash if the FB surface can't be locked

(cherry picked from commit 0332b7394e56f71c15692663ab05f8c84a4b9eff)

Origin: upstream, 3.28.3, commit:a41d84db00b3105dc630d91707c0f5dd888394ec

Gbp-Pq: Name renderer-native-Don-t-crash-if-the-FB-surface-can-t-be-lo.patch

7 years agodevice-manager-evdev: Add main seat to seats by default
Marco Trevisan (Treviño) [Wed, 16 May 2018 23:53:48 +0000 (00:53 +0100)]
device-manager-evdev: Add main seat to seats by default

Treat the main seat as other seats, so we don't have to handle it differently
in specific places. This was already the case before when a real device
was plugged before the startup, but not applied when hotplugging a device.

(cherry picked from commit 15f41c9f68abfbb5408205a45f9f578e2ff5ee86)

Origin: upstream, 3.28.3, commit:e73b321c2ed4be6fe2a317d65bdb24238a427c4f

Gbp-Pq: Name device-manager-evdev-Add-main-seat-to-seats-by-default.patch

7 years agodevice-manager-evdev: Free the main seat on finalize
Marco Trevisan (Treviño) [Wed, 16 May 2018 23:23:26 +0000 (00:23 +0100)]
device-manager-evdev: Free the main seat on finalize

(cherry picked from commit 2a38601b4211f9b1dedd45261a040e51de13b838)

Origin: upstream, 3.28.3, commit:b6dc2052c3e64b9b51ff4d15eb280d2b84b4b200

Gbp-Pq: Name device-manager-evdev-Free-the-main-seat-on-finalize.patch

7 years agodevice-manager-evdev: Set and unset the stage for the main seat too
Marco Trevisan (Treviño) [Wed, 16 May 2018 10:55:15 +0000 (11:55 +0100)]
device-manager-evdev: Set and unset the stage for the main seat too

When no input devices are available on startup the device manager might be fast
enough to be constructed so that no default stage is set yet, and thus when
main seat virtual devices are created they won't have a proper stage set.
If then we plug a real device, the events that an input manager could generate
won't be associated to any stage and thus won't be processed.

We need then ensure that when we update the stage for the device manager we
(un)associate it also to the main seat devices.

(cherry picked from commit d7bdc1591fba5353b23a28ebf676da0e7b58c84e)

Origin: upstream, 3.28.3, commit:72965aaaf0b1c6cf098a0652e14dd3eb4c1501b8

Gbp-Pq: Name device-manager-evdev-Set-and-unset-the-stage-for-the-main.patch

7 years agoclutter-device-evdev: Get devices from main seat if no real seat is set
Marco Trevisan (Treviño) [Tue, 15 May 2018 11:09:59 +0000 (12:09 +0100)]
clutter-device-evdev: Get devices from main seat if no real seat is set

In devices such as ARM boards there could be no input devices connected on
startup, leading to a crash when we try to process artificial events that
could be queued (as gnome-shell does when syncing pointer).

Those events still should refer to a device and, in case we don't have one
provided by libinput we should still return the core devices defined in the
main seat.

(cherry picked from commit 3e85ac8131fc76312a2382d83df6926b88a37415)

Origin: upstream, 3.28.3, commit:2a6782dc10147a5a45f90ac318ba440f21f819d6

Gbp-Pq: Name clutter-device-evdev-Get-devices-from-main-seat-if-no-rea.patch

7 years agoclutter-seat-evdev: Add function to get device by id
Marco Trevisan (Treviño) [Tue, 15 May 2018 11:04:56 +0000 (12:04 +0100)]
clutter-seat-evdev: Add function to get device by id

(cherry picked from commit 5f83d9a5c854873746a31d0cc4d118c9a6d87ddd)

Origin: upstream, 3.28.3, commit:5142c8c7e721f7cff91f651178aad55a69b56df1

Gbp-Pq: Name clutter-seat-evdev-Add-function-to-get-device-by-id.patch

7 years agowayland: Don't reset input focus on text commit
Changwoo Ryu [Tue, 15 May 2018 14:45:43 +0000 (23:45 +0900)]
wayland: Don't reset input focus on text commit

Preedit text can be active even after text commit. Resetting the input
focus will lead to unintended commit of the preedit text.

Bug: https://gitlab.gnome.org/GNOME/mutter/issues/152
Origin: upstream, 3.28.3, commit:abc7ad8e9f67a720516fb739c5dfe4b49748d423

Gbp-Pq: Name wayland-Don-t-reset-input-focus-on-text-commit.patch

7 years agoframes: Allow for unknown mouse buttons
Olivier Fourdan [Tue, 22 May 2018 09:23:13 +0000 (11:23 +0200)]
frames: Allow for unknown mouse buttons

Commit 47131b1d ("frames: Handle touch events") introduced an assert to
make sure that all mouse button actions are handled in mutter.

However, mice can have a more than 5 buttons, so simply ignore the
"other" actions instead of aborting.

(cherry picked from commit 473bf38753221dc0002fae309d2f3f217e96c5f5)

Bug: https://gitlab.gnome.org/GNOME/mutter/issues/160
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=899181
Origin: upstream, 3.28.3, commit:1a3f9a33234f8406ffcaa150df542b73715910f4

Gbp-Pq: Name frames-Allow-for-unknown-mouse-buttons.patch

7 years agowayland: update enter/leave output after effects
Olivier Fourdan [Wed, 4 Apr 2018 08:15:25 +0000 (10:15 +0200)]
wayland: update enter/leave output after effects

Compositor effects change the actor size and position, which can lead to
inconsistent output enter/leave notifications, leaving clients' surfaces
without any output set.

Update output enter/leave notifications after all compositor effects are
completed so that we give clients accurate output location.

(cherry picked from commit 17a745bf81c24dae9c081e93ae1593e2bb81efd6)

Bug: https://gitlab.gnome.org/GNOME/mutter/issues/104
Origin: upstream, 3.28.3, commit:235c35182b54eb3a86164afa5be13ae8c520d228

Gbp-Pq: Name wayland-update-enter-leave-output-after-effects.patch

7 years agowindow-actor: add new signal "effects-completed"
Olivier Fourdan [Wed, 4 Apr 2018 08:10:32 +0000 (10:10 +0200)]
window-actor: add new signal "effects-completed"

When using plugins, the effects will affect the MetaWindowActor size
and position.

Add a new signal "effects-completed" wired to the corresponding
MetaWindowActor which is emitted when all effects are completed so that
derived objects can be notified when all effects are completed and use
the actual size and position.

(cherry picked from commit 85bbd82ae847eed0bba943c119a356d9493f7da2)

Bug: https://gitlab.gnome.org/GNOME/mutter/issues/104
Origin: upstream, 3.28.3, commit:e4661d7870c4ae939c72371b5c4b46d5390bfeac

Gbp-Pq: Name window-actor-add-new-signal-effects-completed.patch

7 years agowayland: Compare geometries after chaining up
Georges Basile Stavracas Neto [Thu, 17 May 2018 20:46:05 +0000 (17:46 -0300)]
wayland: Compare geometries after chaining up

After 20176d03, the Wayland backend only synchronizes with the
compositor after a geometry was set, and it was different from
the current geometry.

That commit was mistakenly comparing the geometry before chaining
up, which would yield a false negative on the case where the
client didn't call set_geometry() before commit().

Fix that by caching the old geometry locally, chain up (and thus
apply the new geometry rectangle), then comparing the old and
current geometry rectangles.

(cherry picked from commit cf734999fb9e342811896f70f7c1f415462728a7)

Bug: https://gitlab.gnome.org/GNOME/mutter/issues/150
Origin: upstream, 3.28.3, commit:9d4c7e4e75fc7d03254b2051eb088f216fe36da8

Gbp-Pq: Name wayland-Compare-geometries-after-chaining-up.patch

7 years agoframes: Handle touch events
Carlos Garnacho [Sun, 15 Apr 2018 14:26:32 +0000 (16:26 +0200)]
frames: Handle touch events

This is just done on wayland as it'll break horribly on X11, we let
this happen through pointer emulated events in XISelectEvents evmask
instead.

Some things had to be made slightly more generic to accomodate touch
events. The MetaFrames shall lock onto a single touch at a time, we
don't allow crazy stuff like multi-window drag nor multi-edge resizes.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=770185
Origin: upstream, 3.28.3, commit:47131b1dadc1a9b7afe9a22740ab69ce97fb02d6

Gbp-Pq: Name frames-Handle-touch-events.patch

7 years agoframes: Make 1st button/motion handlers take generic events
Carlos Garnacho [Sun, 15 Apr 2018 13:45:02 +0000 (15:45 +0200)]
frames: Make 1st button/motion handlers take generic events

This will ease handling of touch events through these same handlers.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=770185
Origin: upstream, 3.28.3, commit:51c0130645961e923b0e138adaf371086a0ea4b3

Gbp-Pq: Name frames-Make-1st-button-motion-handlers-take-generic-event.patch

7 years agoclutter/evdev: Don't ignore CAPS lock as modifier
Olivier Fourdan [Tue, 17 Apr 2018 12:03:12 +0000 (14:03 +0200)]
clutter/evdev: Don't ignore CAPS lock as modifier

Mark CAPS lock as a modifier (as it should) so that when using XKB
options to change the default behaviour of CAPS lock, the new assigned
key can by used as a sticky key as well.

(cherry picked from commit 6df2b7af556bf01f8d564b86c66c293678ab6b90)

Bug: https://gitlab.gnome.org/GNOME/mutter/issues/112
Origin: upstream, 3.28.3, commit:2dd9fc17c17cbc9b09f8a364682c5759d6539a8d

Gbp-Pq: Name clutter-evdev-Don-t-ignore-CAPS-lock-as-modifier.patch

7 years agoclutter/evdev: ignore injected events from IM
Olivier Fourdan [Tue, 17 Apr 2018 11:32:21 +0000 (13:32 +0200)]
clutter/evdev: ignore injected events from IM

Input method can inject key events, which leads to multiple reported key
press/release events for a single user action.

Ignore those events as this confuses keyboard accessibility.

(cherry picked from commit c01b099dbdfee4b2a98864bc76bfa1b96a55c8fb)

Origin: upstream, 3.28.3, commit:c7a38c31398871d2461b66963756816d268f524e

Gbp-Pq: Name clutter-evdev-ignore-injected-events-from-IM.patch

7 years agowayland: Use cursor position in logical monitor
Olivier Fourdan [Fri, 23 Mar 2018 12:05:12 +0000 (13:05 +0100)]
wayland: Use cursor position in logical monitor

When using two monitors size by side with different scales, once the
cursor moves from one output to another one, its size changes based on
the scale of the given output.

Changing the size of the cursor can cause the cursor area to change
output again if the hotspot is not exactly at the top left corner of the
area, causing the texture of the cursor to change, which will trigger
another output change, so on and so forth causing continuous surface
enter/leave event which flood the clients and eventually kill them.

Change the logic to use only the actual cursor position to determine if
its on the given logical monitor, so that it remains immune to scale
changes induced by output scale differences.

(cherry picked from commit 67917db45f96befb777e5f331a775ea3c2b53012)

Bug: https://gitlab.gnome.org/GNOME/mutter/issues/83
Origin: upstream, 3.28.3, commit:7d52be02290bd92589fbea756ca3431af8e71a94

Gbp-Pq: Name wayland-Use-cursor-position-in-logical-monitor.patch

7 years agomutter (3.28.2-3) unstable; urgency=medium
Simon McVittie [Sun, 8 Jul 2018 10:32:56 +0000 (11:32 +0100)]
mutter (3.28.2-3) unstable; urgency=medium

  * Team upload
  * d/p/backends-Move-MetaOutput-crtc-field-into-private-struct.patch,
    d/p/backends-Add-logical-monitor-monitor-output-crtc-ref-chai.patch:
    Mark as applied upstream
  * d/p/backends-Move-MetaOutput-crtc-field-into-private-struct.patch:
    Update to the version that was applied upstream
  * d/p/frames-Handle-touch-events.patch,
    d/p/frames-Make-1st-button-motion-handlers-take-generic-event.patch,
    d/p/frames-Allow-for-unknown-mouse-buttons.patch:
    Reinstate patches dropped in previous upload, along with the
    upstream fix for #899181
  * d/p/wayland-Compare-geometries-after-chaining-up.patch,
    d/p/window-actor-add-new-signal-effects-completed.patch,
    d/p/wayland-update-enter-leave-output-after-effects.patch,
    d/p/frames-Allow-for-unknown-mouse-buttons.patch,
    d/p/wayland-Don-t-reset-input-focus-on-text-commit.patch,
    d/p/clutter-seat-evdev-Add-function-to-get-device-by-id.patch,
    d/p/clutter-device-evdev-Get-devices-from-main-seat-if-no-rea.patch,
    d/p/device-manager-evdev-Set-and-unset-the-stage-for-the-main.patch,
    d/p/device-manager-evdev-Free-the-main-seat-on-finalize.patch,
    d/p/device-manager-evdev-Add-main-seat-to-seats-by-default.patch,
    d/p/renderer-native-Don-t-crash-if-the-FB-surface-can-t-be-lo.patch:
    Update to upstream gnome-3-28 branch
  * Add a symbols file for libmutter-2-0
  * d/copyright: Copy many licenses and copyright holders into this file,
    multiplying its length by 5 (Closes: #891156)

[dgit import unpatched mutter 3.28.2-3]

7 years agoImport mutter_3.28.2-3.debian.tar.xz
Simon McVittie [Sun, 8 Jul 2018 10:32:56 +0000 (11:32 +0100)]
Import mutter_3.28.2-3.debian.tar.xz

[dgit import tarball mutter 3.28.2-3 mutter_3.28.2-3.debian.tar.xz]

7 years agoMerge version 3.28.1-2+rpi1 and 3.28.2-2 to produce 3.28.2-2+rpi1 archive/raspbian/3.28.2-2+rpi1 raspbian/3.28.2-2+rpi1
Raspbian forward pporter [Sun, 10 Jun 2018 07:51:49 +0000 (08:51 +0100)]
Merge version 3.28.1-2+rpi1 and 3.28.2-2 to produce 3.28.2-2+rpi1

7 years agoMerge mutter (3.28.2-2) import into refs/heads/workingbranch
Simon McVittie [Sun, 20 May 2018 14:21:35 +0000 (15:21 +0100)]
Merge mutter (3.28.2-2) import into refs/heads/workingbranch

7 years agoSkip test that started failing with 3.25
Jeremy Bicha [Thu, 31 Aug 2017 11:11:39 +0000 (07:11 -0400)]
Skip test that started failing with 3.25

That way we can still benefit by running all the other tests.

Bug: https://bugzilla.gnome.org/785319
Applied-upstream: no

Gbp-Pq: Topic debian
Gbp-Pq: Name skip-failing-tests-325.patch

7 years agoDon't run failing tests
Jeremy Bicha [Fri, 5 May 2017 13:26:36 +0000 (08:26 -0500)]
Don't run failing tests

That way we can still benefit by running all the other tests.

Bug: https://bugzilla.gnome.org/782215
Bug: https://bugzilla.gnome.org/753836
Applied-upstream: no

Gbp-Pq: Topic debian
Gbp-Pq: Name skip-failing-tests.patch

7 years agobackends/x11: Support input-synaptics, if present.
Daniel van Vugt [Sun, 18 Mar 2018 16:56:36 +0000 (12:56 -0400)]
backends/x11: Support input-synaptics, if present.

Add support for configuring the Xorg synaptics touchpad driver.

Turns out it's very simple to support both libinput and synaptics
simultaneously, both under the heading of XI2.

Bug-Ubuntu: https://launchpad.net/bugs/1686081
Forwarded: https://gitlab.gnome.org/GNOME/mutter/merge_requests/37
Applied-upstream: no, rejected as not long-term sustainable
Last-Update: 2018-03-16

Gbp-Pq: Topic debian
Gbp-Pq: Name synaptics-support.patch

7 years agogtk-shell: Work around non-working startup notifications
Florian Müllner [Thu, 20 Oct 2016 16:00:04 +0000 (18:00 +0200)]
gtk-shell: Work around non-working startup notifications

GNOME Shell relies on the MetaScreen::startup-sequence-changed signal,
which is tied to (lib)startup-notification and therefore X11. As a result,
when we remove the startup sequence of a wayland client, GNOME Shell will
not be notified about this until startup-notification's timeout is hit.
As a temporary stop-gap, go through XWayland even for wayland clients,
so that the signal is emitted when expected.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=768531
Applied-upstream: no

Gbp-Pq: Name bgo768531_workaround-startup-notifications.patch

7 years agobackends: Add logical monitor -> monitor -> output -> crtc ref chain
Jonas Ådahl [Fri, 3 Nov 2017 10:27:57 +0000 (04:27 -0600)]
backends: Add logical monitor -> monitor -> output -> crtc ref chain

Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1703668
Bug-GNOME: https://bugzilla.gnome.org/show_bug.cgi?id=786929
Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/81

Make it so that each logical monitor has a reference to all the
monitors that are assigned to it.

All monitors has a reference to each output that belongs to it.

Each output has a reference to any CRTC it has been assigned.

https://bugzilla.gnome.org/show_bug.cgi?id=786929

Gbp-Pq: Name backends-Add-logical-monitor-monitor-output-crtc-ref-chai.patch

7 years agobackends: Move MetaOutput::crtc field into private struct
Jonas Ådahl [Fri, 3 Nov 2017 10:25:30 +0000 (04:25 -0600)]
backends: Move MetaOutput::crtc field into private struct

Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1703668
Bug-GNOME: https://bugzilla.gnome.org/show_bug.cgi?id=786929
Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/81

No functional changes. This is only done so that changes to reference
counting can done more reliably.

https://bugzilla.gnome.org/show_bug.cgi?id=786929

Gbp-Pq: Name backends-Move-MetaOutput-crtc-field-into-private-struct.patch

7 years agocore: Return -1 if meta_window_get_monitor is called on an unmanaged window
Sam Spilsbury [Tue, 10 Oct 2017 16:39:40 +0000 (11:39 -0500)]
core: Return -1 if meta_window_get_monitor is called on an unmanaged window

Forwarded: yes
Bug-GNOME: https://bugzilla.gnome.org/show_bug.cgi?id=788834
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/bionic/+source/gnome-shell/+bug/1724439

As opposed to crashing. In this case, letting the caller deal with
it is the best policy, since this is public API.

Fixes #78834

Gbp-Pq: Name core-Return-1-if-meta_window_get_monitor-is-called-on-an-.patch

7 years agoclutter: Smooth out master clock to smooth visuals
Daniel van Vugt [Fri, 16 Feb 2018 08:50:59 +0000 (02:50 -0600)]
clutter: Smooth out master clock to smooth visuals

Bug-GNOME: https://gitlab.gnome.org/GNOME/mutter/issues/25
Forwarded, yes: https://gitlab.gnome.org/GNOME/mutter/merge_requests/70

Clutter's master clock was jittery because it included errors in cur_tick
such as dispatch delays due to other sources. Dispatch could also occur up
to 1ms early since GSource can only be timed to the millisecond. All of this
could impact the visual smoothness of animations as they are displayed on
the steady interval of the monitor, but spacially moving in less regular
steps derived from the dispatch times.

The simple fix is to ignore any jitter in dispatch timing. Try a little
bit harder to use a precise interval that will better match the display
hardware, and smoother visuals will follow.

https://gitlab.gnome.org/GNOME/mutter/issues/25

Gbp-Pq: Name clutter-Smooth-out-master-clock-to-smooth-visuals.patch

7 years agotheme: load icons as Gtk does with fallback and RTL support
Marco Trevisan (Treviño) [Fri, 30 Mar 2018 21:17:39 +0000 (15:17 -0600)]
theme: load icons as Gtk does with fallback and RTL support

Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/62

Gbp-Pq: Name theme-load-icons-as-Gtk-does-with-fallback-and-RTL-suppor.patch

7 years agotheme: use gtk_render_icon_suface to paint button icon
Marco Trevisan (Treviño) [Fri, 30 Mar 2018 20:13:41 +0000 (14:13 -0600)]
theme: use gtk_render_icon_suface to paint button icon

Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1764558
Bug-GNOME: https://gitlab.gnome.org/GNOME/mutter/issues/100
Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/62

This will properly take care of the icon transformations
and of the shadow.

Fixes #100

Gbp-Pq: Name theme-use-gtk_render_icon_suface-to-paint-button-icon.patch

7 years agoclutter/evdev: Don't ignore CAPS lock as modifier
Olivier Fourdan [Tue, 17 Apr 2018 12:03:12 +0000 (14:03 +0200)]
clutter/evdev: Don't ignore CAPS lock as modifier

Mark CAPS lock as a modifier (as it should) so that when using XKB
options to change the default behaviour of CAPS lock, the new assigned
key can by used as a sticky key as well.

(cherry picked from commit 6df2b7af556bf01f8d564b86c66c293678ab6b90)

Bug: https://gitlab.gnome.org/GNOME/mutter/issues/112
Origin: upstream, 3.28.3, commit:2dd9fc17c17cbc9b09f8a364682c5759d6539a8d

Gbp-Pq: Name clutter-evdev-Don-t-ignore-CAPS-lock-as-modifier.patch

7 years agoclutter/evdev: ignore injected events from IM
Olivier Fourdan [Tue, 17 Apr 2018 11:32:21 +0000 (13:32 +0200)]
clutter/evdev: ignore injected events from IM

Input method can inject key events, which leads to multiple reported key
press/release events for a single user action.

Ignore those events as this confuses keyboard accessibility.

(cherry picked from commit c01b099dbdfee4b2a98864bc76bfa1b96a55c8fb)

Origin: upstream, 3.28.3, commit:c7a38c31398871d2461b66963756816d268f524e

Gbp-Pq: Name clutter-evdev-ignore-injected-events-from-IM.patch

7 years agowayland: Use cursor position in logical monitor
Olivier Fourdan [Fri, 23 Mar 2018 12:05:12 +0000 (13:05 +0100)]
wayland: Use cursor position in logical monitor

When using two monitors size by side with different scales, once the
cursor moves from one output to another one, its size changes based on
the scale of the given output.

Changing the size of the cursor can cause the cursor area to change
output again if the hotspot is not exactly at the top left corner of the
area, causing the texture of the cursor to change, which will trigger
another output change, so on and so forth causing continuous surface
enter/leave event which flood the clients and eventually kill them.

Change the logic to use only the actual cursor position to determine if
its on the given logical monitor, so that it remains immune to scale
changes induced by output scale differences.

(cherry picked from commit 67917db45f96befb777e5f331a775ea3c2b53012)

Bug: https://gitlab.gnome.org/GNOME/mutter/issues/83
Origin: upstream, 3.28.3, commit:7d52be02290bd92589fbea756ca3431af8e71a94

Gbp-Pq: Name wayland-Use-cursor-position-in-logical-monitor.patch

7 years agomutter (3.28.2-2) unstable; urgency=medium
Simon McVittie [Sun, 20 May 2018 14:21:35 +0000 (15:21 +0100)]
mutter (3.28.2-2) unstable; urgency=medium

  * Team upload
  * d/p/frames-Handle-touch-events.patch,
    d/p/frames-Make-1st-button-motion-handlers-take-generic-event.patch:
    Drop cherry-picked patches that caused a regression (Closes: #899181)

[dgit import unpatched mutter 3.28.2-2]

7 years agoImport mutter_3.28.2-2.debian.tar.xz
Simon McVittie [Sun, 20 May 2018 14:21:35 +0000 (15:21 +0100)]
Import mutter_3.28.2-2.debian.tar.xz

[dgit import tarball mutter 3.28.2-2 mutter_3.28.2-2.debian.tar.xz]

7 years agoImport mutter_3.28.2.orig.tar.xz
Simon McVittie [Thu, 17 May 2018 09:37:25 +0000 (10:37 +0100)]
Import mutter_3.28.2.orig.tar.xz

[dgit import orig mutter_3.28.2.orig.tar.xz]

7 years agoMerge version 3.28.1-1+rpi1 and 3.28.1-2 to produce 3.28.1-2+rpi1 archive/raspbian/3.28.1-2+rpi1 raspbian/3.28.1-2+rpi1
Raspbian forward pporter [Wed, 2 May 2018 04:41:07 +0000 (05:41 +0100)]
Merge version 3.28.1-1+rpi1 and 3.28.1-2 to produce 3.28.1-2+rpi1

7 years agoAdd build-depends on libgles2-mesa-dev archive/raspbian/3.28.1-1+rpi1 raspbian/3.28.1-1+rpi1
Peter Michael Green [Sun, 29 Apr 2018 23:26:39 +0000 (23:26 +0000)]
Add build-depends on libgles2-mesa-dev

7 years agoMerge version 3.28.0-2+rpi1 and 3.28.1-1 to produce 3.28.1-1+rpi1
Raspbian forward pporter [Thu, 26 Apr 2018 03:52:56 +0000 (04:52 +0100)]
Merge version 3.28.0-2+rpi1 and 3.28.1-1 to produce 3.28.1-1+rpi1

7 years agoMerge mutter (3.28.1-2) import into refs/heads/workingbranch
Marco Trevisan (Treviño) [Mon, 23 Apr 2018 15:46:57 +0000 (16:46 +0100)]
Merge mutter (3.28.1-2) import into refs/heads/workingbranch

7 years agoxwayland: Don't abort if Xwayland crashes
Ray Strode [Thu, 12 Apr 2018 18:06:01 +0000 (13:06 -0500)]
xwayland: Don't abort if Xwayland crashes

Right now if Xwayland crashes, we crash, too.

On some level that makes sense, since we're supposed to control the
lifecycle of Xwayland, and by it crashing we've lost that control.

But practically speaking, the knock-on crash adds noise to the logs,
bug trackers, and retrace servers that only makes debugging harder.
And the crash isn't something mutter can "fix", since it's
ultimately from a bug in Xwayland anyway.

This commit makes mutter exit instead of crash if Xwayland goes away
unexpectedly.

Origin: https://gitlab.gnome.org/GNOME/mutter/commit/2d80fd0

Gbp-Pq: Name xwayland-Don-t-abort-if-Xwayland-crashes.patch

7 years agoxwayland: use g_autoptr for GError in xserver_died
Ray Strode [Thu, 12 Apr 2018 18:03:03 +0000 (13:03 -0500)]
xwayland: use g_autoptr for GError in xserver_died

Right now we explicitly g_clear_error any error we find, but that
makes it tricky to return early from the function, which a
subsequent commit will want to to do.

This commit switches GError to use g_autoptr so the error clearing
happens automatically.

Origin: https://gitlab.gnome.org/GNOME/mutter/commit/bb65854

Gbp-Pq: Name xwayland-use-g_autoptr-for-GError-in-xserver_died.patch

7 years agobackends: Add logical monitor -> monitor -> output -> crtc ref chain
Jonas Ådahl [Fri, 3 Nov 2017 10:27:57 +0000 (04:27 -0600)]
backends: Add logical monitor -> monitor -> output -> crtc ref chain

Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1703668
Bug-GNOME: https://bugzilla.gnome.org/show_bug.cgi?id=786929
Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/81

Make it so that each logical monitor has a reference to all the
monitors that are assigned to it.

All monitors has a reference to each output that belongs to it.

Each output has a reference to any CRTC it has been assigned.

https://bugzilla.gnome.org/show_bug.cgi?id=786929

Gbp-Pq: Name backends-Add-logical-monitor-monitor-output-crtc-ref-chai.patch

7 years agobackends: Move MetaOutput::crtc field into private struct
Jonas Ådahl [Fri, 3 Nov 2017 10:25:30 +0000 (04:25 -0600)]
backends: Move MetaOutput::crtc field into private struct

Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1703668
Bug-GNOME: https://bugzilla.gnome.org/show_bug.cgi?id=786929
Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/81

No functional changes. This is only done so that changes to reference
counting can done more reliably.

https://bugzilla.gnome.org/show_bug.cgi?id=786929

Gbp-Pq: Name backends-Move-MetaOutput-crtc-field-into-private-struct.patch

7 years agocore: Return -1 if meta_window_get_monitor is called on an unmanaged window
Sam Spilsbury [Tue, 10 Oct 2017 16:39:40 +0000 (11:39 -0500)]
core: Return -1 if meta_window_get_monitor is called on an unmanaged window

Forwarded: yes
Bug-GNOME: https://bugzilla.gnome.org/show_bug.cgi?id=788834
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/bionic/+source/gnome-shell/+bug/1724439

As opposed to crashing. In this case, letting the caller deal with
it is the best policy, since this is public API.

Fixes #78834

Gbp-Pq: Name core-Return-1-if-meta_window_get_monitor-is-called-on-an-.patch

7 years agoclutter: Smooth out master clock to smooth visuals
Daniel van Vugt [Fri, 16 Feb 2018 08:50:59 +0000 (02:50 -0600)]
clutter: Smooth out master clock to smooth visuals

Bug-GNOME: https://gitlab.gnome.org/GNOME/mutter/issues/25
Forwarded, yes: https://gitlab.gnome.org/GNOME/mutter/merge_requests/70

Clutter's master clock was jittery because it included errors in cur_tick
such as dispatch delays due to other sources. Dispatch could also occur up
to 1ms early since GSource can only be timed to the millisecond. All of this
could impact the visual smoothness of animations as they are displayed on
the steady interval of the monitor, but spacially moving in less regular
steps derived from the dispatch times.

The simple fix is to ignore any jitter in dispatch timing. Try a little
bit harder to use a precise interval that will better match the display
hardware, and smoother visuals will follow.

https://gitlab.gnome.org/GNOME/mutter/issues/25

Gbp-Pq: Name clutter-Smooth-out-master-clock-to-smooth-visuals.patch

7 years agotheme: load icons as Gtk does with fallback and RTL support
Marco Trevisan (Treviño) [Fri, 30 Mar 2018 21:17:39 +0000 (15:17 -0600)]
theme: load icons as Gtk does with fallback and RTL support

Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/62

Gbp-Pq: Name theme-load-icons-as-Gtk-does-with-fallback-and-RTL-suppor.patch

7 years agotheme: use gtk_render_icon_suface to paint button icon
Marco Trevisan (Treviño) [Fri, 30 Mar 2018 20:13:41 +0000 (14:13 -0600)]
theme: use gtk_render_icon_suface to paint button icon

Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1764558
Bug-GNOME: https://gitlab.gnome.org/GNOME/mutter/issues/100
Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/62

This will properly take care of the icon transformations
and of the shadow.

Fixes #100

Gbp-Pq: Name theme-use-gtk_render_icon_suface-to-paint-button-icon.patch

7 years agotheme, frames: Use surface device scale instead of cairo_scale
Marco Trevisan (Treviño) [Fri, 30 Mar 2018 18:57:50 +0000 (12:57 -0600)]
theme, frames: Use surface device scale instead of cairo_scale

Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/1764554
Bug-GNOME: https://gitlab.gnome.org/GNOME/mutter/issues/99
Forwarded: yes, https://gitlab.gnome.org/GNOME/mutter/merge_requests/61

Gtk now is caching the themed cairo surfaces, then as per
commit gtk@e36b629c the surface device scale is used to figure
out the current paint scaling.

Without this when using background-image's for window buttons
the -gtk-scaled icons isn't properly resized.

Fixes #99

Gbp-Pq: Name theme-frames-Use-surface-device-scale-instead-of-cairo_sc.patch

7 years agobackends/x11: Support input-synaptics, if present.
Daniel van Vugt [Sun, 18 Mar 2018 16:56:36 +0000 (12:56 -0400)]
backends/x11: Support input-synaptics, if present.

Add support for configuring the Xorg synaptics touchpad driver.

Turns out it's very simple to support both libinput and synaptics
simultaneously, both under the heading of XI2.

Bug-Ubuntu: https://launchpad.net/bugs/1686081
Forwarded: https://gitlab.gnome.org/GNOME/mutter/merge_requests/37
Last-Update: 2018-03-16

Gbp-Pq: Name synaptics-support.patch

7 years agoSkip test that started failing with 3.25
Jeremy Bicha [Thu, 31 Aug 2017 11:11:39 +0000 (07:11 -0400)]
Skip test that started failing with 3.25

That way we can still benefit by running all the other tests.

Bug: https://bugzilla.gnome.org/785319
Applied-upstream: no

Gbp-Pq: Name skip-failing-tests-325.patch

7 years agoDon't run failing tests
Jeremy Bicha [Fri, 5 May 2017 13:26:36 +0000 (08:26 -0500)]
Don't run failing tests

That way we can still benefit by running all the other tests.

Bug: https://bugzilla.gnome.org/782215
Bug: https://bugzilla.gnome.org/753836
Applied-upstream: no

Gbp-Pq: Name skip-failing-tests.patch

7 years agogtk-shell: Work around non-working startup notifications
Florian Müllner [Thu, 20 Oct 2016 16:00:04 +0000 (18:00 +0200)]
gtk-shell: Work around non-working startup notifications

GNOME Shell relies on the MetaScreen::startup-sequence-changed signal,
which is tied to (lib)startup-notification and therefore X11. As a result,
when we remove the startup sequence of a wayland client, GNOME Shell will
not be notified about this until startup-notification's timeout is hit.
As a temporary stop-gap, go through XWayland even for wayland clients,
so that the signal is emitted when expected.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=768531
Applied-upstream: no

Gbp-Pq: Name bgo768531_workaround-startup-notifications.patch

7 years agomutter (3.28.1-2) unstable; urgency=medium
Marco Trevisan (Treviño) [Mon, 23 Apr 2018 15:46:57 +0000 (16:46 +0100)]
mutter (3.28.1-2) unstable; urgency=medium

  * Add xwayland-use-g_autoptr-for-GError-in-xserver_died.patch,
    xwayland-Don-t-abort-if-Xwayland-crashes.patch:
    - Cherry picked from upstream, to reduce noise of mutter on crashes
      which are actually caused by XWayland (LP: #1748450)

[dgit import unpatched mutter 3.28.1-2]

7 years agoImport mutter_3.28.1-2.debian.tar.xz
Marco Trevisan (Treviño) [Mon, 23 Apr 2018 15:46:57 +0000 (16:46 +0100)]
Import mutter_3.28.1-2.debian.tar.xz

[dgit import tarball mutter 3.28.1-2 mutter_3.28.1-2.debian.tar.xz]

7 years agoMerge mutter (3.28.1-1) import into refs/heads/workingbranch
Jeremy Bicha [Tue, 17 Apr 2018 02:35:14 +0000 (03:35 +0100)]
Merge mutter (3.28.1-1) import into refs/heads/workingbranch