Accepting request 367089 from GNOME:Next
1 OBS-URL: https://build.opensuse.org/request/show/367089 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gtk2?expand=0&rev=238
This commit is contained in:
parent
563a7b2400
commit
252f016678
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:0741c59600d3d810a223866453dc2bbb18ce4723828681ba24aa6519c37631b8
|
|
||||||
size 13143648
|
|
3
gtk+-2.24.30.tar.xz
Normal file
3
gtk+-2.24.30.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:0d15cec3b6d55c60eac205b1f3ba81a1ed4eadd9d0f8e7c508bc7065d0c4ca50
|
||||||
|
size 12800276
|
@ -1,33 +0,0 @@
|
|||||||
From 679d2a45afb5496b4b4e1b3901a972a9e5c57663 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Hans Breuer <hans@breuer.org>
|
|
||||||
Date: Fri, 7 Nov 2014 16:44:17 +0100
|
|
||||||
Subject: Bug 722815 - Deliver GdkModifierType during 'drag-motion'
|
|
||||||
|
|
||||||
This bug was also found by clang:
|
|
||||||
|
|
||||||
gdkwindow-quartz.c:1956:11: warning: implicit conversion from enumeration type 'GdkEventMask' to
|
|
||||||
different enumeration type 'GdkModifierType' [-Wenum-conversion]
|
|
||||||
*mask = _gdk_quartz_events_get_current_event_mask ();
|
|
||||||
~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
1 warning generated.
|
|
||||||
---
|
|
||||||
gdk/quartz/gdkwindow-quartz.c | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c
|
|
||||||
index 7b43257..7cd7789 100644
|
|
||||||
--- a/gdk/quartz/gdkwindow-quartz.c
|
|
||||||
+++ b/gdk/quartz/gdkwindow-quartz.c
|
|
||||||
@@ -1953,7 +1953,8 @@ gdk_window_quartz_get_pointer_helper (GdkWindow *window,
|
|
||||||
|
|
||||||
toplevel = GDK_WINDOW_OBJECT (gdk_window_get_effective_toplevel (window));
|
|
||||||
|
|
||||||
- *mask = _gdk_quartz_events_get_current_event_mask ();
|
|
||||||
+ *mask = _gdk_quartz_events_get_current_keyboard_modifiers ()
|
|
||||||
+ | _gdk_quartz_events_get_current_mouse_modifiers ();
|
|
||||||
|
|
||||||
/* Get the y coordinate, needs to be flipped. */
|
|
||||||
if (window == _gdk_root)
|
|
||||||
--
|
|
||||||
cgit v0.11.2
|
|
||||||
|
|
@ -1,171 +0,0 @@
|
|||||||
From 8bbd76593097bb00b7c60d56743b584062b8dcf5 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dave Airlie <airlied@redhat.com>
|
|
||||||
Date: Mon, 2 Feb 2015 16:02:04 +1000
|
|
||||||
Subject: gtk2-24: add randr 1.5 monitor support [v3]
|
|
||||||
|
|
||||||
This patch introduces support for using the newly introduced
|
|
||||||
monitor objects in the XRandR protocol. These objects are meant
|
|
||||||
to be used to denote a set of rectangles representing a logical
|
|
||||||
monitor, and are used to hide details like monitor tiling and
|
|
||||||
virtual gpu outputs.
|
|
||||||
|
|
||||||
This uses the new objects instead of crtc/outputs objects when
|
|
||||||
they are available to create the monitor lists. X server 1.18
|
|
||||||
is required on the server side for randr 1.5.
|
|
||||||
|
|
||||||
This patch was cherry-picked and fixed from the gtk3 branch and
|
|
||||||
squashes the two following additional fixupes:
|
|
||||||
|
|
||||||
v2: Fix primary monitor determination with XRANDR 1.5
|
|
||||||
Matthias Clasen <mclasen@redhat.com>
|
|
||||||
v3: Fix a typo in the previous patch
|
|
||||||
Matthias Clasen <mclasen@redhat.com>
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=759912
|
|
||||||
---
|
|
||||||
configure.ac | 3 +++
|
|
||||||
gdk/x11/gdkdisplay-x11.c | 6 +++++
|
|
||||||
gdk/x11/gdkdisplay-x11.h | 1 +
|
|
||||||
gdk/x11/gdkscreen-x11.c | 69 ++++++++++++++++++++++++++++++++++++++++++++++++
|
|
||||||
4 files changed, 79 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index 1c041e6..7ed414c 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -1192,6 +1192,9 @@ if test "x$gdktarget" = "xx11"; then
|
|
||||||
if $PKG_CONFIG --exists "xrandr >= 1.2.99" ; then
|
|
||||||
AC_DEFINE(HAVE_RANDR, 1, [Have the Xrandr extension library])
|
|
||||||
|
|
||||||
+ if $PKG_CONFIG --exists "xrandr >= 1.5.0" ; then
|
|
||||||
+ AC_DEFINE(HAVE_RANDR15, 1, [Have the Xrandr 1.5 extension library])
|
|
||||||
+ fi
|
|
||||||
X_PACKAGES="$X_PACKAGES xrandr"
|
|
||||||
fi
|
|
||||||
|
|
||||||
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
|
|
||||||
index 2bbcb35..0c63c55 100644
|
|
||||||
--- a/gdk/x11/gdkdisplay-x11.c
|
|
||||||
+++ b/gdk/x11/gdkdisplay-x11.c
|
|
||||||
@@ -182,6 +182,7 @@ gdk_display_open (const gchar *display_name)
|
|
||||||
|
|
||||||
/* RandR must be initialized before we initialize the screens */
|
|
||||||
display_x11->have_randr13 = FALSE;
|
|
||||||
+ display_x11->have_randr15 = FALSE;
|
|
||||||
#ifdef HAVE_RANDR
|
|
||||||
if (XRRQueryExtension (display_x11->xdisplay,
|
|
||||||
&display_x11->xrandr_event_base, &ignore))
|
|
||||||
@@ -193,6 +194,11 @@ gdk_display_open (const gchar *display_name)
|
|
||||||
if ((major == 1 && minor >= 3) || major > 1)
|
|
||||||
display_x11->have_randr13 = TRUE;
|
|
||||||
|
|
||||||
+#ifdef HAVE_RANDR15
|
|
||||||
+ if (minor >= 5 || major > 1)
|
|
||||||
+ display_x11->have_randr15 = TRUE;
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
gdk_x11_register_standard_event_type (display, display_x11->xrandr_event_base, RRNumberEvents);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
diff --git a/gdk/x11/gdkdisplay-x11.h b/gdk/x11/gdkdisplay-x11.h
|
|
||||||
index f8a55d0..de85623 100644
|
|
||||||
--- a/gdk/x11/gdkdisplay-x11.h
|
|
||||||
+++ b/gdk/x11/gdkdisplay-x11.h
|
|
||||||
@@ -87,6 +87,7 @@ struct _GdkDisplayX11
|
|
||||||
gint xdamage_event_base;
|
|
||||||
|
|
||||||
gboolean have_randr13;
|
|
||||||
+ gboolean have_randr15;
|
|
||||||
gint xrandr_event_base;
|
|
||||||
|
|
||||||
/* If the SECURITY extension is in place, whether this client holds
|
|
||||||
diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
|
|
||||||
index 66a0d96..9069bdc 100644
|
|
||||||
--- a/gdk/x11/gdkscreen-x11.c
|
|
||||||
+++ b/gdk/x11/gdkscreen-x11.c
|
|
||||||
@@ -740,6 +740,70 @@ monitor_compare_function (GdkX11Monitor *monitor1,
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#ifdef HAVE_RANDR15
|
|
||||||
+static gboolean
|
|
||||||
+init_randr15 (GdkScreen *screen)
|
|
||||||
+{
|
|
||||||
+ GdkDisplay *display = gdk_screen_get_display (screen);
|
|
||||||
+ GdkDisplayX11 *display_x11 = GDK_DISPLAY_X11 (display);
|
|
||||||
+ GdkScreenX11 *x11_screen = GDK_SCREEN_X11 (screen);
|
|
||||||
+ XRRMonitorInfo *rr_monitors;
|
|
||||||
+ int num_rr_monitors;
|
|
||||||
+ int i;
|
|
||||||
+ GArray *monitors;
|
|
||||||
+ XID primary_output = None;
|
|
||||||
+
|
|
||||||
+ if (!display_x11->have_randr15)
|
|
||||||
+ return FALSE;
|
|
||||||
+
|
|
||||||
+ rr_monitors = XRRGetMonitors (x11_screen->xdisplay,
|
|
||||||
+ x11_screen->xroot_window,
|
|
||||||
+ True,
|
|
||||||
+ &num_rr_monitors);
|
|
||||||
+ if (!rr_monitors)
|
|
||||||
+ return FALSE;
|
|
||||||
+
|
|
||||||
+ monitors = g_array_sized_new (FALSE, TRUE, sizeof (GdkX11Monitor),
|
|
||||||
+ num_rr_monitors);
|
|
||||||
+ for (i = 0; i < num_rr_monitors; i++)
|
|
||||||
+ {
|
|
||||||
+ GdkX11Monitor monitor;
|
|
||||||
+ init_monitor_geometry (&monitor,
|
|
||||||
+ rr_monitors[i].x,
|
|
||||||
+ rr_monitors[i].y,
|
|
||||||
+ rr_monitors[i].width,
|
|
||||||
+ rr_monitors[i].height);
|
|
||||||
+
|
|
||||||
+ monitor.width_mm = rr_monitors[i].mwidth;
|
|
||||||
+ monitor.height_mm = rr_monitors[i].mheight;
|
|
||||||
+ monitor.output = rr_monitors[i].outputs[0];
|
|
||||||
+ if (rr_monitors[i].primary)
|
|
||||||
+ primary_output = monitor.output;
|
|
||||||
+
|
|
||||||
+ g_array_append_val (monitors, monitor);
|
|
||||||
+ }
|
|
||||||
+ XRRFreeMonitors (rr_monitors);
|
|
||||||
+
|
|
||||||
+ g_array_sort (monitors,
|
|
||||||
+ (GCompareFunc) monitor_compare_function);
|
|
||||||
+ x11_screen->n_monitors = monitors->len;
|
|
||||||
+ x11_screen->monitors = (GdkX11Monitor *) g_array_free (monitors, FALSE);
|
|
||||||
+
|
|
||||||
+ x11_screen->primary_monitor = 0;
|
|
||||||
+
|
|
||||||
+ for (i = 0; i < x11_screen->n_monitors; i++)
|
|
||||||
+ {
|
|
||||||
+ if (x11_screen->monitors[i].output == primary_output)
|
|
||||||
+ {
|
|
||||||
+ x11_screen->primary_monitor = i;
|
|
||||||
+ break;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ return x11_screen->n_monitors > 0;
|
|
||||||
+}
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
static gboolean
|
|
||||||
init_randr13 (GdkScreen *screen)
|
|
||||||
{
|
|
||||||
@@ -1020,6 +1084,11 @@ init_multihead (GdkScreen *screen)
|
|
||||||
if (init_fake_xinerama (screen))
|
|
||||||
return;
|
|
||||||
|
|
||||||
+#ifdef HAVE_RANDR15
|
|
||||||
+ if (init_randr15 (screen))
|
|
||||||
+ return;
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
if (init_randr13 (screen))
|
|
||||||
return;
|
|
||||||
|
|
||||||
--
|
|
||||||
cgit v0.11.2
|
|
||||||
|
|
12
gtk2.changes
12
gtk2.changes
@ -1,3 +1,15 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Mar 6 10:56:37 UTC 2016 - zaitor@opensuse.org
|
||||||
|
|
||||||
|
- Update to version 2.24.30:
|
||||||
|
+ Win32: Build fixes.
|
||||||
|
+ X11: Support Randr 1.5 monitor information.
|
||||||
|
+ Bugs fixed: bgo#722815, bgo#612611, bgo#699652, bgo#698652,
|
||||||
|
bgo#758893.
|
||||||
|
+ Updated translations.
|
||||||
|
- Drop gtk2-Deliver-GdkModifierType-during-drag-motion.patch and
|
||||||
|
gtk2-randr-1.5-monitor-support.patch: Fixed upstream.
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Jan 15 09:35:50 UTC 2016 - zaitor@opensuse.org
|
Fri Jan 15 09:35:50 UTC 2016 - zaitor@opensuse.org
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
Name: gtk2
|
Name: gtk2
|
||||||
%define _name gtk+
|
%define _name gtk+
|
||||||
Version: 2.24.29
|
Version: 2.24.30
|
||||||
Release: 0
|
Release: 0
|
||||||
# FIXME: when updating to next version, check whether we can remove the workaround for bgo#596977 below (removing -fomit-frame-pointer)
|
# FIXME: when updating to next version, check whether we can remove the workaround for bgo#596977 below (removing -fomit-frame-pointer)
|
||||||
Summary: The GTK+ toolkit library (version 2)
|
Summary: The GTK+ toolkit library (version 2)
|
||||||
@ -59,10 +59,6 @@ Patch56: gtk2-bgo625202-30-bit-drawables-remain-black.patch
|
|||||||
Patch57: gtk2-bgo743166-remember-printing-authentication.patch
|
Patch57: gtk2-bgo743166-remember-printing-authentication.patch
|
||||||
# PATCH-FIX-UPSTREAM gtk2-bgo737777-fix-printing-authentication-crash.patch bgo#737777 joschibrauchle@gmx.de -- Applications crash randomly while printing with a password-secured SMB printer
|
# PATCH-FIX-UPSTREAM gtk2-bgo737777-fix-printing-authentication-crash.patch bgo#737777 joschibrauchle@gmx.de -- Applications crash randomly while printing with a password-secured SMB printer
|
||||||
Patch58: gtk2-bgo737777-fix-printing-authentication-crash.patch
|
Patch58: gtk2-bgo737777-fix-printing-authentication-crash.patch
|
||||||
# PATCH-FIX-UPSTREAM gtk2-randr-1.5-monitor-support.patch bgo#759912 zaitor@opensuse.org -- Adds support for using the newly introduced monitor objects in the XRandR protocol.
|
|
||||||
Patch59: gtk2-randr-1.5-monitor-support.patch
|
|
||||||
# PATCH-FIX-UPSTREAM gtk2-Deliver-GdkModifierType-during-drag-motion.patch bgo#722815 zaitor@opensuse.org -- Deliver GdkModifierType during 'drag-motion'
|
|
||||||
Patch60: gtk2-Deliver-GdkModifierType-during-drag-motion.patch
|
|
||||||
BuildRequires: atk-devel
|
BuildRequires: atk-devel
|
||||||
BuildRequires: cairo-devel
|
BuildRequires: cairo-devel
|
||||||
BuildRequires: cups-devel
|
BuildRequires: cups-devel
|
||||||
@ -343,8 +339,6 @@ cp -a %{SOURCE2} .
|
|||||||
%patch56 -p1
|
%patch56 -p1
|
||||||
%patch57 -p1
|
%patch57 -p1
|
||||||
%patch58 -p1
|
%patch58 -p1
|
||||||
%patch59 -p1
|
|
||||||
%patch60 -p1
|
|
||||||
gnome-patch-translation-update
|
gnome-patch-translation-update
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
Loading…
Reference in New Issue
Block a user