some upstream backports to fix a couple of openQA issues
This commit is contained in:
parent
719f173165
commit
191902336d
144
0158-csstypes-expand-GtkCssChange-enum.patch
Normal file
144
0158-csstypes-expand-GtkCssChange-enum.patch
Normal file
@ -0,0 +1,144 @@
|
||||
From 6323010e2e5f1103a7e89248b28a0b75a8b7fd71 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Otte <otte@redhat.com>
|
||||
Date: Sun, 5 Jul 2015 22:45:34 +0200
|
||||
Subject: [PATCH 158/193] csstypes: expand GtkCssChange enum
|
||||
|
||||
Instead of GTK_CSS_CHANGE_POSITION we now have 4 values:
|
||||
GTK_CSS_CHANGE_FIRST_CHILD, GTK_CSS_CHANGE_LAST_CHILD,
|
||||
GTK_CSS_CHANGE_NTH_CHILD and GTK_CSS_CHANGE_NTH_LAST_CHILD
|
||||
|
||||
Nobody is using them directly yet.
|
||||
---
|
||||
gtk/gtkcsstypes.c | 15 ++++++++--
|
||||
gtk/gtkcsstypesprivate.h | 75 ++++++++++++++++++++++++++++++++----------------
|
||||
2 files changed, 63 insertions(+), 27 deletions(-)
|
||||
|
||||
diff --git a/gtk/gtkcsstypes.c b/gtk/gtkcsstypes.c
|
||||
index 6ab3bc5..440f60a 100644
|
||||
--- a/gtk/gtkcsstypes.c
|
||||
+++ b/gtk/gtkcsstypes.c
|
||||
@@ -54,7 +54,10 @@ _gtk_css_change_for_sibling (GtkCssChange match)
|
||||
static const GtkCssChangeTranslation table[] = {
|
||||
{ GTK_CSS_CHANGE_CLASS, GTK_CSS_CHANGE_SIBLING_CLASS },
|
||||
{ GTK_CSS_CHANGE_NAME, GTK_CSS_CHANGE_SIBLING_NAME },
|
||||
- { GTK_CSS_CHANGE_POSITION, GTK_CSS_CHANGE_SIBLING_POSITION },
|
||||
+ { GTK_CSS_CHANGE_FIRST_CHILD, GTK_CSS_CHANGE_SIBLING_FIRST_CHILD },
|
||||
+ { GTK_CSS_CHANGE_LAST_CHILD, GTK_CSS_CHANGE_SIBLING_LAST_CHILD },
|
||||
+ { GTK_CSS_CHANGE_NTH_CHILD, GTK_CSS_CHANGE_SIBLING_NTH_CHILD },
|
||||
+ { GTK_CSS_CHANGE_NTH_LAST_CHILD, GTK_CSS_CHANGE_SIBLING_NTH_LAST_CHILD },
|
||||
{ GTK_CSS_CHANGE_STATE, GTK_CSS_CHANGE_SIBLING_STATE },
|
||||
{ GTK_CSS_CHANGE_SOURCE, 0 },
|
||||
{ GTK_CSS_CHANGE_PARENT_STYLE, 0 }
|
||||
@@ -69,11 +72,17 @@ _gtk_css_change_for_child (GtkCssChange match)
|
||||
static const GtkCssChangeTranslation table[] = {
|
||||
{ GTK_CSS_CHANGE_CLASS, GTK_CSS_CHANGE_PARENT_CLASS },
|
||||
{ GTK_CSS_CHANGE_NAME, GTK_CSS_CHANGE_PARENT_NAME },
|
||||
- { GTK_CSS_CHANGE_POSITION, GTK_CSS_CHANGE_PARENT_POSITION },
|
||||
+ { GTK_CSS_CHANGE_FIRST_CHILD, GTK_CSS_CHANGE_PARENT_FIRST_CHILD },
|
||||
+ { GTK_CSS_CHANGE_LAST_CHILD, GTK_CSS_CHANGE_PARENT_LAST_CHILD },
|
||||
+ { GTK_CSS_CHANGE_NTH_CHILD, GTK_CSS_CHANGE_PARENT_NTH_CHILD },
|
||||
+ { GTK_CSS_CHANGE_NTH_LAST_CHILD, GTK_CSS_CHANGE_PARENT_NTH_LAST_CHILD },
|
||||
{ GTK_CSS_CHANGE_STATE, GTK_CSS_CHANGE_PARENT_STATE },
|
||||
{ GTK_CSS_CHANGE_SIBLING_CLASS, GTK_CSS_CHANGE_PARENT_SIBLING_CLASS },
|
||||
{ GTK_CSS_CHANGE_SIBLING_NAME, GTK_CSS_CHANGE_PARENT_SIBLING_NAME },
|
||||
- { GTK_CSS_CHANGE_SIBLING_POSITION, GTK_CSS_CHANGE_PARENT_SIBLING_POSITION },
|
||||
+ { GTK_CSS_CHANGE_SIBLING_FIRST_CHILD, GTK_CSS_CHANGE_PARENT_SIBLING_FIRST_CHILD },
|
||||
+ { GTK_CSS_CHANGE_SIBLING_LAST_CHILD, GTK_CSS_CHANGE_PARENT_SIBLING_LAST_CHILD },
|
||||
+ { GTK_CSS_CHANGE_SIBLING_NTH_CHILD, GTK_CSS_CHANGE_PARENT_SIBLING_NTH_CHILD },
|
||||
+ { GTK_CSS_CHANGE_SIBLING_NTH_LAST_CHILD, GTK_CSS_CHANGE_PARENT_SIBLING_NTH_LAST_CHILD },
|
||||
{ GTK_CSS_CHANGE_SIBLING_STATE, GTK_CSS_CHANGE_PARENT_SIBLING_STATE },
|
||||
{ GTK_CSS_CHANGE_SOURCE, 0 },
|
||||
{ GTK_CSS_CHANGE_PARENT_STYLE, 0 }
|
||||
diff --git a/gtk/gtkcsstypesprivate.h b/gtk/gtkcsstypesprivate.h
|
||||
index 2f80491..5466269 100644
|
||||
--- a/gtk/gtkcsstypesprivate.h
|
||||
+++ b/gtk/gtkcsstypesprivate.h
|
||||
@@ -30,34 +30,61 @@ typedef struct _GtkCssStyle GtkCssStyle;
|
||||
typedef struct _GtkStyleProviderPrivate GtkStyleProviderPrivate; /* dummy typedef */
|
||||
|
||||
typedef enum { /*< skip >*/
|
||||
- GTK_CSS_CHANGE_CLASS = (1 << 0),
|
||||
- GTK_CSS_CHANGE_NAME = (1 << 1),
|
||||
- GTK_CSS_CHANGE_ID = GTK_CSS_CHANGE_NAME,
|
||||
- GTK_CSS_CHANGE_REGION = GTK_CSS_CHANGE_NAME,
|
||||
- GTK_CSS_CHANGE_POSITION = (1 << 2),
|
||||
- GTK_CSS_CHANGE_STATE = (1 << 3),
|
||||
- GTK_CSS_CHANGE_SIBLING_CLASS = (1 << 4),
|
||||
- GTK_CSS_CHANGE_SIBLING_NAME = (1 << 5),
|
||||
- GTK_CSS_CHANGE_SIBLING_POSITION = (1 << 6),
|
||||
- GTK_CSS_CHANGE_SIBLING_STATE = (1 << 7),
|
||||
- GTK_CSS_CHANGE_PARENT_CLASS = (1 << 8),
|
||||
- GTK_CSS_CHANGE_PARENT_NAME = (1 << 9),
|
||||
- GTK_CSS_CHANGE_PARENT_REGION = GTK_CSS_CHANGE_PARENT_NAME,
|
||||
- GTK_CSS_CHANGE_PARENT_POSITION = (1 << 10),
|
||||
- GTK_CSS_CHANGE_PARENT_STATE = (1 << 11),
|
||||
- GTK_CSS_CHANGE_PARENT_SIBLING_CLASS = (1 << 12),
|
||||
- GTK_CSS_CHANGE_PARENT_SIBLING_NAME = (1 << 13),
|
||||
- GTK_CSS_CHANGE_PARENT_SIBLING_POSITION = (1 << 14),
|
||||
- GTK_CSS_CHANGE_PARENT_SIBLING_STATE = (1 << 15),
|
||||
+ GTK_CSS_CHANGE_CLASS = (1 << 0),
|
||||
+ GTK_CSS_CHANGE_NAME = (1 << 1),
|
||||
+ GTK_CSS_CHANGE_ID = GTK_CSS_CHANGE_NAME,
|
||||
+ GTK_CSS_CHANGE_REGION = GTK_CSS_CHANGE_NAME,
|
||||
+ GTK_CSS_CHANGE_FIRST_CHILD = (1 << 2),
|
||||
+ GTK_CSS_CHANGE_LAST_CHILD = (1 << 3),
|
||||
+ GTK_CSS_CHANGE_NTH_CHILD = (1 << 4),
|
||||
+ GTK_CSS_CHANGE_NTH_LAST_CHILD = (1 << 5),
|
||||
+ GTK_CSS_CHANGE_STATE = (1 << 6),
|
||||
+ GTK_CSS_CHANGE_SIBLING_CLASS = (1 << 7),
|
||||
+ GTK_CSS_CHANGE_SIBLING_NAME = (1 << 8),
|
||||
+ GTK_CSS_CHANGE_SIBLING_FIRST_CHILD = (1 << 9),
|
||||
+ GTK_CSS_CHANGE_SIBLING_LAST_CHILD = (1 << 10),
|
||||
+ GTK_CSS_CHANGE_SIBLING_NTH_CHILD = (1 << 11),
|
||||
+ GTK_CSS_CHANGE_SIBLING_NTH_LAST_CHILD = (1 << 12),
|
||||
+ GTK_CSS_CHANGE_SIBLING_STATE = (1 << 13),
|
||||
+ GTK_CSS_CHANGE_PARENT_CLASS = (1 << 14),
|
||||
+ GTK_CSS_CHANGE_PARENT_NAME = (1 << 15),
|
||||
+ GTK_CSS_CHANGE_PARENT_REGION = GTK_CSS_CHANGE_PARENT_NAME,
|
||||
+ GTK_CSS_CHANGE_PARENT_POSITION = (1 << 16),
|
||||
+ GTK_CSS_CHANGE_PARENT_FIRST_CHILD = (1 << 17),
|
||||
+ GTK_CSS_CHANGE_PARENT_LAST_CHILD = (1 << 18),
|
||||
+ GTK_CSS_CHANGE_PARENT_NTH_CHILD = (1 << 19),
|
||||
+ GTK_CSS_CHANGE_PARENT_NTH_LAST_CHILD = (1 << 20),
|
||||
+ GTK_CSS_CHANGE_PARENT_STATE = (1 << 21),
|
||||
+ GTK_CSS_CHANGE_PARENT_SIBLING_CLASS = (1 << 22),
|
||||
+ GTK_CSS_CHANGE_PARENT_SIBLING_NAME = (1 << 23),
|
||||
+ GTK_CSS_CHANGE_PARENT_SIBLING_FIRST_CHILD = (1 << 24),
|
||||
+ GTK_CSS_CHANGE_PARENT_SIBLING_LAST_CHILD = (1 << 25),
|
||||
+ GTK_CSS_CHANGE_PARENT_SIBLING_NTH_CHILD = (1 << 26),
|
||||
+ GTK_CSS_CHANGE_PARENT_SIBLING_NTH_LAST_CHILD = (1 << 27),
|
||||
+ GTK_CSS_CHANGE_PARENT_SIBLING_POSITION = (1 << 28),
|
||||
+ GTK_CSS_CHANGE_PARENT_SIBLING_STATE = (1 << 29),
|
||||
/* add more */
|
||||
- GTK_CSS_CHANGE_SOURCE = (1 << 16),
|
||||
- GTK_CSS_CHANGE_PARENT_STYLE = (1 << 17),
|
||||
- GTK_CSS_CHANGE_TIMESTAMP = (1 << 18),
|
||||
- GTK_CSS_CHANGE_ANIMATIONS = (1 << 19),
|
||||
+ GTK_CSS_CHANGE_SOURCE = (1 << 30),
|
||||
+ GTK_CSS_CHANGE_PARENT_STYLE = (1 << 31),
|
||||
+ GTK_CSS_CHANGE_TIMESTAMP = (1LL << 32),
|
||||
+ GTK_CSS_CHANGE_ANIMATIONS = (1LL << 33),
|
||||
|
||||
- GTK_CSS_CHANGE_RESERVED_BIT = (1 << 31) /* Used internally in gtkcssselector.c */
|
||||
+ GTK_CSS_CHANGE_RESERVED_BIT = (1LL << 62) /* Used internally in gtkcssselector.c */
|
||||
} GtkCssChange;
|
||||
|
||||
+/* if this complains we need to use defines instead of an enum */
|
||||
+G_STATIC_ASSERT(sizeof (GtkCssChange) >= 8);
|
||||
+
|
||||
+#define GTK_CSS_CHANGE_POSITION (GTK_CSS_CHANGE_FIRST_CHILD | GTK_CSS_CHANGE_LAST_CHILD | \
|
||||
+ GTK_CSS_CHANGE_NTH_CHILD | GTK_CSS_CHANGE_NTH_LAST_CHILD)
|
||||
+#define GTK_CSS_CHANGE_SIBLING_POSITION (GTK_CSS_CHANGE_SIBLING_FIRST_CHILD | GTK_CSS_CHANGE_SIBLING_LAST_CHILD | \
|
||||
+ GTK_CSS_CHANGE_SIBLING_NTH_CHILD | GTK_CSS_CHANGE_SIBLING_NTH_LAST_CHILD)
|
||||
+#define GTK_CSS_CHANGE_PARENT_POSITION (GTK_CSS_CHANGE_PARENT_FIRST_CHILD | GTK_CSS_CHANGE_PARENT_LAST_CHILD | \
|
||||
+ GTK_CSS_CHANGE_PARENT_NTH_CHILD | GTK_CSS_CHANGE_PARENT_NTH_LAST_CHILD)
|
||||
+#define GTK_CSS_CHANGE_PARENT_SIBLING_POSITION (GTK_CSS_CHANGE_PARENT_SIBLING_FIRST_CHILD | GTK_CSS_CHANGE_PARENT_SIBLING_LAST_CHILD | \
|
||||
+ GTK_CSS_CHANGE_PARENT_SIBLING_NTH_CHILD | GTK_CSS_CHANGE_PARENT_SIBLING_NTH_LAST_CHILD)
|
||||
+
|
||||
+
|
||||
#define GTK_CSS_CHANGE_ANY ((1 << 19) - 1)
|
||||
#define GTK_CSS_CHANGE_ANY_SELF (GTK_CSS_CHANGE_CLASS | GTK_CSS_CHANGE_NAME | GTK_CSS_CHANGE_POSITION | GTK_CSS_CHANGE_STATE)
|
||||
#define GTK_CSS_CHANGE_ANY_SIBLING (GTK_CSS_CHANGE_SIBLING_CLASS | GTK_CSS_CHANGE_SIBLING_NAME | \
|
||||
--
|
||||
2.4.5
|
||||
|
@ -0,0 +1,50 @@
|
||||
From 69e396ea0ab6e25ebeb87ee55ea11d3a5c376f44 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Otte <otte@redhat.com>
|
||||
Date: Mon, 6 Jul 2015 00:21:03 +0200
|
||||
Subject: [PATCH 159/193] cssselector: Report finer granularity for position
|
||||
changes
|
||||
|
||||
---
|
||||
gtk/gtkcssselector.c | 26 +++++++++++++++++++++++++-
|
||||
1 file changed, 25 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gtk/gtkcssselector.c b/gtk/gtkcssselector.c
|
||||
index eae014e..6ad744c 100644
|
||||
--- a/gtk/gtkcssselector.c
|
||||
+++ b/gtk/gtkcssselector.c
|
||||
@@ -1036,7 +1036,31 @@ comp_pseudoclass_position (const GtkCssSelector *a,
|
||||
return a->position.b - b->position.b;
|
||||
}
|
||||
|
||||
-#define GTK_CSS_CHANGE_PSEUDOCLASS_POSITION GTK_CSS_CHANGE_POSITION
|
||||
+static GtkCssChange
|
||||
+change_pseudoclass_position (const GtkCssSelector *selector)
|
||||
+{
|
||||
+ switch (selector->position.type)
|
||||
+ {
|
||||
+ case POSITION_FORWARD:
|
||||
+ if (selector->position.a == 0 && selector->position.b == 1)
|
||||
+ return GTK_CSS_CHANGE_FIRST_CHILD;
|
||||
+ else
|
||||
+ return GTK_CSS_CHANGE_NTH_CHILD;
|
||||
+ case POSITION_BACKWARD:
|
||||
+ if (selector->position.a == 0 && selector->position.b == 1)
|
||||
+ return GTK_CSS_CHANGE_LAST_CHILD;
|
||||
+ else
|
||||
+ return GTK_CSS_CHANGE_NTH_LAST_CHILD;
|
||||
+ case POSITION_ONLY:
|
||||
+ return GTK_CSS_CHANGE_FIRST_CHILD | GTK_CSS_CHANGE_LAST_CHILD;
|
||||
+ default:
|
||||
+ g_assert_not_reached ();
|
||||
+ case POSITION_SORTED:
|
||||
+ return 0;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+#define GTK_CSS_CHANGE_PSEUDOCLASS_POSITION change_pseudoclass_position(selector)
|
||||
DEFINE_SIMPLE_SELECTOR(pseudoclass_position, PSEUDOCLASS_POSITION, print_pseudoclass_position,
|
||||
match_pseudoclass_position, hash_pseudoclass_position, comp_pseudoclass_position,
|
||||
FALSE, TRUE, FALSE)
|
||||
--
|
||||
2.4.5
|
||||
|
@ -0,0 +1,36 @@
|
||||
From df7113812bbccc4ad862e1c931c8ba2c94d91c4a Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Otte <otte@redhat.com>
|
||||
Date: Mon, 6 Jul 2015 03:58:56 +0200
|
||||
Subject: [PATCH 160/193] csstypes: Change NTH_CHILD and NTH_LAST_CHILD change
|
||||
propagation
|
||||
|
||||
For now assume that if those flags change for a node, they also changed
|
||||
for all sibling nodes. This is not strictly true but simplifies
|
||||
invalidation.
|
||||
|
||||
The reason it simplifies invalidation is that when removing or adding a
|
||||
node, we can just invalidate the first node (for NTH_LAST_CHILD) and the
|
||||
new node (for NTH_CHILD) and all the other nodes will be invalidated
|
||||
automatically.
|
||||
---
|
||||
gtk/gtkcsstypes.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gtk/gtkcsstypes.c b/gtk/gtkcsstypes.c
|
||||
index 440f60a..2fa18df 100644
|
||||
--- a/gtk/gtkcsstypes.c
|
||||
+++ b/gtk/gtkcsstypes.c
|
||||
@@ -56,8 +56,8 @@ _gtk_css_change_for_sibling (GtkCssChange match)
|
||||
{ GTK_CSS_CHANGE_NAME, GTK_CSS_CHANGE_SIBLING_NAME },
|
||||
{ GTK_CSS_CHANGE_FIRST_CHILD, GTK_CSS_CHANGE_SIBLING_FIRST_CHILD },
|
||||
{ GTK_CSS_CHANGE_LAST_CHILD, GTK_CSS_CHANGE_SIBLING_LAST_CHILD },
|
||||
- { GTK_CSS_CHANGE_NTH_CHILD, GTK_CSS_CHANGE_SIBLING_NTH_CHILD },
|
||||
- { GTK_CSS_CHANGE_NTH_LAST_CHILD, GTK_CSS_CHANGE_SIBLING_NTH_LAST_CHILD },
|
||||
+ { GTK_CSS_CHANGE_NTH_CHILD, GTK_CSS_CHANGE_NTH_CHILD | GTK_CSS_CHANGE_SIBLING_NTH_CHILD },
|
||||
+ { GTK_CSS_CHANGE_NTH_LAST_CHILD, GTK_CSS_CHANGE_NTH_LAST_CHILD | GTK_CSS_CHANGE_SIBLING_NTH_LAST_CHILD },
|
||||
{ GTK_CSS_CHANGE_STATE, GTK_CSS_CHANGE_SIBLING_STATE },
|
||||
{ GTK_CSS_CHANGE_SOURCE, 0 },
|
||||
{ GTK_CSS_CHANGE_PARENT_STYLE, 0 }
|
||||
--
|
||||
2.4.5
|
||||
|
74
0161-cssnode-Do-finer-grained-position-invalidation.patch
Normal file
74
0161-cssnode-Do-finer-grained-position-invalidation.patch
Normal file
@ -0,0 +1,74 @@
|
||||
From 8d3737e4e376bc6dcd4d581cbd34aa2ae3396c59 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Otte <otte@redhat.com>
|
||||
Date: Mon, 6 Jul 2015 04:29:09 +0200
|
||||
Subject: [PATCH 161/193] cssnode: Do finer-grained position invalidation
|
||||
|
||||
As a side effect, this should fix this bug:
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=751910
|
||||
---
|
||||
gtk/gtkcssnode.c | 31 ++++++++++++++++++++++++++-----
|
||||
1 file changed, 26 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/gtk/gtkcssnode.c b/gtk/gtkcssnode.c
|
||||
index 50c3891..29301eb 100644
|
||||
--- a/gtk/gtkcssnode.c
|
||||
+++ b/gtk/gtkcssnode.c
|
||||
@@ -643,15 +643,22 @@ gtk_css_node_reposition (GtkCssNode *node,
|
||||
/* Take a reference here so the whole function has a reference */
|
||||
g_object_ref (node);
|
||||
|
||||
- if (node->next_sibling)
|
||||
+ if (node->visible)
|
||||
{
|
||||
- if (node->visible)
|
||||
- gtk_css_node_invalidate (node->next_sibling, GTK_CSS_CHANGE_POSITION | GTK_CSS_CHANGE_ANY_SIBLING);
|
||||
+ if (node->next_sibling)
|
||||
+ gtk_css_node_invalidate (node->next_sibling,
|
||||
+ GTK_CSS_CHANGE_ANY_SIBLING
|
||||
+ | GTK_CSS_CHANGE_NTH_CHILD
|
||||
+ | (node->previous_sibling ? 0 : GTK_CSS_CHANGE_FIRST_CHILD));
|
||||
+ else if (node->previous_sibling)
|
||||
+ gtk_css_node_invalidate (node->previous_sibling, GTK_CSS_CHANGE_LAST_CHILD);
|
||||
}
|
||||
|
||||
if (old_parent != NULL)
|
||||
{
|
||||
g_signal_emit (old_parent, cssnode_signals[NODE_REMOVED], 0, node, node->previous_sibling);
|
||||
+ if (old_parent->first_child)
|
||||
+ gtk_css_node_invalidate (old_parent->first_child, GTK_CSS_CHANGE_NTH_LAST_CHILD);
|
||||
}
|
||||
|
||||
if (old_parent != new_parent)
|
||||
@@ -687,12 +694,26 @@ gtk_css_node_reposition (GtkCssNode *node,
|
||||
if (new_parent)
|
||||
{
|
||||
g_signal_emit (new_parent, cssnode_signals[NODE_ADDED], 0, node, previous);
|
||||
+ gtk_css_node_invalidate (new_parent->first_child, GTK_CSS_CHANGE_NTH_LAST_CHILD);
|
||||
}
|
||||
|
||||
if (node->next_sibling)
|
||||
- gtk_css_node_invalidate_style (node->next_sibling);
|
||||
+ {
|
||||
+ if (node->previous_sibling == NULL)
|
||||
+ gtk_css_node_invalidate (node->next_sibling, GTK_CSS_CHANGE_FIRST_CHILD);
|
||||
+ else
|
||||
+ gtk_css_node_invalidate_style (node->next_sibling);
|
||||
+ }
|
||||
+ else if (node->previous_sibling)
|
||||
+ {
|
||||
+ gtk_css_node_invalidate (node->previous_sibling, GTK_CSS_CHANGE_LAST_CHILD);
|
||||
+ }
|
||||
|
||||
- gtk_css_node_invalidate (node, GTK_CSS_CHANGE_ANY_PARENT | GTK_CSS_CHANGE_POSITION | GTK_CSS_CHANGE_ANY_SIBLING);
|
||||
+ gtk_css_node_invalidate (node, GTK_CSS_CHANGE_ANY_PARENT
|
||||
+ | GTK_CSS_CHANGE_ANY_SIBLING
|
||||
+ | GTK_CSS_CHANGE_NTH_CHILD
|
||||
+ | (node->previous_sibling ? 0 : GTK_CSS_CHANGE_FIRST_CHILD)
|
||||
+ | (node->next_sibling ? 0 : GTK_CSS_CHANGE_LAST_CHILD));
|
||||
|
||||
g_object_unref (node);
|
||||
}
|
||||
--
|
||||
2.4.5
|
||||
|
38
0186-Simplify-Xft-setting-fallback.patch
Normal file
38
0186-Simplify-Xft-setting-fallback.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From bdf0820c501437a2150d8ff0d5340246e713f73f Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Clasen <mclasen@redhat.com>
|
||||
Date: Tue, 7 Jul 2015 20:39:45 -0400
|
||||
Subject: [PATCH 186/193] Simplify Xft setting fallback
|
||||
|
||||
If we don't find Xft values in the X resource db, simply fall
|
||||
back to the values that are hardcoded in /etc/X11/Xresources
|
||||
anyway. Extra trickery with likely-made-up screen dimensions
|
||||
is not going to yield better results, and only makes for a
|
||||
deeper rabbit hole when debugging.
|
||||
---
|
||||
gdk/x11/gdkxftdefaults.c | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/gdk/x11/gdkxftdefaults.c b/gdk/x11/gdkxftdefaults.c
|
||||
index 5f4a3f2..fa1cfde 100644
|
||||
--- a/gdk/x11/gdkxftdefaults.c
|
||||
+++ b/gdk/x11/gdkxftdefaults.c
|
||||
@@ -168,14 +168,13 @@ init_xft_settings (GdkScreen *screen)
|
||||
x11_screen->xft_hinting = b;
|
||||
|
||||
if (!get_integer_default (xdisplay, "hintstyle", &x11_screen->xft_hintstyle))
|
||||
- x11_screen->xft_hintstyle = FC_HINT_FULL;
|
||||
+ x11_screen->xft_hintstyle = FC_HINT_MEDIUM;
|
||||
|
||||
if (!get_integer_default (xdisplay, "rgba", &x11_screen->xft_rgba))
|
||||
x11_screen->xft_rgba = FC_RGBA_UNKNOWN;
|
||||
|
||||
if (!get_double_default (xdisplay, "dpi", &dpi_double))
|
||||
- dpi_double = (((double) DisplayHeight (xdisplay, x11_screen->screen_num) * 25.4) /
|
||||
- (double) DisplayHeightMM (xdisplay, x11_screen->screen_num));
|
||||
+ dpi_double = 96.0;
|
||||
|
||||
x11_screen->xft_dpi = (int)(0.5 + PANGO_SCALE * dpi_double);
|
||||
}
|
||||
--
|
||||
2.4.5
|
||||
|
20
gtk3.spec
20
gtk3.spec
@ -18,13 +18,21 @@
|
||||
Summary: The GIMP ToolKit (GTK+), a library for creating GUIs for X
|
||||
Name: gtk3
|
||||
Version: 3.17.4
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
License: LGPLv2+
|
||||
Group: System Environment/Libraries
|
||||
URL: http://www.gtk.org
|
||||
#VCS: git:git://git.gnome.org/gtk+
|
||||
|
||||
Source: http://download.gnome.org/sources/gtk+/3.17/gtk+-%{version}.tar.xz
|
||||
# These are all post-3.17.4 upstream backports, can be dropped with 3.17.5
|
||||
# First four fix https://bugzilla.gnome.org/show_bug.cgi?id=752247
|
||||
# Last one helps with https://bugzilla.redhat.com/show_bug.cgi?id=1241724
|
||||
Patch0: 0158-csstypes-expand-GtkCssChange-enum.patch
|
||||
Patch1: 0159-cssselector-Report-finer-granularity-for-position-ch.patch
|
||||
Patch2: 0160-csstypes-Change-NTH_CHILD-and-NTH_LAST_CHILD-change-.patch
|
||||
Patch3: 0161-cssnode-Do-finer-grained-position-invalidation.patch
|
||||
Patch4: 0186-Simplify-Xft-setting-fallback.patch
|
||||
|
||||
BuildRequires: gnome-common autoconf automake intltool gettext
|
||||
BuildRequires: pkgconfig(atk) >= %{atk_version}
|
||||
@ -163,6 +171,12 @@ the functionality of the installed %{name} package.
|
||||
|
||||
%prep
|
||||
%setup -q -n gtk+-%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
|
||||
|
||||
%build
|
||||
|
||||
@ -350,6 +364,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
%{_datadir}/installed-tests
|
||||
|
||||
%changelog
|
||||
* Mon Jul 13 2015 Adam Williamson <awilliam@redhat.com> - 3.17.4-2
|
||||
- backport upstream CSS changes to fix BGO #752247
|
||||
- backport upstream font default changes to help with RHBZ #1241724
|
||||
|
||||
* Wed Jun 24 2015 David King <amigadave@amigadave.com> - 3.17.4-1
|
||||
- Update to 3.17.4
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user