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;
work = work->next;
}
+ g_warning("Notify func not found");
return FALSE;
}
g_signal_connect(G_OBJECT(vd->view), "button_release_event",
G_CALLBACK(vd_release_cb), vd);
- if (dir_fd) vd_set_fd(vd, dir_fd);
-
file_data_register_notify_func(vd_notify_cb, vd, NOTIFY_PRIORITY_HIGH);
+ /* vd_set_fd expects that vd_notify_cb is already registered */
+ if (dir_fd) vd_set_fd(vd, dir_fd);
+
gtk_widget_show(vd->view);
return vd;