comparison src/aim.c @ 392:df5127560034

[gaim-migrate @ 402] More updates to plugins committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Mon, 12 Jun 2000 13:07:53 +0000
parents cf895313fc50
children 9a436c1d128d
comparison
equal deleted inserted replaced
391:be408b41c172 392:df5127560034
76 #ifdef USE_APPLET 76 #ifdef USE_APPLET
77 set_applet_draw_closed(); 77 set_applet_draw_closed();
78 AppletCancelLogon(); 78 AppletCancelLogon();
79 gtk_widget_hide(mainwindow); 79 gtk_widget_hide(mainwindow);
80 #else 80 #else
81 #ifdef GAIM_PLUGINS
82 GList *c;
83 struct gaim_callback *g;
84 struct gaim_plugin *p;
85 void (*function)(void *);
86 void (*gaim_plugin_remove)();
87 char *error;
88
89 /* first we tell those who have requested it we're quitting */
90 c = callbacks;
91 while (c) {
92 g = (struct gaim_callback *)c->data;
93 if (g->event == event_quit && g->function != NULL) {
94 function = g->function;
95 (*function)(g->data);
96 }
97 c = c->next;
98 }
99
100 /* then we remove everyone in a mass suicide */
101 c = plugins;
102 while (c) {
103 p = (struct gaim_plugin *)c->data;
104 gaim_plugin_remove = dlsym(p->handle, "gaim_plugin_remove");
105 if ((error = (char *)dlerror()) == NULL)
106 (*gaim_plugin_remove)();
107 /* we don't need to worry about removing callbacks since
108 * there won't be any more chance to call them back :) */
109 dlclose(p->handle);
110 g_free(p->filename); /* why do i bother? */
111 g_free(p);
112 }
113 #endif /* GAIM_PLUGINS */
114
81 exit(0); 115 exit(0);
82 #endif /* USE_APPLET */ 116 #endif /* USE_APPLET */
83 } 117 }
84 118
85 void set_login_progress(int howfar, char *whattosay) 119 void set_login_progress(int howfar, char *whattosay)