diff src/filedata.c @ 1730:67145eade000

fixed vd_notify_cb leak
author nadvornik
date Fri, 28 Aug 2009 23:09:05 +0000
parents 672ee190869e
children 77415a49cd99
line wrap: on
line diff
--- a/src/filedata.c	Fri Aug 28 21:01:29 2009 +0000
+++ b/src/filedata.c	Fri Aug 28 23:09:05 2009 +0000
@@ -2549,6 +2549,19 @@
 gboolean file_data_register_notify_func(FileDataNotifyFunc func, gpointer data, NotifyPriority priority)
 {
 	NotifyData *nd;
+	GList *work = notify_func_list;
+	
+	while (work)
+		{
+		NotifyData *nd = (NotifyData *)work->data;
+	
+		if (nd->func == func && nd->data == data)
+			{
+			g_warning("Notify func already registered");
+			return FALSE;
+			}
+		work = work->next;
+		}
 	
 	nd = g_new(NotifyData, 1);
 	nd->func = func;
@@ -2579,6 +2592,7 @@
 		work = work->next;
 		}
 
+	g_warning("Notify func not found");
 	return FALSE;
 }