Backport two fixes for window allocations from git master
This commit is contained in:
parent
40f65601c4
commit
4efddbffe2
@ -0,0 +1,48 @@
|
|||||||
|
From 154204e89136f338a3b0cbd91ddaebc09e4bd8e3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Benjamin Otte <otte@redhat.com>
|
||||||
|
Date: Thu, 24 Jan 2013 14:25:27 +0100
|
||||||
|
Subject: [PATCH] widget: Allow invisible toplevels to do sizing operations
|
||||||
|
|
||||||
|
This is a quickfix to keep things working.
|
||||||
|
|
||||||
|
It turns out GtkWindow assumes it can do sizing operations while not
|
||||||
|
being visible, or while in the process of show()ing/hide()ing itself.
|
||||||
|
And commit b495ce54 broke these operations.
|
||||||
|
|
||||||
|
Figuring this properly requires some more thinking and restructuring on
|
||||||
|
my part, so for now we relax the requirement of visiblility enough for
|
||||||
|
these things to start working again.
|
||||||
|
---
|
||||||
|
gtk/gtksizerequest.c | 2 +-
|
||||||
|
gtk/gtkwidget.c | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gtk/gtksizerequest.c b/gtk/gtksizerequest.c
|
||||||
|
index 4d54821..0ce86bd 100644
|
||||||
|
--- a/gtk/gtksizerequest.c
|
||||||
|
+++ b/gtk/gtksizerequest.c
|
||||||
|
@@ -268,7 +268,7 @@ _gtk_widget_compute_size_for_orientation (GtkWidget *widget,
|
||||||
|
gpointer key;
|
||||||
|
gint min_result = 0, nat_result = 0;
|
||||||
|
|
||||||
|
- if (!gtk_widget_get_visible (widget))
|
||||||
|
+ if (!gtk_widget_get_visible (widget) && !gtk_widget_is_toplevel (widget))
|
||||||
|
{
|
||||||
|
if (minimum)
|
||||||
|
*minimum = 0;
|
||||||
|
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
|
||||||
|
index ed584ea..585b4f8 100644
|
||||||
|
--- a/gtk/gtkwidget.c
|
||||||
|
+++ b/gtk/gtkwidget.c
|
||||||
|
@@ -4817,7 +4817,7 @@ gtk_widget_size_allocate (GtkWidget *widget,
|
||||||
|
|
||||||
|
g_return_if_fail (GTK_IS_WIDGET (widget));
|
||||||
|
|
||||||
|
- if (!priv->visible)
|
||||||
|
+ if (!priv->visible && !gtk_widget_is_toplevel (widget))
|
||||||
|
return;
|
||||||
|
|
||||||
|
gtk_widget_push_verify_invariants (widget);
|
||||||
|
--
|
||||||
|
1.8.1
|
||||||
|
|
27
0001-window-allocation-x-y-is-0-0.patch
Normal file
27
0001-window-allocation-x-y-is-0-0.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
From e84ed710a229edda498e5bdcac675b5885073057 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Benjamin Otte <otte@redhat.com>
|
||||||
|
Date: Thu, 17 Jan 2013 20:52:50 +0100
|
||||||
|
Subject: [PATCH] window: allocation x/y is 0,0
|
||||||
|
|
||||||
|
This was incorrect in 97ba4b1b8eb82563f13762a4bd8cfe9beb8a121c.
|
||||||
|
---
|
||||||
|
gtk/gtkwindow.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
|
||||||
|
index e0c21a9..0984886 100644
|
||||||
|
--- a/gtk/gtkwindow.c
|
||||||
|
+++ b/gtk/gtkwindow.c
|
||||||
|
@@ -7171,7 +7171,8 @@ gtk_window_move_resize (GtkWindow *window)
|
||||||
|
&new_geometry,
|
||||||
|
new_flags);
|
||||||
|
|
||||||
|
- gdk_window_get_position (gdk_window, &allocation.x, &allocation.y);
|
||||||
|
+ allocation.x = 0;
|
||||||
|
+ allocation.y = 0;
|
||||||
|
allocation.width = gdk_window_get_width (gdk_window);
|
||||||
|
allocation.height = gdk_window_get_height (gdk_window);
|
||||||
|
|
||||||
|
--
|
||||||
|
1.8.1
|
||||||
|
|
12
gtk3.spec
12
gtk3.spec
@ -10,7 +10,7 @@
|
|||||||
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
|
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
|
||||||
Name: gtk3
|
Name: gtk3
|
||||||
Version: 3.7.6
|
Version: 3.7.6
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
URL: http://www.gtk.org
|
URL: http://www.gtk.org
|
||||||
@ -18,6 +18,10 @@ URL: http://www.gtk.org
|
|||||||
Source: http://download.gnome.org/sources/gtk+/3.7/gtk+-%{version}.tar.xz
|
Source: http://download.gnome.org/sources/gtk+/3.7/gtk+-%{version}.tar.xz
|
||||||
Source1: im-cedilla.conf
|
Source1: im-cedilla.conf
|
||||||
|
|
||||||
|
# fixes for 3.7.6 bugs
|
||||||
|
Patch0: 0001-window-allocation-x-y-is-0-0.patch
|
||||||
|
Patch1: 0001-widget-Allow-invisible-toplevels-to-do-sizing-operat.patch
|
||||||
|
|
||||||
BuildRequires: gnome-common autoconf automake intltool gettext
|
BuildRequires: gnome-common autoconf automake intltool gettext
|
||||||
BuildRequires: atk-devel >= %{atk_version}
|
BuildRequires: atk-devel >= %{atk_version}
|
||||||
BuildRequires: at-spi2-atk-devel
|
BuildRequires: at-spi2-atk-devel
|
||||||
@ -110,6 +114,9 @@ widget toolkit.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n gtk+-%{version}
|
%setup -q -n gtk+-%{version}
|
||||||
|
|
||||||
|
%patch0 -p1 -b .window-allocation-1
|
||||||
|
%patch1 -p1 -b .window-allocation-2
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi;
|
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi;
|
||||||
@ -244,6 +251,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache
|
|||||||
%{_datadir}/gtk-doc
|
%{_datadir}/gtk-doc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jan 24 2013 Cosimo Cecchi <cosimoc@redhat.com> - 3.7.6-2
|
||||||
|
- Backport two patches from git master to fix window allocations
|
||||||
|
|
||||||
* Tue Jan 15 2013 Matthias Clasen <mclasen@redhat.com> - 3.7.6-1
|
* Tue Jan 15 2013 Matthias Clasen <mclasen@redhat.com> - 3.7.6-1
|
||||||
- Update to 3.7.6
|
- Update to 3.7.6
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user