Merge branch 'master' of https://vcs.maemo.org/git/livewp
[livewp] / applet / src / livewp-scene.c
index 3cf4667..d249be0 100644 (file)
 void 
 destroy_scene(AWallpaperPlugin *desktop_plugin)
 {
-    GSList * tmp = desktop_plugin->priv->scene->actors;
-    while (tmp != NULL){
-        destroy_actor(tmp->data);
-        tmp = g_slist_next(tmp);
-    }
-    g_slist_free(tmp);
-    desktop_plugin->priv->scene->actors = NULL;
     if (desktop_plugin->priv->scene){
-       g_free(desktop_plugin->priv->scene);
-       desktop_plugin->priv->scene = NULL;
+           GSList * tmp = desktop_plugin->priv->scene->actors;
+           while (tmp != NULL){
+               destroy_actor(tmp->data);
+               tmp = g_slist_next(tmp);
+           }
+           if (tmp)
+               g_slist_free(tmp);
+           desktop_plugin->priv->scene->actors = NULL;
+           if (desktop_plugin->priv->scene){
+               g_free(desktop_plugin->priv->scene);
+               desktop_plugin->priv->scene = NULL;
+           }
     }
 }
 
@@ -159,13 +162,12 @@ init_scene_Modern(AWallpaperPlugin *desktop_plugin)
   /* init value for random */
   scene->seed = time(NULL);
   desktop_plugin->priv->scene = scene;
-
   actor = init_object(desktop_plugin, "sky", "sky0.png", 
                       0, 0, 5, 800, 480, 
                       TRUE , TRUE, 100, 255, 
                       (gpointer)&change_static_actor, NULL, NULL);
-  change_static_actor(actor, desktop_plugin);
   scene->actors = g_slist_append(scene->actors, actor);
+  change_static_actor(actor, desktop_plugin);
   
   actor = init_object(desktop_plugin, "sun", "sun.png", 
                       0, 0, 6, 88, 88,