gtk+3: update to 3.22.4.
This commit is contained in:
parent
5e4a82407f
commit
0c9b39e270
2 changed files with 2 additions and 85 deletions
|
@ -1,83 +0,0 @@
|
||||||
From 0d945f06faee49788191e3e28f797f72959b3583 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
|
|
||||||
Date: Mon, 10 Oct 2016 16:34:28 +0200
|
|
||||||
Subject: [PATCH] gdkscreen-x11: Fix screen and monitor size calculation
|
|
||||||
|
|
||||||
The monitors are already in scaled pixels, so scaling again when retrieving
|
|
||||||
the screen size is wrong.
|
|
||||||
|
|
||||||
With GDK_SCALE unset, the initial monitor sizes are unscaled, and when the
|
|
||||||
xsettings client sets a scale > 1, the monitor sizes should be updated.
|
|
||||||
|
|
||||||
The end result is that the monitor sizes start out wrong, and get
|
|
||||||
corrected on the first xrandr event, while the screen size starts out
|
|
||||||
right and becomes wrong after the event.
|
|
||||||
|
|
||||||
This patch fixes Firefox misplacing menus and popovers when the xrandr
|
|
||||||
configuration changes while it is running.
|
|
||||||
|
|
||||||
Fix for the X11 side of
|
|
||||||
|
|
||||||
https://bugzilla.gnome.org/show_bug.cgi?id=772202
|
|
||||||
---
|
|
||||||
gdk/x11/gdkscreen-x11.c | 16 ++++------------
|
|
||||||
1 file changed, 4 insertions(+), 12 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
|
|
||||||
index 7738a47adfed1484..28a43a69bedbe955 100644
|
|
||||||
--- gdk/x11/gdkscreen-x11.c
|
|
||||||
+++ gdk/x11/gdkscreen-x11.c
|
|
||||||
@@ -49,6 +49,7 @@
|
|
||||||
static void gdk_x11_screen_dispose (GObject *object);
|
|
||||||
static void gdk_x11_screen_finalize (GObject *object);
|
|
||||||
static void init_randr_support (GdkScreen *screen);
|
|
||||||
+static void process_monitors_change (GdkScreen *screen);
|
|
||||||
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
@@ -82,13 +83,13 @@ gdk_x11_screen_get_display (GdkScreen *screen)
|
|
||||||
gint
|
|
||||||
gdk_x11_screen_get_width (GdkScreen *screen)
|
|
||||||
{
|
|
||||||
- return GDK_X11_SCREEN (screen)->width / GDK_X11_SCREEN (screen)->window_scale;
|
|
||||||
+ return GDK_X11_SCREEN (screen)->width;
|
|
||||||
}
|
|
||||||
|
|
||||||
gint
|
|
||||||
gdk_x11_screen_get_height (GdkScreen *screen)
|
|
||||||
{
|
|
||||||
- return GDK_X11_SCREEN (screen)->height / GDK_X11_SCREEN (screen)->window_scale;
|
|
||||||
+ return GDK_X11_SCREEN (screen)->height;
|
|
||||||
}
|
|
||||||
|
|
||||||
static gint
|
|
||||||
@@ -906,10 +907,8 @@ void
|
|
||||||
_gdk_x11_screen_set_window_scale (GdkX11Screen *x11_screen,
|
|
||||||
gint scale)
|
|
||||||
{
|
|
||||||
- GdkX11Display *x11_display = GDK_X11_DISPLAY (x11_screen->display);
|
|
||||||
GList *toplevels, *l;
|
|
||||||
GdkWindow *root;
|
|
||||||
- int i;
|
|
||||||
|
|
||||||
if (x11_screen->window_scale == scale)
|
|
||||||
return;
|
|
||||||
@@ -928,14 +927,7 @@ _gdk_x11_screen_set_window_scale (GdkX11Screen *x11_screen,
|
|
||||||
_gdk_x11_window_set_window_scale (window, scale);
|
|
||||||
}
|
|
||||||
|
|
||||||
- for (i = 0; i < x11_display->monitors->len; i++)
|
|
||||||
- {
|
|
||||||
- GdkMonitor *monitor = GDK_MONITOR (x11_display->monitors->pdata[i]);
|
|
||||||
-
|
|
||||||
- gdk_monitor_set_scale_factor (monitor, scale);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- g_signal_emit_by_name (GDK_SCREEN (x11_screen), "monitors-changed");
|
|
||||||
+ process_monitors_change (GDK_SCREEN (x11_screen));
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
--
|
|
||||||
2.10.1
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Template build file for 'gtk+3'.
|
# Template build file for 'gtk+3'.
|
||||||
pkgname=gtk+3
|
pkgname=gtk+3
|
||||||
version=3.22.3
|
version=3.22.4
|
||||||
revision=1
|
revision=1
|
||||||
wrksrc="gtk+-${version}"
|
wrksrc="gtk+-${version}"
|
||||||
build_style=gnu-configure
|
build_style=gnu-configure
|
||||||
|
@ -13,7 +13,7 @@ maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
||||||
homepage="http://www.gtk.org/"
|
homepage="http://www.gtk.org/"
|
||||||
license="LGPL-2.1"
|
license="LGPL-2.1"
|
||||||
distfiles="${GNOME_SITE}/gtk+/${version%.*}/gtk+-${version}.tar.xz"
|
distfiles="${GNOME_SITE}/gtk+/${version%.*}/gtk+-${version}.tar.xz"
|
||||||
checksum=e190ab1a9a893861b8e8be341aa57bce8b7146d6445ebfe5a8ab64236fe82ed3
|
checksum=7094a6fcfe133d01c578358bd5d3e499715f1a0206e87bd5cf6c834e301f387f
|
||||||
|
|
||||||
hostmakedepends="automake gettext-devel libtool pkg-config
|
hostmakedepends="automake gettext-devel libtool pkg-config
|
||||||
glib-devel gtk-doc gobject-introspection gtk-update-icon-cache
|
glib-devel gtk-doc gobject-introspection gtk-update-icon-cache
|
||||||
|
|
Loading…
Reference in a new issue