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;
+ }
}
}
/* 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,