Compare commits

..

No commits in common. "c10s" and "c8" have entirely different histories.
c10s ... c8

21 changed files with 1201 additions and 528 deletions

215
.gitignore vendored
View File

@ -1,214 +1 @@
gtk+-2.90.5.tar.bz2
/gtk+-2.90.7.tar.bz2
/gtk+-2.91.0.tar.bz2
/gtk+-2.91.1.tar.bz2
/gtk+-2.91.3.tar.bz2
/gtk+-2.91.4.tar.bz2
/gtk+-2.91.5.tar.bz2
/gtk+-2.99.0.tar.bz2
/gtk+-2.99.1.tar.bz2
/gtk+-2.99.2.tar.bz2
/gtk+-2.99.3.tar.bz2
/gtk+-3.0.0.tar.bz2
/gtk+-3.0.1.tar.bz2
/gtk+-3.0.2.tar.bz2
/gtk+-3.0.3.tar.bz2
/gtk+-3.0.4.tar.bz2
/gtk+-3.0.5.tar.bz2
/gtk+-3.0.6.tar.bz2
/gtk+-3.0.7.tar.bz2
/gtk+-3.0.8.tar.bz2
/gtk+-3.0.9.tar.bz2
/gtk+-3.1.4.tar.bz2
/gtk+-3.1.6.tar.xz
/gtk+-3.1.8.tar.xz
/gtk+-3.1.10.tar.xz
/gtk+-3.1.18.tar.xz
/gtk+-3.1.90.tar.xz
/gtk+-3.1.92.tar.xz
/gtk+-3.2.0.tar.xz
/gtk+-3.2.1.tar.xz
/gtk+-3.3.4.tar.xz
/gtk+-3.3.6.tar.xz
/gtk+-3.3.8.tar.xz
/gtk+-3.3.10.tar.xz
/gtk+-3.3.14.tar.xz
/gtk+-3.3.16.tar.xz
/gtk+-3.3.18.tar.xz
/gtk+-3.3.20.tar.xz
/gtk+-3.4.0.tar.xz
/gtk+-3.5.2.tar.xz
/gtk+-3.5.4.tar.xz
/gtk+-3.5.6.tar.xz
/gtk+-3.5.8.tar.xz
/gtk+-3.5.10.tar.xz
/gtk+-3.5.12.tar.xz
/gtk+-3.5.14.tar.xz
/gtk+-3.5.16.tar.xz
/gtk+-3.5.18.tar.xz
/gtk+-3.6.0.tar.xz
/gtk+-3.6.1.tar.xz
/gtk+-3.7.0.tar.xz
/gtk+-3.7.2.tar.xz
/gtk+-3.7.4.tar.xz
/gtk+-3.7.6.tar.xz
/gtk+-3.7.8.tar.xz
/gtk+-3.7.10.tar.xz
/gtk+-3.7.12.tar.xz
/gtk+-3.7.14.tar.xz
/gtk+-3.8.0.tar.xz
/gtk+-3.8.1.tar.xz
/gtk+-3.9.0.tar.xz
/gtk+-3.9.2.tar.xz
/gtk+-3.9.4.tar.xz
/gtk+-3.9.6.tar.xz
/gtk+-3.9.8.tar.xz
/gtk+-3.9.10.tar.xz
/gtk+-3.9.12.tar.xz
/gtk+-3.9.14.tar.xz
/gtk+-3.9.16.tar.xz
/gtk+-3.10.0.tar.xz
/gtk+-3.11.0.tar.xz
/gtk+-3.11.2.tar.xz
/gtk+-3.11.4.tar.xz
/gtk+-3.11.5.tar.xz
/gtk+-3.11.6.tar.xz
/gtk+-3.11.7.tar.xz
/gtk+-3.11.8.tar.xz
/gtk+-3.11.9.tar.xz
/gtk+-3.12.0.tar.xz
/gtk+-3.12.1.tar.xz
/gtk+-3.13.1.tar.xz
/gtk+-3.13.2.tar.xz
/gtk+-3.13.3.tar.xz
/reftests-dark.test.in
/reftests-hc.test.in
/gtk+-3.13.4.tar.xz
/gtk+-3.13.5.tar.xz
/gtk+-3.13.6.tar.xz
/gtk+-3.13.7.tar.xz
/gtk+-3.13.7-5ad60ca.tar.xz
/gtk+-3.13.8.tar.xz
/gtk+-3.13.9.tar.xz
/gtk+-3.14.0.tar.xz
/gtk+-3.14.1.tar.xz
/gtk+-3.14.2.tar.xz
/gtk+-3.14.3.tar.xz
/gtk+-3.14.4.tar.xz
/gtk+-3.15.1.tar.xz
/gtk+-3.15.2.tar.xz
/gtk+-3.15.3.tar.xz
/gtk+-3.15.4.tar.xz
/gtk+-3.15.5.tar.xz
/gtk+-3.15.6.tar.xz
/gtk+-3.15.7.tar.xz
/gtk+-3.15.8.tar.xz
/gtk+-3.15.9.tar.xz
/gtk+-3.15.10.tar.xz
/gtk+-3.15.11.tar.xz
/gtk+-3.15.12.tar.xz
/gtk+-3.16.0.tar.xz
/gtk+-3.16.1.tar.xz
/gtk+-3.16.2.tar.xz
/gtk+-3.17.1.tar.xz
/gtk+-3.17.3.tar.xz
/gtk+-3.17.4.tar.xz
/gtk+-3.17.5.tar.xz
/gtk+-3.17.6.tar.xz
/gtk+-3.17.7.tar.xz
/gtk+-3.17.8.tar.xz
/gtk+-3.17.9.tar.xz
/gtk+-3.18.0.tar.xz
/gtk+-3.18.1.tar.xz
/gtk+-3.18.2.tar.xz
/gtk+-3.19.1.tar.xz
/gtk+-3.19.2.tar.xz
/gtk+-3.19.3.tar.xz
/gtk+-3.19.4.tar.xz
/gtk+-3.19.5.tar.xz
/gtk+-3.19.6.tar.xz
/gtk+-3.19.7.tar.xz
/gtk+-3.19.8.tar.xz
/gtk+-3.19.9.tar.xz
/gtk+-3.19.10.tar.xz
/gtk+-3.19.11.tar.xz
/gtk+-3.19.12.tar.xz
/gtk+-3.20.0.tar.xz
/gtk+-3.20.1.tar.xz
/gtk+-3.20.2.tar.xz
/gtk+-3.20.3.tar.xz
/gtk+-3.21.1.tar.xz
/gtk+-3.21.3.tar.xz
/gtk+-3.21.4.tar.xz
/gtk+-3.21.5.tar.xz
/gtk+-3.21.6.tar.xz
/gtk+-3.22.0.tar.xz
/gtk+-3.22.1.tar.xz
/gtk+-3.22.2.tar.xz
/gtk+-3.22.3.tar.xz
/gtk+-3.22.4.tar.xz
/gtk+-3.22.5.tar.xz
/gtk+-3.22.6.tar.xz
/gtk+-3.22.7.tar.xz
/gtk+-3.22.8.tar.xz
/gtk+-3.22.9.tar.xz
/gtk+-3.22.10.tar.xz
/gtk+-3.22.11.tar.xz
/gtk+-3.22.12.tar.xz
/gtk+-3.22.13.tar.xz
/gtk+-3.22.14.tar.xz
/gtk+-3.22.15.tar.xz
/gtk+-3.22.16.tar.xz
/gtk+-3.22.17.tar.xz
/gtk+-3.22.18.tar.xz
/gtk+-3.22.19.tar.xz
/gtk+-3.22.20.tar.xz
/gtk+-3.22.21.tar.xz
/gtk+-3.22.24.tar.xz
/gtk+-3.22.25.tar.xz
/gtk+-3.22.26.tar.xz
/gtk+-3.22.28.tar.xz
/gtk+-3.22.29.tar.xz
/gtk+-3.22.30.tar.xz
/gtk+-3.23.2.tar.xz
/gtk+-3.24.0.tar.xz
/gtk+-3.24.1.tar.xz
/gtk+-3.24.3.tar.xz
/gtk+-3.24.4.tar.xz
/gtk+-3.24.5.tar.xz
/gtk+-3.24.6.tar.xz
/gtk+-3.24.7.tar.xz
/gtk+-3.24.8.tar.xz
/gtk+-3.24.9.tar.xz
/gtk+-3.24.10.tar.xz
/gtk+-3.24.11.tar.xz
/gtk+-3.24.12.tar.xz
/gtk+-3.24.13.tar.xz
/gtk+-3.24.14.tar.xz
/gtk+-3.24.16.tar.xz
/gtk+-3.24.17.tar.xz
/gtk+-3.24.18.tar.xz
/gtk+-3.24.20.tar.xz
/gtk+-3.24.21.tar.xz
/gtk+-3.24.22.tar.xz
/gtk+-3.24.23.tar.xz
/gtk+-3.24.24.tar.xz
/gtk+-3.24.25.tar.xz
/gtk+-3.24.26.tar.xz
/gtk+-3.24.27.tar.xz
/gtk+-3.24.28.tar.xz
/gtk+-3.24.29.tar.xz
/gtk+-3.24.30.tar.xz
/gtk+-3.24.31.tar.xz
/gtk+-3.24.32.tar.xz
/gtk+-3.24.33.tar.xz
/gtk+-3.24.34.tar.xz
/gtk+-3.24.35.tar.xz
/gtk+-3.24.36.tar.xz
/gtk+-3.24.37.tar.xz
/gtk+-3.24.38.tar.xz
/gtk+-3.24.39.tar.xz
/gtk+-3.24.40.tar.xz
/gtk+-3.24.41.tar.xz
/gtk+-3.24.42.tar.xz
/gtk+-3.24.43.tar.xz
SOURCES/gtk+-3.22.30.tar.xz

1
.gtk3.metadata Normal file
View File

@ -0,0 +1 @@
1be769c97b4dac9221d63f62f61ef724c55a14a3 SOURCES/gtk+-3.22.30.tar.xz

