comparison src/gtkprefs.c @ 8745:6c0fae7a4f1a

[gaim-migrate @ 9500] " fixed up an issue in the example plugin and a memory leak and some other code.." --Gary Kramlich committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Wed, 21 Apr 2004 21:05:08 +0000
parents 7024b595b6ae
children 7329d01bb770
comparison
equal deleted inserted replaced
8744:0f73e8204529 8745:6c0fae7a4f1a
355 if (ui_info->iter != NULL) { 355 if (ui_info->iter != NULL) {
356 g_free(ui_info->iter); 356 g_free(ui_info->iter);
357 ui_info->iter = NULL; 357 ui_info->iter = NULL;
358 } 358 }
359 } 359 }
360
361 if(GAIM_PLUGIN_HAS_PREF_FRAME(plug)) {
362 GaimPluginUiInfo *prefs_info;
363
364 prefs_info = GAIM_PLUGIN_UI_INFO(plug);
365
366 if(prefs_info->iter != NULL) {
367 g_free(prefs_info->iter);
368 prefs_info->iter = NULL;
369 }
370 }
360 } 371 }
361 } 372 }
362 373
363 static void pref_nb_select(GtkTreeSelection *sel, GtkNotebook *nb) { 374 static void pref_nb_select(GtkTreeSelection *sel, GtkNotebook *nb) {
364 GtkTreeIter iter; 375 GtkTreeIter iter;
1871 if (ui_info != NULL && ui_info->iter != NULL) { 1882 if (ui_info != NULL && ui_info->iter != NULL) {
1872 gtk_tree_store_remove(GTK_TREE_STORE(prefstree), ui_info->iter); 1883 gtk_tree_store_remove(GTK_TREE_STORE(prefstree), ui_info->iter);
1873 g_free(ui_info->iter); 1884 g_free(ui_info->iter);
1874 ui_info->iter = NULL; 1885 ui_info->iter = NULL;
1875 } 1886 }
1876 } else if (GAIM_PLUGIN_HAS_PREF_FRAME(plug)) { 1887 }
1888
1889 if (GAIM_PLUGIN_HAS_PREF_FRAME(plug)) {
1877 GaimPluginUiInfo *prefs_info; 1890 GaimPluginUiInfo *prefs_info;
1878 1891
1879 prefs_info = GAIM_PLUGIN_UI_INFO(plug); 1892 prefs_info = GAIM_PLUGIN_UI_INFO(plug);
1880 1893
1881 if(prefs_info != NULL && prefs_info->iter != NULL) { 1894 if(prefs_info != NULL) {
1882 gtk_tree_store_remove(GTK_TREE_STORE(prefstree), prefs_info->iter); 1895 if(prefs_info->iter != NULL) {
1883 g_free(prefs_info->iter); 1896 gtk_tree_store_remove(GTK_TREE_STORE(prefstree), prefs_info->iter);
1884 prefs_info->iter = NULL; 1897 g_free(prefs_info->iter);
1898 prefs_info->iter = NULL;
1899 }
1885 } 1900 }
1886 } 1901 }
1887 1902
1888 gaim_plugin_unload(plug); 1903 gaim_plugin_unload(plug);
1889 } 1904 }
2524 &plugin_iter, notebook_page++); 2539 &plugin_iter, notebook_page++);
2525 } 2540 }
2526 } 2541 }
2527 2542
2528 if(GAIM_PLUGIN_HAS_PREF_FRAME(plug)) { 2543 if(GAIM_PLUGIN_HAS_PREF_FRAME(plug)) {
2529 GtkWidget *pref_frame; 2544 GtkWidget *gtk_frame;
2545 GaimPluginPrefFrame *pp_frame;
2530 GaimPluginUiInfo *prefs_info; 2546 GaimPluginUiInfo *prefs_info;
2531 2547
2532 prefs_info = GAIM_PLUGIN_UI_INFO(plug); 2548 prefs_info = GAIM_PLUGIN_UI_INFO(plug);
2533 pref_frame = gaim_gtk_plugin_pref_create_frame(prefs_info->get_plugin_pref_frame(plug)); 2549 pp_frame = prefs_info->get_plugin_pref_frame(plug);
2534 2550 gtk_frame = gaim_gtk_plugin_pref_create_frame(pp_frame);
2535 if(pref_frame != NULL) { 2551 gaim_plugin_pref_frame_destroy(pp_frame);
2552
2553 if(GTK_IS_WIDGET(gtk_frame)) {
2536 prefs_info->iter = g_new0(GtkTreeIter, 1); 2554 prefs_info->iter = g_new0(GtkTreeIter, 1);
2537 prefs_notebook_add_page(_(plug->info->name), NULL, 2555 prefs_notebook_add_page(_(plug->info->name), NULL,
2538 pref_frame, prefs_info->iter, 2556 gtk_frame, prefs_info->iter,
2539 (plug->info->type == GAIM_PLUGIN_PROTOCOL) ? &proto_iter : &plugin_iter, 2557 (plug->info->type == GAIM_PLUGIN_PROTOCOL) ? &proto_iter : &plugin_iter,
2540 notebook_page++); 2558 notebook_page++);
2541 } 2559 }
2542 } 2560 }
2543 } 2561 }
2986 gaim_prefs_rename("/core/conversations/placement", 3004 gaim_prefs_rename("/core/conversations/placement",
2987 "/gaim/gtk/conversations/placement"); 3005 "/gaim/gtk/conversations/placement");
2988 gaim_prefs_rename_boolean_toggle("/gaim/gtk/sound/silent_signon", 3006 gaim_prefs_rename_boolean_toggle("/gaim/gtk/sound/silent_signon",
2989 "/gaim/gtk/sound/signon"); 3007 "/gaim/gtk/sound/signon");
2990 } 3008 }
2991