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 <[email protected]> -Date: Mon, 11 Apr 2016 14:00:33 +0000 -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_handle_unref (priv->new_offscreen); - priv->new_offscreen = cogl_offscreen_new_with_texture (priv->new_texture); - -- g_return_val_if_fail (priv->old_offscreen != COGL_INVALID_HANDLE, FALSE); -- g_return_val_if_fail (priv->new_offscreen != COGL_INVALID_HANDLE, FALSE); -+ if (!cogl_framebuffer_allocate (COGL_FRAMEBUFFER (priv->new_offscreen), &catch_error)) -+ { -+ cogl_object_unref (priv->new_offscreen); -+ cogl_error_free (catch_error); -+ priv->new_offscreen = COGL_INVALID_HANDLE; -+ g_return_val_if_fail (priv->new_offscreen != COGL_INVALID_HANDLE, FALSE); -+ } - - if (priv->material == NULL) - { --- -2.7.1 - Modified: PKGBUILD =================================================================== --- PKGBUILD 2016-06-29 08:04:03 UTC (rev 270791) +++ PKGBUILD 2016-06-29 09:04:27 UTC (rev 270792) @@ -3,7 +3,7 @@ # Contributor: Flamelab <[email protected] pkgname=gnome-shell -pkgver=3.20.2 +pkgver=3.20.3 pkgrel=1 pkgdesc="The next generation GNOME Shell" url="https://wiki.gnome.org/Projects/GnomeShell" @@ -18,11 +18,9 @@ 'evolution-data-server: Evolution calendar integration') groups=(gnome) source=(https://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz - nm-libexecdir.patch - 0001-Initialize-framebuffer-objects-early-so-clutter-will.patch) -sha256sums=('eaff6b177cc5bab16b252c45393a6c9305ad3837a288e738388c7b4d4bae13cd' - 'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607' - '4dfd8a416fafdfa53ff07fd0433d5785f7bf434d3e576710879bfca5fe39c84f') + nm-libexecdir.patch) +sha256sums=('b23fd558623bfdc726066be3f47bb5fb8ed9c0ad980a95d6afc6397b6d41171e' + 'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607') prepare() { cd $pkgname-$pkgver @@ -29,9 +27,6 @@ # FS#30747 FS#32730 Problems due to libexecdir different from NM patch -Np1 -i ../nm-libexecdir.patch - - # Catch FBO allocation failure - patch -Np1 -i ../0001-Initialize-framebuffer-objects-early-so-clutter-will.patch } build() {