View File

@ -0,0 +1,79 @@
From 044383fe4533c59a0bbd58c977ed2ba5fb5862b8 Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Fri, 31 May 2019 11:46:19 -0400
Subject: [PATCH 1/2] Add a gtk-overlay-scrolling setting
This is in preparation for letting user opt out of
overlay scrolling in the control-center.
---
gdk/wayland/gdkscreen-wayland.c | 2 +-
gdk/x11/gdksettings.c | 1 +
gtk/gtksettings.c | 21 ++++++++++++++++++++-
3 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/gdk/wayland/gdkscreen-wayland.c b/gdk/wayland/gdkscreen-wayland.c
index 6aff3a5a1a..5e156072f2 100644
--- a/gdk/wayland/gdkscreen-wayland.c
+++ b/gdk/wayland/gdkscreen-wayland.c
@@ -502,6 +502,7 @@ static TranslationEntry translations[] = {
{ FALSE, "org.gnome.desktop.interface", "gtk-im-module", "gtk-im-module", G_TYPE_STRING, { .s = "simple" } },
{ FALSE, "org.gnome.desktop.interface", "enable-animations", "gtk-enable-animations", G_TYPE_BOOLEAN, { .b = TRUE } },
{ FALSE, "org.gnome.desktop.interface", "gtk-enable-primary-paste", "gtk-enable-primary-paste", G_TYPE_BOOLEAN, { .b = TRUE } },
+ { FALSE, "org.gnome.desktop.interface", "overlay-scrolling", "gtk-overlay-scrolling", G_TYPE_BOOLEAN, { .b = TRUE } },
{ FALSE, "org.gnome.settings-daemon.peripherals.mouse", "double-click", "gtk-double-click-time", G_TYPE_INT, { .i = 400 } },
{ FALSE, "org.gnome.settings-daemon.peripherals.mouse", "drag-threshold", "gtk-dnd-drag-threshold", G_TYPE_INT, {.i = 8 } },
{ FALSE, "org.gnome.desktop.sound", "theme-name", "gtk-sound-theme-name", G_TYPE_STRING, { .s = "freedesktop" } },
diff --git a/gdk/x11/gdksettings.c b/gdk/x11/gdksettings.c
index f8bb6d896b..869c239b18 100644
--- a/gdk/x11/gdksettings.c
+++ b/gdk/x11/gdksettings.c
@@ -69,6 +69,7 @@ static const struct {
{"Gtk/RecentFilesMaxAge", "gtk-recent-files-max-age"},
{"Gtk/RecentFilesEnabled", "gtk-recent-files-enabled"},
{"Gtk/KeynavUseCaret", "gtk-keynav-use-caret"},
+ {"Gtk/OverlayScrolling", "gtk-overlay-scrolling"},
/* These are here in order to be recognized, but are not sent to
gtk as they are handled internally by gdk: */
diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c
index 571ae11cd4..b83d9d5561 100644
--- a/gtk/gtksettings.c
+++ b/gtk/gtksettings.c
@@ -224,7 +224,8 @@ enum {
PROP_ENABLE_PRIMARY_PASTE,
PROP_RECENT_FILES_ENABLED,
PROP_LONG_PRESS_TIME,
- PROP_KEYNAV_USE_CARET
+ PROP_KEYNAV_USE_CARET,
+ PROP_OVERLAY_SCROLLING
};
/* --- prototypes --- */
@@ -1767,6 +1768,24 @@ gtk_settings_class_init (GtkSettingsClass *class)
GTK_PARAM_READWRITE),
NULL);
g_assert (result == PROP_KEYNAV_USE_CARET);
+
+ /**
+ * GtkSettings:gtk-overlay-scrolling:
+ *
+ * Whether scrolled windows may use overlayed scrolling indicators.
+ * If this is set to %FALSE, scrolled windows will have permanent
+ * scrollbars.
+ *
+ * Since: 3.24.9
+ */
+ result = settings_install_property_parser (class,
+ g_param_spec_boolean ("gtk-overlay-scrolling",
+ P_("Whether to use overlay scrollbars"),
+ P_("Whether to use overlay scrollbars"),
+ TRUE,
+ GTK_PARAM_READWRITE),
+ NULL);
+ g_assert (result == PROP_OVERLAY_SCROLLING);
}
static void
--
2.23.0

View File

@ -0,0 +1,29 @@
From abcc4773173ed8becb822971edad3f8d14a7a482 Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Mon, 21 May 2018 17:15:41 -0400
Subject: [PATCH] Remove the "without parent" warning
We've had it for a long time, and it hasn't really made
a difference. And I don't think we are prepared to turn
this into a hard error. So just drop it.
---
gtk/gtkdialog.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/gtk/gtkdialog.c b/gtk/gtkdialog.c
index 273c370935..0ef0f08b24 100644
--- a/gtk/gtkdialog.c
+++ b/gtk/gtkdialog.c
@@ -776,9 +776,6 @@ gtk_dialog_map (GtkWidget *widget)
GtkWindow *window = GTK_WINDOW (widget);
GtkDialog *dialog = GTK_DIALOG (widget);
- if (gtk_window_get_transient_for (window) == NULL)
- g_message ("GtkDialog mapped without a transient parent. This is discouraged.");
-
GTK_WIDGET_CLASS (gtk_dialog_parent_class)->map (widget);
focus = gtk_window_get_focus (window);
--
2.37.0

View File

@ -0,0 +1,35 @@
From 3bbf0b6176d42836d23c36a6ac410e807ec0a7a7 Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Sat, 15 Jun 2024 14:18:01 -0400
Subject: [PATCH] Stop looking for modules in cwd
This is just not a good idea. It is surprising, and can be misused.
Fixes: #6786
---
gtk/gtkmodules.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
diff --git a/gtk/gtkmodules.c b/gtk/gtkmodules.c
index 704e412aeb..f93101c272 100644
--- a/gtk/gtkmodules.c
+++ b/gtk/gtkmodules.c
@@ -214,13 +214,8 @@ find_module (const gchar *name)
gchar *module_name;
module_name = _gtk_find_module (name, "modules");
- if (!module_name)
- {
- /* As last resort, try loading without an absolute path (using system
- * library path)
- */
- module_name = g_module_build_path (NULL, name);
- }
+ if (module_name == NULL)
+ return NULL;
module = g_module_open (module_name, G_MODULE_BIND_LOCAL | G_MODULE_BIND_LAZY);
--
2.45.2

View File

@ -0,0 +1,41 @@
From 6b91ab848b86aa7968bb421f2f3f30b1c8ad6ba2 Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
Date: Mon, 10 Dec 2018 17:05:53 +0100
Subject: [PATCH] a11y: Check X11 display at runtime
`gtk_widget_accessible_grab_focus()` code checks that X11 isenabled at
build time and uses X11 specific functions such as
`gdk_x11_get_server_time()` regardless of the actual backend being used.
Check that we are using an X11 display when X11 is backend enabled, so
we do not crash when running on Wayland
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1507
---
gtk/a11y/gtkwidgetaccessible.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/gtk/a11y/gtkwidgetaccessible.c b/gtk/a11y/gtkwidgetaccessible.c
index 2154e88239..b1b866c39c 100644
--- a/gtk/a11y/gtkwidgetaccessible.c
+++ b/gtk/a11y/gtkwidgetaccessible.c
@@ -648,11 +648,12 @@ gtk_widget_accessible_grab_focus (AtkComponent *component)
if (gtk_widget_is_toplevel (toplevel))
{
#ifdef GDK_WINDOWING_X11
- gtk_window_present_with_time (GTK_WINDOW (toplevel),
- gdk_x11_get_server_time (gtk_widget_get_window (widget)));
-#else
- gtk_window_present (GTK_WINDOW (toplevel));
+ if (GDK_IS_X11_DISPLAY (gtk_widget_get_display (toplevel)))
+ gtk_window_present_with_time (GTK_WINDOW (toplevel),
+ gdk_x11_get_server_time (gtk_widget_get_window (widget)));
+ else
#endif
+ gtk_window_present (GTK_WINDOW (toplevel));
}
return TRUE;
}
--
2.19.2

View File

