[arch-commits] Commit in gnome-shell/trunk (2 files)
Date: Wednesday, June 29, 2016 @ 09:04:27 Author: heftig Revision: 270792 3.20.3-1 Modified: gnome-shell/trunk/PKGBUILD Deleted: gnome-shell/trunk/0001-Initialize-framebuffer-objects-early-so-clutter-will.patch -+ 0001-Initialize-framebuffer-objects-early-so-clutter-will.patch | 106 -- PKGBUILD| 13 - 2 files changed, 4 insertions(+), 115 deletions(-) Deleted: 0001-Initialize-framebuffer-objects-early-so-clutter-will.patch === --- 0001-Initialize-framebuffer-objects-early-so-clutter-will.patch 2016-06-29 08:04:03 UTC (rev 270791) +++ 0001-Initialize-framebuffer-objects-early-so-clutter-will.patch 2016-06-29 09:04:27 UTC (rev 270792) @@ -1,106 +0,0 @@ -From 26d339b91744dab5135ee9ea1d46fda62448ad95 Mon Sep 17 00:00:00 2001 -From: Jan de Groot -Date: Mon, 11 Apr 2016 14:00:33 + -Subject: [PATCH] Initialize framebuffer objects early so clutter will not - abort a few operations later. - -Checking offscreen for COGL_INVALID_HANDLE is not sufficient, as cogl_offscreen_new_with_texture doesn't initialize framebuffer objects but lets Cogl solve this the lazy way. cogl_offscreen_new_with_texture will never return COGL_INVALID_HANDLE anyways. - src/st/st-theme-node-drawing.c| 35 +++ - src/st/st-theme-node-transition.c | 18 -- - 2 files changed, 39 insertions(+), 14 deletions(-) - -diff --git a/src/st/st-theme-node-drawing.c b/src/st/st-theme-node-drawing.c -index 1f28ed9..4a6a234 100644 a/src/st/st-theme-node-drawing.c -+++ b/src/st/st-theme-node-drawing.c -@@ -2247,22 +2247,33 @@ st_theme_node_prerender_shadow (StThemeNodePaintState *state) -COGL_TEXTURE_NO_SLICING, -COGL_PIXEL_FORMAT_ANY); - if (buffer != COGL_INVALID_HANDLE) --offscreen = cogl_offscreen_new_with_texture (buffer); -- -- if (offscreen != COGL_INVALID_HANDLE) - { -- ClutterActorBox box = { 0, 0, state->box_shadow_width, state->box_shadow_height}; -+ CoglError *error = NULL; -+ -+ offscreen = cogl_offscreen_new_with_texture (buffer); -+ -+ if (cogl_framebuffer_allocate (COGL_FRAMEBUFFER (offscreen), &error)) -+{ -+ ClutterActorBox box = { 0, 0, state->box_shadow_width, state->box_shadow_height}; -+ -+ cogl_framebuffer_orthographic (offscreen, 0, 0, -+ state->box_shadow_width, -+ state->box_shadow_height, 0, 1.0); -+ cogl_framebuffer_clear4f (offscreen, COGL_BUFFER_BIT_COLOR, 0, 0, 0, 0); - -- cogl_framebuffer_orthographic (offscreen, 0, 0, -- state->box_shadow_width, -- state->box_shadow_height, 0, 1.0); -- cogl_framebuffer_clear4f (offscreen, COGL_BUFFER_BIT_COLOR, 0, 0, 0, 0); -+ st_theme_node_paint_borders (state, offscreen, &box, 0xFF); - -- st_theme_node_paint_borders (state, offscreen, &box, 0xFF); -- cogl_handle_unref (offscreen); -+ cogl_handle_unref (offscreen); - -- state->box_shadow_pipeline = _st_create_shadow_pipeline (st_theme_node_get_box_shadow (node), -- buffer); -+ state->box_shadow_pipeline = _st_create_shadow_pipeline (st_theme_node_get_box_shadow (node), -+ buffer); -+} -+ else -+{ -+ cogl_handle_unref (offscreen); -+ -+ cogl_error_free (error); -+} - } - - if (buffer != COGL_INVALID_HANDLE) -diff --git a/src/st/st-theme-node-transition.c b/src/st/st-theme-node-transition.c -index 1eef17b..f3350a1 100644 a/src/st/st-theme-node-transition.c -+++ b/src/st/st-theme-node-transition.c -@@ -242,6 +242,8 @@ setup_framebuffers (StThemeNodeTransition *transition, - StThemeNodeTransitionPrivate *priv = transition->priv; - guint width, height; - -+ CoglError *catch_error = NULL; -+ - /* template material to avoid unnecessary shader compilation */ - static CoglHandle material_template = COGL_INVALID_HANDLE; - -@@ -269,13 +271,25 @@ setup_framebuffers (StThemeNodeTransition *transition, - if (priv->old_offscreen) - cogl_handle_unref (priv->old_offscreen); - priv->old_offscreen = cogl_offscreen_new_with_texture (priv->old_texture); -+ if (!cogl_framebuffer_allocate (COGL_FRAMEBUFFER (priv->old_offscreen), &catch_error)) -+{ -+ cogl_object_unref (priv->old_offscreen); -+ cogl_error_free (catch_error); -+ priv->old_offscreen = COGL_INVALID_HANDLE; -+ g_return_val_if_fail (priv->old_offscreen != COGL_INVALID_HANDLE, FALSE); -+} - - if (priv->new_offscreen) - cogl_hand
[arch-commits] Commit in gnome-shell/trunk (2 files)
Date: Monday, April 11, 2016 @ 16:25:19 Author: jgc Revision: 264639 upgpkg: gnome-shell 3.20.0-3 Fix FS#48772 Added: gnome-shell/trunk/0001-Initialize-framebuffer-objects-early-so-clutter-will.patch Modified: gnome-shell/trunk/PKGBUILD -+ 0001-Initialize-framebuffer-objects-early-so-clutter-will.patch | 106 ++ PKGBUILD| 11 - 2 files changed, 114 insertions(+), 3 deletions(-) Added: 0001-Initialize-framebuffer-objects-early-so-clutter-will.patch === --- 0001-Initialize-framebuffer-objects-early-so-clutter-will.patch (rev 0) +++ 0001-Initialize-framebuffer-objects-early-so-clutter-will.patch 2016-04-11 14:25:19 UTC (rev 264639) @@ -0,0 +1,106 @@ +From 26d339b91744dab5135ee9ea1d46fda62448ad95 Mon Sep 17 00:00:00 2001 +From: Jan de Groot +Date: Mon, 11 Apr 2016 14:00:33 + +Subject: [PATCH] Initialize framebuffer objects early so clutter will not + abort a few operations later. + +Checking offscreen for COGL_INVALID_HANDLE is not sufficient, as cogl_offscreen_new_with_texture doesn't initialize framebuffer objects but lets Cogl solve this the lazy way. cogl_offscreen_new_with_texture will never return COGL_INVALID_HANDLE anyways. +--- + src/st/st-theme-node-drawing.c| 35 +++ + src/st/st-theme-node-transition.c | 18 -- + 2 files changed, 39 insertions(+), 14 deletions(-) + +diff --git a/src/st/st-theme-node-drawing.c b/src/st/st-theme-node-drawing.c +index 1f28ed9..4a6a234 100644 +--- a/src/st/st-theme-node-drawing.c b/src/st/st-theme-node-drawing.c +@@ -2247,22 +2247,33 @@ st_theme_node_prerender_shadow (StThemeNodePaintState *state) +COGL_TEXTURE_NO_SLICING, +COGL_PIXEL_FORMAT_ANY); + if (buffer != COGL_INVALID_HANDLE) +-offscreen = cogl_offscreen_new_with_texture (buffer); +- +- if (offscreen != COGL_INVALID_HANDLE) + { +- ClutterActorBox box = { 0, 0, state->box_shadow_width, state->box_shadow_height}; ++ CoglError *error = NULL; ++ ++ offscreen = cogl_offscreen_new_with_texture (buffer); ++ ++ if (cogl_framebuffer_allocate (COGL_FRAMEBUFFER (offscreen), &error)) ++{ ++ ClutterActorBox box = { 0, 0, state->box_shadow_width, state->box_shadow_height}; ++ ++ cogl_framebuffer_orthographic (offscreen, 0, 0, ++ state->box_shadow_width, ++ state->box_shadow_height, 0, 1.0); ++ cogl_framebuffer_clear4f (offscreen, COGL_BUFFER_BIT_COLOR, 0, 0, 0, 0); + +- cogl_framebuffer_orthographic (offscreen, 0, 0, +- state->box_shadow_width, +- state->box_shadow_height, 0, 1.0); +- cogl_framebuffer_clear4f (offscreen, COGL_BUFFER_BIT_COLOR, 0, 0, 0, 0); ++ st_theme_node_paint_borders (state, offscreen, &box, 0xFF); + +- st_theme_node_paint_borders (state, offscreen, &box, 0xFF); +- cogl_handle_unref (offscreen); ++ cogl_handle_unref (offscreen); + +- state->box_shadow_pipeline = _st_create_shadow_pipeline (st_theme_node_get_box_shadow (node), +- buffer); ++ state->box_shadow_pipeline = _st_create_shadow_pipeline (st_theme_node_get_box_shadow (node), ++ buffer); ++} ++ else ++{ ++ cogl_handle_unref (offscreen); ++ ++ cogl_error_free (error); ++} + } + + if (buffer != COGL_INVALID_HANDLE) +diff --git a/src/st/st-theme-node-transition.c b/src/st/st-theme-node-transition.c +index 1eef17b..f3350a1 100644 +--- a/src/st/st-theme-node-transition.c b/src/st/st-theme-node-transition.c +@@ -242,6 +242,8 @@ setup_framebuffers (StThemeNodeTransition *transition, + StThemeNodeTransitionPrivate *priv = transition->priv; + guint width, height; + ++ CoglError *catch_error = NULL; ++ + /* template material to avoid unnecessary shader compilation */ + static CoglHandle material_template = COGL_INVALID_HANDLE; + +@@ -269,13 +271,25 @@ setup_framebuffers (StThemeNodeTransition *transition, + if (priv->old_offscreen) + cogl_handle_unref (priv->old_offscreen); + priv->old_offscreen = cogl_offscreen_new_with_texture (priv->old_texture); ++ if (!cogl_framebuffer_allocate (COGL_FRAMEBUFFER (priv->old_offscreen), &catch_error)) ++{ ++ cogl_object_unref (priv->old_offscreen); ++ cogl_error_free (catch_error); ++ priv->old_offscreen = COGL_INVALID_HANDLE; ++ g_return_val_if_fail (priv->old_offscreen != COGL_INVALID_HANDLE, FALSE); ++} + + if (priv->new_offscr
[arch-commits] Commit in gnome-shell/trunk (2 files)
Date: Thursday, June 27, 2013 @ 06:01:21 Author: heftig Revision: 188953 fix FS#35174 Added: gnome-shell/trunk/0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch Modified: gnome-shell/trunk/PKGBUILD -+ 0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch | 37 ++ PKGBUILD| 11 ++ 2 files changed, 45 insertions(+), 3 deletions(-) Added: 0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch === --- 0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch (rev 0) +++ 0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch 2013-06-27 04:01:21 UTC (rev 188953) @@ -0,0 +1,37 @@ +From ace549c1bf1861b4cbaec6f2451a6341aa738bae Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +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-06-27 04:01:12 UTC (rev 188952) +++ PKGBUILD2013-06-27 04:01:21 UTC (rev 188953) @@ -4,7 +4,7 @@ pkgname=gnome-shell pkgver=3.8.3 -pkgrel=1 +pkgrel=2 pkgdesc="The next generation GNOME Shell" arch=(i686 x86_64) url="http://live.gnome.org/GnomeShell"; @@ -19,15 +19,20 @@ install=gnome-shell.install groups=(gnome) source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver::3}/$pkgname-$pkgver.tar.xz -nm-libexecdir.patch) +nm-libexecdir.patch +0001-st-Be-more-forgiving-when-calling-get_theme_node-on-.patch) sha256sums=('145724f21ead9dbe0c39d3ab468b39264c7aaf3f0fa5d152b295d905d8339c22' -'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607') +'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607' +'c5f0c9b071d5c31e11289c45743e1f82f6bba8201a28e0efb7a197f57cbb2105') prepare() { cd $pkgname-$pkgver # 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 } build() {
[arch-commits] Commit in gnome-shell/trunk (2 files)
Date: Sunday, March 31, 2013 @ 09:23:41 Author: heftig Revision: 181058 3.8.0.1 Modified: gnome-shell/trunk/PKGBUILD Deleted: gnome-shell/trunk/main-Dont-mess-up-the-modal-stack-when-the-focus-a.patch --+ PKGBUILD | 17 +++ main-Dont-mess-up-the-modal-stack-when-the-focus-a.patch | 29 - 2 files changed, 7 insertions(+), 39 deletions(-) Modified: PKGBUILD === --- PKGBUILD2013-03-31 07:19:36 UTC (rev 181057) +++ PKGBUILD2013-03-31 07:23:41 UTC (rev 181058) @@ -3,32 +3,29 @@ # Contributor: Flamelab http://live.gnome.org/GnomeShell"; license=(GPL2) depends=(caribou evolution-data-server gjs gnome-bluetooth gnome-menus libcroco mutter - telepathy-logger telepathy-mission-control unzip gdm gnome-screensaver) -makedepends=(intltool gnome-doc-utils docbook-xsl) + telepathy-logger telepathy-mission-control unzip gdm network-manager-applet + libsecret gcr) +makedepends=(intltool gtk-doc gnome-control-center) optdepends=('gnome-control-center: System settings' 'gnome-themes-standard: Default theme') options=('!libtool' '!emptydirs') install=gnome-shell.install groups=(gnome) source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver::3}/$pkgname-$pkgver.tar.xz -main-Dont-mess-up-the-modal-stack-when-the-focus-a.patch nm-libexecdir.patch) -sha256sums=('4e0328d43ac443e7cc0c43bb67895112643952f14cd20fff1109c6cc5849d603' -'968245e7db1c6921627cf0fbce4e4504cffbdb24898f834769a23a254ed6e125' +nm-libexecdir.patch) +sha256sums=('cf98c3d038704fd057489c696a6cb9e2ee2ae5a10db5b45ddeba59fb82d507b8' 'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607') build() { cd $pkgname-$pkgver - # FS#32410 - patch -Np1 -i ../main-Dont-mess-up-the-modal-stack-when-the-focus-a.patch - # FS#30747 FS#32730 Problems due to libexecdir different from NM patch -Np1 -i ../nm-libexecdir.patch Deleted: main-Dont-mess-up-the-modal-stack-when-the-focus-a.patch === --- main-Dont-mess-up-the-modal-stack-when-the-focus-a.patch2013-03-31 07:19:36 UTC (rev 181057) +++ main-Dont-mess-up-the-modal-stack-when-the-focus-a.patch2013-03-31 07:23:41 UTC (rev 181058) @@ -1,29 +0,0 @@ -From 742587dce258adf436f360eed183a7ca0c58fa18 Mon Sep 17 00:00:00 2001 -From: "Jasper St. Pierre" -Date: Wed, 2 Jan 2013 09:05:32 -0500 -Subject: [PATCH] main: Don't mess up the modal stack when the focus actor is - destroyed - -This seems to be an incorrect conversion when we moved from an array -to an object of keys in 3a6b4f3. - -https://bugzilla.gnome.org/show_bug.cgi?id=690965 - js/ui/main.js | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/js/ui/main.js b/js/ui/main.js -index 12daee2..1334d58 100644 a/js/ui/main.js -+++ b/js/ui/main.js -@@ -553,7 +553,7 @@ function pushModal(actor, params) { - curFocusDestroyId = curFocus.connect('destroy', function() { - let index = _findModal(actor); - if (index >= 0) --modalActorFocusStack[index].actor = null; -+modalActorFocusStack[index].focus = null; - }); - } - modalActorFocusStack.push({ actor: actor, --- -1.8.0.2 \ No newline at end of file
[arch-commits] Commit in gnome-shell/trunk (2 files)
Date: Thursday, February 21, 2013 @ 18:13:11 Author: heftig Revision: 178414 Fix FS#32410 Added: gnome-shell/trunk/main-Dont-mess-up-the-modal-stack-when-the-focus-a.patch Modified: gnome-shell/trunk/PKGBUILD --+ PKGBUILD | 10 +++- main-Dont-mess-up-the-modal-stack-when-the-focus-a.patch | 29 + 2 files changed, 37 insertions(+), 2 deletions(-) Modified: PKGBUILD === --- PKGBUILD2013-02-21 17:09:32 UTC (rev 178413) +++ PKGBUILD2013-02-21 17:13:11 UTC (rev 178414) @@ -17,11 +17,17 @@ options=('!libtool' '!emptydirs') install=gnome-shell.install groups=(gnome) -source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver::3}/$pkgname-$pkgver.tar.xz) -sha256sums=('4e0328d43ac443e7cc0c43bb67895112643952f14cd20fff1109c6cc5849d603') +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver::3}/$pkgname-$pkgver.tar.xz +main-Dont-mess-up-the-modal-stack-when-the-focus-a.patch) +sha256sums=('4e0328d43ac443e7cc0c43bb67895112643952f14cd20fff1109c6cc5849d603' +'968245e7db1c6921627cf0fbce4e4504cffbdb24898f834769a23a254ed6e125') build() { cd $pkgname-$pkgver + + # FS#32410 + patch -Np1 -i ../main-Dont-mess-up-the-modal-stack-when-the-focus-a.patch + PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/gnome-shell \ --localstatedir=/var --disable-static \ Added: main-Dont-mess-up-the-modal-stack-when-the-focus-a.patch === --- main-Dont-mess-up-the-modal-stack-when-the-focus-a.patch (rev 0) +++ main-Dont-mess-up-the-modal-stack-when-the-focus-a.patch2013-02-21 17:13:11 UTC (rev 178414) @@ -0,0 +1,29 @@ +From 742587dce258adf436f360eed183a7ca0c58fa18 Mon Sep 17 00:00:00 2001 +From: "Jasper St. Pierre" +Date: Wed, 2 Jan 2013 09:05:32 -0500 +Subject: [PATCH] main: Don't mess up the modal stack when the focus actor is + destroyed + +This seems to be an incorrect conversion when we moved from an array +to an object of keys in 3a6b4f3. + +https://bugzilla.gnome.org/show_bug.cgi?id=690965 +--- + js/ui/main.js | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/js/ui/main.js b/js/ui/main.js +index 12daee2..1334d58 100644 +--- a/js/ui/main.js b/js/ui/main.js +@@ -553,7 +553,7 @@ function pushModal(actor, params) { + curFocusDestroyId = curFocus.connect('destroy', function() { + let index = _findModal(actor); + if (index >= 0) +-modalActorFocusStack[index].actor = null; ++modalActorFocusStack[index].focus = null; + }); + } + modalActorFocusStack.push({ actor: actor, +-- +1.8.0.2 \ No newline at end of file
[arch-commits] Commit in gnome-shell/trunk (2 files)
Date: Friday, January 20, 2012 @ 05:27:24 Author: ibiru Revision: 146997 update to 3.2.2.1 Modified: gnome-shell/trunk/PKGBUILD Deleted: gnome-shell/trunk/revert-notificationdaemon-group-based-on-pid-and-titles.patch ---+ PKGBUILD | 12 revert-notificationdaemon-group-based-on-pid-and-titles.patch | 224 -- 2 files changed, 4 insertions(+), 232 deletions(-) Modified: PKGBUILD === --- PKGBUILD2012-01-20 06:47:36 UTC (rev 146996) +++ PKGBUILD2012-01-20 10:27:24 UTC (rev 146997) @@ -3,8 +3,8 @@ # Contributor: Flamelab http://live.gnome.org/GnomeShell"; @@ -15,16 +15,12 @@ options=('!libtool' '!emptydirs') install=gnome-shell.install groups=(gnome) -source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz -revert-notificationdaemon-group-based-on-pid-and-titles.patch) -sha256sums=('68967b9d58ad0551d7d3d28a276526a15faf1fc1d27f4624eb405663910e2eb8' -'9e0337cd25d29d7215561d6fa30612d69c89fe7c27aa563a0c0b8a5b6f6cf12a') +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*.*}/$pkgname-$pkgver.tar.xz) +sha256sums=('209363084ef2d58777d70d8430e4659b058cf854c4b9766f3019d69ffea34d6f') build() { cd "$srcdir/$pkgname-$pkgver" - patch -Np1 -R -i "$srcdir/revert-notificationdaemon-group-based-on-pid-and-titles.patch" - PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/gnome-shell \ --localstatedir=/var --disable-static \ Deleted: revert-notificationdaemon-group-based-on-pid-and-titles.patch === --- revert-notificationdaemon-group-based-on-pid-and-titles.patch 2012-01-20 06:47:36 UTC (rev 146996) +++ revert-notificationdaemon-group-based-on-pid-and-titles.patch 2012-01-20 10:27:24 UTC (rev 146997) @@ -1,224 +0,0 @@ -From 7e654ab3ca6e8ac75ba5e45c2a411eb1c2904b26 Mon Sep 17 00:00:00 2001 -From: Marina Zhurakhinskaya -Date: Tue, 20 Dec 2011 05:51:35 + -Subject: notificationDaemon: group sources based on a combination of pid and title - -That way different system notifications, such as the ones about battery power -and the ones about software updates, are shown with separate message tray -sources. - -https://bugzilla.gnome.org/show_bug.cgi?id=664138 -diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js -index f40205d..c691efe 100644 a/js/ui/notificationDaemon.js -+++ b/js/ui/notificationDaemon.js -@@ -92,7 +92,7 @@ NotificationDaemon.prototype = { - _init: function() { - DBus.session.exportObject('/org/freedesktop/Notifications', this); - --this._sources = {}; -+this._sources = []; - this._senderToPid = {}; - this._notifications = {}; - this._busProxy = new Bus(); -@@ -150,14 +150,30 @@ NotificationDaemon.prototype = { - } - }, - -+_lookupSource: function(title, pid, trayIcon) { -+for (let i = 0; i < this._sources.length; i++) { -+let source = this._sources[i]; -+if (source.pid == pid && -+(source.initialTitle == title || source.trayIcon || trayIcon)) -+return source; -+} -+return null; -+}, -+ - // Returns the source associated with ndata.notification if it is set. --// Otherwise, returns the source associated with the pid if one is --// stored in this._sources and the notification is not transient. --// Otherwise, creates a new source as long as pid is provided. -+// Otherwise, returns the source associated with the title and pid if -+// such source is stored in this._sources and the notification is not -+// transient. If the existing or requested source is associated with -+// a tray icon and passed in pid matches a pid of an existing source, -+// the title match is ignored to enable representing a tray icon and -+// notifications from the same application with a single source. -+// -+// If no existing source is found, a new source is created as long as -+// pid is provided. - // - // Either a pid or ndata.notification is needed to retrieve or - // create a source. --_getSource: function(title, pid, ndata, sender) { -+_getSource: function(title, pid, ndata, sender, trayIcon) { - if (!pid && !(ndata && ndata.notification)) - return null; - -@@ -174,20 +190,24 @@ NotificationDaemon.prototype = { - // with a transient one from the same sender, so we - // always create a new source object for new transient notifications - // and never add it to this._sources . --if (!isForTransientNotification && this._sources[pid]) { --let source = this._sources[pid]; --source.setTitle(ti
[arch-commits] Commit in gnome-shell/trunk (2 files)
Date: Thursday, January 19, 2012 @ 05:10:05 Author: ibiru Revision: 146930 revert commit that breaks tray icons for apps like skype, pidgin, dropbox. FS#27987 Added: gnome-shell/trunk/revert-notificationdaemon-group-based-on-pid-and-titles.patch Modified: gnome-shell/trunk/PKGBUILD ---+ PKGBUILD | 10 revert-notificationdaemon-group-based-on-pid-and-titles.patch | 224 ++ 2 files changed, 231 insertions(+), 3 deletions(-) Modified: PKGBUILD === --- PKGBUILD2012-01-19 10:08:04 UTC (rev 146929) +++ PKGBUILD2012-01-19 10:10:05 UTC (rev 146930) @@ -4,7 +4,7 @@ pkgname=gnome-shell pkgver=3.2.2 -pkgrel=1 +pkgrel=2 pkgdesc="The next generation GNOME Shell" arch=('i686' 'x86_64') url="http://live.gnome.org/GnomeShell"; @@ -15,12 +15,16 @@ options=('!libtool' '!emptydirs') install=gnome-shell.install groups=(gnome) -source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz) -sha256sums=('68967b9d58ad0551d7d3d28a276526a15faf1fc1d27f4624eb405663910e2eb8') +source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.xz +revert-notificationdaemon-group-based-on-pid-and-titles.patch) +sha256sums=('68967b9d58ad0551d7d3d28a276526a15faf1fc1d27f4624eb405663910e2eb8' +'9e0337cd25d29d7215561d6fa30612d69c89fe7c27aa563a0c0b8a5b6f6cf12a') build() { cd "$srcdir/$pkgname-$pkgver" + patch -Np1 -R -i "$srcdir/revert-notificationdaemon-group-based-on-pid-and-titles.patch" + PYTHON=/usr/bin/python2 ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/gnome-shell \ --localstatedir=/var --disable-static \ Added: revert-notificationdaemon-group-based-on-pid-and-titles.patch === --- revert-notificationdaemon-group-based-on-pid-and-titles.patch (rev 0) +++ revert-notificationdaemon-group-based-on-pid-and-titles.patch 2012-01-19 10:10:05 UTC (rev 146930) @@ -0,0 +1,224 @@ +From 7e654ab3ca6e8ac75ba5e45c2a411eb1c2904b26 Mon Sep 17 00:00:00 2001 +From: Marina Zhurakhinskaya +Date: Tue, 20 Dec 2011 05:51:35 + +Subject: notificationDaemon: group sources based on a combination of pid and title + +That way different system notifications, such as the ones about battery power +and the ones about software updates, are shown with separate message tray +sources. + +https://bugzilla.gnome.org/show_bug.cgi?id=664138 +--- +diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js +index f40205d..c691efe 100644 +--- a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js +@@ -92,7 +92,7 @@ NotificationDaemon.prototype = { + _init: function() { + DBus.session.exportObject('/org/freedesktop/Notifications', this); + +-this._sources = {}; ++this._sources = []; + this._senderToPid = {}; + this._notifications = {}; + this._busProxy = new Bus(); +@@ -150,14 +150,30 @@ NotificationDaemon.prototype = { + } + }, + ++_lookupSource: function(title, pid, trayIcon) { ++for (let i = 0; i < this._sources.length; i++) { ++let source = this._sources[i]; ++if (source.pid == pid && ++(source.initialTitle == title || source.trayIcon || trayIcon)) ++return source; ++} ++return null; ++}, ++ + // Returns the source associated with ndata.notification if it is set. +-// Otherwise, returns the source associated with the pid if one is +-// stored in this._sources and the notification is not transient. +-// Otherwise, creates a new source as long as pid is provided. ++// Otherwise, returns the source associated with the title and pid if ++// such source is stored in this._sources and the notification is not ++// transient. If the existing or requested source is associated with ++// a tray icon and passed in pid matches a pid of an existing source, ++// the title match is ignored to enable representing a tray icon and ++// notifications from the same application with a single source. ++// ++// If no existing source is found, a new source is created as long as ++// pid is provided. + // + // Either a pid or ndata.notification is needed to retrieve or + // create a source. +-_getSource: function(title, pid, ndata, sender) { ++_getSource: function(title, pid, ndata, sender, trayIcon) { + if (!pid && !(ndata && ndata.notification)) + return null; + +@@ -174,20 +190,24 @@ NotificationDaemon.prototype = { + // with a transient one from the same sender, so we + // always create a new source object for new transient notifications + // and never add it to
[arch-commits] Commit in gnome-shell/trunk (2 files)
Date: Wednesday, May 11, 2011 @ 14:16:09 Author: ibiru Revision: 123600 properly fix the memory leak Added: gnome-shell/trunk/st-private_correct_fix_memory_leak.patch Modified: gnome-shell/trunk/PKGBUILD --+ PKGBUILD |5 ++ st-private_correct_fix_memory_leak.patch | 52 + 2 files changed, 56 insertions(+), 1 deletion(-) Modified: PKGBUILD === --- PKGBUILD2011-05-11 17:35:02 UTC (rev 123599) +++ PKGBUILD2011-05-11 18:16:09 UTC (rev 123600) @@ -4,7 +4,7 @@ pkgname=gnome-shell pkgver=3.0.1 -pkgrel=4 +pkgrel=5 pkgdesc="The next generation GNOME Shell" arch=('i686' 'x86_64') url="http://live.gnome.org/GnomeShell"; @@ -22,12 +22,14 @@ network_fixes_up_to_5090a4ccce.patch shell-xfixes-cursor_missing_free.patch st-private_fix_memory_leak.patch +st-private_correct_fix_memory_leak.patch 0001-Don-t-crash-when-removing-nameless-user.patch) sha256sums=('01f7ae942ba9687a5e67d62423843ed404d77b35f74acc212a5f391beed8e079' 'a35d5e5f9f781728070aecae3bfe329f49dadcd50ca2984e0fbdd2219825a0db' '01bf41483d5d8935ed2dd6294ee04024f2d9bcb2ef13276b07331e485965c822' 'c8b92768c869d0d77595da3466cc0dba3b6f067ea5fac048f32a918bbe98bbf6' '8b80a0cec39c38a47521183a3030a782ab84bb6ea5e9cc58213589245288e718' +'c676067fff399a87625187381db5331d82c44f6c14f51d409392851dbbeb5074' '291d1fa51344325e3dabc0c1287750cde98605c30f079ffad9b3523a3aba860d') build() { @@ -37,6 +39,7 @@ 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" + patch -Np1 -i "${srcdir}/st-private_correct_fix_memory_leak.patch" patch -Np1 -i "${srcdir}/0001-Don-t-crash-when-removing-nameless-user.patch" ./configure --prefix=/usr --sysconfdir=/etc \ Added: st-private_correct_fix_memory_leak.patch === --- st-private_correct_fix_memory_leak.patch(rev 0) +++ st-private_correct_fix_memory_leak.patch2011-05-11 18:16:09 UTC (rev 123600) @@ -0,0 +1,52 @@ +From c975740f9228b2c53d79ac08ad704fca5f1c5b6e Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Wed, 11 May 2011 15:21:18 + +Subject: st-private: Correct fix for memory leak + +The previous fix in 72f9f482d was wrong; we need to keep around +the buffer until cairo is done with the pattern. + +https://bugzilla.gnome.org/show_bug.cgi?id=649497 +--- +diff --git a/src/st/st-private.c b/src/st/st-private.c +index 51798a1..21ca09a 100644 +--- a/src/st/st-private.c b/src/st/st-private.c +@@ -667,6 +667,7 @@ cairo_pattern_t * + _st_create_shadow_cairo_pattern (StShadow*shadow_spec, + cairo_pattern_t *src_pattern) + { ++ static cairo_user_data_key_t shadow_pattern_user_data; + cairo_t *cr; + cairo_surface_t *src_surface; + cairo_surface_t *surface_in; +@@ -728,6 +729,8 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec, + width_out, + height_out, + rowstride_out); ++ cairo_surface_set_user_data (surface_out, &shadow_pattern_user_data, ++ pixels_out, (cairo_destroy_func_t) g_free); + + dst_pattern = cairo_pattern_create_for_surface (surface_out); + cairo_surface_destroy (surface_out); +@@ -745,8 +748,7 @@ _st_create_shadow_cairo_pattern (StShadow *shadow_spec, + (width_out - width_in) / 2.0, + (height_out - height_in) / 2.0); + cairo_pattern_set_matrix (dst_pattern, &shadow_matrix); +- +- goto out; ++ return dst_pattern; + } + + /* Read all the code from the cairo_pattern_set_matrix call +@@ -784,8 +786,6 @@ _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
[arch-commits] Commit in gnome-shell/trunk (2 files)
Date: Tuesday, May 10, 2011 @ 09:48:13 Author: ibiru Revision: 123342 fix crasher when adding/removing nameless users Added: gnome-shell/trunk/0001-Don-t-crash-when-removing-nameless-user.patch Modified: gnome-shell/trunk/PKGBUILD + 0001-Don-t-crash-when-removing-nameless-user.patch | 31 +++ PKGBUILD |9 +++-- 2 files changed, 37 insertions(+), 3 deletions(-) Added: 0001-Don-t-crash-when-removing-nameless-user.patch === --- 0001-Don-t-crash-when-removing-nameless-user.patch (rev 0) +++ 0001-Don-t-crash-when-removing-nameless-user.patch 2011-05-10 13:48:13 UTC (rev 123342) @@ -0,0 +1,31 @@ +From 8977ba4f23aef8754c0a912e7e1ec46f8da4776e Mon Sep 17 00:00:00 2001 +From: Ionut Biru +Date: Mon, 9 May 2011 13:03:17 -0700 +Subject: [PATCH] Don't crash when removing nameless user + +Fixes https://bugzilla.gnome.org/show_bug.cgi?id=647893 + +Signed-off-by: Ionut Biru +--- + src/gdmuser/gdm-user-manager.c |5 - + 1 files changed, 4 insertions(+), 1 deletions(-) + +diff --git a/src/gdmuser/gdm-user-manager.c b/src/gdmuser/gdm-user-manager.c +index eba9da1..543fcc3 100644 +--- a/src/gdmuser/gdm-user-manager.c b/src/gdmuser/gdm-user-manager.c +@@ -777,7 +777,10 @@ remove_user (GdmUserManager *manager, + if (gdm_user_get_object_path (user) != NULL) { + g_hash_table_remove (manager->priv->users_by_object_path, gdm_user_get_object_path (user)); + } +-g_hash_table_remove (manager->priv->users_by_name, gdm_user_get_user_name (user)); ++ ++if (gdm_user_get_user_name (user) != NULL) { ++g_hash_table_remove (manager->priv->users_by_name, gdm_user_get_user_name (user)); ++} + + if (manager->priv->is_loaded) { + g_signal_emit (manager, signals[USER_REMOVED], 0, user); +-- +1.7.5.1 + Modified: PKGBUILD === --- PKGBUILD2011-05-10 13:20:26 UTC (rev 123341) +++ PKGBUILD2011-05-10 13:48:13 UTC (rev 123342) @@ -4,7 +4,7 @@ pkgname=gnome-shell pkgver=3.0.1 -pkgrel=3 +pkgrel=4 pkgdesc="The next generation GNOME Shell" arch=('i686' 'x86_64') url="http://live.gnome.org/GnomeShell"; @@ -21,12 +21,14 @@ arch.patch network_fixes_up_to_5090a4ccce.patch shell-xfixes-cursor_missing_free.patch -st-private_fix_memory_leak.patch) +st-private_fix_memory_leak.patch +0001-Don-t-crash-when-removing-nameless-user.patch) sha256sums=('01f7ae942ba9687a5e67d62423843ed404d77b35f74acc212a5f391beed8e079' 'a35d5e5f9f781728070aecae3bfe329f49dadcd50ca2984e0fbdd2219825a0db' '01bf41483d5d8935ed2dd6294ee04024f2d9bcb2ef13276b07331e485965c822' 'c8b92768c869d0d77595da3466cc0dba3b6f067ea5fac048f32a918bbe98bbf6' -'8b80a0cec39c38a47521183a3030a782ab84bb6ea5e9cc58213589245288e718') +'8b80a0cec39c38a47521183a3030a782ab84bb6ea5e9cc58213589245288e718' +'291d1fa51344325e3dabc0c1287750cde98605c30f079ffad9b3523a3aba860d') build() { cd "${srcdir}/${pkgname}-${pkgver}" @@ -35,6 +37,7 @@ 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" + patch -Np1 -i "${srcdir}/0001-Don-t-crash-when-removing-nameless-user.patch" ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/gnome-shell \
[arch-commits] Commit in gnome-shell/trunk (2 files)
Date: Thursday, May 5, 2011 @ 07:05:07 Author: ibiru Revision: 122633 merge all network manager fixes Added: gnome-shell/trunk/network_fixes_up_to_5090a4ccce.patch Modified: gnome-shell/trunk/PKGBUILD --+ PKGBUILD |9 network_fixes_up_to_5090a4ccce.patch | 814 + 2 files changed, 820 insertions(+), 3 deletions(-) Modified: PKGBUILD === --- PKGBUILD2011-05-05 08:47:55 UTC (rev 122632) +++ PKGBUILD2011-05-05 11:05:07 UTC (rev 122633) @@ -4,7 +4,7 @@ pkgname=gnome-shell pkgver=3.0.1 -pkgrel=1 +pkgrel=2 pkgdesc="The next generation GNOME Shell" arch=('i686' 'x86_64') url="http://live.gnome.org/GnomeShell"; @@ -18,14 +18,17 @@ install=gnome-shell.install groups=(gnome) source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2 -arch.patch) +arch.patch +network_fixes_up_to_5090a4ccce.patch) sha256sums=('01f7ae942ba9687a5e67d62423843ed404d77b35f74acc212a5f391beed8e079' -'a35d5e5f9f781728070aecae3bfe329f49dadcd50ca2984e0fbdd2219825a0db') +'a35d5e5f9f781728070aecae3bfe329f49dadcd50ca2984e0fbdd2219825a0db' +'01bf41483d5d8935ed2dd6294ee04024f2d9bcb2ef13276b07331e485965c822') build() { cd "${srcdir}/${pkgname}-${pkgver}" patch -Np1 -i "${srcdir}/arch.patch" + patch -Np1 -i "${srcdir}/network_fixes_up_to_5090a4ccce.patch" ./configure --prefix=/usr --sysconfdir=/etc \ --libexecdir=/usr/lib/gnome-shell \ Added: network_fixes_up_to_5090a4ccce.patch === --- network_fixes_up_to_5090a4ccce.patch(rev 0) +++ network_fixes_up_to_5090a4ccce.patch2011-05-05 11:05:07 UTC (rev 122633) @@ -0,0 +1,814 @@ +From d0780d16224d7bb2ad183542337c48324fdd2185 Mon Sep 17 00:00:00 2001 +From: Giovanni Campagna +Date: Wed, 06 Apr 2011 16:11:23 + +Subject: NetworkMenu: keep wirelesss networks in predictable order + +Adds a function that compares wireless networks and keeps them sorted +at all times. Order is: first already configured connections, then +first secure networks, then alphabtic. Also, the appearance of a new access +point no longer causes the whole menu to be rebuilt (but it still linear +searches for the position, I guess that could be skipped), which caused +the addition of more code for tracking the active access point. + +https://bugzilla.gnome.org/show_bug.cgi?id=646580 +--- +(limited to 'js/ui/status/network.js') + +diff --git a/js/ui/status/network.js b/js/ui/status/network.js +index 6fa5642..49cb3f0 100644 +--- a/js/ui/status/network.js b/js/ui/status/network.js +@@ -42,6 +42,10 @@ const NM80211Mode = NetworkManager['80211Mode']; + const NM80211ApFlags = NetworkManager['80211ApFlags']; + const NM80211ApSecurityFlags = NetworkManager['80211ApSecurityFlags']; + ++// number of wireless networks that should be visible ++// (the remaining are placed into More...) ++const NUM_VISIBLE_NETWORKS = 5; ++ + function macToArray(string) { + return string.split(':').map(function(el) { + return parseInt(el, 16); +@@ -1036,6 +1040,7 @@ NMDeviceWireless.prototype = { + item: null, + accessPoints: [ ap ] + }; ++obj.ssidText = NetworkManager.utils_ssid_to_utf8(obj.ssid); + this._networks.push(obj); + } + +@@ -1048,6 +1053,14 @@ NMDeviceWireless.prototype = { + } + } + } ++if (this.device.active_access_point) { ++this._activeNetwork = this._networks[this._findNetwork(this.device.active_access_point)]; ++} else { ++this._activeNetwork = null; ++} ++this._networks.sort(this._networkSortFunction); ++ ++this._apChangedId = device.connect('notify::active-access-point', Lang.bind(this, this._activeApChanged)); + this._apAddedId = device.connect('access-point-added', Lang.bind(this, this._accessPointAdded)); + this._apRemovedId = device.connect('access-point-removed', Lang.bind(this, this._accessPointRemoved)); + +@@ -1055,8 +1068,13 @@ NMDeviceWireless.prototype = { + }, + + destroy: function() { +-if (this._apAddedId) { ++if (this._apChangedId) { + // see above for this HACK ++GObject.Object.prototype.disconnect.call(this.device, this._apChangedId); ++this._apChangedId = 0; ++} ++ ++if (this._apAddedId) { + GObject.Object.prototype.disconnect.call(this.device, this._apAddedId); + this._apAddedId = 0; + } +@@ -1122,6 +1140,19 @@ NMDeviceWireless.prototype = { + } + }, + ++_activeApChanged: function() { ++this._activeNetwork = null; ++ ++le