st-bin: set priv->child to NULL after destroy
WARNING PR from someone who has no insights into the inner-magic working of gnome-shell & clutter! Please verify if this makes sense!
What is this about?
I have a lot of problems using the extension "material-shell" when closing workspaces (workspace actor).
After looking into the issue and saw that the method st_bin_destroy(ClutterActor *actor)
(st-bin.c#L200) is using the method clutter_actor_destroy(ClutterActor *self)
(clutter-actor.c#L8569).
When comparing it with other usages of clutter_actor_destroy()
it looks like that the st_bin_destroy()
is missing the step to set the priv->child
pointer to NULL.
Search clutter_actor_destroy
in this project.
Questions
- Is
st_bin_destroy()
missing the NULL setter? - Or, is "material-shell" missing a step to unset the
priv->child
?
Related issue & logs
St:ERROR:../gnome-shell/src/st/st-bin.c:206:st_bin_destroy: assertion failed: (priv->child == NULL)
Bail out! St:ERROR:../gnome-shell/src/st/st-bin.c:206:st_bin_destroy: assertion failed: (priv->child == NULL)
== Stack trace for context 0x559f0f638170 ==
#0 559f1063d218 i /home/mickare/.local/share/gnome-shell/extensions/material-shell@papyelgringo/extension.js:8308 (3da112fe6ec0 @ 110)
ANOM_ABEND auid=1000 uid=1000 gid=1000 ses=4 subj==unconfined pid=2257 comm="gnome-shell" exe="/usr/bin/gnome-shell" sig=6 res=1
#1 559f1063d168 i /home/mickare/.local/share/gnome-shell/extensions/material-shell@papyelgringo/extension.js:9020 (3da112fe51f0 @ 114)
#2 559f1063d0d8 i /home/mickare/.local/share/gnome-shell/extensions/material-shell@papyelgringo/extension.js:8807 (3da112fe5bf0 @ 16)
#3 7ffcc04d69e0 b /home/mickare/.local/share/gnome-shell/extensions/material-shell@papyelgringo/extension.js:8778 (3da112fe5d80 @ 1312)
#4 7ffcc04d7100 b /home/mickare/.local/share/gnome-shell/extensions/material-shell@papyelgringo/extension.js:9032 (3da112fe5150 @ 17)
Running GNOME Shell (using mutter 41.1) as a Wayland display server
Edited by Michael Käser