free((void *)splashscreen->indicatordisplay);
if (splashscreen->operation)
free((void *)splashscreen->operation);
+ if (splashscreen->color_depth)
+ free((void *)splashscreen->color_depth);
free((void *)splashscreen);
}
+/* FIXME */
+static void __ps_free_support_size(gpointer data)
+{
+ support_size_x *support_size = (support_size_x *)data;
+ if (support_size == NULL)
+ return;
+ if (support_size->preview)
+ free((void *)support_size->preview);
+ if (support_size->size)
+ free((void *)support_size->size);
+ free((void *)support_size);
+}
+
+static void __ps_free_privilege(gpointer data)
+{
+ privilege_x *privilege = (privilege_x *)data;
+ if (privilege->type)
+ free((void *)privilege->type);
+ if (privilege->value)
+ free((void *)privilege->value);
+ free((void *)privilege);
+}
+
static void __ps_free_application(gpointer data)
{
application_x *application = (application_x *)data;
free((void *)application->support_disable);
if (application->tep_name)
free((void *)application->tep_name);
+ if (application->zip_mount_file)
+ free((void *)application->zip_mount_file);
if (application->root_path)
free((void *)application->root_path);
if (application->api_version)
free((void *)application->for_all_users);
if (application->effective_appid)
free((void *)application->effective_appid);
+ if (application->is_disabled)
+ free((void *)application->is_disabled);
+ if (application->splash_screen_display)
+ free((void *)application->splash_screen_display);
+ if (application->effectimage_type)
+ free((void *)application->effectimage_type);
+ if (application->package_type)
+ free((void *)application->package_type);
+ if (application->ambient_support)
+ free((void *)application->ambient_support);
+ if (application->alias_appid)
+ free((void *)application->alias_appid);
+ if (application->external_path)
+ free((void *)application->external_path);
/*Free Label*/
g_list_free_full(application->label, __ps_free_label);
g_list_free_full(application->background_category, free);
/*Free SplashScreen*/
g_list_free_full(application->splashscreens, __ps_free_splashscreen);
+ /* FIXME */
+ g_list_free_full(application->support_sizes, __ps_free_support_size);
free((void *)application);
}
free((void *)package->support_disable);
if (package->tep_name)
free((void *)package->tep_name);
+ if (package->zip_mount_file)
+ free((void *)package->zip_mount_file);
+ if (package->external_path)
+ free((void *)package->external_path);
/*Free Icon*/
g_list_free_full(package->icon, __ps_free_icon);
/*Free License*/
g_list_free_full(package->license, __ps_free_license);
/*Free Privileges*/
- g_list_free_full(package->privileges, free);
+ g_list_free_full(package->privileges, __ps_free_privilege);
/*Free Application*/
g_list_free_full(package->application, __ps_free_application);
/*Free Compatibility*/