diff src/pluginpref.c @ 8745:6c0fae7a4f1a

[gaim-migrate @ 9500] " fixed up an issue in the example plugin and a memory leak and some other code.." --Gary Kramlich committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Wed, 21 Apr 2004 21:05:08 +0000
parents 7024b595b6ae
children ffb333368cdc
line wrap: on
line diff
--- a/src/pluginpref.c	Wed Apr 21 21:01:42 2004 +0000
+++ b/src/pluginpref.c	Wed Apr 21 21:05:08 2004 +0000
@@ -58,19 +58,19 @@
 void
 gaim_plugin_pref_frame_destroy(GaimPluginPrefFrame *frame) {
 	GaimPluginPref *pref;
-	GList *l, *ll;
+	GList *l;
 
 	g_return_if_fail(frame);
 
-	for(l = frame->prefs; l != NULL; l = ll) {
-		ll = l->next;
-
+	for(l = frame->prefs; l != NULL; l = l->next) {
 		pref = (GaimPluginPref *)l->data;
 		gaim_plugin_pref_destroy(pref);
-
-		g_list_free_1(l);
 	}
 
+	g_list_free(frame->prefs);
+	frame->prefs = NULL;
+
+	g_free(frame);
 	frame = NULL;
 }
 
@@ -79,11 +79,14 @@
 	g_return_if_fail(frame);
 	g_return_if_fail(pref);
 
-	frame->prefs = g_list_append(frame->prefs, (gpointer)pref);
+	frame->prefs = g_list_append(frame->prefs, pref);
 }
 
 GList *
 gaim_plugin_pref_frame_get_prefs(GaimPluginPrefFrame *frame) {
+	g_return_val_if_fail(frame, NULL);
+	g_return_val_if_fail(frame->prefs, NULL);
+
 	return frame->prefs;
 }
 
@@ -140,20 +143,19 @@
 
 	g_return_if_fail(pref);
 
-	if(pref->name)
+	if(pref->name) {
 		g_free(pref->name);
-
-	if(pref->label)
-		g_free(pref->label);
+		pref->name = NULL;
+	}
 
-	l = pref->choices;
-	while(l) {
-		ll = l->next;
+	if(pref->label) {
+		g_free(pref->label);
+		pref->label = NULL;
+	}
 
-		g_free(l->data);
-		g_list_free_1(l);
-
-		l = l->next;
+	if(pref->choices) {
+		g_list_free(pref->choices);
+		pref->choices = NULL;
 	}
 
 	g_free(pref);
@@ -258,16 +260,6 @@
 	pref->choices = g_list_append(pref->choices, choice);
 }
 
-gpointer
-gaim_plugin_pref_get_choice(GaimPluginPref *pref, unsigned int index) {
-	g_return_val_if_fail(pref, NULL);
-
-	if(index > g_list_length(pref->choices))
-		return NULL;
-
-	return g_list_nth_data(pref->choices, index);
-}
-
 GList *
 gaim_plugin_pref_get_choices(GaimPluginPref *pref) {
 	g_return_val_if_fail(pref, NULL);