Accepting request 353187 from GNOME:Factory

Supersede, should now pass staging!

OBS-URL: https://build.opensuse.org/request/show/353187
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gtk3?expand=0&rev=87
This commit is contained in:
2016-01-13 21:43:48 +00:00
committed by Git OBS Bridge
7 changed files with 178 additions and 37 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5dbec561c4a00070073bf9cf4cfdd61fab4a14c8ff5b15d700bd378f8185e152
size 18902000

3
gtk+-3.18.6.tar.xz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:78cabf0fd5a662f8723f62d5ac633072c76c557c1d700454c9c3deaa37e441ef
size 18990472

View File

@@ -0,0 +1,91 @@
From 2cbc2972ea58ec9dae5481fc4930f0cd13f21da9 Mon Sep 17 00:00:00 2001
From: Lars Uebernickel <lars.uebernickel@canonical.com>
Date: Wed, 9 Dec 2015 17:48:26 +0100
Subject: gdk_pixbuf_get_from_surface: restore old behavior
A previous commit changed this function to return a pixbuf that is
larger than the passed (width, height) when the surface has a device
scale > 1. It's easy enough to take care of a scaled surface before
calling this function.
Revert to the old behaviour, but change gdk_pixbuf_get_from_window() to
return a scaled version when the underlying surface is scaled. We need
this because there's no other way to get to the unscaled window
contents.
https://bugzilla.gnome.org/show_bug.cgi?id=757147
---
gdk/gdkpixbuf-drawable.c | 31 +++++++++++++++++++++----------
1 file changed, 21 insertions(+), 10 deletions(-)
diff --git a/gdk/gdkpixbuf-drawable.c b/gdk/gdkpixbuf-drawable.c
index 0647e3c..bae643a 100644
--- a/gdk/gdkpixbuf-drawable.c
+++ b/gdk/gdkpixbuf-drawable.c
@@ -56,8 +56,9 @@
* This allows you to efficiently read individual pixels on the client side.
*
* This function will create an RGB pixbuf with 8 bits per channel with
- * the same size specified by the @width and @height arguments. The pixbuf
- * will contain an alpha channel if the @window contains one.
+ * the size specified by the @width and @height arguments scaled by the
+ * scale factor of @window. The pixbuf will contain an alpha channel if
+ * the @window contains one.
*
* If the window is off the screen, then there is no image data in the
* obscured/offscreen regions to be placed in the pixbuf. The contents of
@@ -87,6 +88,8 @@ gdk_pixbuf_get_from_window (GdkWindow *src,
gint height)
{
cairo_surface_t *surface;
+ cairo_surface_t *copy;
+ cairo_t *cr;
GdkPixbuf *dest;
gint scale;
@@ -104,9 +107,22 @@ gdk_pixbuf_get_from_window (GdkWindow *src,
*/
cairo_surface_mark_dirty (surface);
- dest = gdk_pixbuf_get_from_surface (surface,
- scale * src_x, scale * src_y,
- scale * width, scale * height);
+ if (cairo_surface_get_content (surface) & CAIRO_CONTENT_ALPHA)
+ copy = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width * scale, height * scale);
+ else
+ copy = cairo_image_surface_create (CAIRO_FORMAT_RGB24, width * scale, height * scale);
+
+ cairo_surface_set_device_scale (copy, scale, scale);
+
+ cr = cairo_create (copy);
+ cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
+ cairo_set_source_surface (cr, surface, -src_x, -src_y);
+ cairo_paint (cr);
+ cairo_destroy (cr);
+
+ dest = gdk_pixbuf_get_from_surface (copy, 0, 0, width * scale, height * scale);
+
+ cairo_surface_destroy (copy);
cairo_surface_destroy (surface);
return dest;
@@ -137,16 +153,11 @@ gdk_cairo_surface_coerce_to_image (cairo_surface_t *surface,
{
cairo_surface_t *copy;
cairo_t *cr;
- double sx, sy;
-
- cairo_surface_get_device_scale (surface, &sx, &sy);
copy = cairo_image_surface_create (gdk_cairo_format_for_content (content),
width,
height);
- cairo_surface_set_device_scale (copy, sx, sy);
-
cr = cairo_create (copy);
cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
cairo_set_source_surface (cr, surface, -src_x, -src_y);
--
cgit v0.11.2

View File

@@ -1,29 +0,0 @@
From 37cc6358557d5aa9ebd0b986af17a837d6a94aca Mon Sep 17 00:00:00 2001
From: Dominique Leuenberger <dimstar@opensuse.org>
Date: Thu, 29 Oct 2015 13:56:18 +0100
Subject: [PATCH] placessidebar: do not crash if uris is NULL
On Drag'n'Drop actions across system boundaries (VM host to gues), the
happen to be null.
https://bugzilla.gnome.org/show_bug.cgi?id=757298
---
gtk/gtkplacessidebar.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c
index 42179c3..8dc6d30 100644
--- a/gtk/gtkplacessidebar.c
+++ b/gtk/gtkplacessidebar.c
@@ -1708,7 +1708,7 @@ build_file_list_from_uris (const gchar **uris)
gint i;
result = NULL;
- for (i = 0; uris[i]; i++)
+ for (i = 0; uris && uris[i]; i++)
{
GFile *file;
--
2.6.0

View File

@@ -0,0 +1,12 @@
Index: gtk+-3.18.6/gdk/x11/gdkdevicemanager-xi2.c
===================================================================
--- gtk+-3.18.6.orig/gdk/x11/gdkdevicemanager-xi2.c
+++ gtk+-3.18.6/gdk/x11/gdkdevicemanager-xi2.c
@@ -428,6 +428,7 @@ create_device (GdkDeviceManager *device_
input_source = GDK_SOURCE_PEN;
else if (!strstr (tmp_name, "mouse") &&
!strstr (tmp_name, "pointer") &&
+ !strstr (tmp_name, "qemu usb tablet") &&
has_abs_axes (display, dev->classes, dev->num_classes))
input_source = GDK_SOURCE_TOUCHSCREEN;
else

View File

@@ -1,3 +1,67 @@
-------------------------------------------------------------------
Mon Jan 11 10:24:48 UTC 2016 - dimstar@opensuse.org
- Add gtk3-qemu-usb-tablet-is-no-real-touchscreen.patch: The QEMU
USB Tablet is not really a touchscreen - although it simulates
it for VNC based viewers (making mouse-input more reliable).
This patch fixes issues where openQA was not able to correctly
handle the CTRL-ALT-DEL handler to show the logout dialog.
-------------------------------------------------------------------
Sat Dec 26 14:19:15 UTC 2015 - zaitor@opensuse.org
- Add gtk3-gdk_pixbuf_get_from_surface.patch: Restore old behavior.
-------------------------------------------------------------------
Sun Dec 6 11:57:43 UTC 2015 - zaitor@opensuse.org
- Update to version 3.18.6:
+ Bugs fixed: bgo#539944, bgo#732742, bgo#735847, bgo#746745,
bgo#747295, bgo#748904, bgo#757358, bgo#758025, bgo#758072,
bgo#758175, bgo#758327, bgo#758367, bgo#758407, bgo#758483,
bgo#758484, bgo#758660, bgo#758661, bgo#758698, bgo#758790.
+ Updated translations.
-------------------------------------------------------------------
Mon Nov 16 21:32:02 UTC 2015 - zaitor@opensuse.org
- Update to version 3.18.5:
+ GtkFileChooser:
- Make sure external drives show up either in the sidebar or
the places view.
- Ignore double-click events.
+ Avoid some crashes in CSS parsing error handling.
- Drop
gtk3-gtkplacessidebar-improve-heuristics-external-drives.patch:
Fixed upstream.
-------------------------------------------------------------------
Sat Nov 14 20:04:16 UTC 2015 - zaitor@opensuse.org
- Add
gtk3-gtkplacessidebar-improve-heuristics-external-drives.patch:
Add missed commit for the sidebar refactor, without this external
drives are not shown anywhere (bgo#756589).
-------------------------------------------------------------------
Thu Nov 12 18:32:11 UTC 2015 - zaitor@opensuse.org
- Update to version 3.18.4:
+ Revert a GtkTextBuffer change that broke binding API.
+ Properly refresh styles when widget names change.
-------------------------------------------------------------------
Mon Nov 9 17:38:07 UTC 2015 - zaitor@opensuse.org
- Update to version 3.18.3:
+ Bugs fixed: bgo#735342, bgo#753992, bgo#755654, bgo#756160,
bgo#756385, bgo#756449, bgo#756496, bgo#756505, bgo#756568,
bgo#756589, bgo#756625, bgo#756751, bgo#756780, bgo#756886,
bgo#757147, bgo#757221, bgo#757298, bgo#757303, bgo#757324,
bgo#757358, bgo#757377, bgo#757544.
+ Updated translations.
- Drop gtk3-places-sidebar-no-crash.patch: Fixed upstream.
-------------------------------------------------------------------
Thu Oct 29 12:59:43 UTC 2015 - dimstar@opensuse.org

View File

@@ -1,7 +1,7 @@
#
# spec file for package gtk3
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2010 Dominique Leuenebrger, Amsterdam, Netherlands
#
# All modifications and additions to the file contributed by third parties
@@ -29,7 +29,7 @@
Name: gtk3
%define _name gtk+
Version: 3.18.2
Version: 3.18.6
Release: 0
Summary: The GTK+ toolkit library (version 3)
License: LGPL-2.1+
@@ -47,8 +47,10 @@ Patch1: gtk3-path-local.patch
## PATCH-DISABLED gtk3-bnc130159-bgo319483-async-font-selection.patch - Upstream bug was closed as obsolete in 2011, lets see if anyone complains.
# PATCH-FIX-UPSTREAM gtk3-bnc130159-bgo319483-async-font-selection.patch bnc130159 bgo319483 federico@novell.com - Load fonts asynchronously in GtkFontSelection to make it appear faster for CJK languages
Patch3: gtk3-bnc130159-bgo319483-async-font-selection.patch
# PATCH-FIX-UPSTREAM gtk3-places-sidebar-no-crash.patch boo#952356 bgo#757298 dimstar@opensuse.org -- Don't crash when dragging files from host to guest over sidebar
Patch4: gtk3-places-sidebar-no-crash.patch
# PATCH-FIX-UPSTREAM gtk3-gdk_pixbuf_get_from_surface.patch bgo#757147 zaitor@opensuse.org -- Restore old behavior to return a scaled version when the underlying surface is scaled. From upstream git.
Patch4: gtk3-gdk_pixbuf_get_from_surface.patch
# PATCH-FIX-UPSTREAM gtk3-qemu-usb-tablet-is-no-real-touchscreen.patch bgo#760445 dimstar@opensuse.org -- The QEMU USB Tablet device is no real touchscreen; fixes issues in openQA where ctrl-alt-del was not accepted
Patch5: gtk3-qemu-usb-tablet-is-no-real-touchscreen.patch
BuildRequires: cups-devel >= 1.2
BuildRequires: docbook-xsl-stylesheets
BuildRequires: fdupes
@@ -341,9 +343,10 @@ cp -a %{S:1} .
## PATCH-DISABLED - Upstream bug was closed as obsolete in 2011, as there was a new fontchooser, lets disable the patch and see if anyone complains.
#%%patch3 -p1
%patch4 -p1
%patch5 -p1
%build
# Needed for patch1 and patch4
# Needed for patch1
NOCONFIGURE=1 ./autogen.sh
%configure \
--disable-static \