From 9f97ce6c213c3b8c83131fa8d90e506effab83d4 Mon Sep 17 00:00:00 2001 From: Robert Fewell <14uBobIT@gmail.com> Date: Sat, 6 Jun 2020 10:04:36 +0100 Subject: [PATCH] Fix g_signal_handler_disconnect: assertion in trace file There is a difference in the way the sheet is closed between registers and invoices. The gnc-date-cell-destroy is being called before the gnc-item_edit_destroying for invoices and so when the item_edit tries to do the signal disconnect on the popup_item it no longer exists. Moving the gtk_widget_destroy before ledger_destroy fixes this. --- gnucash/gnome/dialog-invoice.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnucash/gnome/dialog-invoice.c b/gnucash/gnome/dialog-invoice.c index 2812953239..999a8fa887 100644 --- a/gnucash/gnome/dialog-invoice.c +++ b/gnucash/gnome/dialog-invoice.c @@ -612,9 +612,9 @@ gnc_invoice_window_destroy_cb (GtkWidget *widget, gpointer data) iw->invoice_guid = *guid_null (); } + gtk_widget_destroy(widget); gnc_entry_ledger_destroy (iw->ledger); gnc_unregister_gui_component (iw->component_id); - gtk_widget_destroy(widget); gnc_resume_gui_refresh (); g_free (iw);