pidgin/gtkaccount.c

changeset 35972
04fa195c585c
parent 35818
f01e2638301f
parent 35929
ada9d85d4e38
child 36019
b12e7444a0cb
equal deleted inserted replaced
35969:9571912ae4fc 35972:04fa195c585c
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

mercurial