From ec1d97a71728d1a5ded75c109664257689b44c33 Mon Sep 17 00:00:00 2001 From: Florian Müllner Date: Oct 08 2018 19:45:10 +0000 Subject: Update to 3.30.1 --- diff --git a/.gitignore b/.gitignore index 9f45753..230fa63 100644 --- a/.gitignore +++ b/.gitignore @@ -149,3 +149,4 @@ gnome-shell-2.31.5.tar.bz2 /gnome-shell-3.29.91.tar.xz /gnome-shell-3.29.92.tar.xz /gnome-shell-3.30.0.tar.xz +/gnome-shell-3.30.1.tar.xz diff --git a/0001-Fix-connection-to-wifi-APs-from-user-menu-RH-1628263.patch b/0001-Fix-connection-to-wifi-APs-from-user-menu-RH-1628263.patch deleted file mode 100644 index e15712f..0000000 --- a/0001-Fix-connection-to-wifi-APs-from-user-menu-RH-1628263.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 33ffdd60611e8e8d0018680dd97bcbd0e98c6b4b Mon Sep 17 00:00:00 2001 -From: Adam Williamson -Date: Tue, 18 Sep 2018 16:05:42 -0700 -Subject: [PATCH] Fix connection to wifi APs from user menu (RH #1628263) - -In recent Fedora 29, connecting to wifi access points from the -user menu (top-right menu) does not work. Clicking the 'Connect' -button just animates it but does nothing else. The logs show an -error "JS ERROR: Error: Expected type utf8 for Argument -'specific_object' but got type 'undefined'". - -Looking into this, it seems the problem is these uses of the -`path` property of an NMAccessPoint. NMAccessPoint inherits -from NMObject, and NMObject *does* have a path property: - -https://developer.gnome.org/libnm/stable/NMObject.html#NMObject--path - -so at first glance this seems fine. But I poked around a bit -using libnm via Python (which goes via introspection, just like -this JS code does), and found that indeed AccessPoint objects -don't seem to have a `path` property there either. - -Looking at the libnm code, this actually makes sense, because -the property is marked "(skip)": - -https://github.com/NetworkManager/NetworkManager/blob/master/libnm/nm-object.c#L1291 - -and the introspection docs suggest that means it should be left -out of introspected output: - -https://wiki.gnome.org/Projects/GObjectIntrospection/Annotations#Symbol_visibility - -I'm a bit concerned that this was only found recently - whereas -the change to use `.path` in gnome-shell dates from October 2017 -(d71af5e5) and the property has been marked (skip) in NM since -at least 2016 - but this all seems to add up. The obvious fix is -to replace use of `.path` with `.get_path()`, which returns the -path and is *not* marked (skip) and so *is* available via -introspection. I tested that this works in Python and also did -a test build of gnome-shell with this change and installed it on -an affected system, it does seem to fix the bug. - -Signed-off-by: Adam Williamson ---- - js/ui/status/network.js | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/js/ui/status/network.js b/js/ui/status/network.js -index b575a726d..d5567dc3c 100644 ---- a/js/ui/status/network.js -+++ b/js/ui/status/network.js -@@ -921,10 +921,10 @@ var NMWirelessDialog = new Lang.Class({ - // 802.1x-enabled APs require further configuration, so they're - // handled in gnome-control-center - Util.spawn(['gnome-control-center', 'wifi', 'connect-8021x-wifi', -- this._device.get_path(), accessPoints[0].path]); -+ this._device.get_path(), accessPoints[0].get_path()]); - } else { - let connection = new NM.SimpleConnection(); -- this._client.add_and_activate_connection_async(connection, this._device, accessPoints[0].path, null, null) -+ this._client.add_and_activate_connection_async(connection, this._device, accessPoints[0].get_path(), null, null) - } - } - --- -2.19.0 - diff --git a/0001-dnd-Nullify-_dragActor-after-we-ve-destroyed-it-and-.patch b/0001-dnd-Nullify-_dragActor-after-we-ve-destroyed-it-and-.patch deleted file mode 100644 index 61e1e89..0000000 --- a/0001-dnd-Nullify-_dragActor-after-we-ve-destroyed-it-and-.patch +++ /dev/null @@ -1,220 +0,0 @@ -From 3033506f2c266115a00ff43daaad14e59e3215c5 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Tue, 5 Dec 2017 22:41:17 +0100 -Subject: [PATCH 1/4] dnd: Nullify _dragActor after we've destroyed it, and - avoid invalid access - -We need to avoid that we use the _dragActor instance after that it has -been destroyed or we'll get errors. We now set it to null when this -happens, protecting any access to that. - -Add a DragState enum-like object to keep track of the state -instead of using booleans. - -Remove duplicated handler on 'destroy' and just use a generic one. - -https://bugzilla.gnome.org/show_bug.cgi?id=791233 ---- - js/ui/dnd.js | 65 +++++++++++++++++++++++++++++++--------------------- - 1 file changed, 39 insertions(+), 26 deletions(-) - -diff --git a/js/ui/dnd.js b/js/ui/dnd.js -index 634a7d6d7..8483e89fc 100644 ---- a/js/ui/dnd.js -+++ b/js/ui/dnd.js -@@ -27,6 +27,12 @@ var DragMotionResult = { - CONTINUE: 3 - }; - -+var DragState = { -+ INIT: 0, -+ DRAGGING: 1, -+ CANCELLED: 2, -+}; -+ - var DRAG_CURSOR_MAP = { - 0: Meta.Cursor.DND_UNSUPPORTED_TARGET, - 1: Meta.Cursor.DND_COPY, -@@ -78,6 +84,8 @@ var _Draggable = new Lang.Class({ - dragActorOpacity: undefined }); - - this.actor = actor; -+ this._dragState = DragState.INIT; -+ - if (!params.manualMode) { - this.actor.connect('button-press-event', - this._onButtonPress.bind(this)); -@@ -88,7 +96,7 @@ var _Draggable = new Lang.Class({ - this.actor.connect('destroy', () => { - this._actorDestroyed = true; - -- if (this._dragInProgress && this._dragCancellable) -+ if (this._dragState == DragState.DRAGGING && this._dragCancellable) - this._cancelDrag(global.get_current_time()); - this.disconnectAll(); - }); -@@ -100,7 +108,6 @@ var _Draggable = new Lang.Class({ - this._dragActorOpacity = params.dragActorOpacity; - - this._buttonDown = false; // The mouse button has been pressed and has not yet been released. -- this._dragInProgress = false; // The drag has been started, and has not been dropped or cancelled yet. - this._animationInProgress = false; // The drag is over and the item is in the process of animating to its original position (snapping back or reverting). - this._dragCancellable = true; - -@@ -206,9 +213,10 @@ var _Draggable = new Lang.Class({ - (event.type() == Clutter.EventType.TOUCH_END && - global.display.is_pointer_emulating_sequence(event.get_event_sequence()))) { - this._buttonDown = false; -- if (this._dragInProgress) { -+ if (this._dragState == DragState.DRAGGING) { - return this._dragActorDropped(event); -- } else if (this._dragActor != null && !this._animationInProgress) { -+ } else if ((this._dragActor != null || this._dragState == DragState.CANCELLED) && -+ !this._animationInProgress) { - // Drag must have been cancelled with Esc. - this._dragComplete(); - return Clutter.EVENT_STOP; -@@ -222,14 +230,14 @@ var _Draggable = new Lang.Class({ - } else if (event.type() == Clutter.EventType.MOTION || - (event.type() == Clutter.EventType.TOUCH_UPDATE && - global.display.is_pointer_emulating_sequence(event.get_event_sequence()))) { -- if (this._dragInProgress) { -+ if (this._dragActor && this._dragState == DragState.DRAGGING) { - return this._updateDragPosition(event); -- } else if (this._dragActor == null) { -+ } else if (this._dragActor == null && this._dragState != DragState.CANCELLED) { - return this._maybeStartDrag(event); - } - // We intercept KEY_PRESS event so that we can process Esc key press to cancel - // dragging and ignore all other key presses. -- } else if (event.type() == Clutter.EventType.KEY_PRESS && this._dragInProgress) { -+ } else if (event.type() == Clutter.EventType.KEY_PRESS && this._dragState == DragState.DRAGGING) { - let symbol = event.get_key_symbol(); - if (symbol == Clutter.Escape) { - this._cancelDrag(event.get_time()); -@@ -265,7 +273,7 @@ var _Draggable = new Lang.Class({ - */ - startDrag(stageX, stageY, time, sequence) { - currentDraggable = this; -- this._dragInProgress = true; -+ this._dragState = DragState.DRAGGING; - - // Special-case St.Button: the pointer grab messes with the internal - // state, so force a reset to a reasonable state here -@@ -342,6 +350,13 @@ var _Draggable = new Lang.Class({ - Shell.util_set_hidden_from_pick(this._dragActor, true); - } - -+ this._dragActorDestroyId = this._dragActor.connect('destroy', () => { -+ // Cancel ongoing animation (if any) -+ this._finishAnimation(); -+ -+ this._dragActor = null; -+ this._dragState = DragState.CANCELLED; -+ }); - this._dragOrigOpacity = this._dragActor.opacity; - if (this._dragActorOpacity != undefined) - this._dragActor.opacity = this._dragActorOpacity; -@@ -500,7 +515,7 @@ var _Draggable = new Lang.Class({ - event.get_time())) { - // If it accepted the drop without taking the actor, - // handle it ourselves. -- if (this._dragActor.get_parent() == Main.uiGroup) { -+ if (this._dragActor && this._dragActor.get_parent() == Main.uiGroup) { - if (this._restoreOnSuccess) { - this._restoreDragActor(event.get_time()); - return true; -@@ -508,7 +523,7 @@ var _Draggable = new Lang.Class({ - this._dragActor.destroy(); - } - -- this._dragInProgress = false; -+ this._dragState = DragState.INIT; - global.display.set_cursor(Meta.Cursor.DEFAULT); - this.emit('drag-end', event.get_time(), true); - this._dragComplete(); -@@ -557,20 +572,22 @@ var _Draggable = new Lang.Class({ - - _cancelDrag(eventTime) { - this.emit('drag-cancelled', eventTime); -- this._dragInProgress = false; -- let [snapBackX, snapBackY, snapBackScale] = this._getRestoreLocation(); -+ let wasCancelled = (this._dragState == DragState.CANCELLED); -+ this._dragState = DragState.CANCELLED; - -- if (this._actorDestroyed) { -+ if (this._actorDestroyed || wasCancelled) { - global.display.set_cursor(Meta.Cursor.DEFAULT); - if (!this._buttonDown) - this._dragComplete(); - this.emit('drag-end', eventTime, false); -- if (!this._dragOrigParent) -+ if (!this._dragOrigParent && this._dragActor) - this._dragActor.destroy(); - - return; - } - -+ let [snapBackX, snapBackY, snapBackScale] = this._getRestoreLocation(); -+ - this._animateDragEnd(eventTime, - { x: snapBackX, - y: snapBackY, -@@ -581,7 +598,7 @@ var _Draggable = new Lang.Class({ - }, - - _restoreDragActor(eventTime) { -- this._dragInProgress = false; -+ this._dragState = DragState.INIT; - let [restoreX, restoreY, restoreScale] = this._getRestoreLocation(); - - // fade the actor back in at its original location -@@ -596,12 +613,6 @@ var _Draggable = new Lang.Class({ - _animateDragEnd(eventTime, params) { - this._animationInProgress = true; - -- // finish animation if the actor gets destroyed -- // during it -- this._dragActorDestroyId = -- this._dragActor.connect('destroy', -- this._finishAnimation.bind(this)); -- - params['opacity'] = this._dragOrigOpacity; - params['transition'] = 'easeOutQuad'; - params['onComplete'] = this._onAnimationComplete; -@@ -624,9 +635,6 @@ var _Draggable = new Lang.Class({ - }, - - _onAnimationComplete(dragActor, eventTime) { -- dragActor.disconnect(this._dragActorDestroyId); -- this._dragActorDestroyId = 0; -- - if (this._dragOrigParent) { - Main.uiGroup.remove_child(this._dragActor); - this._dragOrigParent.add_actor(this._dragActor); -@@ -641,7 +649,7 @@ var _Draggable = new Lang.Class({ - }, - - _dragComplete() { -- if (!this._actorDestroyed) -+ if (!this._actorDestroyed && this._dragActor) - Shell.util_set_hidden_from_pick(this._dragActor, false); - - this._ungrabEvents(); -@@ -652,7 +660,12 @@ var _Draggable = new Lang.Class({ - this._updateHoverId = 0; - } - -- this._dragActor = undefined; -+ if (this._dragActor) { -+ this._dragActor.disconnect(this._dragActorDestroyId); -+ this._dragActor = null; -+ } -+ -+ this._dragState = DragState.INIT; - currentDraggable = null; - } - }); --- -2.19.0 - diff --git a/0001-inputMethod-Add-a-null-check-for-text-in-vfunc_set_s.patch b/0001-inputMethod-Add-a-null-check-for-text-in-vfunc_set_s.patch deleted file mode 100644 index 120c490..0000000 --- a/0001-inputMethod-Add-a-null-check-for-text-in-vfunc_set_s.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 0cf2d396b0d584f59402a6a0c42376639bd314ef Mon Sep 17 00:00:00 2001 -From: Andrea Azzarone -Date: Mon, 17 Sep 2018 18:00:04 +0200 -Subject: [PATCH] inputMethod: Add a null-check for text in - vfunc_set_surrounding. - -Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/579 ---- - js/misc/inputMethod.js | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js -index 320a6cc33..ec84f7277 100644 ---- a/js/misc/inputMethod.js -+++ b/js/misc/inputMethod.js -@@ -176,7 +176,7 @@ var InputMethod = new Lang.Class({ - }, - - vfunc_set_surrounding(text, cursor, anchor) { -- if (this._context) -+ if (this._context && text) - this._context.set_surrounding_text(text, cursor, anchor); - }, - --- -2.19.0 - diff --git a/0001-network-Don-t-assume-the-active-connection-has-been-.patch b/0001-network-Don-t-assume-the-active-connection-has-been-.patch deleted file mode 100644 index 291766d..0000000 --- a/0001-network-Don-t-assume-the-active-connection-has-been-.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 5d61e2563d183272f604f1a2af635ad5cbdb627e Mon Sep 17 00:00:00 2001 -From: Iain Lane -Date: Thu, 16 Aug 2018 11:59:36 +0100 -Subject: [PATCH] network: Don't assume the active connection has been - processed first - -`NMConnectionDevice._sync()` is responsible for setting up the active -connection that we'll end up displaying. It expects the active -connection to already be in a map `_connectionItems`. If it isn't in -there, we get a null dereference and the indicator can get into a weird -state where it doesn't display devices / connections properly. - -Let's change this expectation. If there is an active connection, -`_deviceAdded()` will eventually get to it and call `_sync()` to set up -the active connection state. We make `_sync()` tolerate there being no -active connection when it's called. - -Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/140 ---- - js/ui/status/network.js | 14 ++++++++------ - 1 file changed, 8 insertions(+), 6 deletions(-) - -diff --git a/js/ui/status/network.js b/js/ui/status/network.js -index 3e3d0d1d2..d4a09bc32 100644 ---- a/js/ui/status/network.js -+++ b/js/ui/status/network.js -@@ -420,12 +420,14 @@ var NMConnectionDevice = new Lang.Class({ - this._deactivateItem.actor.visible = this._device.state > NM.DeviceState.DISCONNECTED; - - if (this._activeConnection == null) { -- this._activeConnection = this._device.active_connection; -- -- if (this._activeConnection) { -- ensureActiveConnectionProps(this._activeConnection, this._client); -- let item = this._connectionItems.get(this._activeConnection.connection.get_uuid()); -- item.setActiveConnection(this._activeConnection); -+ let activeConnection = this._device.active_connection; -+ if (activeConnection && activeConnection.connection) { -+ let item = this._connectionItems.get(activeConnection.connection.get_uuid()); -+ if (item) { -+ this._activeConnection = activeConnection; -+ ensureActiveConnectionProps(this._activeConnection, this._client); -+ item.setActiveConnection(this._activeConnection); -+ } - } - } - --- -2.19.0 - diff --git a/0001-theme-define-proper-hover-and-active-states.patch b/0001-theme-define-proper-hover-and-active-states.patch deleted file mode 100644 index edd5f08..0000000 --- a/0001-theme-define-proper-hover-and-active-states.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 22531384f1737090cf6a72a35bebb6fef4d0b4ac Mon Sep 17 00:00:00 2001 -From: Jakub Steiner -Date: Wed, 5 Sep 2018 20:33:56 +0200 -Subject: [PATCH] theme: define proper :hover and :active states - -- buttons didn't actually have these properly defined - -fixes issue #523 ---- - data/theme/gnome-shell-sass/_common.scss | 5 +++-- - data/theme/gnome-shell-sass/_drawing.scss | 8 ++++---- - 2 files changed, 7 insertions(+), 6 deletions(-) - -diff --git a/data/theme/gnome-shell-sass/_common.scss b/data/theme/gnome-shell-sass/_common.scss -index 64f9b0264..37ac36231 100644 ---- a/data/theme/gnome-shell-sass/_common.scss -+++ b/data/theme/gnome-shell-sass/_common.scss -@@ -48,17 +48,18 @@ stage { - padding: 4px 32px; - @include button(normal); - &:focus { @include button(focus); } -+ &:hover { @include button(hover); } - &:insensitive { @include button(insensitive); } - &:active { @include button(active); } -- - } - - .modal-dialog-linked-button { - border-right-width: 1px; - @include button(normal); - &:insensitive { @include button(insensitive); } -- &:active { @include button(active); } - &:focus { @include button(focus); } -+ &:hover { @include button(hover); } -+ &:active { @include button(active); } - padding: 12px; - - &:first-child { -diff --git a/data/theme/gnome-shell-sass/_drawing.scss b/data/theme/gnome-shell-sass/_drawing.scss -index 66d5adab6..7ac18b1bb 100644 ---- a/data/theme/gnome-shell-sass/_drawing.scss -+++ b/data/theme/gnome-shell-sass/_drawing.scss -@@ -150,8 +150,8 @@ - // - // focused button - // -- $_bg: if($c!=$osd_bg_color, transparentize($c, 0.5), -- $osd_bg_color); -+ $_bg: if($c!=$osd_bg_color, transparentize($c, 0.3), -+ lighten($osd_bg_color,3%)); - - color: $osd_fg_color; - text-shadow: 0 1px black; -@@ -164,7 +164,7 @@ - // active osd button - // - $_bg: if($c!=$osd_bg_color, transparentize($c, 0.3), -- lighten($osd_bg_color,10%)); -+ lighten($osd_bg_color,3%)); - - color: white; - border-color: $osd_borders_color; -@@ -182,7 +182,7 @@ - - color: white; - border-color: $osd_borders_color; -- background-color: darken($_bg,5%); -+ background-color: $selected_bg_color; - // This should be none, but it's creating some issues with borders, so to - // workaround it for now, use inset wich goes through a different code path. - // see https://bugzilla.gnome.org/show_bug.cgi?id=752934 --- -2.19.0 - diff --git a/0001-windowManager-listen-actively-to-windows-being-destr.patch b/0001-windowManager-listen-actively-to-windows-being-destr.patch deleted file mode 100644 index 0b788e7..0000000 --- a/0001-windowManager-listen-actively-to-windows-being-destr.patch +++ /dev/null @@ -1,46 +0,0 @@ -From b087752b5539a8cbb1d61979cb069aef8a3475be Mon Sep 17 00:00:00 2001 -From: Carlos Garnacho -Date: Thu, 6 Sep 2018 21:50:21 +0200 -Subject: [PATCH] windowManager: listen actively to windows being destroyed - during WS switch - -Prevents gjs from dealing with already dispose()d objects. - -Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/539 ---- - js/ui/windowManager.js | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js -index b6627e253..2295e3010 100644 ---- a/js/ui/windowManager.js -+++ b/js/ui/windowManager.js -@@ -1910,6 +1910,14 @@ var WindowManager = new Lang.Class({ - actor.visible = visible; - } - } -+ -+ for (let i = 0; i < switchData.windows.length; i++) { -+ let w = switchData.windows[i]; -+ -+ w.windowDestroyId = w.window.connect('destroy', () => { -+ switchData.windows.splice(switchData.windows.indexOf(w), 1); -+ }); -+ } - }, - - _finishWorkspaceSwitch(switchData) { -@@ -1917,9 +1925,8 @@ var WindowManager = new Lang.Class({ - - for (let i = 0; i < switchData.windows.length; i++) { - let w = switchData.windows[i]; -- if (w.window.is_destroyed()) // Window gone -- continue; - -+ w.window.disconnect(w.windowDestroyId); - w.window.reparent(w.parent); - - if (w.window.get_meta_window().get_workspace() != --- -2.19.0 - diff --git a/0001-windowMenu-Port-from-Meta.ScreenDirection-to-Meta.Di.patch b/0001-windowMenu-Port-from-Meta.ScreenDirection-to-Meta.Di.patch deleted file mode 100644 index e7c47b1..0000000 --- a/0001-windowMenu-Port-from-Meta.ScreenDirection-to-Meta.Di.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 2d791a51c0f4ec445cf52cdb0ac6a0bf39cef452 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=BCrg=20Billeter?= -Date: Tue, 11 Sep 2018 12:55:55 +0200 -Subject: [PATCH] windowMenu: Port from Meta.ScreenDirection to - Meta.DisplayDirection - -Meta.ScreenDirection no longer exists. This fixes window menus on -multi-monitor systems. - - JS ERROR: TypeError: Meta.ScreenDirection is undefined - _buildMenu@resource:///org/gnome/shell/ui/windowMenu.js:135:17 ---- - js/ui/windowMenu.js | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/js/ui/windowMenu.js b/js/ui/windowMenu.js -index 32e3be698..11d4f17b6 100644 ---- a/js/ui/windowMenu.js -+++ b/js/ui/windowMenu.js -@@ -132,7 +132,7 @@ var WindowMenu = new Lang.Class({ - if (nMonitors > 1 && monitorIndex >= 0) { - this.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); - -- let dir = Meta.ScreenDirection.UP; -+ let dir = Meta.DisplayDirection.UP; - let upMonitorIndex = - display.get_monitor_neighbor_index(monitorIndex, dir); - if (upMonitorIndex != -1) { -@@ -141,7 +141,7 @@ var WindowMenu = new Lang.Class({ - }); - } - -- dir = Meta.ScreenDirection.DOWN; -+ dir = Meta.DisplayDirection.DOWN; - let downMonitorIndex = - display.get_monitor_neighbor_index(monitorIndex, dir); - if (downMonitorIndex != -1) { -@@ -150,7 +150,7 @@ var WindowMenu = new Lang.Class({ - }); - } - -- dir = Meta.ScreenDirection.LEFT; -+ dir = Meta.DisplayDirection.LEFT; - let leftMonitorIndex = - display.get_monitor_neighbor_index(monitorIndex, dir); - if (leftMonitorIndex != -1) { -@@ -159,7 +159,7 @@ var WindowMenu = new Lang.Class({ - }); - } - -- dir = Meta.ScreenDirection.RIGHT; -+ dir = Meta.DisplayDirection.RIGHT; - let rightMonitorIndex = - display.get_monitor_neighbor_index(monitorIndex, dir); - if (rightMonitorIndex != -1) { --- -2.19.0 - diff --git a/0002-messageList-stop-syncing-if-closeButton-has-been-des.patch b/0002-messageList-stop-syncing-if-closeButton-has-been-des.patch deleted file mode 100644 index 8a20f3d..0000000 --- a/0002-messageList-stop-syncing-if-closeButton-has-been-des.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 87da623d86323a0744b8723e1991f053586defaf Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Wed, 4 Jul 2018 15:56:25 +0200 -Subject: [PATCH 2/4] messageList: stop syncing if closeButton has been - destroyed - -The _sync function for Message only updates the close button visibility, -so we can safely stop doing that if the close button get get destroyed earlier -(as it happens when clicking on it). - -https://bugzilla.gnome.org/show_bug.cgi?id=791233 ---- - js/ui/messageList.js | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/js/ui/messageList.js b/js/ui/messageList.js -index 3b3c2b6df..547135a1f 100644 ---- a/js/ui/messageList.js -+++ b/js/ui/messageList.js -@@ -363,7 +363,8 @@ var Message = new Lang.Class({ - this.setBody(body); - - this._closeButton.connect('clicked', this.close.bind(this)); -- this.actor.connect('notify::hover', this._sync.bind(this)); -+ let actorHoverId = this.actor.connect('notify::hover', this._sync.bind(this)); -+ this._closeButton.connect('destroy', this.actor.disconnect.bind(this.actor, actorHoverId)); - this.actor.connect('clicked', this._onClicked.bind(this)); - this.actor.connect('destroy', this._onDestroy.bind(this)); - this._sync(); --- -2.19.0 - diff --git a/0003-automountManager-remove-allowAutorun-expire-timeout-.patch b/0003-automountManager-remove-allowAutorun-expire-timeout-.patch deleted file mode 100644 index a0ee633..0000000 --- a/0003-automountManager-remove-allowAutorun-expire-timeout-.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 9c41736a813354fd9291177b12f6c4f85bd1c5f7 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Wed, 4 Jul 2018 16:55:28 +0200 -Subject: [PATCH 3/4] automountManager: remove allowAutorun expire timeout on - volume removal - -If the volume is removed before AUTORUN_EXPIRE_TIMEOUT_SECS seconds, we can stop -the timeout earlier as there's nothing to unset, while the volume instance -won't be valid anymore. - -https://bugzilla.gnome.org/show_bug.cgi?id=791233 ---- - js/ui/components/automountManager.js | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/js/ui/components/automountManager.js b/js/ui/components/automountManager.js -index 2d8f3f8fb..a6cd85792 100644 ---- a/js/ui/components/automountManager.js -+++ b/js/ui/components/automountManager.js -@@ -210,6 +210,10 @@ var AutomountManager = new Lang.Class({ - }, - - _onVolumeRemoved(monitor, volume) { -+ if (volume._allowAutorunExpireId && volume._allowAutorunExpireId > 0) { -+ Mainloop.source_remove(volume._allowAutorunExpireId); -+ delete volume._allowAutorunExpireId; -+ } - this._volumeQueue = - this._volumeQueue.filter(element => (element != volume)); - }, -@@ -234,8 +238,10 @@ var AutomountManager = new Lang.Class({ - _allowAutorunExpire(volume) { - let id = Mainloop.timeout_add_seconds(AUTORUN_EXPIRE_TIMEOUT_SECS, () => { - volume.allowAutorun = false; -+ delete volume._allowAutorunExpireId; - return GLib.SOURCE_REMOVE; - }); -+ volume._allowAutorunExpireId = id; - GLib.Source.set_name_by_id(id, '[gnome-shell] volume.allowAutorun'); - } - }); --- -2.19.0 - diff --git a/0004-calendar-chain-up-to-parent-on-_onDestroy.patch b/0004-calendar-chain-up-to-parent-on-_onDestroy.patch deleted file mode 100644 index 05d7dde..0000000 --- a/0004-calendar-chain-up-to-parent-on-_onDestroy.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 5bca4a884e8f02441a89d7b44490339d869e5966 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Mon, 9 Jul 2018 13:31:26 +0200 -Subject: [PATCH 4/4] calendar: chain up to parent on _onDestroy - ---- - js/ui/calendar.js | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/js/ui/calendar.js b/js/ui/calendar.js -index 990cac243..815c9f9c9 100644 ---- a/js/ui/calendar.js -+++ b/js/ui/calendar.js -@@ -803,6 +803,8 @@ var NotificationMessage = new Lang.Class({ - }, - - _onDestroy() { -+ this.parent(); -+ - if (this._updatedId) - this.notification.disconnect(this._updatedId); - this._updatedId = 0; --- -2.19.0 - diff --git a/228.patch b/228.patch deleted file mode 100644 index 79f42d7..0000000 --- a/228.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 0c52baebe72a616a211b386c93afd0e67618764d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Tue, 11 Sep 2018 15:36:35 +0200 -Subject: [PATCH] inputMethod: Fix setting surrounding text - -The underlying ibus method expects an object of type IBusText rather -than a plain string. - -https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/228 ---- - js/misc/inputMethod.js | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js -index ec84f7277..7fb78178a 100644 ---- a/js/misc/inputMethod.js -+++ b/js/misc/inputMethod.js -@@ -176,8 +176,11 @@ var InputMethod = new Lang.Class({ - }, - - vfunc_set_surrounding(text, cursor, anchor) { -- if (this._context && text) -- this._context.set_surrounding_text(text, cursor, anchor); -+ if (!this._context || !text) -+ return; -+ -+ let ibusText = IBus.Text.new_from_string(text); -+ this._context.set_surrounding_text(ibusText, cursor, anchor); - }, - - vfunc_update_content_hints(hints) { --- -2.18.0 - diff --git a/234.patch b/234.patch deleted file mode 100644 index 078f69d..0000000 --- a/234.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 2e863a0b7a7f0d6acaf6cac5db94162c472a0f7e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Sat, 15 Sep 2018 00:16:47 +0200 -Subject: [PATCH 1/2] build: Remove obsolete soup dependency - -It's unused since commit 96396163c ... - -https://gitlab.gnome.org/GNOME/gnome-shell/issues/574 ---- - meson.build | 1 - - src/meson.build | 4 +--- - src/shell-util.h | 1 - - 3 files changed, 1 insertion(+), 5 deletions(-) - -diff --git a/meson.build b/meson.build -index beedc84cc..18636c2f9 100644 ---- a/meson.build -+++ b/meson.build -@@ -95,7 +95,6 @@ cogl_dep = dependency(cogl_pc, version: mutter_req) - cogl_pango_dep = dependency(cogl_pango_pc, version: mutter_req) - mutter_dep = dependency(libmutter_pc, version: mutter_req) - polkit_dep = dependency('polkit-agent-1', version: polkit_req) --soup_dep = dependency('libsoup-2.4') - startup_dep = dependency('libstartup-notification-1.0', version: startup_req) - ibus_dep = dependency('ibus-1.0', version: ibus_req) - x11_dep = dependency('x11') -diff --git a/src/meson.build b/src/meson.build -index 178e05899..a67a02642 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -45,7 +45,6 @@ gnome_shell_deps = [ - atk_bridge_dep, - gjs_dep, - gdk_x11_dep, -- soup_dep, - clutter_dep, - cogl_pango_dep, - startup_dep, -@@ -224,8 +223,7 @@ libshell_dep = declare_dependency(link_with: libshell) - libshell_gir_includes = [ - 'Clutter-@0@'.format(mutter_api_version), - 'ClutterX11-@0@'.format(mutter_api_version), -- 'Meta-@0@'.format(mutter_api_version), -- 'Soup-2.4' -+ 'Meta-@0@'.format(mutter_api_version) - ] - - if have_networkmanager -diff --git a/src/shell-util.h b/src/shell-util.h -index 408b55f68..bbd38a8be 100644 ---- a/src/shell-util.h -+++ b/src/shell-util.h -@@ -5,7 +5,6 @@ - - #include - #include --#include - #include - #include - #include --- -2.18.0 - - -From a88f471e49d7bc6fe2188809ea74948f15bf04f3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= -Date: Fri, 14 Sep 2018 23:14:33 +0200 -Subject: [PATCH 2/2] shell: Fix list of GIR includes - -gjs now relies entirely on introspection data to determine parent -types and implemented interfaces, so in order to have all methods -and properties resolve correctly, we must include the corresponding -GIRs of all types used. - -https://gitlab.gnome.org/GNOME/gnome-shell/issues/574 ---- - src/meson.build | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/meson.build b/src/meson.build -index a67a02642..2045bab82 100644 ---- a/src/meson.build -+++ b/src/meson.build -@@ -223,7 +223,9 @@ libshell_dep = declare_dependency(link_with: libshell) - libshell_gir_includes = [ - 'Clutter-@0@'.format(mutter_api_version), - 'ClutterX11-@0@'.format(mutter_api_version), -- 'Meta-@0@'.format(mutter_api_version) -+ 'Meta-@0@'.format(mutter_api_version), -+ 'Gcr-3', -+ 'PolkitAgent-1.0' - ] - - if have_networkmanager --- -2.18.0 - diff --git a/gnome-shell.spec b/gnome-shell.spec index bf4dab0..a021b15 100644 --- a/gnome-shell.spec +++ b/gnome-shell.spec @@ -1,6 +1,6 @@ Name: gnome-shell -Version: 3.30.0 -Release: 9%{?dist} +Version: 3.30.1 +Release: 1%{?dist} Summary: Window management and application launching for GNOME Group: User Interface/Desktops @@ -13,52 +13,10 @@ Source0: http://download.gnome.org/sources/gnome-shell/3.30/%{name}-%{ver # Replace Epiphany with Firefox in the default favourite apps list Patch1: gnome-shell-favourite-apps-firefox.patch -# Backport fix for https://gitlab.gnome.org/GNOME/gnome-shell/issues/140 -Patch2: 0001-network-Don-t-assume-the-active-connection-has-been-.patch - -# Fixes connecting to wifi from user menu -# https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/240 -Patch3: 0001-Fix-connection-to-wifi-APs-from-user-menu-RH-1628263.patch - -# Fixes crash on Overview app icon drag-and-drop, along with some other -# JS invalid access fixes -# https://gitlab.gnome.org/GNOME/gnome-shell/issues/577 -# https://bugzilla.redhat.com/show_bug.cgi?id=1630134 -# https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/209 -Patch4: 0001-dnd-Nullify-_dragActor-after-we-ve-destroyed-it-and-.patch -Patch5: 0002-messageList-stop-syncing-if-closeButton-has-been-des.patch -Patch6: 0003-automountManager-remove-allowAutorun-expire-timeout-.patch -Patch7: 0004-calendar-chain-up-to-parent-on-_onDestroy.patch - -# Fixes lack of text identifying the key on ssh key unlock prompt -# https://gitlab.gnome.org/GNOME/gnome-shell/issues/574 -# https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/234 -Patch8: 234.patch - -# Fixes a workspace switch / window destroy crash with gjs 1.54.0 -# https://gitlab.gnome.org/GNOME/gnome-shell/issues/539 -Patch9: 0001-windowManager-listen-actively-to-windows-being-destr.patch - -# Fixes an issue with window menus on multi-monitor systems -# https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/227 -Patch10: 0001-windowMenu-Port-from-Meta.ScreenDirection-to-Meta.Di.patch - -# Fixes hover and active state for some buttons (e.g. Power Off dialog) -# https://gitlab.gnome.org/GNOME/gnome-shell/issues/523 -# https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/221 -Patch11: 0001-theme-define-proper-hover-and-active-states.patch - -# Add a null check and fix an IBus type error that affect input -# methods (and causes log spam when they're not enabled) -# https://gitlab.gnome.org/GNOME/gnome-shell/commit/0cf2d396b0d584f59402a6a0c42376639bd314ef -# https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/228 -Patch12: 0001-inputMethod-Add-a-null-check-for-text-in-vfunc_set_s.patch -Patch13: 228.patch - # Implement https://wiki.gnome.org/Design/OS/BootOptions # This should go upstream once systemd has a generic interface for this -Patch14: 0001-endSessionDialog-Immediately-add-buttons-to-the-dial.patch -Patch15: 0002-endSessionDialog-Support-rebooting-into-the-bootload.patch +Patch2: 0001-endSessionDialog-Immediately-add-buttons-to-the-dial.patch +Patch3: 0002-endSessionDialog-Support-rebooting-into-the-bootload.patch %define libcroco_version 0.6.8 %define eds_version 3.17.2 @@ -68,7 +26,7 @@ Patch15: 0002-endSessionDialog-Support-rebooting-into-the-bootload.patch %define gjs_version 1.51.90 %define gtk3_version 3.15.0 %define json_glib_version 0.13.2 -%define mutter_version 3.30.0 +%define mutter_version 3.30.1 %define polkit_version 0.100 %define gsettings_desktop_schemas_version 3.21.3 %define ibus_version 1.5.2 @@ -255,6 +213,9 @@ glib-compile-schemas --allow-any-name %{_datadir}/glib-2.0/schemas &> /dev/null %{_mandir}/man1/%{name}.1.gz %changelog +* Mon Oct 08 2018 Florian Müllner - 3.30.1-1 +- Update to 3.30.1 + * Thu Sep 27 2018 Hans de Goede - 3.30.0-9 - Add downstream patches implementing the "Boot Options" menu from: https://wiki.gnome.org/Design/OS/BootOptions diff --git a/sources b/sources index 09537d1..ca58b30 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-shell-3.30.0.tar.xz) = b3a74a6c901b99573c4de83c8af038e4f06a45a56330add3bc18eff6711283f526f4315ac28a767393aae1cfa72c0848cdb37adae3097dd7400f45de3a940bb2 +SHA512 (gnome-shell-3.30.1.tar.xz) = f0c492d364ae49f3f082b6ff98b38fa3f6438e1c7c485bb49c8c0b71ae892228d031c17bb87407ed376ae005dd4538e1883cd8af81b33e224261c23c4b5ae9cf