r48935 - in /desktop/unstable/metacity/debian: changelog patches/ patches/fix_xerror_in_free_win.diff patches/frames_ignore_event_outside.diff patches/iconcache_fixes.diff patches/series
mitya57 at users.alioth.debian.org
mitya57 at users.alioth.debian.org
Thu May 26 12:45:12 UTC 2016
Author: mitya57
Date: Thu May 26 12:45:10 2016
New Revision: 48935
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=48935
Log:
* Updates from upstream gnome-3-18 branch:
- Fixes to the icon cache code.
- Ignoring events outside of frame in get_control.
- Fix for XError crash in free_win function (LP: #1582687).
Added:
desktop/unstable/metacity/debian/patches/
desktop/unstable/metacity/debian/patches/fix_xerror_in_free_win.diff
desktop/unstable/metacity/debian/patches/frames_ignore_event_outside.diff
desktop/unstable/metacity/debian/patches/iconcache_fixes.diff
desktop/unstable/metacity/debian/patches/series
Modified:
desktop/unstable/metacity/debian/changelog
Modified: desktop/unstable/metacity/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/metacity/debian/changelog?rev=48935&op=diff
==============================================================================
--- desktop/unstable/metacity/debian/changelog [utf-8] (original)
+++ desktop/unstable/metacity/debian/changelog [utf-8] Thu May 26 12:45:10 2016
@@ -1,3 +1,12 @@
+metacity (1:3.18.4-2) unstable; urgency=medium
+
+ * Updates from upstream gnome-3-18 branch:
+ - Fixes to the icon cache code.
+ - Ignoring events outside of frame in get_control.
+ - Fix for XError crash in free_win function (LP: #1582687).
+
+ -- Dmitry Shachnev <mitya57 at debian.org> Thu, 26 May 2016 15:42:03 +0300
+
metacity (1:3.18.4-1) unstable; urgency=medium
* New upstream release.
Added: desktop/unstable/metacity/debian/patches/fix_xerror_in_free_win.diff
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/metacity/debian/patches/fix_xerror_in_free_win.diff?rev=48935&op=file
==============================================================================
--- desktop/unstable/metacity/debian/patches/fix_xerror_in_free_win.diff (added)
+++ desktop/unstable/metacity/debian/patches/fix_xerror_in_free_win.diff [utf-8] Thu May 26 12:45:10 2016
@@ -0,0 +1,22 @@
+Description: compositor: add error trap in free_win
+ It seems that picture might be destroyed with window if it is
+ created by passing window id as drawable to XRenderCreatePicture.
+ .
+ Add error trap around XRenderFreePicture to avoid Metacity crash
+ with RenderBadPicture error.
+Origin: upstream, https://git.gnome.org/browse/metacity/commit/?id=1243d34816398ec9
+Last-Update: 2016-05-26
+
+--- a/src/compositor/compositor-xrender.c
++++ b/src/compositor/compositor-xrender.c
+@@ -1957,7 +1957,10 @@
+
+ if (cw->picture)
+ {
++ meta_error_trap_push (display);
+ XRenderFreePicture (xdisplay, cw->picture);
++ meta_error_trap_pop (display, FALSE);
++
+ cw->picture = None;
+ }
+
Added: desktop/unstable/metacity/debian/patches/frames_ignore_event_outside.diff
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/metacity/debian/patches/frames_ignore_event_outside.diff?rev=48935&op=file
==============================================================================
--- desktop/unstable/metacity/debian/patches/frames_ignore_event_outside.diff (added)
+++ desktop/unstable/metacity/debian/patches/frames_ignore_event_outside.diff [utf-8] Thu May 26 12:45:10 2016
@@ -0,0 +1,16 @@
+Description: frames: ignore event outside of frame in get_control
+Origin: upstream, https://git.gnome.org/browse/metacity/commit/?id=072f77b4da0e3f9b
+Last-Update: 2016-05-26
+
+--- a/src/ui/frames.c
++++ b/src/ui/frames.c
+@@ -2819,6 +2819,9 @@
+ meta_frames_calc_geometry (frames, frame, &fgeom);
+ get_client_rect (&fgeom, fgeom.width, fgeom.height, &client);
+
++ if (x < 0 || y < 0 || x > fgeom.width || y > fgeom.height)
++ return META_FRAME_CONTROL_NONE;
++
+ if (POINT_IN_RECT (x, y, client))
+ return META_FRAME_CONTROL_CLIENT_AREA;
+
Added: desktop/unstable/metacity/debian/patches/iconcache_fixes.diff
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/metacity/debian/patches/iconcache_fixes.diff?rev=48935&op=file
==============================================================================
--- desktop/unstable/metacity/debian/patches/iconcache_fixes.diff (added)
+++ desktop/unstable/metacity/debian/patches/iconcache_fixes.diff [utf-8] Thu May 26 12:45:10 2016
@@ -0,0 +1,108 @@
+Description: icon cache fixes ported from mutter
+Origin: upstream, commits
+ https://git.gnome.org/browse/metacity/commit/?id=e2ee54b388d9c3e7
+ https://git.gnome.org/browse/metacity/commit/?id=a2250539217fba3b
+ https://git.gnome.org/browse/metacity/commit/?id=06a2ea4c32375ff2
+Last-Update: 2016-05-26
+
+--- a/src/core/iconcache.c
++++ b/src/core/iconcache.c
+@@ -321,6 +321,40 @@
+ *d = depth;
+ }
+
++static void
++apply_foreground_background (GdkPixbuf *pixbuf)
++{
++ int w, h;
++ int i, j;
++ guchar *pixels;
++ int stride;
++
++ w = gdk_pixbuf_get_width (pixbuf);
++ h = gdk_pixbuf_get_height (pixbuf);
++ pixels = gdk_pixbuf_get_pixels (pixbuf);
++ stride = gdk_pixbuf_get_rowstride (pixbuf);
++
++ i = 0;
++ while (i < h)
++ {
++ j = 0;
++ while (j < w)
++ {
++ guchar *p = pixels + i * stride + j * 4;
++ if (p[3] == 0)
++ p[0] = p[1] = p[2] = 0xff; /* white background */
++ else
++ p[0] = p[1] = p[2] = 0x00; /* black foreground */
++
++ p[3] = 0xff;
++
++ ++j;
++ }
++
++ ++i;
++ }
++}
++
+ static GdkPixbuf*
+ apply_mask (GdkPixbuf *pixbuf,
+ GdkPixbuf *mask)
+@@ -350,16 +384,10 @@
+ j = 0;
+ while (j < w)
+ {
+- guchar *s = src + i * src_stride + j * 3;
++ guchar *s = src + i * src_stride + j * 4;
+ guchar *d = dest + i * dest_stride + j * 4;
+
+- /* s[0] == s[1] == s[2], they are 255 if the bit was set, 0
+- * otherwise
+- */
+- if (s[0] == 0)
+- d[3] = 0; /* transparent */
+- else
+- d[3] = 255; /* opaque */
++ d[3] = s[3];
+
+ ++j;
+ }
+@@ -383,25 +411,32 @@
+ {
+ GdkPixbuf *unscaled = NULL;
+ GdkPixbuf *mask = NULL;
+- int w, h;
++ int w, h, d;
+
+ if (src_pixmap == None)
+ return FALSE;
+
+ meta_error_trap_push (display);
+
+- get_pixmap_geometry (display, src_pixmap, &w, &h, NULL);
++ get_pixmap_geometry (display, src_pixmap, &w, &h, &d);
+
+ unscaled = meta_gdk_pixbuf_get_from_pixmap (src_pixmap,
+ 0, 0,
+ w, h);
+
++ /* A depth 1 pixmap has 0 background, and 1 foreground, but
++ * cairo and meta_gdk_pixbuf_get_from_pixmap consider it
++ * to be 0 transparent, 1 opaque */
++ if (d == 1)
++ apply_foreground_background (unscaled);
++
+ if (unscaled && src_mask != None)
+ {
+- get_pixmap_geometry (display, src_mask, &w, &h, NULL);
+- mask = meta_gdk_pixbuf_get_from_pixmap (src_mask,
+- 0, 0,
+- w, h);
++ get_pixmap_geometry (display, src_mask, &w, &h, &d);
++ if (d == 1)
++ mask = meta_gdk_pixbuf_get_from_pixmap (src_mask,
++ 0, 0,
++ w, h);
+ }
+
+ meta_error_trap_pop (display, FALSE);
Added: desktop/unstable/metacity/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/metacity/debian/patches/series?rev=48935&op=file
==============================================================================
--- desktop/unstable/metacity/debian/patches/series (added)
+++ desktop/unstable/metacity/debian/patches/series [utf-8] Thu May 26 12:45:10 2016
@@ -0,0 +1,3 @@
+iconcache_fixes.diff
+frames_ignore_event_outside.diff
+fix_xerror_in_free_win.diff
More information about the pkg-gnome-commits
mailing list