* Add debian/patches/git_stylecontext-make-sure-valid.patch
- patch from upstream git to fix crash with some themes (Closes: #800911)
This commit is contained in:
9
debian/changelog
vendored
9
debian/changelog
vendored
@ -1,10 +1,9 @@
|
||||
gtk+3.0 (3.18.1-2) UNRELEASED; urgency=medium
|
||||
gtk+3.0 (3.18.1-2) unstable; urgency=medium
|
||||
|
||||
* Add d/p/0001-Revert-stylecontext-Clear-style-property-more-freque.patch
|
||||
- temporarily revert commit causing regression while waiting for
|
||||
upstream to comment on proper solution. (Closes: #800911)
|
||||
* Add debian/patches/git_stylecontext-make-sure-valid.patch
|
||||
- patch from upstream git to fix crash with some themes (Closes: #800911)
|
||||
|
||||
-- Andreas Henriksson <andreas@fatal.se> Sat, 10 Oct 2015 18:10:30 +0200
|
||||
-- Andreas Henriksson <andreas@fatal.se> Sun, 11 Oct 2015 01:21:46 +0200
|
||||
|
||||
gtk+3.0 (3.18.1-1) unstable; urgency=medium
|
||||
|
||||
|
||||
@ -1,90 +0,0 @@
|
||||
From fb803ef386d1fe0da96eb57b5ce19ca90a3d360d Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Henriksson <andreas@fatal.se>
|
||||
Date: Sat, 10 Oct 2015 17:29:44 +0200
|
||||
Subject: [PATCH] Revert "stylecontext: Clear style property more frequently"
|
||||
|
||||
This reverts commit 3e5280ae4dfd1950dbd56a781dcdcf34a26d4294.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=756338
|
||||
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=800911
|
||||
|
||||
---
|
||||
gtk/gtkcsswidgetnode.c | 19 -------------------
|
||||
gtk/gtkstylecontext.c | 4 +++-
|
||||
gtk/gtkstylecontextprivate.h | 1 -
|
||||
3 files changed, 3 insertions(+), 21 deletions(-)
|
||||
|
||||
diff --git a/gtk/gtkcsswidgetnode.c b/gtk/gtkcsswidgetnode.c
|
||||
index 5e93101..fbd9fbb 100644
|
||||
--- a/gtk/gtkcsswidgetnode.c
|
||||
+++ b/gtk/gtkcsswidgetnode.c
|
||||
@@ -74,24 +74,6 @@ gtk_css_widget_node_queue_callback (GtkWidget *widget,
|
||||
return G_SOURCE_CONTINUE;
|
||||
}
|
||||
|
||||
-static GtkCssStyle *
|
||||
-gtk_css_widget_node_update_style (GtkCssNode *cssnode,
|
||||
- GtkCssChange change,
|
||||
- gint64 timestamp,
|
||||
- GtkCssStyle *style)
|
||||
-{
|
||||
- GtkCssWidgetNode *widget_node = GTK_CSS_WIDGET_NODE (cssnode);
|
||||
-
|
||||
- if (widget_node->widget != NULL)
|
||||
- {
|
||||
- GtkStyleContext *context = _gtk_widget_peek_style_context (widget_node->widget);
|
||||
- if (context)
|
||||
- gtk_style_context_clear_property_cache (context);
|
||||
- }
|
||||
-
|
||||
- return GTK_CSS_NODE_CLASS (gtk_css_widget_node_parent_class)->update_style (cssnode, change, timestamp, style);
|
||||
-}
|
||||
-
|
||||
static void
|
||||
gtk_css_widget_node_queue_validate (GtkCssNode *node)
|
||||
{
|
||||
@@ -271,7 +253,6 @@ gtk_css_widget_node_class_init (GtkCssWidgetNodeClass *klass)
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
object_class->finalize = gtk_css_widget_node_finalize;
|
||||
- node_class->update_style = gtk_css_widget_node_update_style;
|
||||
node_class->validate = gtk_css_widget_node_validate;
|
||||
node_class->queue_validate = gtk_css_widget_node_queue_validate;
|
||||
node_class->dequeue_validate = gtk_css_widget_node_dequeue_validate;
|
||||
diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c
|
||||
index 9a5587d..c658cff 100644
|
||||
--- a/gtk/gtkstylecontext.c
|
||||
+++ b/gtk/gtkstylecontext.c
|
||||
@@ -257,7 +257,7 @@ gtk_style_context_class_init (GtkStyleContextClass *klass)
|
||||
g_object_class_install_properties (object_class, LAST_PROP, properties);
|
||||
}
|
||||
|
||||
-void
|
||||
+static void
|
||||
gtk_style_context_clear_property_cache (GtkStyleContext *context)
|
||||
{
|
||||
GtkStyleContextPrivate *priv = context->priv;
|
||||
@@ -2422,6 +2422,8 @@ gtk_style_context_validate (GtkStyleContext *context,
|
||||
{
|
||||
if (!_gtk_bitmask_is_empty (changes))
|
||||
gtk_style_context_do_invalidate (context, changes);
|
||||
+
|
||||
+ gtk_style_context_clear_property_cache (context);
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/gtk/gtkstylecontextprivate.h b/gtk/gtkstylecontextprivate.h
|
||||
index 4ba27fe..c1faaba 100644
|
||||
--- a/gtk/gtkstylecontextprivate.h
|
||||
+++ b/gtk/gtkstylecontextprivate.h
|
||||
@@ -47,7 +47,6 @@ const GValue * _gtk_style_context_peek_style_property (GtkStyleContext *c
|
||||
GParamSpec *pspec);
|
||||
void gtk_style_context_validate (GtkStyleContext *context,
|
||||
const GtkBitmask*changes);
|
||||
-void gtk_style_context_clear_property_cache (GtkStyleContext *context);
|
||||
gboolean _gtk_style_context_check_region_name (const gchar *str);
|
||||
|
||||
gboolean _gtk_style_context_resolve_color (GtkStyleContext *context,
|
||||
--
|
||||
2.6.1
|
||||
|
||||
31
debian/patches/git_stylecontext-make-sure-valid.patch
vendored
Normal file
31
debian/patches/git_stylecontext-make-sure-valid.patch
vendored
Normal file
@ -0,0 +1,31 @@
|
||||
From bddc524cd84b76d1c25c7700eca9d3a25db30cf6 Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Otte <otte@redhat.com>
|
||||
Date: Sat, 10 Oct 2015 23:21:45 +0200
|
||||
Subject: stylecontext: Make sure style is valid when looking up style
|
||||
properties
|
||||
|
||||
Otherwise, the validation may happen vey automatically some time during
|
||||
the style property and that will most likely cause a crash.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=756338
|
||||
---
|
||||
gtk/gtkstylecontext.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/gtk/gtkstylecontext.c b/gtk/gtkstylecontext.c
|
||||
index 0217d55..5d059a0 100644
|
||||
--- a/gtk/gtkstylecontext.c
|
||||
+++ b/gtk/gtkstylecontext.c
|
||||
@@ -1557,6 +1557,9 @@ _gtk_style_context_peek_style_property (GtkStyleContext *context,
|
||||
|
||||
priv = context->priv;
|
||||
|
||||
+ /* ensure the style cache is valid by forcing a validation */
|
||||
+ gtk_style_context_lookup_style (context);
|
||||
+
|
||||
key.widget_type = widget_type;
|
||||
key.pspec = pspec;
|
||||
|
||||
--
|
||||
cgit v0.11.2
|
||||
|
||||
2
debian/patches/series
vendored
2
debian/patches/series
vendored
@ -7,4 +7,4 @@
|
||||
060_ignore-random-icons.patch
|
||||
071_fix-installation-of-HTML-images.patch
|
||||
reftest-known-fail.patch
|
||||
0001-Revert-stylecontext-Clear-style-property-more-freque.patch
|
||||
git_stylecontext-make-sure-valid.patch
|
||||
|
||||
Reference in New Issue
Block a user