st: Be more forgiving when calling get_theme_node() on unstaged widgets

While it is obviously still an error to call get_theme_node() on a
widget that hasn't been added to the stage hierarchy yet, asserting
on it hasn't proven too successful in avoiding those errors - it's
likely the most frequent reason for crash reports. Just accept that
there'll always be code paths where we can hit this case and make
it non-fatal.

https://bugzilla.gnome.org/show_bug.cgi?id=610279
This commit is contained in:
Florian Müllner 2013-06-24 18:09:04 +02:00
parent 8d47afb195
commit e70c0d3e2d

View File

@ -643,8 +643,9 @@ st_widget_get_theme_node (StWidget *widget)
if (stage == NULL) if (stage == NULL)
{ {
g_error ("st_widget_get_theme_node called on the widget %s which is not in the stage.", g_critical ("st_widget_get_theme_node called on the widget %s which is not in the stage.",
st_describe_actor (CLUTTER_ACTOR (widget))); st_describe_actor (CLUTTER_ACTOR (widget)));
return g_object_new (ST_TYPE_THEME_NODE, NULL);
} }
if (parent_node == NULL) if (parent_node == NULL)