Mercurial > pidgin
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) |