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