|
|
f3cbb9 |
From dd90faeddf9074e814dbc44d201ee131af198741 Mon Sep 17 00:00:00 2001
|
|
|
f3cbb9 |
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
|
|
|
f3cbb9 |
Date: Wed, 22 Mar 2017 01:26:08 +0100
|
|
|
f3cbb9 |
Subject: [PATCH] st: Add missing %NULL check
|
|
|
f3cbb9 |
|
|
|
f3cbb9 |
st_theme_node_get_border_image() may return %NULL, leading to a
|
|
|
f3cbb9 |
segfault in st_border_image_get_file() when glib is compiled with
|
|
|
f3cbb9 |
G_DISABLE_CHECKS.
|
|
|
f3cbb9 |
---
|
|
|
f3cbb9 |
src/st/st-widget.c | 4 +++-
|
|
|
f3cbb9 |
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
|
f3cbb9 |
|
|
|
f3cbb9 |
diff --git a/src/st/st-widget.c b/src/st/st-widget.c
|
|
|
f3cbb9 |
index 002249d25..db984ac9b 100644
|
|
|
f3cbb9 |
--- a/src/st/st-widget.c
|
|
|
f3cbb9 |
+++ b/src/st/st-widget.c
|
|
|
f3cbb9 |
@@ -290,6 +290,7 @@ st_widget_texture_cache_changed (StTextureCache *cache,
|
|
|
f3cbb9 |
StWidget *actor = ST_WIDGET (user_data);
|
|
|
f3cbb9 |
StWidgetPrivate *priv = st_widget_get_instance_private (actor);
|
|
|
f3cbb9 |
StThemeNode *node = priv->theme_node;
|
|
|
f3cbb9 |
+ StBorderImage *border_image;
|
|
|
f3cbb9 |
gboolean changed = FALSE;
|
|
|
f3cbb9 |
GFile *theme_file;
|
|
|
f3cbb9 |
|
|
|
f3cbb9 |
@@ -303,7 +304,8 @@ st_widget_texture_cache_changed (StTextureCache *cache,
|
|
|
f3cbb9 |
changed = TRUE;
|
|
|
f3cbb9 |
}
|
|
|
f3cbb9 |
|
|
|
f3cbb9 |
- theme_file = st_border_image_get_file (st_theme_node_get_border_image (node));
|
|
|
f3cbb9 |
+ border_image = st_theme_node_get_border_image (node);
|
|
|
f3cbb9 |
+ theme_file = border_image ? st_border_image_get_file (border_image) : NULL;
|
|
|
f3cbb9 |
if ((theme_file != NULL) && g_file_equal (theme_file, file))
|
|
|
f3cbb9 |
{
|
|
|
f3cbb9 |
st_theme_node_invalidate_border_image (node);
|
|
|
f3cbb9 |
--
|
|
|
f3cbb9 |
2.12.0
|
|
|
f3cbb9 |
|