From d7ee93061b315b15dfcefe8ec9a02b75a4f32a92d064fce818d1cb3ba203ee80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Lie?= Date: Mon, 9 Jan 2017 11:30:33 +0000 Subject: [PATCH] Accepting request 449262 from GNOME:Next New stable and patch OBS-URL: https://build.opensuse.org/request/show/449262 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gtk3?expand=0&rev=262 --- gtk+-3.22.5.tar.xz | 3 -- gtk+-3.22.6.tar.xz | 3 ++ ...yland-handle-subsurface-popup-parent.patch | 54 +++++++++++++++++++ gtk3.changes | 19 +++++++ gtk3.spec | 7 ++- 5 files changed, 81 insertions(+), 5 deletions(-) delete mode 100644 gtk+-3.22.5.tar.xz create mode 100644 gtk+-3.22.6.tar.xz create mode 100644 gtk3-wayland-handle-subsurface-popup-parent.patch diff --git a/gtk+-3.22.5.tar.xz b/gtk+-3.22.5.tar.xz deleted file mode 100644 index eb0e0ca..0000000 --- a/gtk+-3.22.5.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:693fa0ac643c59ccd51db99cabe476b4e0a41fd4f0c3c8b3e3ef38f94b2e7334 -size 18250876 diff --git a/gtk+-3.22.6.tar.xz b/gtk+-3.22.6.tar.xz new file mode 100644 index 0000000..69a9b3e --- /dev/null +++ b/gtk+-3.22.6.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eba75a216a117f4391beb2971ba20ff8a1823f109893f0ab6c2eac2210ea172f +size 18247052 diff --git a/gtk3-wayland-handle-subsurface-popup-parent.patch b/gtk3-wayland-handle-subsurface-popup-parent.patch new file mode 100644 index 0000000..c7792f4 --- /dev/null +++ b/gtk3-wayland-handle-subsurface-popup-parent.patch @@ -0,0 +1,54 @@ +From 5bae71f896eb5516c04b1b2374aaff05cfb8b3c0 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jonas=20=C3=85dahl?= +Date: Thu, 5 Jan 2017 16:01:49 +0800 +Subject: wayland: Handle subsurface as popup parent + +When a subsurface is used as a parent of a popup, GDK needs to traverse +up to the transient-for as the next parent, to properly find the parent +used by the popup positioner. This is because the parent of a popup +must always either be an xdg_popup or an xdg_surface, but traversing +the "parent" (in GDK terms) upwards from a subsurface will end up on +the fake root window before we hit the actual parent (in Wayland terms). + +https://bugzilla.gnome.org/show_bug.cgi?id=776225 +--- + gdk/wayland/gdkwindow-wayland.c | 20 ++++++++++++++++---- + 1 file changed, 16 insertions(+), 4 deletions(-) + +diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c +index 0314117..8fce48b 100644 +--- a/gdk/wayland/gdkwindow-wayland.c ++++ b/gdk/wayland/gdkwindow-wayland.c +@@ -1656,13 +1656,25 @@ get_real_parent_and_translate (GdkWindow *window, + GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl); + GdkWindow *parent = impl->transient_for; + +- while (parent && +- !gdk_window_has_native (parent) && +- gdk_window_get_effective_parent (parent)) ++ while (parent) + { ++ GdkWindowImplWayland *parent_impl = ++ GDK_WINDOW_IMPL_WAYLAND (parent->impl); ++ GdkWindow *effective_parent = gdk_window_get_effective_parent (parent); ++ ++ if ((gdk_window_has_native (parent) && ++ !parent_impl->display_server.wl_subsurface) || ++ !effective_parent) ++ break; ++ + *x += parent->x; + *y += parent->y; +- parent = gdk_window_get_effective_parent (parent); ++ ++ if (gdk_window_has_native (parent) && ++ parent_impl->display_server.wl_subsurface) ++ parent = parent->transient_for; ++ else ++ parent = effective_parent; + } + + return parent; +-- +cgit v0.12 + diff --git a/gtk3.changes b/gtk3.changes index 3351dc2..fbd4d79 100644 --- a/gtk3.changes +++ b/gtk3.changes @@ -1,3 +1,22 @@ +------------------------------------------------------------------- +Sun Jan 8 13:37:02 UTC 2017 - zaitor@opensuse.org + +- Add gtk3-wayland-handle-subsurface-popup-parent.patch: Handle + subsurface as popup parent (bgo#776225). + +------------------------------------------------------------------- +Thu Jan 5 12:05:04 UTC 2017 - zaitor@opensuse.org + +- Update to version 3.22.6: + + Fix GL checks to work better on OpenGL ES 2.0. + + Avoid a possible crash in ::activate-url handlers. + + scrolledwindow: Fix func summary being cut off in bindings + using doxygen. + + Bugs fixed: bgo#774534, bgo#776132, bgo#776187, bgo#776012, + bgo#774784, bgo#776306, bgo#775808, bgo#776524, + bgo#776560. + + Updated translations. + ------------------------------------------------------------------- Fri Dec 9 17:44:10 UTC 2016 - dimstar@opensuse.org diff --git a/gtk3.spec b/gtk3.spec index fd35375..491e840 100644 --- a/gtk3.spec +++ b/gtk3.spec @@ -1,7 +1,7 @@ # # spec file for package gtk3 # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 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.22.5 +Version: 3.22.6 Release: 0 Summary: The GTK+ toolkit library (version 3) License: LGPL-2.1+ @@ -44,6 +44,8 @@ Source99: baselibs.conf Patch0: gtk3-GTK_PATH64.patch # PATCH-NEEDS-REBASE gtk3-path-local.patch Search in /usr/local/%{_lib} by default. bnc369696 bgo534474 -- Was PATCH-FIX-OPENSUSE Patch1: gtk3-path-local.patch +# PATCH-FIX-UPSTREAM gtk3-wayland-handle-subsurface-popup-parent.patch bgo# zaitor@opensuse.org -- Handle subsurface as popup parent +Patch2: gtk3-wayland-handle-subsurface-popup-parent.patch BuildRequires: cups-devel >= 1.2 BuildRequires: docbook-xsl-stylesheets BuildRequires: fdupes @@ -358,6 +360,7 @@ cp -a %{S:1} . %endif # Patch disabled, needs rebase. #patch1 -p0 +%patch2 -p1 %build # Disabled since patch 1 is in need of rebase