Florian Müllner 3d573ac
From ace549c1bf1861b4cbaec6f2451a6341aa738bae Mon Sep 17 00:00:00 2001
Florian Müllner 3d573ac
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Florian Müllner 3d573ac
Date: Mon, 24 Jun 2013 18:09:04 +0200
Florian Müllner 3d573ac
Subject: [PATCH] st: Be more forgiving when calling get_theme_node() on
Florian Müllner 3d573ac
 unstaged widgets
Florian Müllner 3d573ac
Florian Müllner 3d573ac
While it is obviously still an error to call get_theme_node() on a
Florian Müllner 3d573ac
widget that hasn't been added to the stage hierarchy yet, asserting
Florian Müllner 3d573ac
on it hasn't proven too successful in avoiding those errors - it's
Florian Müllner 3d573ac
likely the most frequent reason for crash reports. Just accept that
Florian Müllner 3d573ac
there'll always be code paths where we can hit this case and make
Florian Müllner 3d573ac
it non-fatal.
Florian Müllner 3d573ac
Florian Müllner 3d573ac
https://bugzilla.gnome.org/show_bug.cgi?id=610279
Florian Müllner 3d573ac
---
Florian Müllner 3d573ac
 src/st/st-widget.c | 5 +++--
Florian Müllner 3d573ac
 1 file changed, 3 insertions(+), 2 deletions(-)
Florian Müllner 3d573ac
Florian Müllner 3d573ac
diff --git a/src/st/st-widget.c b/src/st/st-widget.c
Florian Müllner 3d573ac
index 42992ec..4875acc 100644
Florian Müllner 3d573ac
--- a/src/st/st-widget.c
Florian Müllner 3d573ac
+++ b/src/st/st-widget.c
Florian Müllner 3d573ac
@@ -608,8 +608,9 @@ st_widget_get_theme_node (StWidget *widget)
Florian Müllner 3d573ac
 
Florian Müllner 3d573ac
       if (stage == NULL)
Florian Müllner 3d573ac
         {
Florian Müllner 3d573ac
-          g_error ("st_widget_get_theme_node called on the widget %s which is not in the stage.",
Florian Müllner 3d573ac
-                    st_describe_actor (CLUTTER_ACTOR (widget)));
Florian Müllner 3d573ac
+          g_critical ("st_widget_get_theme_node called on the widget %s which is not in the stage.",
Florian Müllner 3d573ac
+                      st_describe_actor (CLUTTER_ACTOR (widget)));
Florian Müllner 3d573ac
+          return g_object_new (ST_TYPE_THEME_NODE, NULL);
Florian Müllner 3d573ac
         }
Florian Müllner 3d573ac
 
Florian Müllner 3d573ac
       if (parent_node == NULL)
Florian Müllner 3d573ac
-- 
Florian Müllner 3d573ac
1.8.3.1
Florian Müllner 3d573ac