@ -0,0 +1,40 @@
From e91197a37f6841ada71204cd41f7d0459adffd9a Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
Date: Mon, 17 Dec 2018 14:13:05 +0100
Subject: [PATCH] a11y: Check display in `*grab_cell_focus()`
Calling the accessibility function `grab_focus()` on a `GtkCell` under
Wayland will cause the client to crash.
This is another case of `gdk_x11_get_server_time()` being called
regardless of the actual windowing backend used.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1507
---
gtk/a11y/gtktreeviewaccessible.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/gtk/a11y/gtktreeviewaccessible.c b/gtk/a11y/gtktreeviewaccessible.c
index efb9c9bc53..eec4480f29 100644
--- a/gtk/a11y/gtktreeviewaccessible.c
+++ b/gtk/a11y/gtktreeviewaccessible.c
@@ -1174,11 +1174,12 @@ gtk_tree_view_accessible_grab_cell_focus (GtkCellAccessibleParent *parent,
if (gtk_widget_is_toplevel (toplevel))
{
#ifdef GDK_WINDOWING_X11
- gtk_window_present_with_time (GTK_WINDOW (toplevel),
- gdk_x11_get_server_time (gtk_widget_get_window (widget)));
-#else
- gtk_window_present (GTK_WINDOW (toplevel));
+ if (GDK_IS_X11_DISPLAY (gtk_widget_get_display (toplevel)))
+ gtk_window_present_with_time (GTK_WINDOW (toplevel),
+ gdk_x11_get_server_time (gtk_widget_get_window (widget)));
+ else
#endif
+ gtk_window_present (GTK_WINDOW (toplevel));
}
return TRUE;
--
2.20.1

View File

@ -0,0 +1,290 @@
From bc1c0584b76e19d5d65bfa2ae809f95113e53c83 Mon Sep 17 00:00:00 2001
From: Benjamin Otte <otte@redhat.com>
Date: Sun, 21 Jul 2019 23:15:00 +0200
Subject: [PATCH] a11y: Include window management buttons in headerbar
---
gtk/a11y/Makefile.inc | 2 +
gtk/a11y/gtkheaderbaraccessible.c | 87 +++++++++++++++++++++++++++++++
gtk/a11y/gtkheaderbaraccessible.h | 55 +++++++++++++++++++
gtk/gtkcontainerprivate.h | 1 +
gtk/gtkheaderbar.c | 3 +-
6 files changed, 149 insertions(+), 1 deletion(-)
create mode 100644 gtk/a11y/gtkheaderbaraccessible.c
create mode 100644 gtk/a11y/gtkheaderbaraccessible.h
diff --git a/gtk/a11y/Makefile.inc b/gtk/a11y/Makefile.inc
index 8529c7ae57..3ed6c5decd 100644
--- a/gtk/a11y/Makefile.inc
+++ b/gtk/a11y/Makefile.inc
@@ -14,6 +14,7 @@ a11y_h_sources = \
a11y/gtkflowboxaccessible.h \
a11y/gtkflowboxchildaccessible.h \
a11y/gtkframeaccessible.h \
+ a11y/gtkheaderbaraccessible.h \
a11y/gtkiconviewaccessible.h \
a11y/gtkimageaccessible.h \
a11y/gtkimagecellaccessible.h \
@@ -88,6 +89,7 @@ a11y_c_sources = \
a11y/gtkflowboxaccessible.c \
a11y/gtkflowboxchildaccessible.c \
a11y/gtkframeaccessible.c \
+ a11y/gtkheaderbaraccessible.c \
a11y/gtkiconviewaccessible.c \
a11y/gtkimageaccessible.c \
a11y/gtkimagecellaccessible.c \
--- a/gtk/Makefile.in
+++ b/gtk/Makefile.in
@@ -281,6 +281,7 @@
a11y/gtkcontainercellaccessible.c a11y/gtkentryaccessible.c \
a11y/gtkexpanderaccessible.c a11y/gtkflowboxaccessible.c \
a11y/gtkflowboxchildaccessible.c a11y/gtkframeaccessible.c \
+ a11y/gtkheaderbaraccessible.c \
a11y/gtkiconviewaccessible.c a11y/gtkimageaccessible.c \
a11y/gtkimagecellaccessible.c a11y/gtklabelaccessible.c \
a11y/gtklevelbaraccessible.c a11y/gtklinkbuttonaccessible.c \
@@ -487,6 +488,7 @@
a11y/libgtk_3_la-gtkflowboxaccessible.lo \
a11y/libgtk_3_la-gtkflowboxchildaccessible.lo \
a11y/libgtk_3_la-gtkframeaccessible.lo \
+ a11y/libgtk_3_la-gtkheaderbaraccessible.lo \
a11y/libgtk_3_la-gtkiconviewaccessible.lo \
a11y/libgtk_3_la-gtkimageaccessible.lo \
a11y/libgtk_3_la-gtkimagecellaccessible.lo \
@@ -1389,6 +1391,7 @@
a11y/gtkflowboxaccessible.h \
a11y/gtkflowboxchildaccessible.h \
a11y/gtkframeaccessible.h \
+ a11y/gtkheaderbaraccessible.h \
a11y/gtkiconviewaccessible.h \
a11y/gtkimageaccessible.h \
a11y/gtkimagecellaccessible.h \
@@ -1463,6 +1466,7 @@
a11y/gtkflowboxaccessible.c \
a11y/gtkflowboxchildaccessible.c \
a11y/gtkframeaccessible.c \
+ a11y/gtkheaderbaraccessible.c \
a11y/gtkiconviewaccessible.c \
a11y/gtkimageaccessible.c \
a11y/gtkimagecellaccessible.c \
@@ -2702,6 +2706,8 @@
a11y/$(DEPDIR)/$(am__dirstamp)
a11y/libgtk_3_la-gtkframeaccessible.lo: a11y/$(am__dirstamp) \
a11y/$(DEPDIR)/$(am__dirstamp)
+a11y/libgtk_3_la-gtkheaderbaraccessible.lo: a11y/$(am__dirstamp) \
+ a11y/$(DEPDIR)/$(am__dirstamp)
a11y/libgtk_3_la-gtkiconviewaccessible.lo: a11y/$(am__dirstamp) \
a11y/$(DEPDIR)/$(am__dirstamp)
a11y/libgtk_3_la-gtkimageaccessible.lo: a11y/$(am__dirstamp) \
@@ -3447,6 +3453,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@a11y/$(DEPDIR)/libgtk_3_la-gtkflowboxaccessible.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@a11y/$(DEPDIR)/libgtk_3_la-gtkflowboxchildaccessible.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@a11y/$(DEPDIR)/libgtk_3_la-gtkframeaccessible.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@a11y/$(DEPDIR)/libgtk_3_la-gtkheaderbaraccessible.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@a11y/$(DEPDIR)/libgtk_3_la-gtkiconviewaccessible.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@a11y/$(DEPDIR)/libgtk_3_la-gtkimageaccessible.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@a11y/$(DEPDIR)/libgtk_3_la-gtkimagecellaccessible.Plo@am__quote@
@@ -3705,6 +3712,13 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgtk_3_la_CFLAGS) $(CFLAGS) -c -o a11y/libgtk_3_la-gtkframeaccessible.lo `test -f 'a11y/gtkframeaccessible.c' || echo '$(srcdir)/'`a11y/gtkframeaccessible.c
+a11y/libgtk_3_la-gtkheaderbaraccessible.lo: a11y/gtkheaderbaraccessible.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgtk_3_la_CFLAGS) $(CFLAGS) -MT a11y/libgtk_3_la-gtkheaderbaraccessible.lo -MD -MP -MF a11y/$(DEPDIR)/libgtk_3_la-gtkheaderbaraccessible.Tpo -c -o a11y/libgtk_3_la-gtkheaderbaraccessible.lo `test -f 'a11y/gtkheaderbaraccessible.c' || echo '$(srcdir)/'`a11y/gtkheaderbaraccessible.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) a11y/$(DEPDIR)/libgtk_3_la-gtkheaderbaraccessible.Tpo a11y/$(DEPDIR)/libgtk_3_la-gtkheaderbaraccessible.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='a11y/gtkheaderbaraccessible.c' object='a11y/libgtk_3_la-gtkheaderbaraccessible.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgtk_3_la_CFLAGS) $(CFLAGS) -c -o a11y/libgtk_3_la-gtkheaderbaraccessible.lo `test -f 'a11y/gtkheaderbaraccessible.c' || echo '$(srcdir)/'`a11y/gtkheaderbaraccessible.c
+
a11y/libgtk_3_la-gtkiconviewaccessible.lo: a11y/gtkiconviewaccessible.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgtk_3_la_CFLAGS) $(CFLAGS) -MT a11y/libgtk_3_la-gtkiconviewaccessible.lo -MD -MP -MF a11y/$(DEPDIR)/libgtk_3_la-gtkiconviewaccessible.Tpo -c -o a11y/libgtk_3_la-gtkiconviewaccessible.lo `test -f 'a11y/gtkiconviewaccessible.c' || echo '$(srcdir)/'`a11y/gtkiconviewaccessible.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) a11y/$(DEPDIR)/libgtk_3_la-gtkiconviewaccessible.Tpo a11y/$(DEPDIR)/libgtk_3_la-gtkiconviewaccessible.Plo
diff --git a/gtk/a11y/gtkheaderbaraccessible.c b/gtk/a11y/gtkheaderbaraccessible.c
new file mode 100644
index 0000000000..3610ac0d1f
--- /dev/null
+++ b/gtk/a11y/gtkheaderbaraccessible.c
@@ -0,0 +1,87 @@
+/* GTK+ - accessibility implementations
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "config.h"
+
+#include "gtkheaderbaraccessible.h"
+
+#include "gtkcontainerprivate.h"
+
+G_DEFINE_TYPE (GtkHeaderBarAccessible, gtk_header_bar_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE)
+
+static void
+count_widget (GtkWidget *widget,
+ gint *count)
+{
+ (*count)++;
+}
+
+static gint
+gtk_header_bar_accessible_get_n_children (AtkObject* obj)
+{
+ GtkWidget *widget;
+ gint count = 0;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return 0;
+
+ gtk_container_forall (GTK_CONTAINER (widget), (GtkCallback) count_widget, &count);
+ return count;
+}
+
+static AtkObject *
+gtk_header_bar_accessible_ref_child (AtkObject *obj,
+ gint i)
+{
+ GList *children, *tmp_list;
+ AtkObject *accessible;
+ GtkWidget *widget;
+
+ widget = gtk_accessible_get_widget (GTK_ACCESSIBLE (obj));
+ if (widget == NULL)
+ return NULL;
+
+ children = gtk_container_get_all_children (GTK_CONTAINER (widget));
+ tmp_list = g_list_nth (children, i);
+ if (!tmp_list)
+ {
+ g_list_free (children);
+ return NULL;
+ }
+ accessible = gtk_widget_get_accessible (GTK_WIDGET (tmp_list->data));
+
+ g_list_free (children);
+ g_object_ref (accessible);
+
+ return accessible;
+}
+
+static void
+gtk_header_bar_accessible_class_init (GtkHeaderBarAccessibleClass *klass)
+{
+ AtkObjectClass *class = ATK_OBJECT_CLASS (klass);
+
+ class->get_n_children = gtk_header_bar_accessible_get_n_children;
+ class->ref_child = gtk_header_bar_accessible_ref_child;
+}
+
+static void
+gtk_header_bar_accessible_init (GtkHeaderBarAccessible *header_bar)
+{
+}
+
diff --git a/gtk/a11y/gtkheaderbaraccessible.h b/gtk/a11y/gtkheaderbaraccessible.h
new file mode 100644
index 0000000000..fca9428a94
--- /dev/null
+++ b/gtk/a11y/gtkheaderbaraccessible.h
@@ -0,0 +1,55 @@
+/* GTK+ - accessibility implementations
+ * Copyright 2001, 2002, 2003 Sun Microsystems Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __GTK_HEADER_BAR_ACCESSIBLE_H__
+#define __GTK_HEADER_BAR_ACCESSIBLE_H__
+
+#if !defined (__GTK_A11Y_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk-a11y.h> can be included directly."
+#endif
+
+#include <gtk/a11y/gtkcontaineraccessible.h>
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_HEADER_BAR_ACCESSIBLE (gtk_header_bar_accessible_get_type ())
+#define GTK_HEADER_BAR_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_HEADER_BAR_ACCESSIBLE, GtkHeaderBarAccessible))
+#define GTK_HEADER_BAR_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_HEADER_BAR_ACCESSIBLE, GtkHeaderBarAccessibleClass))
+#define GTK_IS_HEADER_BAR_ACCESSIBLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_HEADER_BAR_ACCESSIBLE))
+#define GTK_IS_HEADER_BAR_ACCESSIBLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_HEADER_BAR_ACCESSIBLE))
+#define GTK_HEADER_BAR_ACCESSIBLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_HEADER_BAR_ACCESSIBLE, GtkHeaderBarAccessibleClass))
+
+typedef struct _GtkHeaderBarAccessible GtkHeaderBarAccessible;
+typedef struct _GtkHeaderBarAccessibleClass GtkHeaderBarAccessibleClass;
+typedef struct _GtkHeaderBarAccessiblePrivate GtkHeaderBarAccessiblePrivate;
+
+struct _GtkHeaderBarAccessible
+{
+ GtkContainerAccessible parent;
+};
+
+struct _GtkHeaderBarAccessibleClass
+{
+ GtkContainerAccessibleClass parent_class;
+};
+
+GDK_AVAILABLE_IN_ALL
+GType gtk_header_bar_accessible_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GTK_HEADER_BAR_ACCESSIBLE_H__ */
diff --git a/gtk/gtkcontainerprivate.h b/gtk/gtkcontainerprivate.h
index 7402a6676b..547e0295c3 100644
--- a/gtk/gtkcontainerprivate.h
+++ b/gtk/gtkcontainerprivate.h
@@ -42,6 +42,7 @@ void _gtk_container_maybe_start_idle_sizer (GtkContainer *container);
gboolean _gtk_container_get_border_width_set (GtkContainer *container);
void _gtk_container_set_border_width_set (GtkContainer *container,
gboolean border_width_set);
+GList * gtk_container_get_all_children (GtkContainer *container);
void gtk_container_get_children_clip (GtkContainer *container,
GtkAllocation *out_clip);
void gtk_container_set_default_resize_mode (GtkContainer *container,
diff --git a/gtk/gtkheaderbar.c b/gtk/gtkheaderbar.c
index dd7d2093c9..0ef94e3c84 100644
--- a/gtk/gtkheaderbar.c
+++ b/gtk/gtkheaderbar.c
@@ -30,7 +30,7 @@
#include "gtkwindowprivate.h"
#include "gtkwidgetprivate.h"
#include "gtkcontainerprivate.h"
-#include "a11y/gtkcontaineraccessible.h"
+#include "a11y/gtkheaderbaraccessible.h"
#include <string.h>
@@ -2118,6 +2118,7 @@ gtk_header_bar_class_init (GtkHeaderBarClass *class)
g_object_class_install_properties (object_class, LAST_PROP, header_bar_props);
+ gtk_widget_class_set_accessible_type (widget_class, GTK_TYPE_HEADER_BAR_ACCESSIBLE);
gtk_widget_class_set_accessible_role (widget_class, ATK_ROLE_PANEL);
gtk_widget_class_set_css_name (widget_class, "headerbar");
}
--
2.21.0

