[arch-commits] Commit in gnome-shell/trunk (3 files)
Date: Thursday, September 12, 2019 @ 22:58:47 Author: heftig Revision: 362394 3.34.0-1 Modified: gnome-shell/trunk/PKGBUILD Deleted: gnome-shell/trunk/0001-js-ui-Use-captured-event-nonmotion.patch gnome-shell/trunk/0001-tweener-Remove-handlers-on-target.patch ---+ 0001-js-ui-Use-captured-event-nonmotion.patch | 87 0001-tweener-Remove-handlers-on-target.patch | 101 PKGBUILD | 24 + 3 files changed, 6 insertions(+), 206 deletions(-) Deleted: 0001-js-ui-Use-captured-event-nonmotion.patch === --- 0001-js-ui-Use-captured-event-nonmotion.patch 2019-09-12 22:53:42 UTC (rev 362393) +++ 0001-js-ui-Use-captured-event-nonmotion.patch 2019-09-12 22:58:47 UTC (rev 362394) @@ -1,87 +0,0 @@ -From 81c17e5993001cf30d706642d67e09812136adf2 Mon Sep 17 00:00:00 2001 -From: Daniel van Vugt -Date: Fri, 2 Nov 2018 17:58:37 +0800 -Subject: [PATCH] js/ui: Use captured-event::nonmotion - -Cherry picked from commit 297a18f29a423da26fd86417e6c1fe82349d8f98. - -This new detail filters out mouse motion events so we don't waste CPU -translating them all into JavaScript handlers that don't care about them. - -This helps with https://gitlab.gnome.org/GNOME/mutter/issues/283 - js/ui/padOsd.js| 2 +- - js/ui/panel.js | 2 +- - js/ui/status/system.js | 2 +- - js/ui/viewSelector.js | 2 +- - js/ui/windowManager.js | 2 +- - 5 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/js/ui/padOsd.js b/js/ui/padOsd.js -index a4af47297..6bff40849 100644 a/js/ui/padOsd.js -+++ b/js/ui/padOsd.js -@@ -615,7 +615,7 @@ var PadOsd = class { - this._settings = settings; - this._imagePath = imagePath; - this._editionMode = editionMode; --this._capturedEventId = global.stage.connect('captured-event', this._onCapturedEvent.bind(this)); -+this._capturedEventId = global.stage.connect('captured-event::nonmotion', this._onCapturedEvent.bind(this)); - this._padChooser = null; - - let deviceManager = Clutter.DeviceManager.get_default(); -diff --git a/js/ui/panel.js b/js/ui/panel.js -index 16484850a..57f0778b1 100644 a/js/ui/panel.js -+++ b/js/ui/panel.js -@@ -473,7 +473,7 @@ class ActivitiesButton extends PanelMenu.Button { - - this.actor.label_actor = this._label; - --this.actor.connect('captured-event', this._onCapturedEvent.bind(this)); -+this.actor.connect('captured-event::nonmotion', this._onCapturedEvent.bind(this)); - this.actor.connect_after('key-release-event', this._onKeyRelease.bind(this)); - - Main.overview.connect('showing', () => { -diff --git a/js/ui/status/system.js b/js/ui/status/system.js -index 1b0d10d8c..b25a6bf32 100644 a/js/ui/status/system.js -+++ b/js/ui/status/system.js -@@ -23,7 +23,7 @@ var AltSwitcher = class { - this._alternate.connect('clicked', - () => { this._clickAction.release(); }); - --this._capturedEventId = global.stage.connect('captured-event', this._onCapturedEvent.bind(this)); -+this._capturedEventId = global.stage.connect('captured-event::nonmotion', this._onCapturedEvent.bind(this)); - - this._flipped = false; - -diff --git a/js/ui/viewSelector.js b/js/ui/viewSelector.js -index 77146552d..092ff8f1c 100644 a/js/ui/viewSelector.js -+++ b/js/ui/viewSelector.js -@@ -44,7 +44,7 @@ function getTermsForSearchString(searchString) { - - var TouchpadShowOverviewAction = class { - constructor(actor) { --actor.connect('captured-event', this._handleEvent.bind(this)); -+actor.connect('captured-event::nonmotion', this._handleEvent.bind(this)); - } - - _handleEvent(actor, event) { -diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js -index b9f5fef46..97d980940 100644 a/js/ui/windowManager.js -+++ b/js/ui/windowManager.js -@@ -461,7 +461,7 @@ var TouchpadWorkspaceSwitchAction = class { - this._dx = 0; - this._dy = 0; - this._enabled = true; --actor.connect('captured-event', this._handleEvent.bind(this)); -+actor.connect('captured-event::nonmotion', this._handleEvent.bind(this)); - this._touchpadSettings = new Gio.Settings({schema_id: 'org.gnome.desktop.peripherals.touchpad'}); - } - --- -2.22.0 - Deleted: 0001-tweener-Remove-handlers-on-target.patch === --- 0001-tweener-Remove-handlers-on-target.patch2019-09-12 22:53:42 UTC (rev 362393) +++ 0001-tweener-Remove-handlers-on-target.patch2019-09-12 22:58:47 UTC (rev 362394) @@ -1,101 +0,0 @@ -From 5cd8acebe8461850667215b4c6b19e9ebf4c82f2 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= -Date: Tue, 5 Dec 2017 02:41:50 +0100
[arch-commits] Commit in gnome-shell/trunk (3 files)
Date: Friday, August 2, 2019 @ 10:07:28 Author: heftig Revision: 358884 3.32.2+11+g1c6abf378-1: performance improvements picked from Pop!OS Added: gnome-shell/trunk/0001-js-ui-Use-captured-event-nonmotion.patch gnome-shell/trunk/0001-tweener-Remove-handlers-on-target.patch Modified: gnome-shell/trunk/PKGBUILD ---+ 0001-js-ui-Use-captured-event-nonmotion.patch | 87 0001-tweener-Remove-handlers-on-target.patch | 101 PKGBUILD | 20 +++- 3 files changed, 204 insertions(+), 4 deletions(-) Added: 0001-js-ui-Use-captured-event-nonmotion.patch === --- 0001-js-ui-Use-captured-event-nonmotion.patch (rev 0) +++ 0001-js-ui-Use-captured-event-nonmotion.patch 2019-08-02 10:07:28 UTC (rev 358884) @@ -0,0 +1,87 @@ +From 81c17e5993001cf30d706642d67e09812136adf2 Mon Sep 17 00:00:00 2001 +From: Daniel van Vugt +Date: Fri, 2 Nov 2018 17:58:37 +0800 +Subject: [PATCH] js/ui: Use captured-event::nonmotion + +Cherry picked from commit 297a18f29a423da26fd86417e6c1fe82349d8f98. + +This new detail filters out mouse motion events so we don't waste CPU +translating them all into JavaScript handlers that don't care about them. + +This helps with https://gitlab.gnome.org/GNOME/mutter/issues/283 +--- + js/ui/padOsd.js| 2 +- + js/ui/panel.js | 2 +- + js/ui/status/system.js | 2 +- + js/ui/viewSelector.js | 2 +- + js/ui/windowManager.js | 2 +- + 5 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/js/ui/padOsd.js b/js/ui/padOsd.js +index a4af47297..6bff40849 100644 +--- a/js/ui/padOsd.js b/js/ui/padOsd.js +@@ -615,7 +615,7 @@ var PadOsd = class { + this._settings = settings; + this._imagePath = imagePath; + this._editionMode = editionMode; +-this._capturedEventId = global.stage.connect('captured-event', this._onCapturedEvent.bind(this)); ++this._capturedEventId = global.stage.connect('captured-event::nonmotion', this._onCapturedEvent.bind(this)); + this._padChooser = null; + + let deviceManager = Clutter.DeviceManager.get_default(); +diff --git a/js/ui/panel.js b/js/ui/panel.js +index 16484850a..57f0778b1 100644 +--- a/js/ui/panel.js b/js/ui/panel.js +@@ -473,7 +473,7 @@ class ActivitiesButton extends PanelMenu.Button { + + this.actor.label_actor = this._label; + +-this.actor.connect('captured-event', this._onCapturedEvent.bind(this)); ++this.actor.connect('captured-event::nonmotion', this._onCapturedEvent.bind(this)); + this.actor.connect_after('key-release-event', this._onKeyRelease.bind(this)); + + Main.overview.connect('showing', () => { +diff --git a/js/ui/status/system.js b/js/ui/status/system.js +index 1b0d10d8c..b25a6bf32 100644 +--- a/js/ui/status/system.js b/js/ui/status/system.js +@@ -23,7 +23,7 @@ var AltSwitcher = class { + this._alternate.connect('clicked', + () => { this._clickAction.release(); }); + +-this._capturedEventId = global.stage.connect('captured-event', this._onCapturedEvent.bind(this)); ++this._capturedEventId = global.stage.connect('captured-event::nonmotion', this._onCapturedEvent.bind(this)); + + this._flipped = false; + +diff --git a/js/ui/viewSelector.js b/js/ui/viewSelector.js +index 77146552d..092ff8f1c 100644 +--- a/js/ui/viewSelector.js b/js/ui/viewSelector.js +@@ -44,7 +44,7 @@ function getTermsForSearchString(searchString) { + + var TouchpadShowOverviewAction = class { + constructor(actor) { +-actor.connect('captured-event', this._handleEvent.bind(this)); ++actor.connect('captured-event::nonmotion', this._handleEvent.bind(this)); + } + + _handleEvent(actor, event) { +diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js +index b9f5fef46..97d980940 100644 +--- a/js/ui/windowManager.js b/js/ui/windowManager.js +@@ -461,7 +461,7 @@ var TouchpadWorkspaceSwitchAction = class { + this._dx = 0; + this._dy = 0; + this._enabled = true; +-actor.connect('captured-event', this._handleEvent.bind(this)); ++actor.connect('captured-event::nonmotion', this._handleEvent.bind(this)); + this._touchpadSettings = new Gio.Settings({schema_id: 'org.gnome.desktop.peripherals.touchpad'}); + } + +-- +2.22.0 + Added: 0001-tweener-Remove-handlers-on-target.patch === --- 0001-tweener-Remove-handlers-on-target.patch (rev 0) +++ 0001-tweener-Remove-handlers-on-target.patch2019-08-02 10:07:28 UTC (rev 358884) @@ -0,0 +1,101 @@ +From 5cd8acebe8461850667215b4c6b19e9ebf4c82f2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?=
[arch-commits] Commit in gnome-shell/trunk (3 files)
Date: Tuesday, May 10, 2016 @ 23:30:02 Author: heftig Revision: 267666 3.20.2-1 Modified: gnome-shell/trunk/PKGBUILD Deleted: gnome-shell/trunk/gnome-shell.install gnome-shell/trunk/libsecret-crash.patch ---+ PKGBUILD |7 +++ gnome-shell.install | 19 --- libsecret-crash.patch | 32 3 files changed, 3 insertions(+), 55 deletions(-) Modified: PKGBUILD === --- PKGBUILD2016-05-10 21:26:40 UTC (rev 267665) +++ PKGBUILD2016-05-10 21:30:02 UTC (rev 267666) @@ -3,11 +3,11 @@ # Contributor: Flamelab-Date: Sun, 20 Dec 2015 20:51:52 +0100 -Subject: NetworkAgent: Fix double-unref in get_secrets_keyring_cb() - -In get_secrets_keyring_cb, we own a ref on the 'attributes' hash table -from secret_item_get_attributes), and a ref on the 'secret' object (from -secret_item_get_secret(), but in the SHELL_KEYRING_SK_TAG case, we unref -these once before breaking out of the loop, and the second time after -breaking out of the loop. - -https://bugzilla.gnome.org/show_bug.cgi?id=759708 - src/shell-network-agent.c | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/src/shell-network-agent.c b/src/shell-network-agent.c -index 5d99167..da0f7e5 100644 a/src/shell-network-agent.c -+++ b/src/shell-network-agent.c -@@ -314,8 +314,6 @@ get_secrets_keyring_cb (GObject*source, - - secrets_found = TRUE; - -- g_hash_table_unref (attributes); -- secret_value_unref (secret); - break; - } - } --- -cgit v0.11.2 -
[arch-commits] Commit in gnome-shell/trunk (3 files)
Date: Wednesday, January 27, 2016 @ 20:46:32 Author: heftig Revision: 258653 FS#47833 Added: gnome-shell/trunk/libsecret-crash.patch gnome-shell/trunk/vpn-secrets.patch Modified: gnome-shell/trunk/PKGBUILD ---+ PKGBUILD |8 +- libsecret-crash.patch | 32 vpn-secrets.patch | 63 3 files changed, 102 insertions(+), 1 deletion(-) Modified: PKGBUILD === --- PKGBUILD2016-01-27 19:46:03 UTC (rev 258652) +++ PKGBUILD2016-01-27 19:46:32 UTC (rev 258653) @@ -4,7 +4,7 @@ pkgname=gnome-shell pkgver=3.18.3 -pkgrel=2 +pkgrel=3 pkgdesc="The next generation GNOME Shell" arch=(i686 x86_64) url="http://live.gnome.org/GnomeShell; @@ -19,13 +19,19 @@ install=gnome-shell.install groups=(gnome) source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz +libsecret-crash.patch vpn-secrets.patch nm-libexecdir.patch) sha256sums=('8517baf8606f970ebf38222411eb7563cab2ae5efbfb088954ce23705b67519b' +'3c668de4c091dccf3d269b3d549c93f2a9b64e569c87ff3c3466624b5fc735bd' +'156d62bcb1281527820c9fd4760354478d7d7f0d424ba291bab6cfa498a54ef6' 'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607') prepare() { cd $pkgname-$pkgver + patch -Np1 -i ../libsecret-crash.patch + patch -Np1 -i ../vpn-secrets.patch + # FS#30747 FS#32730 Problems due to libexecdir different from NM patch -Np1 -i ../nm-libexecdir.patch } Added: libsecret-crash.patch === --- libsecret-crash.patch (rev 0) +++ libsecret-crash.patch 2016-01-27 19:46:32 UTC (rev 258653) @@ -0,0 +1,32 @@ +From 021cecbce289f1d9c68a156d5b8dd204a73bc715 Mon Sep 17 00:00:00 2001 +From: Christophe Fergeau+Date: Sun, 20 Dec 2015 20:51:52 +0100 +Subject: NetworkAgent: Fix double-unref in get_secrets_keyring_cb() + +In get_secrets_keyring_cb, we own a ref on the 'attributes' hash table +from secret_item_get_attributes), and a ref on the 'secret' object (from +secret_item_get_secret(), but in the SHELL_KEYRING_SK_TAG case, we unref +these once before breaking out of the loop, and the second time after +breaking out of the loop. + +https://bugzilla.gnome.org/show_bug.cgi?id=759708 +--- + src/shell-network-agent.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/shell-network-agent.c b/src/shell-network-agent.c +index 5d99167..da0f7e5 100644 +--- a/src/shell-network-agent.c b/src/shell-network-agent.c +@@ -314,8 +314,6 @@ get_secrets_keyring_cb (GObject*source, + + secrets_found = TRUE; + +- g_hash_table_unref (attributes); +- secret_value_unref (secret); + break; + } + } +-- +cgit v0.11.2 + Added: vpn-secrets.patch === --- vpn-secrets.patch (rev 0) +++ vpn-secrets.patch 2016-01-27 19:46:32 UTC (rev 258653) @@ -0,0 +1,63 @@ +From 4562a431ad976a3e0df38889d48bb7898f91c672 Mon Sep 17 00:00:00 2001 +From: Lubomir Rintel +Date: Tue, 26 Jan 2016 17:31:34 +0100 +Subject: NetworkAgent: correctly identify the VPN secret requests + +The non-interactive requests for 'vpn' settings are forwarded to the UI because +it is able to talk to the auth helpers. However, the VPN requests are identified +by the connection type instead of setting type. That is incorrect and the UI +is not prepared to handle such requests; tries to construct a dialog and fails +miserably: + + Gjs-Message: JS LOG: Invalid connection type: vpn + + (gnome-shell:13133): Gjs-WARNING **: JS ERROR: Error: No property 'text' in property list (or its value was undefined) + NetworkSecretDialog<._init@resource:///org/gnome/shell/ui/components/networkAgent.js:60 + wrapper@resource:///org/gnome/gjs/modules/lang.js:169 + _Base.prototype._construct@resource:///org/gnome/gjs/modules/lang.js:110 + Class.prototype._construct/newClass@resource:///org/gnome/gjs/modules/lang.js:204 + NetworkAgent<._handleRequest@resource:///org/gnome/shell/ui/components/networkAgent.js:724 + wrapper@resource:///org/gnome/gjs/modules/lang.js:169 + NetworkAgent<._newRequest@resource:///org/gnome/shell/ui/components/networkAgent.js:715 + wrapper@resource:///org/gnome/gjs/modules/lang.js:169 + +https://bugzilla.gnome.org/show_bug.cgi?id=760999 +--- + src/shell-network-agent.c | 7 +-- + 1 file changed, 1 insertion(+), 6 deletions(-) + +diff --git a/src/shell-network-agent.c b/src/shell-network-agent.c +index c6f4b79..8e8c548 100644 +--- a/src/shell-network-agent.c b/src/shell-network-agent.c +@@ -366,8 +366,6 @@ shell_network_agent_get_secrets (NMSecretAgent *agent, + { +
[arch-commits] Commit in gnome-shell/trunk (3 files)
Date: Monday, July 1, 2013 @ 11:10:50 Author: jgc Revision: 189241 upgpkg: gnome-shell 3.8.3-3 Add upstream fixes from git. Includes patch we already applied, a fix for FS#35979 and some other fixes not in our bugtracker Added: gnome-shell/trunk/git-fixes.patch Modified: gnome-shell/trunk/PKGBUILD Deleted: gnome-shell/trunk/0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch -+ 0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch | 37 -- PKGBUILD| 10 git-fixes.patch | 125 ++ 3 files changed, 130 insertions(+), 42 deletions(-) Deleted: 0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch === --- 0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch 2013-07-01 08:23:30 UTC (rev 189240) +++ 0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch 2013-07-01 09:10:50 UTC (rev 189241) @@ -1,37 +0,0 @@ -From ace549c1bf1861b4cbaec6f2451a6341aa738bae Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Florian=20M=C3=BCllner?= fmuell...@gnome.org -Date: Mon, 24 Jun 2013 18:09:04 +0200 -Subject: [PATCH] st: Be more forgiving when calling get_theme_node() on - unstaged widgets - -While it is obviously still an error to call get_theme_node() on a -widget that hasn't been added to the stage hierarchy yet, asserting -on it hasn't proven too successful in avoiding those errors - it's -likely the most frequent reason for crash reports. Just accept that -there'll always be code paths where we can hit this case and make -it non-fatal. - -https://bugzilla.gnome.org/show_bug.cgi?id=610279 - src/st/st-widget.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/src/st/st-widget.c b/src/st/st-widget.c -index 42992ec..4875acc 100644 a/src/st/st-widget.c -+++ b/src/st/st-widget.c -@@ -608,8 +608,9 @@ st_widget_get_theme_node (StWidget *widget) - - if (stage == NULL) - { -- g_error (st_widget_get_theme_node called on the widget %s which is not in the stage., --st_describe_actor (CLUTTER_ACTOR (widget))); -+ g_critical (st_widget_get_theme_node called on the widget %s which is not in the stage., -+ st_describe_actor (CLUTTER_ACTOR (widget))); -+ return g_object_new (ST_TYPE_THEME_NODE, NULL); - } - - if (parent_node == NULL) --- -1.8.3.1 - Modified: PKGBUILD === --- PKGBUILD2013-07-01 08:23:30 UTC (rev 189240) +++ PKGBUILD2013-07-01 09:10:50 UTC (rev 189241) @@ -4,7 +4,7 @@ pkgname=gnome-shell pkgver=3.8.3 -pkgrel=2 +pkgrel=3 pkgdesc=The next generation GNOME Shell arch=(i686 x86_64) url=http://live.gnome.org/GnomeShell; @@ -20,10 +20,10 @@ groups=(gnome) source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver::3}/$pkgname-$pkgver.tar.xz nm-libexecdir.patch -0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch) +git-fixes.patch) sha256sums=('145724f21ead9dbe0c39d3ab468b39264c7aaf3f0fa5d152b295d905d8339c22' 'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607' -'c5f0c9b071d5c31e11289c45743e1f82f6bba8201a28e0efb7a197f57cbb2105') +'3e08176d55c000eb88660349a4325e8134f4def66ef83efc7f45f0fb34a06e1c') prepare() { cd $pkgname-$pkgver @@ -31,8 +31,8 @@ # FS#30747 FS#32730 Problems due to libexecdir different from NM patch -Np1 -i ../nm-libexecdir.patch - # FS#35174 Nautilus crashes GS - patch -Np1 -i ../0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch + # Git fixes - up to 60225ef86d070a7999bd6cded43837ca87d3f24f + patch -Np1 -i ../git-fixes.patch } build() { Added: git-fixes.patch === --- git-fixes.patch (rev 0) +++ git-fixes.patch 2013-07-01 09:10:50 UTC (rev 189241) @@ -0,0 +1,125 @@ +diff --git a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css +index 775b687..f4ea781 100644 +--- a/data/theme/gnome-shell.css b/data/theme/gnome-shell.css +@@ -2312,6 +2312,7 @@ StScrollBar StButton#vhandle:active { + font-weight: bold; + color: #66; + padding-top: 1em; ++padding-left: 2px; + } + + .login-dialog-not-listed-button:focus .login-dialog-not-listed-label, +diff --git a/js/gdm/util.js b/js/gdm/util.js +index 6075e66..cae3e1b 100644 +--- a/js/gdm/util.js b/js/gdm/util.js +@@ -164,6 +164,7 @@ const ShellUserVerifier = new Lang.Class({ + + answerQuery: function(serviceName, answer) { + if (!this._userVerifier.hasPendingMessages) { ++this._clearMessageQueue(); + this._userVerifier.call_answer_query(serviceName, answer,
[arch-commits] Commit in gnome-shell/trunk (3 files)
Date: Friday, May 6, 2011 @ 03:06:52 Author: ibiru Revision: 122711 plug some leaks Added: gnome-shell/trunk/shell-xfixes-cursor_missing_free.patch gnome-shell/trunk/st-private_fix_memory_leak.patch Modified: gnome-shell/trunk/PKGBUILD + PKGBUILD | 12 ++--- shell-xfixes-cursor_missing_free.patch | 22 + st-private_fix_memory_leak.patch | 40 +++ 3 files changed, 71 insertions(+), 3 deletions(-) Modified: PKGBUILD === --- PKGBUILD2011-05-06 06:59:38 UTC (rev 122710) +++ PKGBUILD2011-05-06 07:06:52 UTC (rev 122711) @@ -4,7 +4,7 @@ pkgname=gnome-shell pkgver=3.0.1 -pkgrel=2 +pkgrel=3 pkgdesc=The next generation GNOME Shell arch=('i686' 'x86_64') url=http://live.gnome.org/GnomeShell; @@ -19,16 +19,22 @@ groups=(gnome) source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2 arch.patch -network_fixes_up_to_5090a4ccce.patch) +network_fixes_up_to_5090a4ccce.patch +shell-xfixes-cursor_missing_free.patch +st-private_fix_memory_leak.patch) sha256sums=('01f7ae942ba9687a5e67d62423843ed404d77b35f74acc212a5f391beed8e079' 'a35d5e5f9f781728070aecae3bfe329f49dadcd50ca2984e0fbdd2219825a0db' -'01bf41483d5d8935ed2dd6294ee04024f2d9bcb2ef13276b07331e485965c822') +'01bf41483d5d8935ed2dd6294ee04024f2d9bcb2ef13276b07331e485965c822' +'c8b92768c869d0d77595da3466cc0dba3b6f067ea5fac048f32a918bbe98bbf6' +'8b80a0cec39c38a47521183a3030a782ab84bb6ea5e9cc58213589245288e718') build() { cd ${srcdir}/${pkgname}-${pkgver} patch -Np1 -i ${srcdir}/arch.patch patch -Np1 -i ${srcdir}/network_fixes_up_to_5090a4ccce.patch + patch -Np1 -i ${srcdir}/shell-xfixes-cursor_missing_free.patch + patch -Np1 -i ${srcdir}/st-private_fix_memory_leak.patch ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/gnome-shell \ Added: shell-xfixes-cursor_missing_free.patch === --- shell-xfixes-cursor_missing_free.patch (rev 0) +++ shell-xfixes-cursor_missing_free.patch 2011-05-06 07:06:52 UTC (rev 122711) @@ -0,0 +1,22 @@ +From 88de26138a8b79d89884ff2eb6471c5a8e3b39ca Mon Sep 17 00:00:00 2001 +From: Maxim Ermilov zasp...@rambler.ru +Date: Thu, 05 May 2011 10:06:05 + +Subject: shell-xfixes-cursor: missing XFree + +memory returned by XFixesGetCursorImage should be freed after usage. +https://bugzilla.gnome.org/show_bug.cgi?id=642652 +--- +diff --git a/src/shell-xfixes-cursor.c b/src/shell-xfixes-cursor.c +index 14d2b59..334503d 100644 +--- a/src/shell-xfixes-cursor.c b/src/shell-xfixes-cursor.c +@@ -254,6 +254,7 @@ xfixes_cursor_reset_image (ShellXFixesCursor *xfixes_cursor) + xfixes_cursor-cursor_hot_y = cursor_image-yhot; + g_signal_emit (xfixes_cursor, signals[CURSOR_CHANGED], 0); + } ++ XFree (cursor_image); + } + + static void +-- +cgit v0.9 Added: st-private_fix_memory_leak.patch === --- st-private_fix_memory_leak.patch(rev 0) +++ st-private_fix_memory_leak.patch2011-05-06 07:06:52 UTC (rev 122711) @@ -0,0 +1,40 @@ +From 72f9f482d6f1bcb53ea2bd1606818af1f33a5a8c Mon Sep 17 00:00:00 2001 +From: Colin Walters walt...@verbum.org +Date: Thu, 05 May 2011 19:21:58 + +Subject: st-private: Fix memory leak + +==13810== 11,360 bytes in 1 blocks are definitely lost in loss record 18,574 of 18,765 +==13810==at 0x4005447: calloc (vg_replace_malloc.c:467) +==13810==by 0x5191882: standard_calloc (gmem.c:107) +==13810==by 0x51920A7: g_malloc0 (gmem.c:196) +==13810==by 0x4056201: blur_pixels (st-private.c:466) +==13810==by 0x40573B4: _st_create_shadow_cairo_pattern (st-private.c:710) +==13810==by 0x4070746: st_theme_node_paint (st-theme-node-drawing.c:856) +==13810==by 0x3FEF: ??? + +https://bugzilla.gnome.org/show_bug.cgi?id=649497 +--- +diff --git a/src/st/st-private.c b/src/st/st-private.c +index d0aa89b..51798a1 100644 +--- a/src/st/st-private.c b/src/st/st-private.c +@@ -746,7 +746,7 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec, + (height_out - height_in) / 2.0); + cairo_pattern_set_matrix (dst_pattern, shadow_matrix); + +- return dst_pattern; ++ goto out; + } + + /* Read all the code from the cairo_pattern_set_matrix call +@@ -784,6 +784,8 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec, + + cairo_pattern_set_matrix (dst_pattern, shadow_matrix); + ++ out: ++ g_free (pixels_out); + return dst_pattern; + } + +-- +cgit v0.9