mutter.git
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 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]