Mercurial > pidgin
comparison src/core.c @ 9633:81b31af2752d
[gaim-migrate @ 10477]
[ gaim-Bugs-847795 ] HTML log files not closed properly on exit
The fix is twofold. First, make gaim_conversations_uninit, destroy conversation
windows. Second, reorder things in core_quit, to keep plugins loaded until the
end and to keep the gtk main loop from quitting until after everything else
is uninitialized.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Sun, 01 Aug 2004 17:12:13 +0000 |
parents | f24172f53650 |
children | ce434e22edf2 |
comparison
equal
deleted
inserted
replaced
9632:885bba4f9d3b | 9633:81b31af2752d |
---|---|
109 | 109 |
110 g_return_if_fail(core != NULL); | 110 g_return_if_fail(core != NULL); |
111 | 111 |
112 ops = gaim_core_get_ui_ops(); | 112 ops = gaim_core_get_ui_ops(); |
113 | 113 |
114 if (ops != NULL && ops->quit != NULL) | |
115 ops->quit(); | |
116 | |
117 /* The self destruct sequence has been initiated */ | 114 /* The self destruct sequence has been initiated */ |
118 gaim_signal_emit(gaim_get_core(), "quitting"); | 115 gaim_signal_emit(gaim_get_core(), "quitting"); |
119 | 116 |
120 /* Transmission ends */ | 117 /* Transmission ends */ |
121 gaim_connections_disconnect_all(); | 118 gaim_connections_disconnect_all(); |
122 | 119 |
123 gaim_debug(GAIM_DEBUG_INFO, "main", "Unloading all plugins\n"); | 120 gaim_debug(GAIM_DEBUG_INFO, "main", "Unloading all plugins\n"); |
124 gaim_plugins_destroy_all(); | |
125 | 121 |
126 /* Save .xml files, remove signals, etc. */ | 122 /* Save .xml files, remove signals, etc. */ |
127 gaim_ssl_uninit(); | 123 gaim_ssl_uninit(); |
128 gaim_pounces_uninit(); | 124 gaim_pounces_uninit(); |
129 gaim_blist_uninit(); | 125 gaim_blist_uninit(); |
133 gaim_accounts_uninit(); | 129 gaim_accounts_uninit(); |
134 gaim_prefs_uninit(); | 130 gaim_prefs_uninit(); |
135 | 131 |
136 gaim_signals_uninit(); | 132 gaim_signals_uninit(); |
137 | 133 |
134 gaim_plugins_destroy_all(); | |
135 | |
138 if (core->ui != NULL) { | 136 if (core->ui != NULL) { |
139 g_free(core->ui); | 137 g_free(core->ui); |
140 core->ui = NULL; | 138 core->ui = NULL; |
141 } | 139 } |
142 | 140 |
143 g_free(core); | 141 g_free(core); |
144 | 142 |
145 _core = NULL; | 143 _core = NULL; |
144 | |
145 if (ops != NULL && ops->quit != NULL) | |
146 ops->quit(); | |
147 | |
146 } | 148 } |
147 | 149 |
148 gboolean | 150 gboolean |
149 gaim_core_quit_cb(gpointer unused) | 151 gaim_core_quit_cb(gpointer unused) |
150 { | 152 { |