| 239 |
239 |
| 240 dialog->plugin = new_plugin; |
240 dialog->plugin = new_plugin; |
| 241 |
241 |
| 242 if (dialog->plugin != NULL) |
242 if (dialog->plugin != NULL) |
| 243 { |
243 { |
| |
244 PurplePlugin *old_plugin = NULL; |
| |
245 |
| 244 dialog->prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(dialog->plugin); |
246 dialog->prpl_info = PURPLE_PLUGIN_PROTOCOL_INFO(dialog->plugin); |
| 245 |
247 |
| 246 g_free(dialog->protocol_id); |
248 if (dialog->protocol_id) |
| 247 dialog->protocol_id = g_strdup(dialog->plugin->info->id); |
249 old_plugin = purple_find_prpl(dialog->protocol_id); |
| |
250 |
| |
251 if (old_plugin != new_plugin) { |
| |
252 g_free(dialog->protocol_id); |
| |
253 dialog->protocol_id = g_strdup(dialog->plugin->info->id); |
| |
254 } |
| 248 } |
255 } |
| 249 |
256 |
| 250 if (dialog->account != NULL) |
257 if (dialog->account != NULL) |
| 251 purple_account_clear_settings(dialog->account); |
258 purple_account_clear_settings(dialog->account); |
| 252 |
259 |