desktop-shell: Do not try to add a child to a non-existent parent

Introduced with a8da2084, it seems that there are cases when there's no
parent available (zenity, for instance).

Removes any potential child and re-initialize it, in case the parent is
not set. (Simon Ser)

Fixes: #340

Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Reported-by: n3rdopolis <bluescreenavenger@gmail.com>
Status Job ID Name Coverage
  Container Prep
passed #1386176
container_prep

00:00:27

 
  Build
passed #1386177
build-native-meson-default-options

00:00:55

passed #1386178
build-native-meson-no-gl-renderer

00:00:41