View File

@ -0,0 +1,41 @@
From 12a00f024c16a4540d5f457389fada2a4886d884 Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Tue, 25 May 2021 16:07:58 -0400
Subject: [PATCH] entry: Only offer Emoji if requested
Only offer the "Insert Emoji" context menu when input
hints explicitly suggest supporting Emoji.
---
gtk/gtkentry.c | 2 +-
gtk/gtktextview.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index a01684101f..1f5a790ccc 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -9591,7 +9591,7 @@ popup_targets_received (GtkClipboard *clipboard,
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
if (info_entry_priv->show_emoji_icon ||
- (gtk_entry_get_input_hints (entry) & GTK_INPUT_HINT_NO_EMOJI) == 0)
+ (gtk_entry_get_input_hints (entry) & GTK_INPUT_HINT_EMOJI) != 0)
{
menuitem = gtk_menu_item_new_with_mnemonic (_("Insert _Emoji"));
gtk_widget_set_sensitive (menuitem,
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index e0b1e20e87..eb53843fa6 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -9521,7 +9521,7 @@ popup_targets_received (GtkClipboard *clipboard,
gtk_widget_show (menuitem);
gtk_menu_shell_append (GTK_MENU_SHELL (priv->popup_menu), menuitem);
- if ((gtk_text_view_get_input_hints (text_view) & GTK_INPUT_HINT_NO_EMOJI) == 0)
+ if ((gtk_text_view_get_input_hints (text_view) & GTK_INPUT_HINT_EMOJI) != 0)
{
menuitem = gtk_menu_item_new_with_mnemonic (_("Insert _Emoji"));
gtk_widget_set_sensitive (menuitem, can_insert);
--
2.31.1

View File

@ -0,0 +1,72 @@
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c
index 19090772201388c31bffba9f56db0e6e707f6093..a931d2bad5094aec76fc91c57792034357ed94d1 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -1900,10 +1900,19 @@ gtk_scrolled_window_measure (GtkCssGadget *gadget,
*/
if (policy_may_be_visible (priv->hscrollbar_policy))
{
- minimum_req.width = MAX (minimum_req.width, hscrollbar_requisition.width + sborder.left + sborder.right);
- natural_req.width = MAX (natural_req.width, hscrollbar_requisition.width + sborder.left + sborder.right);
+ int vscrollbar_extra_size;
- if (!priv->use_indicators && priv->hscrollbar_policy == GTK_POLICY_ALWAYS)
+ if (!priv->use_indicators && policy_may_be_visible (priv->vscrollbar_policy))
+ vscrollbar_extra_size = vscrollbar_requisition.width;
+ else
+ vscrollbar_extra_size = 0;
+
+ minimum_req.width = MAX (minimum_req.width,
+ hscrollbar_requisition.width + sborder.left + sborder.right + vscrollbar_extra_size);
+ natural_req.width = MAX (natural_req.width,
+ hscrollbar_requisition.width + sborder.left + sborder.right + vscrollbar_extra_size);
+
+ if (!priv->use_indicators)
{
minimum_req.height += scrollbar_spacing + hscrollbar_requisition.height;
natural_req.height += scrollbar_spacing + hscrollbar_requisition.height;
@@ -1912,10 +1921,19 @@ gtk_scrolled_window_measure (GtkCssGadget *gadget,
if (policy_may_be_visible (priv->vscrollbar_policy))
{
- minimum_req.height = MAX (minimum_req.height, vscrollbar_requisition.height + sborder.top + sborder.bottom);
- natural_req.height = MAX (natural_req.height, vscrollbar_requisition.height + sborder.top + sborder.bottom);
+ int hscrollbar_extra_size;
+
+ if (!priv->use_indicators && policy_may_be_visible (priv->hscrollbar_policy))
+ hscrollbar_extra_size = hscrollbar_requisition.height;
+ else
+ hscrollbar_extra_size = 0;
+
+ minimum_req.height = MAX (minimum_req.height,
+ vscrollbar_requisition.height + sborder.top + sborder.bottom + hscrollbar_extra_size);
+ natural_req.height = MAX (natural_req.height,
+ vscrollbar_requisition.height + sborder.top + sborder.bottom + hscrollbar_extra_size);
- if (!priv->use_indicators && priv->vscrollbar_policy == GTK_POLICY_ALWAYS)
+ if (!priv->use_indicators)
{
minimum_req.width += scrollbar_spacing + vscrollbar_requisition.width;
natural_req.width += scrollbar_spacing + vscrollbar_requisition.width;
diff --git a/testsuite/gtk/scrolledwindow.c b/testsuite/gtk/scrolledwindow.c
index c6093d8256e52071e00885d266d92b5bb7e664f7..e141fe35baa628592114e6cceebe8863b7b078dd 100644
--- a/testsuite/gtk/scrolledwindow.c
+++ b/testsuite/gtk/scrolledwindow.c
@@ -58,7 +58,7 @@ test_size (gboolean overlay,
/* If the relevant scrollbar is non-overlay and always shown, it is added
* to the preferred size. When comparing to the expected size, we need to
* to exclude that extra, as we are only interested in the content size */
- if (!overlay && policy == GTK_POLICY_ALWAYS)
+ if (!overlay)
{
GtkWidget *scrollbar = gtk_scrolled_window_get_vscrollbar (GTK_SCROLLED_WINDOW (scrolledwindow));
gtk_widget_get_preferred_width (scrollbar, &scrollbar_size, NULL);
@@ -87,7 +87,7 @@ test_size (gboolean overlay,
gtk_widget_get_preferred_height (box, &child_size, NULL);
}
- if (!overlay && policy == GTK_POLICY_ALWAYS)
+ if (!overlay)
{
GtkWidget *scrollbar = gtk_scrolled_window_get_hscrollbar (GTK_SCROLLED_WINDOW (scrolledwindow));
gtk_widget_get_preferred_height (scrollbar, &scrollbar_size, NULL);

View File

@ -0,0 +1,49 @@
From 8ce68a519414df141e3de7432ab4d55564e933a0 Mon Sep 17 00:00:00 2001
From: Philip Withnall <withnall@endlessm.com>
Date: Fri, 4 Oct 2019 18:25:34 +0100
Subject: [PATCH] =?UTF-8?q?gtklistbox:=20Only=20unparent=20header=20rows?=
=?UTF-8?q?=20if=20they=20haven=E2=80=99t=20been=20reused?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Its possible for code which uses a `GtkListBox` to reuse a single
header row, and move it around between rows. For example, this might
happen if the code has interactive widgets (like buttons) in the row,
and doesnt want to continually recreate them and reattach signals to
them whenever the row headers change.
Unfortunately, this was broken, as the old header widget was
unconditionally unparented, even if it had just been set as the header
for a different row in the same `GtkListBox`. This left it assigned as
a child widget in the `GtkListBox` (so it was iterated over by
`forall`), but without its parent widget set.
Fix that by only unparenting the header if it hasnt already been
assigned as the parent of a different row.
Signed-off-by: Philip Withnall <withnall@endlessm.com>
---
gtk/gtklistbox.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/gtk/gtklistbox.c b/gtk/gtklistbox.c
index 36f9ec5246..db3ec5cbb8 100644
--- a/gtk/gtklistbox.c
+++ b/gtk/gtklistbox.c
@@ -2426,8 +2426,11 @@ gtk_list_box_update_header (GtkListBox *box,
priv->update_header_func_target);
if (old_header != ROW_PRIV (row)->header)
{
- if (old_header != NULL)
+ if (old_header != NULL &&
+ g_hash_table_lookup (priv->header_hash, old_header) == row)
{
+ /* Only unparent the @old_header if it hasnt been re-used as the
+ * header for a different row. */
gtk_widget_unparent (old_header);
g_hash_table_remove (priv->header_hash, old_header);
}
--
2.18.2

View File

@ -0,0 +1,70 @@
From b541ad48d1c7060e2d38205d4874675e27578b9b Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Mon, 19 Jul 2021 13:10:31 -0400
Subject: [PATCH] reftests: Enforce default settings
Set all settings to their default values, so we
are less dependent on the environment to be set
up just right. In particular, this fixes animations
being disabled when we happen to run in a vm.
---
testsuite/reftests/gtk-reftest.c | 36 ++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/testsuite/reftests/gtk-reftest.c b/testsuite/reftests/gtk-reftest.c
index 585e1c393d..1a51a9756b 100644
--- a/testsuite/reftests/gtk-reftest.c
+++ b/testsuite/reftests/gtk-reftest.c
@@ -368,6 +368,40 @@ add_test_for_file (GFile *file)
g_list_free_full (files, g_object_unref);
}
+static void
+enforce_default_settings (void)
+{
+ GtkSettings *settings;
+ GTypeClass *klass;
+ GParamSpec **pspecs;
+ guint n_pspecs;
+ int i;
+
+ settings = gtk_settings_get_default ();
+
+ klass = g_type_class_ref (G_OBJECT_TYPE (settings));
+
+ pspecs = g_object_class_list_properties (klass, &n_pspecs);
+ for (i = 0; i < n_pspecs; i++)
+ {
+ GParamSpec *pspec = pspecs[i];
+ const GValue *value;
+
+ if ((pspec->flags & G_PARAM_WRITABLE) == 0)
+ continue;
+
+ if (pspec->value_type == G_TYPE_HASH_TABLE)
+ continue;
+
+ value = g_param_spec_get_default_value (pspec);
+ g_object_set_property (settings, pspec->name, value);
+ }
+
+ g_free (pspecs);
+
+ g_type_class_unref (klass);
+}
+
int
main (int argc, char **argv)
{
@@ -382,6 +416,8 @@ main (int argc, char **argv)
if (!parse_command_line (&argc, &argv))
return 1;
+ enforce_default_settings ();
+
if (arg_base_dir)
basedir = arg_base_dir;
else
--
2.31.1

View File

@ -0,0 +1,50 @@
From 26b24916c8570a73bdc9d7a736584ceb68384c81 Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Fri, 31 May 2019 11:51:20 -0400
Subject: [PATCH 2/2] scrolled window: respect overlay-scrolling setting
If the gtk-overlay-scrolling setting is FALSE,
don't use overlay scrollbars.
---
gtk/gtkscrolledwindow.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c
index d52ccf646c..b2dc1d1c79 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -704,6 +704,9 @@ gtk_scrolled_window_class_init (GtkScrolledWindowClass *class)
* is present. Otherwise, they are overlayed on top of the content,
* as narrow indicators.
*
+ * Note that overlay scrolling can also be globally disabled, with
+ * the #GtkSettings::gtk-overlay-scrolling setting.
+ *
* Since: 3.16
*/
properties[PROP_OVERLAY_SCROLLING] =
@@ -4163,6 +4166,7 @@ gtk_scrolled_window_map (GtkWidget *widget)
GTK_WIDGET_CLASS (gtk_scrolled_window_parent_class)->map (widget);
gtk_scrolled_window_update_animating (scrolled_window);
+ gtk_scrolled_window_update_use_indicators (scrolled_window);
}
static void
@@ -4439,8 +4443,12 @@ gtk_scrolled_window_update_use_indicators (GtkScrolledWindow *scrolled_window)
{
GtkScrolledWindowPrivate *priv = scrolled_window->priv;
gboolean use_indicators;
+ GtkSettings *settings = gtk_widget_get_settings (GTK_WIDGET (scrolled_window));
+ gboolean overlay_scrolling;
+
+ g_object_get (settings, "gtk-overlay-scrolling", &overlay_scrolling, NULL);
- use_indicators = priv->overlay_scrolling;
+ use_indicators = overlay_scrolling && priv->overlay_scrolling;
if (g_strcmp0 (g_getenv ("GTK_OVERLAY_SCROLLING"), "0") == 0)
use_indicators = FALSE;
--
2.23.0

View File

@ -0,0 +1,40 @@
From 4ba89f25b8a88616afc1915bdb4fb87d13efae6f Mon Sep 17 00:00:00 2001
From: Benjamin Otte <otte@redhat.com>
Date: Tue, 15 Jun 2021 19:34:37 +0200
Subject: [PATCH] cellarea: Don't shrink area too much
Do not compute rectangles with negative width/height. This avoids
assertion failures further down when those rectangles were actually
checked.
https://bugzilla.redhat.com/show_bug.cgi?id=1962215
---
gtk/gtkcellarea.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/gtk/gtkcellarea.c b/gtk/gtkcellarea.c
index 575e1c7fde..d1b3b1a279 100644
--- a/gtk/gtkcellarea.c
+++ b/gtk/gtkcellarea.c
@@ -3563,8 +3563,18 @@ gtk_cell_area_inner_cell_area (GtkCellArea *area,
*inner_area = *cell_area;
+ if (border.left + border.right > cell_area->width)
+ {
+ border.left = cell_area->width / 2;
+ border.right = (cell_area->width + 1) / 2;
+ }
inner_area->x += border.left;
inner_area->width -= border.left + border.right;
+ if (border.top + border.bottom > cell_area->height)
+ {
+ border.top = cell_area->height / 2;
+ border.bottom = (cell_area->height + 1) / 2;
+ }
inner_area->y += border.top;
inner_area->height -= border.top + border.bottom;
}
--
GitLab

View File

@ -0,0 +1,91 @@
From d4f62b44d47e3dddfb57add4f1f76cab0297584d Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Fri, 11 Jun 2021 08:53:46 -0400
Subject: [PATCH 1/2] a11y: Fix ref counting in tree views
GtkContainerCellAccessible wasn't unsetting accessible
parents. Fix that.
By itself, this doesn't help for freeing a memory leak,
since AtkObject keeps a ref on its parent, so we never
free the GtkContainerCellAccessible as long as it has children.
---
gtk/a11y/gtkcontainercellaccessible.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/gtk/a11y/gtkcontainercellaccessible.c b/gtk/a11y/gtkcontainercellaccessible.c
index a756e3cadf..a40446fb47 100644
--- a/gtk/a11y/gtkcontainercellaccessible.c
+++ b/gtk/a11y/gtkcontainercellaccessible.c
@@ -30,12 +30,19 @@ struct _GtkContainerCellAccessiblePrivate
G_DEFINE_TYPE_WITH_PRIVATE (GtkContainerCellAccessible, gtk_container_cell_accessible, GTK_TYPE_CELL_ACCESSIBLE)
+static void
+unset_child (gpointer child)
+{
+ atk_object_set_parent (ATK_OBJECT (child), NULL);
+ g_object_unref (child);
+}
+
static void
gtk_container_cell_accessible_finalize (GObject *obj)
{
GtkContainerCellAccessible *container = GTK_CONTAINER_CELL_ACCESSIBLE (obj);
- g_list_free_full (container->priv->children, g_object_unref);
+ g_list_free_full (container->priv->children, unset_child);
G_OBJECT_CLASS (gtk_container_cell_accessible_parent_class)->finalize (obj);
}
@@ -157,6 +164,7 @@ gtk_container_cell_accessible_remove_child (GtkContainerCellAccessible *containe
g_return_if_fail (GTK_IS_CELL_ACCESSIBLE (child));
g_return_if_fail (container->priv->n_children > 0);
+ atk_object_set_parent (ATK_OBJECT (child), NULL);
container->priv->children = g_list_remove (container->priv->children, child);
container->priv->n_children--;
--
GitLab
From 21f8098261486417db371b202bc0494c12017468 Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Fri, 11 Jun 2021 08:55:48 -0400
Subject: [PATCH 2/2] a11y: Plug a memory leak with treeviews
We need to explicitly remove the children from
a GtkContainerCellAccessible, since they otherwise
keep the parent alive.
Fixes: #3981
---
gtk/a11y/gtktreeviewaccessible.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/gtk/a11y/gtktreeviewaccessible.c b/gtk/a11y/gtktreeviewaccessible.c
index adad462064..c1a2097a1e 100644
--- a/gtk/a11y/gtktreeviewaccessible.c
+++ b/gtk/a11y/gtktreeviewaccessible.c
@@ -104,6 +104,17 @@ static void
cell_info_free (GtkTreeViewAccessibleCellInfo *cell_info)
{
gtk_accessible_set_widget (GTK_ACCESSIBLE (cell_info->cell), NULL);
+ if (GTK_IS_CONTAINER_CELL_ACCESSIBLE (cell_info->cell))
+ {
+ GList *children;
+
+ while ((children = gtk_container_cell_accessible_get_children (GTK_CONTAINER_CELL_ACCESSIBLE (cell_info->cell))) != NULL)
+ {
+ GtkCellAccessible *child = children->data;
+ gtk_container_cell_accessible_remove_child (GTK_CONTAINER_CELL_ACCESSIBLE (cell_info->cell), child);
+ }
+ }
+
g_object_unref (cell_info->cell);
g_free (cell_info);
--
GitLab

View File

@ -0,0 +1,27 @@
From cc977be580b9a7c2683810fe36fe485ee8583ec0 Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Fri, 11 Feb 2022 18:39:55 -0500
Subject: [PATCH] Fix a leak of cell accessibles
gtk_container_cell_accessible_add_child is transfer none,
so we need to drop the reference we hold, otherwise it
leaks.
---
gtk/a11y/gtktreeviewaccessible.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/gtk/a11y/gtktreeviewaccessible.c b/gtk/a11y/gtktreeviewaccessible.c
index c1a2097a1e..c2b7e8add0 100644
--- a/gtk/a11y/gtktreeviewaccessible.c
+++ b/gtk/a11y/gtktreeviewaccessible.c
@@ -413,6 +413,7 @@ create_cell_accessible (GtkTreeView *treeview,
{
cell = create_cell_accessible_for_renderer (l->data, GTK_WIDGET (treeview), ATK_OBJECT (container));
gtk_container_cell_accessible_add_child (container, cell);
+ g_object_unref (cell);
}
cell = GTK_CELL_ACCESSIBLE (container);
--
GitLab

View File

@ -0,0 +1,51 @@
From c3503fcc84eec0bcf857cc744580aa9a4d5dc7eb Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Tue, 13 Apr 2021 14:10:27 -0400
Subject: [PATCH] x11: Be quiet on exit by default
The condition we check for to catch X servers going away
may not be accurate anymore, and the warning shows up in
logs, causing customers to be concerned. So, be quiet by
default, unless the user explicitly asked for a message.
---
gdk/x11/gdkmain-x11.c | 23 ++++++-----------------
1 file changed, 6 insertions(+), 17 deletions(-)
diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c
index 64c7cb4302..cd877ce3e4 100644
--- a/gdk/x11/gdkmain-x11.c
+++ b/gdk/x11/gdkmain-x11.c
@@ -240,24 +240,13 @@ gdk_x_io_error (Display *display)
/* This is basically modelled after the code in XLib. We need
* an explicit error handler here, so we can disable our atexit()
* which would otherwise cause a nice segfault.
- * We fprintf(stderr, instead of g_warning() because g_warning()
- * could possibly be redirected to a dialog
+ * We g_debug() instead of g_warning(), because g_warning()
+ * could possibly be redirected to the log
*/
- if (errno == EPIPE)
- {
- g_message ("The application '%s' lost its connection to the display %s;\n"
- "most likely the X server was shut down or you killed/destroyed\n"
- "the application.\n",
- g_get_prgname (),
- display ? DisplayString (display) : gdk_get_display_arg_name ());
- }
- else
- {
- g_message ("%s: Fatal IO error %d (%s) on X server %s.\n",
- g_get_prgname (),
- errno, g_strerror (errno),
- display ? DisplayString (display) : gdk_get_display_arg_name ());
- }
+ g_debug ("%s: Fatal IO error %d (%s) on X server %s.\n",
+ g_get_prgname (),
+ errno, g_strerror (errno),
+ display ? DisplayString (display) : gdk_get_display_arg_name ());
_exit (1);
}
--
GitLab

View File

@ -0,0 +1,26 @@
From a7a10aa63fa4e24d109b2e50f98c9616818f7e7a Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Wed, 21 Apr 2021 15:08:22 -0400
Subject: [PATCH] iconbrowser: Don't use a nonexistent icon
We don't have this icon, so don't put it in the
desktop file, or tools will get upset.
---
demos/icon-browser/gtk3-icon-browser.desktop | 1 -
1 file changed, 1 deletion(-)
diff --git a/demos/icon-browser/gtk3-icon-browser.desktop b/demos/icon-browser/gtk3-icon-browser.desktop
index c1a546e1d2..a7d6b4f0cb 100644
--- a/demos/icon-browser/gtk3-icon-browser.desktop
+++ b/demos/icon-browser/gtk3-icon-browser.desktop
@@ -2,7 +2,6 @@
Name=Icon Browser
Comment=An application that shows themed icons
Exec=gtk3-icon-browser
-Icon=gtk3-icon-browser
Terminal=false
Type=Application
StartupNotify=true
--
GitLab

View File

@ -1,67 +1,100 @@
%if 0%{?fedora}
%if 0%{?fedora} || 0%{?rhel} > 7
%global with_wayland 1
%global with_broadway 1
%global with_cloudproviders 1
%endif
%global glib2_version 2.57.2
%global pango_version 1.41.0
%global atk_version 2.35.1
%global glib2_version 2.49.4
%global pango_version 1.37.3
%global atk_version 2.15.1
%global cairo_version 1.14.0
%global gdk_pixbuf_version 2.30.0
%global xrandr_version 1.5.0
%global wayland_protocols_version 1.17
%global wayland_version 1.14.91
%global epoxy_version 1.4
%global wayland_version 1.9.91
%global wayland_protocols_version 1.12
%global epoxy_version 1.0
%global bin_version 3.0.0
%global _changelog_trimtime %(date +%s -d "1 year ago")
# Filter provides for private modules
%global __provides_exclude_from ^%{_libdir}/gtk-3.0
Name: gtk3
Version: 3.24.43
Release: 3%{?dist}
Version: 3.22.30
Release: 12%{?dist}
Summary: GTK+ graphical user interface library
License: LGPL-2.0-or-later
URL: https://gtk.org
Source0: https://download.gnome.org/sources/gtk+/3.24/gtk+-%{version}.tar.xz
License: LGPLv2+
URL: http://www.gtk.org
Source0: http://download.gnome.org/sources/gtk+/3.22/gtk+-%{version}.tar.xz
# rhbz#1656447 / https://gitlab.gnome.org/GNOME/gtk/issues/1507
Patch1: 0001-a11y-Check-X11-display-at-runtime.patch
Patch2: 0001-a11y-Check-display-in-grab_cell_focus.patch
# ehbz#1723836
Patch3: 0001-a11y-Include-window-management-buttons-in-headerbar.patch
# rhbz#1736742
Patch4: 0001-Add-a-gtk-overlay-scrolling-setting.patch
Patch5: 0002-scrolled-window-respect-overlay-scrolling-setting.patch
# Backported from upstream / https://gitlab.gnome.org/GNOME/gtk/merge_requests/1114
# rhbz#1843486
Patch6: 0001-gtklistbox-Only-unparent-header-rows-if-they-haven-t.patch
# rhbz#1893196
Patch7: 0001-entry-Only-offer-Emoji-if-requested.patch
# rhbz#1873488
Patch8: 0001-fix-nonoverlay-scrollbars.patch
# Upstream patch to make reftests work in a vm
Patch9: 0001-reftests-Enforce-default-settings.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=2032438
Patch10: gtk-3.22.20-fix-treeview-refcount.patch
Patch11: gtk-3.22.20-fix-treeview-refcount2.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1887266
Patch12: gtk-3.22.20-quiet-exit.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=2032437
Patch13: gtk-3.22.20-avoid-cellarea-crash.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=2058260
Patch14: 0001-Remove-the-without-parent-warning.patch
# Fix the rpminspect warning
# https://gitlab.gnome.org/GNOME/gtk/-/commit/5e673e94de3f59e3b937ce14d22b8c07c6e975cd
Patch15: gtk3-icon-browser-no-icon.patch
# Fix loading modules from cwd
Patch16: 0001-Stop-looking-for-modules-in-cwd.patch
BuildRequires: pkgconfig(atk) >= %{atk_version}
BuildRequires: pkgconfig(atk-bridge-2.0)
BuildRequires: pkgconfig(avahi-gobject)
BuildRequires: pkgconfig(cairo) >= %{cairo_version}
BuildRequires: pkgconfig(cairo-gobject) >= %{cairo_version}
%if 0%{?with_cloudproviders}
BuildRequires: pkgconfig(cloudproviders)
%endif
BuildRequires: pkgconfig(colord)
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(epoxy)
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= %{gdk_pixbuf_version}
BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version}
BuildRequires: pkgconfig(gobject-introspection-1.0)
BuildRequires: pkgconfig(cairo) >= %{cairo_version}
BuildRequires: pkgconfig(cairo-gobject) >= %{cairo_version}
BuildRequires: pkgconfig(pango) >= %{pango_version}
BuildRequires: pkgconfig(sysprof-capture-4)
BuildRequires: pkgconfig(tracker-sparql-3.0)
BuildRequires: pkgconfig(wayland-client) >= %{wayland_version}
BuildRequires: pkgconfig(wayland-cursor) >= %{wayland_version}
BuildRequires: pkgconfig(wayland-egl) >= %{wayland_version}
BuildRequires: pkgconfig(wayland-protocols) >= %{wayland_protocols_version}
BuildRequires: pkgconfig(gdk-pixbuf-2.0) >= %{gdk_pixbuf_version}
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(xrandr) >= %{xrandr_version}
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xinerama)
BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: cups-devel
BuildRequires: desktop-file-utils
BuildRequires: pkgconfig(epoxy)
BuildRequires: gettext
BuildRequires: gtk-doc
BuildRequires: meson
BuildRequires: cups-devel
BuildRequires: pkgconfig(rest-0.7)
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(colord)
BuildRequires: pkgconfig(avahi-gobject)
BuildRequires: desktop-file-utils
%if 0%{?with_wayland}
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(wayland-client) >= %{wayland_version}
BuildRequires: pkgconfig(wayland-cursor) >= %{wayland_version}
BuildRequires: pkgconfig(wayland-egl) >= %{wayland_version}
BuildRequires: pkgconfig(wayland-protocols) >= %{wayland_protocols_version}
BuildRequires: pkgconfig(xkbcommon)
%endif
# standard icons
Requires: adwaita-icon-theme
@ -75,24 +108,31 @@ Requires: cairo%{?_isa} >= %{cairo_version}
Requires: cairo-gobject%{?_isa} >= %{cairo_version}
Requires: glib2%{?_isa} >= %{glib2_version}
Requires: libepoxy%{?_isa} >= %{epoxy_version}
Requires: libwayland-client%{?_isa} >= %{wayland_version}
Requires: libwayland-cursor%{?_isa} >= %{wayland_version}
Requires: libXrandr%{?_isa} >= %{xrandr_version}
Requires: pango%{?_isa} >= %{pango_version}
%if 0%{?with_wayland}
Requires: libwayland-client%{?_isa} >= %{wayland_version}
Requires: libwayland-cursor%{?_isa} >= %{wayland_version}
%endif
# required to support all the different image formats
Requires: gdk-pixbuf2-modules%{?_isa}
# make sure we have a reasonable gsettings backend
%if 0%{?fedora} || 0%{?rhel} > 7
Recommends: dconf%{?_isa}
%else
Requires: dconf%{?_isa}
%endif
# For sound theme events in gtk3 apps
Recommends: libcanberra-gtk3%{?_isa}
# gtk3 itself includes the Adwaita theme now
Obsoletes: adwaita-gtk3-theme < 3.13.3
Provides: adwaita-gtk3-theme = %{version}-%{release}
# For Tracker search in the file chooser.
Recommends: tracker-miners
Recommends: (ibus-gtk3 if ibus)
# gtk3 no longer provides the GtkThemeEngine interface used there
Obsoletes: gtk3-engines <= 2.91.5-5.fc15
Obsoletes: gtk-solidity-engine < 0.4.1-9
Obsoletes: oxygen-gtk3 < 2:1.4.1
%description
GTK+ is a multi-platform toolkit for creating graphical user
@ -104,6 +144,8 @@ This package contains version 3 of GTK+.
%package -n gtk-update-icon-cache
Summary: Icon theme caching utility
# gtk-update-icon-cache used to be shipped in the gtk2 package
Conflicts: gtk2 < 2.24.29
%description -n gtk-update-icon-cache
GTK+ can use the cache files created by gtk-update-icon-cache to avoid a lot of
@ -115,16 +157,7 @@ applications, the overall memory consumption is reduced as well.
Summary: Input methods for GTK+
Requires: gtk3%{?_isa} = %{version}-%{release}
# for im-cedilla.conf
# Don't require the configuration file on RHEL 10 as it doesn't
# have GTK 2 at all and hence the file. The file could be added
# in EPEL where imsettings is packaged.
%if 0%{?fedora} || 0%{?rhel} < 10
%if 0%{?fedora} >= 38 || 0%{?rhel} > 9
Requires: gtk-immodules-imsettings
%else
Requires: gtk2-immodules%{?_isa}
%endif
%endif
%description immodules
The gtk3-immodules package contains standalone input methods that
@ -140,6 +173,7 @@ The gtk3-immodule-xim package contains XIM support for GTK+ 3.
%package devel
Summary: Development files for GTK+
Requires: gtk3%{?_isa} = %{version}-%{release}
Obsoletes: gtk3-engines-devel <= 2.91.5-5.fc15
%description devel
This package contains the libraries and header files that are needed
@ -164,29 +198,53 @@ The %{name}-tests package contains tests that can be used to verify
the functionality of the installed %{name} package.
%prep
%autosetup -n gtk+-%{version} -p1
%setup -q -n gtk+-%{version}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%build
export CFLAGS='-fno-strict-aliasing %optflags'
%meson \
(if ! test -x configure; then NOCONFIGURE=1 ./autogen.sh; CONFIGFLAGS=--enable-gtk-doc; fi;
%configure $CONFIGFLAGS \
--enable-xkb \
--enable-xinerama \
--enable-xrandr \
--enable-xfixes \
--enable-xcomposite \
--enable-xdamage \
--enable-x11-backend \
%if 0%{?with_wayland}
--enable-wayland-backend \
%endif
%if 0%{?with_broadway}
-Dbroadway_backend=true \
--enable-broadway-backend \
%endif
-Dbuiltin_immodules=wayland,waylandgtk \
-Dcolord=yes \
%if 0%{?with_cloudproviders}
-Dcloudproviders=true \
%endif
-Dgtk_doc=true \
-Dinstalled_tests=true \
-Dman=true \
-Dprofiler=true \
-Dtracker3=true \
-Dxinerama=yes \
%meson_build
--enable-colord \
--enable-installed-tests \
--with-included-immodules=wayland
)
# fight unused direct deps
sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make %{?_smp_mflags}
%install
%meson_install
%make_install RUN_QUERY_IMMODULES_TEST=false
%find_lang gtk30
%find_lang gtk30-properties
@ -197,11 +255,19 @@ export CFLAGS='-fno-strict-aliasing %optflags'
echo ".so man1/gtk-query-immodules-3.0.1" > $RPM_BUILD_ROOT%{_mandir}/man1/gtk-query-immodules-3.0-%{__isa_bits}.1
# Remove unpackaged files
find $RPM_BUILD_ROOT -name '*.la' -delete
%if !0%{?with_broadway}
rm $RPM_BUILD_ROOT%{_mandir}/man1/broadwayd.1*
%endif
touch $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{bin_version}/immodules.cache
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/gtk-3.0
mkdir -p $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/modules
mkdir -p $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/immodules
mkdir -p $RPM_BUILD_ROOT%{_libdir}/gtk-3.0/%{bin_version}/theming-engines
%check
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
@ -214,7 +280,7 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || :
%files -f gtk30.lang
%license COPYING
%doc NEWS README.md
%doc AUTHORS NEWS README
%{_bindir}/gtk-query-immodules-3.0*
%{_bindir}/gtk-launch
%{_libdir}/libgtk-3.so.*
@ -222,6 +288,8 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || :
%{_libdir}/libgailutil-3.so.*
%dir %{_libdir}/gtk-3.0
%dir %{_libdir}/gtk-3.0/%{bin_version}
%dir %{_datadir}/gtk-3.0
%{_libdir}/gtk-3.0/%{bin_version}/theming-engines
%dir %{_libdir}/gtk-3.0/%{bin_version}/immodules
%{_libdir}/gtk-3.0/%{bin_version}/printbackends
%{_libdir}/gtk-3.0/modules
@ -237,8 +305,6 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || :
%{_datadir}/glib-2.0/schemas/org.gtk.Settings.EmojiChooser.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml
%{_datadir}/glib-2.0/schemas/org.gtk.exampleapp.gschema.xml
%dir %{_datadir}/gtk-3.0
%{_datadir}/gtk-3.0/emoji/
%if 0%{?with_broadway}
%{_bindir}/broadwayd
%{_mandir}/man1/broadwayd.1*
@ -269,13 +335,10 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || :
%{_libdir}/gtk-3.0/%{bin_version}/immodules/im-xim.so
%files devel -f gtk30-properties.lang
%{_libdir}/libgdk-3.so
%{_libdir}/libgtk-3.so
%{_libdir}/libgailutil-3.so
%{_includedir}/gail-3.0/
%{_includedir}/gtk-3.0/
%{_datadir}/aclocal/gtk-3.0.m4
%{_libdir}/pkgconfig/g*-3.0.pc
%{_libdir}/lib*.so
%{_includedir}/*
%{_datadir}/aclocal/*
%{_libdir}/pkgconfig/*
%{_bindir}/gtk3-demo
%{_bindir}/gtk3-icon-browser
%{_bindir}/gtk-builder-tool
@ -291,10 +354,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || :
%{_bindir}/gtk3-demo-application
%{_bindir}/gtk3-widget-factory
%{_datadir}/gettext/
%{_datadir}/gtk-3.0/gtkbuilder.rng
%{_datadir}/gir-1.0
%{_datadir}/glib-2.0/schemas/org.gtk.Demo.gschema.xml
%{_datadir}/gtk-3.0/gtkbuilder.rng
%{_datadir}/gtk-3.0/valgrind/
%{_mandir}/man1/gtk3-demo.1*
%{_mandir}/man1/gtk3-demo-application.1*
%{_mandir}/man1/gtk3-icon-browser.1*
@ -307,245 +369,44 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || :
%{_datadir}/gtk-doc
%files tests
%{_libexecdir}/installed-tests/
%{_datadir}/installed-tests/
%{_libexecdir}/installed-tests/gtk+
%{_datadir}/installed-tests
%changelog
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 3.24.43-3
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Wed Jul 10 2024 Matthias Clasen <mclasen@redhat.com> - 3.22.30-12
- Stop loading modules from cwd (CVE-2024-6655)
- Resolves: RHEL-46988
* Thu Aug 15 2024 Tomas Popela <tpopela@redhat.com> - 3.24.43-2
- Don't require package gtk-immodules-imsettings as it isn't part of
RHEL 10 (it's built from GTK 2 SRPM which isn't presented)
- Resolves: RHEL-38223
* Mon Aug 22 2022 Carlos Garnacho <cgarnach@redhat.com> - 3.22.30-11
- Drop warning about unparented dialogs (#2058260)
* Wed Jul 10 2024 Matthias Clasen <mclasen@redhat.com> - 3.24.43-1
- Update to 3.24.43
- Resolves: RHEL-46990
* Tue Feb 15 2022 David King <dking@redhat.com> - 3.22.30-10
- Further treeview a11y refcount fix (#2032438)
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 3.24.42-2
- Bump release for June 2024 mass rebuild
* Mon Jan 17 2022 David King <dking@redhat.com> - 3.22.30-9
- Fix treeview a11y refcounting (#2032438)
- Be quiet on exit under X11 (#1887266)
- Avoid cellarea resize crash (#2032437)
* Tue Jun 4 2024 Matthias Clasen <mclasen@redhat.com> - 3.24.42-1
- Update to 3.24.42
- Enable profiler support
* Mon Jul 19 2021 Matthias Clasen <mclasen@redhat.com> - 3.22.30-8
- Make reftests work in a vm
* Wed Jan 24 2024 David King <amigadave@amigadave.com> - 3.24.41-1
- Update to 3.24.41
* Fri Jul 16 2021 Matthias Clasen <mclasen@redhat.com> - 3.22.30-7
- Only mention Emoji in context menus when requested (rhbz#1893196)
- Fix warnings from non-overlay scrollbars (rhbz#1873488)
* Fri Jan 19 2024 David King <amigadave@amigadave.com> - 3.24.40-1
- Update to 3.24.40
* Wed Jun 03 2020 Kalev Lember <klember@redhat.com> - 3.22.30-6
- Fix reuse of list box header widgets (#rhbz1843486)
* Tue Dec 19 2023 Kalev Lember <klember@redhat.com> - 3.24.39-1
- Update to 3.24.39
* Thu Nov 21 2019 Benjamin Otte <otte@redhat.com> - 3.22.30-5
- Add setting for turning off overlay scrollbars (rhbz#1736742)
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.24.38-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Aug 15 2019 Benjamin Otte <otte@redhat.com> - 3.22.30-4
- Include headerbar buttons in accessibility (rhbz#1723836)
* Fri Jun 23 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 3.24.38-2
- Disable cloudproviders in RHEL/ELN builds
* Mon May 22 2023 David King <amigadave@amigadave.com> - 3.24.38-1
- Update to 3.24.38
* Fri Mar 03 2023 David King <amigadave@amigadave.com> - 3.24.37-1
- Update to 3.24.37
* Wed Feb 01 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 3.24.36-3
- Depend on gtk-immodules-imsettings where available
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.24.36-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Fri Dec 30 2022 David King <amigadave@amigadave.com> - 3.24.36-1
- Update to 3.24.36
* Mon Nov 28 2022 Jens Petersen <petersen@redhat.com> - 3.24.35-2
- Recommend ibus-gtk3 if ibus is installed
* Tue Nov 22 2022 David King <amigadave@amigadave.com> - 3.24.35-1
- Update to 3.24.35
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.24.34-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Thu May 19 2022 David King <amigadave@amigadave.com> - 3.24.34-1
- Update to 3.24.34
* Thu May 12 2022 David King <amigadave@amigadave.com> - 3.24.33-1
- Update to 3.24.33
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.24.31-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Dec 23 2021 David King <amigadave@amigadave.com> - 3.24.31-2
- Do not install reftests
* Tue Dec 21 2021 David King <amigadave@amigadave.com> - 3.24.31-1
- Update to 3.24.31
- Switch to meson
- Recommend tracker-miners (#2009887)
* Mon Sep 27 2021 Kalev Lember <klember@redhat.com> - 3.24.30-4
- Build with tracker support enabled (#1908874)
* Mon Sep 20 2021 Kalev Lember <klember@redhat.com> - 3.24.30-3
- Stop creating empty theming-engines directory as it's no longer used
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.24.30-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Mon Jul 12 2021 David King <amigadave@amigadave.com> - 3.24.30-1
- Update to 3.24.30
* Fri Apr 23 2021 Kalev Lember <klember@redhat.com> - 3.24.29-1
- Update to 3.24.29
* Tue Apr 20 2021 Kalev Lember <klember@redhat.com> - 3.24.28-3
- Enable cloudproviders support (#1821002)
* Tue Apr 06 2021 Kalev Lember <klember@redhat.com> - 3.24.28-2
- Backport upstream fix for typing apostrophes / single quotes (#1946133)
* Sat Mar 27 2021 Kalev Lember <klember@redhat.com> - 3.24.28-1
- Update to 3.24.28
- Drop old obsoletes
* Fri Mar 12 2021 Kalev Lember <klember@redhat.com> - 3.24.27-1
- Update to 3.24.27
* Tue Feb 23 2021 Kalev Lember <klember@redhat.com> - 3.24.26-1
- Update to 3.24.26
* Fri Feb 19 2021 Kalev Lember <klember@redhat.com> - 3.24.25-3
- Backport upstream patch to fix a settings schema loading issue on Wayland
* Mon Feb 15 2021 Kalev Lember <klember@redhat.com> - 3.24.25-2
- Backport upstream patches to fix regressions in Compose file parsing
- Backport upstream patch to further tweak scrollbar transitions and size
* Fri Feb 12 2021 Kalev Lember <klember@redhat.com> - 3.24.25-1
- Update to 3.24.25
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.24.24-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Jan 22 2021 Kalev Lember <klember@redhat.com> - 3.24.24-2
- Recommend libcanberra-gtk3 for sound theme events in gtk3 apps
* Fri Dec 11 2020 Kalev Lember <klember@redhat.com> - 3.24.24-1
- Update to 3.24.24
* Tue Nov 24 2020 Kalev Lember <klember@redhat.com> - 3.24.23-2
- Backport a patch to add support for primary-selection-unstable-v1 protocol
* Fri Sep 04 2020 Kalev Lember <klember@redhat.com> - 3.24.23-1
- Update to 3.24.23
* Mon Aug 17 2020 Kalev Lember <klember@redhat.com> - 3.24.22-2
- Rebuild for sysprof-capture-4
* Mon Aug 17 2020 Kalev Lember <klember@redhat.com> - 3.24.22-1
- Update to 3.24.22
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.24.21-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 20 2020 Kalev Lember <klember@redhat.com> - 3.24.21-1
- Update to 3.24.21
* Mon Apr 27 2020 Kalev Lember <klember@redhat.com> - 3.24.20-1
- Update to 3.24.20
* Fri Apr 10 2020 Kalev Lember <klember@redhat.com> - 3.24.18-1
- Update to 3.24.18
* Fri Apr 03 2020 Kalev Lember <klember@redhat.com> - 3.24.17-1
- Update to 3.24.17
* Fri Apr 03 2020 Kalev Lember <klember@redhat.com> - 3.24.16-2
- Backport upstream fixes for an imwayland crash
* Fri Mar 27 2020 Kalev Lember <klember@redhat.com> - 3.24.16-1
- Update to 3.24.16
* Mon Feb 17 2020 Kalev Lember <klember@redhat.com> - 3.24.14-1
- Update to 3.24.14
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.24.13-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Nov 27 2019 Kalev Lember <klember@redhat.com> - 3.24.13-1
- Update to 3.24.13
* Tue Oct 22 2019 Adam Williamson <awilliam@redhat.com> - 3.24.12-3
- Backport PR #1146 to fix a bug that #1142 introduced...
* Mon Oct 21 2019 Adam Williamson <awilliam@redhat.com> - 3.24.12-2
- Backport PR #1142 to try and fix intermittent copy/cut failures
* Fri Oct 04 2019 Kalev Lember <klember@redhat.com> - 3.24.12-1
- Update to 3.24.12
* Wed Sep 04 2019 Kalev Lember <klember@redhat.com> - 3.24.11-1
- Update to 3.24.11
- Build with sysprof support on F31+
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.24.10-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Jul 08 2019 Kalev Lember <klember@redhat.com> - 3.24.10-1
- Update to 3.24.10
* Tue Jun 18 2019 Kalev Lember <klember@redhat.com> - 3.24.9-1
- Update to 3.24.9
* Thu Apr 11 2019 Kalev Lember <klember@redhat.com> - 3.24.8-1
- Update to 3.24.8
* Thu Mar 14 2019 Kalev Lember <klember@redhat.com> - 3.24.7-2
- Undo runtime gtk_window_present deprecation warnings
* Tue Mar 12 2019 Kalev Lember <klember@redhat.com> - 3.24.7-1
- Update to 3.24.7
* Tue Mar 12 2019 Kalev Lember <klember@redhat.com> - 3.24.6-1
- Update to 3.24.6
* Mon Feb 04 2019 Kalev Lember <klember@redhat.com> - 3.24.5-1
- Update to 3.24.5
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.24.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Jan 21 2019 Kalev Lember <klember@redhat.com> - 3.24.4-1
- Update to 3.24.4
* Mon Jan 14 2019 Kalev Lember <klember@redhat.com> - 3.24.3-1
- Update to 3.24.3
- Co-own /usr/libexec/installed-tests directory
* Wed Sep 19 2018 Kalev Lember <klember@redhat.com> - 3.24.1-1
- Update to 3.24.1
* Mon Sep 10 2018 Adam Williamson <awilliam@redhat.com> - 3.24.0-4
- Revert a problematic change that breaks several things (GGO #1316)
* Fri Sep 07 2018 Kalev Lember <klember@redhat.com> - 3.24.0-3
- Rebuilt against fixed atk (#1626575)
* Thu Sep 06 2018 Kalev Lember <klember@redhat.com> - 3.24.0-2
- Backport two bugfixes from upstream
* Thu Sep 06 2018 Kalev Lember <klember@redhat.com> - 3.24.0-1
- Update to 3.24.0
* Mon Aug 13 2018 Kalev Lember <klember@redhat.com> - 3.23.2-1
- Update to 3.23.2
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.22.30-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jan 14 2019 Olivier Fourdan <ofourdan@redhat.com> - 3.22.30-3
- Fix a couple of crashes when using the accessibility interface under
Wayland (rhbz#1656447)
* Wed Apr 18 2018 Kalev Lember <klember@redhat.com> - 3.22.30-1
- Update to 3.22.30

View File

@ -1,6 +0,0 @@
--- !Policy
product_versions:
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: desktop-qe.desktop-ci.tier1-gating.functional}

View File

@ -1 +0,0 @@
SHA512 (gtk+-3.24.43.tar.xz) = 2f208a353d94fa504088ab080006cb097de721ec934b69b5719af0f4c8c72d2aa9a68b47239feca1622ec67c7389be87023729ee6ad3580a87777f2bf9ed5375