From a2db58369967715c00f0c49905198db282fc257a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20K=C3=B6hler?= Date: Sat, 5 Aug 2006 09:18:26 +0000 Subject: [PATCH] Unref all new stores. git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@14592 57a11ea4-9604-0410-9ed3-97b8803252fd --- ChangeLog | 2 ++ src/business/business-gnome/dialog-billterms.c | 1 + src/business/dialog-tax-table/dialog-tax-table.c | 2 ++ src/gnome-search/dialog-search.c | 1 + src/gnome-search/search-core-utils.c | 1 + src/gnome-utils/dialog-commodity.c | 1 + src/gnome-utils/dialog-options.c | 1 + src/gnome-utils/gnc-account-sel.c | 1 + src/gnome-utils/gnc-druid-provider-multifile-gnome.c | 1 + src/gnome/dialog-tax-info.c | 3 +++ src/gnome/druid-loan.c | 1 + src/gnome/druid-stock-split.c | 1 + src/gnome/gnc-plugin-budget.c | 1 + src/gnome/lot-viewer.c | 1 + src/import-export/gnc-import-format-gnome.c | 1 + src/import-export/hbci/dialog-hbcitrans.c | 1 + src/import-export/hbci/druid-hbci-initial.c | 1 + src/import-export/import-main-matcher.c | 1 + src/import-export/import-match-picker.c | 2 ++ src/import-export/qif-import/dialog-account-picker.c | 1 + src/import-export/qif-import/druid-qif-import.c | 4 ++++ src/register/register-gnome/gnucash-item-list.c | 3 +++ src/report/report-gnome/dialog-column-view.c | 2 ++ src/report/report-gnome/dialog-style-sheet.c | 1 + 24 files changed, 35 insertions(+) diff --git a/ChangeLog b/ChangeLog index fd8e2b597c..24f93344bd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2006-08-05 Andreas Köhler + * various: Unref all new stores. + * src/gnome-utils/dialog-account.c: Check for account type compatibility when creating a new account. Fixes 344966. diff --git a/src/business/business-gnome/dialog-billterms.c b/src/business/business-gnome/dialog-billterms.c index eba9c8c787..5521aee886 100644 --- a/src/business/business-gnome/dialog-billterms.c +++ b/src/business/business-gnome/dialog-billterms.c @@ -705,6 +705,7 @@ gnc_ui_billterms_window_new (GNCBook *book) view = GTK_TREE_VIEW(btw->terms_view); store = gtk_list_store_new (NUM_BILL_TERM_COLS, G_TYPE_STRING, G_TYPE_POINTER); gtk_tree_view_set_model(view, GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes("", renderer, diff --git a/src/business/dialog-tax-table/dialog-tax-table.c b/src/business/dialog-tax-table/dialog-tax-table.c index ec8b2482e2..eff8f66f2d 100644 --- a/src/business/dialog-tax-table/dialog-tax-table.c +++ b/src/business/dialog-tax-table/dialog-tax-table.c @@ -686,6 +686,7 @@ gnc_ui_tax_table_window_new (GNCBook *book) store = gtk_list_store_new (NUM_TAX_TABLE_COLS, G_TYPE_STRING, G_TYPE_POINTER); gtk_tree_view_set_model(view, GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes("", renderer, @@ -703,6 +704,7 @@ gnc_ui_tax_table_window_new (GNCBook *book) store = gtk_list_store_new (NUM_TAX_ENTRY_COLS, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_STRING); gtk_tree_view_set_model(view, GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes("", renderer, diff --git a/src/gnome-search/dialog-search.c b/src/gnome-search/dialog-search.c index 814d347342..229b5cc1d4 100644 --- a/src/gnome-search/dialog-search.c +++ b/src/gnome-search/dialog-search.c @@ -646,6 +646,7 @@ get_element_widget (GNCSearchWindow *sw, GNCSearchCoreType *element) store = gtk_list_store_new(NUM_SEARCH_COLS, G_TYPE_STRING, G_TYPE_POINTER); combo_box = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store)); + g_object_unref(store); cell = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT (combo_box), cell, TRUE); diff --git a/src/gnome-search/search-core-utils.c b/src/gnome-search/search-core-utils.c index 2315813531..a12a26ae59 100644 --- a/src/gnome-search/search-core-utils.c +++ b/src/gnome-search/search-core-utils.c @@ -58,6 +58,7 @@ gnc_combo_box_new_search (void) store = gtk_list_store_new(NUM_GNC_COMBO_SEARCH_COLS, G_TYPE_STRING, G_TYPE_UINT); combo = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, TRUE); diff --git a/src/gnome-utils/dialog-commodity.c b/src/gnome-utils/dialog-commodity.c index 55a0c2f03a..ce4c4b8cf3 100644 --- a/src/gnome-utils/dialog-commodity.c +++ b/src/gnome-utils/dialog-commodity.c @@ -773,6 +773,7 @@ gnc_ui_source_menu_create(QuoteSourceType type) } combo = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combo), renderer, TRUE); gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(combo), renderer, diff --git a/src/gnome-utils/dialog-options.c b/src/gnome-utils/dialog-options.c index 45abdf7062..2030759a04 100644 --- a/src/gnome-utils/dialog-options.c +++ b/src/gnome-utils/dialog-options.c @@ -966,6 +966,7 @@ gnc_option_create_list_widget(GNCOption *option, char *name, GtkTooltips *toolti store = gtk_list_store_new(1, G_TYPE_STRING); view = GTK_TREE_VIEW(gtk_tree_view_new_with_model(GTK_TREE_MODEL(store))); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes("", renderer, "text", 0, diff --git a/src/gnome-utils/gnc-account-sel.c b/src/gnome-utils/gnc-account-sel.c index 3a177cfd0a..f797fd9c45 100644 --- a/src/gnome-utils/gnc-account-sel.c +++ b/src/gnome-utils/gnc-account-sel.c @@ -146,6 +146,7 @@ gnc_account_sel_init (GNCAccountSel *gas) gas->combo = GTK_COMBO_BOX_ENTRY(widget); gtk_combo_box_set_model(GTK_COMBO_BOX(widget), GTK_TREE_MODEL(gas->store)); + g_object_unref(gas->store); gtk_container_add( GTK_CONTAINER(gas), widget ); /* Add completion. */ diff --git a/src/gnome-utils/gnc-druid-provider-multifile-gnome.c b/src/gnome-utils/gnc-druid-provider-multifile-gnome.c index 975011cc43..487c2479d7 100644 --- a/src/gnome-utils/gnc-druid-provider-multifile-gnome.c +++ b/src/gnome-utils/gnc-druid-provider-multifile-gnome.c @@ -265,6 +265,7 @@ gnc_druid_pf_gnome_build(GNCDruid* druid, GNCDruidProviderDesc* desc) /* Set up the file view */ store = gtk_list_store_new (NUM_FILE_COLS, G_TYPE_STRING, G_TYPE_POINTER); gtk_tree_view_set_model(GTK_TREE_VIEW(view), GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes("", renderer, diff --git a/src/gnome/dialog-tax-info.c b/src/gnome/dialog-tax-info.c index 83e1bc77cb..d694122ca8 100644 --- a/src/gnome/dialog-tax-info.c +++ b/src/gnome/dialog-tax-info.c @@ -227,6 +227,7 @@ load_category_list (TaxInfoDialog *ti_dialog) view = GTK_TREE_VIEW(ti_dialog->txf_category_view); store = GTK_LIST_STORE(gtk_tree_view_get_model(view)); + g_object_ref(store); gtk_tree_view_set_model(view, NULL); gtk_list_store_clear(store); @@ -244,6 +245,7 @@ load_category_list (TaxInfoDialog *ti_dialog) } gtk_tree_view_set_model(view, GTK_TREE_MODEL(store)); + g_object_unref(store); } static void @@ -706,6 +708,7 @@ gnc_tax_info_dialog_create (GtkWidget * parent, TaxInfoDialog *ti_dialog) tree_view = GTK_TREE_VIEW(glade_xml_get_widget(xml, "txf_category_view")); store = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_view_set_model(tree_view, GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes (_("Form"), renderer, "text", 0, NULL); diff --git a/src/gnome/druid-loan.c b/src/gnome/druid-loan.c index b72696d90a..7f31a03cf5 100644 --- a/src/gnome/druid-loan.c +++ b/src/gnome/druid-loan.c @@ -1774,6 +1774,7 @@ ld_rev_prep( GnomeDruidPage *gdp, gpointer arg1, gpointer ud ) ldd->revView = GTK_TREE_VIEW( gtk_tree_view_new_with_model( GTK_TREE_MODEL(store) )); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(_("Date"), renderer, diff --git a/src/gnome/druid-stock-split.c b/src/gnome/druid-stock-split.c index 86a1b776e9..caedab8767 100644 --- a/src/gnome/druid-stock-split.c +++ b/src/gnome/druid-stock-split.c @@ -603,6 +603,7 @@ gnc_stock_split_druid_create (StockSplitInfo *info) store = gtk_list_store_new(NUM_SPLIT_COLS, G_TYPE_POINTER, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); gtk_tree_view_set_model(view, GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(_("Account"), renderer, diff --git a/src/gnome/gnc-plugin-budget.c b/src/gnome/gnc-plugin-budget.c index d95874bc04..5f8ffccd51 100644 --- a/src/gnome/gnc-plugin-budget.c +++ b/src/gnome/gnc-plugin-budget.c @@ -225,6 +225,7 @@ gnc_budget_gui_select_budget(QofBook *book) gtk_tree_selection_set_mode(sel, GTK_SELECTION_BROWSE); tm = gnc_tree_model_budget_new(book); gnc_tree_view_budget_set_model(tv, tm); + g_object_unref(tm); gtk_container_add(GTK_CONTAINER(dlg->vbox), GTK_WIDGET(tv)); gtk_widget_show_all(GTK_WIDGET(dlg)); diff --git a/src/gnome/lot-viewer.c b/src/gnome/lot-viewer.c index cbe9b1acb2..441adac4ff 100644 --- a/src/gnome/lot-viewer.c +++ b/src/gnome/lot-viewer.c @@ -602,6 +602,7 @@ lv_init_lot_view (GNCLotViewer *lv) G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER); gtk_tree_view_set_model(view, GTK_TREE_MODEL(store)); + g_object_unref(store); lv->lot_store = store; /* Set up the columns */ diff --git a/src/import-export/gnc-import-format-gnome.c b/src/import-export/gnc-import-format-gnome.c index 78e1e30522..02101a256a 100644 --- a/src/import-export/gnc-import-format-gnome.c +++ b/src/import-export/gnc-import-format-gnome.c @@ -95,6 +95,7 @@ make_menu (GNCImportProvFormatGnome *prov_f, GncImportFormat formats) store = gtk_list_store_new(NUM_IFG_COLS, G_TYPE_STRING, G_TYPE_INT); gtk_combo_box_set_model(combo, GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combo), renderer, TRUE); diff --git a/src/import-export/hbci/dialog-hbcitrans.c b/src/import-export/hbci/dialog-hbcitrans.c index fbaedfef18..870cbfc86b 100644 --- a/src/import-export/hbci/dialog-hbcitrans.c +++ b/src/import-export/hbci/dialog-hbcitrans.c @@ -413,6 +413,7 @@ gnc_hbci_dialog_new (GtkWidget *parent, G_TYPE_POINTER); gtk_tree_view_set_model(td->template_gtktreeview, GTK_TREE_MODEL(td->template_list_store)); + g_object_unref(td->template_list_store); g_list_foreach(templates, fill_template_list_func, td->template_list_store); renderer = gtk_cell_renderer_text_new(); diff --git a/src/import-export/hbci/druid-hbci-initial.c b/src/import-export/hbci/druid-hbci-initial.c index ac73cf6997..ed49d23e8a 100644 --- a/src/import-export/hbci/druid-hbci-initial.c +++ b/src/import-export/hbci/druid-hbci-initial.c @@ -664,6 +664,7 @@ void gnc_hbci_initial_druid (void) G_TYPE_POINTER, G_TYPE_STRING, G_TYPE_BOOLEAN); gtk_tree_view_set_model(info->accountview, GTK_TREE_MODEL(info->accountstore)); + g_object_unref(info->accountstore); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(_("HBCI account name"), diff --git a/src/import-export/import-main-matcher.c b/src/import-export/import-main-matcher.c index 82648d5ff7..bb4eaa6757 100644 --- a/src/import-export/import-main-matcher.c +++ b/src/import-export/import-main-matcher.c @@ -412,6 +412,7 @@ gnc_gen_trans_init_view (GNCImportMainMatcher *info, G_TYPE_BOOLEAN, G_TYPE_BOOLEAN, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_POINTER, G_TYPE_STRING); gtk_tree_view_set_model(view, GTK_TREE_MODEL(store)); + g_object_unref(store); /* Add the columns */ add_text_column(view, _("Date"), DOWNLOADED_COL_DATE); diff --git a/src/import-export/import-match-picker.c b/src/import-export/import-match-picker.c index a547e9d97c..8f59409ce0 100644 --- a/src/import-export/import-match-picker.c +++ b/src/import-export/import-match-picker.c @@ -316,6 +316,7 @@ gnc_import_match_picker_init_downloaded_view (GNCImportMatchPicker * matcher) G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER); gtk_tree_view_set_model(view, GTK_TREE_MODEL(store)); + g_object_unref(store); add_column(view, _("Account"), DOWNLOADED_COL_ACCOUNT); add_column(view, _("Date"), DOWNLOADED_COL_DATE); @@ -344,6 +345,7 @@ gnc_import_match_picker_init_match_view (GNCImportMatchPicker * matcher) G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER); gtk_tree_view_set_model(view, GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_pixbuf_new(); g_object_set(renderer, "xalign", 0.0, NULL); diff --git a/src/import-export/qif-import/dialog-account-picker.c b/src/import-export/qif-import/dialog-account-picker.c index 15f5d34b72..dbeb4e1fce 100644 --- a/src/import-export/qif-import/dialog-account-picker.c +++ b/src/import-export/qif-import/dialog-account-picker.c @@ -272,6 +272,7 @@ qif_account_picker_dialog(QIFImportWindow * qif_wind, SCM map_entry) store = gtk_tree_store_new(NUM_ACCOUNT_COLS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN); gtk_tree_view_set_model(wind->treeview, GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(_("Account"), renderer, diff --git a/src/import-export/qif-import/druid-qif-import.c b/src/import-export/qif-import/druid-qif-import.c index b235f9ca3c..2436db131b 100644 --- a/src/import-export/qif-import/druid-qif-import.c +++ b/src/import-export/qif-import/druid-qif-import.c @@ -1029,6 +1029,7 @@ create_account_picker_view(GtkWidget *widget, store = gtk_list_store_new(NUM_ACCOUNT_COLS, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN); gtk_tree_view_set_model(view, GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(col_name, renderer, @@ -2097,6 +2098,7 @@ gnc_ui_qif_import_druid_make(void) view = GTK_TREE_VIEW(retval->selected_file_view); store = gtk_list_store_new(NUM_FILENAME_COLS, G_TYPE_INT, G_TYPE_STRING); gtk_tree_view_set_model(view, GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(_("Account"), renderer, @@ -2124,6 +2126,7 @@ gnc_ui_qif_import_druid_make(void) store = gtk_list_store_new(NUM_QIF_TRANS_COLS, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN); gtk_tree_view_set_model(view, GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(_("Date"), renderer, @@ -2155,6 +2158,7 @@ gnc_ui_qif_import_druid_make(void) store = gtk_list_store_new(NUM_QIF_TRANS_COLS, G_TYPE_INT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN); gtk_tree_view_set_model(view, GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(_("Date"), renderer, diff --git a/src/register/register-gnome/gnucash-item-list.c b/src/register/register-gnome/gnucash-item-list.c index 271c1c5840..b90fbf2d16 100644 --- a/src/register/register-gnome/gnucash-item-list.c +++ b/src/register/register-gnome/gnucash-item-list.c @@ -460,7 +460,10 @@ gnc_item_list_new(GnomeCanvasGroup *parent, GtkListStore *list_store) if (NULL == list_store) list_store = gtk_list_store_new (1, G_TYPE_STRING); + else + g_object_ref(list_store); tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (list_store)); + g_object_unref(list_store); /* Removed code to enable sorting. Enable it after the list is * fully populated by calling gnc_item_list_finished_loading(). */ diff --git a/src/report/report-gnome/dialog-column-view.c b/src/report/report-gnome/dialog-column-view.c index 9239a34961..3b781219ed 100644 --- a/src/report/report-gnome/dialog-column-view.c +++ b/src/report/report-gnome/dialog-column-view.c @@ -338,6 +338,7 @@ gnc_column_view_edit_options(SCM options, SCM view) /* Build the 'available' view */ store = gtk_list_store_new (NUM_AVAILABLE_COLS, G_TYPE_STRING, G_TYPE_INT); gtk_tree_view_set_model(r->available, GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes("", renderer, @@ -353,6 +354,7 @@ gnc_column_view_edit_options(SCM options, SCM view) store = gtk_list_store_new (NUM_CONTENTS_COLS, G_TYPE_STRING, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT); gtk_tree_view_set_model(r->contents, GTK_TREE_MODEL(store)); + g_object_unref(store); renderer = gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(_("Report"), renderer, diff --git a/src/report/report-gnome/dialog-style-sheet.c b/src/report/report-gnome/dialog-style-sheet.c index 7d74885dee..96f3540fb7 100644 --- a/src/report/report-gnome/dialog-style-sheet.c +++ b/src/report/report-gnome/dialog-style-sheet.c @@ -365,6 +365,7 @@ gnc_style_sheet_select_dialog_create(void) ss->list_view = GTK_TREE_VIEW(glade_xml_get_widget (xml, "style_sheet_list_view")); ss->list_store = gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_POINTER); gtk_tree_view_set_model(ss->list_view, GTK_TREE_MODEL(ss->list_store)); + g_object_unref(ss->list_store); renderer = gtk_cell_renderer_text_new (); gtk_tree_view_insert_column_with_attributes(ss->list_view, -1, _("Style Sheet Name"), renderer,