* 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
|
* Add debian/patches/git_stylecontext-make-sure-valid.patch
|
||||||
- temporarily revert commit causing regression while waiting for
|
- patch from upstream git to fix crash with some themes (Closes: #800911)
|
||||||
upstream to comment on proper solution. (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
|
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
|
060_ignore-random-icons.patch
|
||||||
071_fix-installation-of-HTML-images.patch
|
071_fix-installation-of-HTML-images.patch
|
||||||
reftest-known-fail.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