[Gnucash-changes] Fix a small memory leak.
David Hampton
hampton at cvs.gnucash.org
Thu Jun 2 11:13:12 EDT 2005
Log Message:
-----------
Fix a small memory leak. Also tweak printfs for a 64 bit system.
Tags:
----
gnucash-gnome2-dev
Modified Files:
--------------
gnucash:
ChangeLog
gnucash/src/business/business-gnome:
dialog-customer.c
dialog-employee.c
dialog-invoice.c
dialog-job.c
dialog-order.c
dialog-vendor.c
Revision Data
-------------
Index: ChangeLog
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/ChangeLog,v
retrieving revision 1.1487.2.210
retrieving revision 1.1487.2.211
diff -LChangeLog -LChangeLog -u -r1.1487.2.210 -r1.1487.2.211
--- ChangeLog
+++ ChangeLog
@@ -1,3 +1,20 @@
+2005-06-02 David Hampton <hampton at employees.org>
+
+ * src/business/business-gnome/dialog-customer.c: Eliminate a
+ double free of memory.
+
+ * src/business/business-gnome/dialog-customer.c:
+ * src/business/business-gnome/dialog-employee.c:
+ * src/business/business-gnome/dialog-invoice.c:
+ * src/business/business-gnome/dialog-job.c:
+ * src/business/business-gnome/dialog-order.c:
+ * src/business/business-gnome/dialog-vendor.c: Fix a small memory
+ leak. Also tweak printfs for a 64 bit system.
+
+ * src/gnome-search/gnc-general-search.c: Remove the custom forall
+ method. This allows all the child widgets to be properly
+ destroyed.
+
2005-05-22 David Hampton <hampton at employees.org>
* src/gnome-utils/dialog-utils.c (gnc_save_window_size): Protect
Index: dialog-order.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-gnome/dialog-order.c,v
retrieving revision 1.53.4.7
retrieving revision 1.53.4.8
diff -Lsrc/business/business-gnome/dialog-order.c -Lsrc/business/business-gnome/dialog-order.c -u -r1.53.4.7 -r1.53.4.8
--- src/business/business-gnome/dialog-order.c
+++ src/business/business-gnome/dialog-order.c
@@ -681,6 +681,7 @@
OrderWindow *ow;
GladeXML *xml;
GncOrder *order;
+ gchar *string;
ow = g_new0 (OrderWindow, 1);
ow->book = bookp;
@@ -712,8 +713,10 @@
ow);
/* Setup initial values */
ow->order_guid = *gncOrderGetGUID (order);
- gtk_entry_set_text (GTK_ENTRY (ow->id_entry),
- g_strdup_printf ("%.6lld", gncOrderNextID(bookp)));
+ string = g_strdup_printf ("%.6" G_GINT64_FORMAT,
+ gncOrderNextID(bookp));
+ gtk_entry_set_text (GTK_ENTRY (ow->id_entry), string);
+ g_free(string);
ow->component_id =
gnc_register_gui_component (DIALOG_NEW_ORDER_CM_CLASS,
Index: dialog-invoice.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-gnome/dialog-invoice.c,v
retrieving revision 1.81.4.16
retrieving revision 1.81.4.17
diff -Lsrc/business/business-gnome/dialog-invoice.c -Lsrc/business/business-gnome/dialog-invoice.c -u -r1.81.4.16 -r1.81.4.17
--- src/business/business-gnome/dialog-invoice.c
+++ src/business/business-gnome/dialog-invoice.c
@@ -355,6 +355,7 @@
gnc_invoice_window_verify_ok (InvoiceWindow *iw)
{
const char *res;
+ gchar *string;
/* save the current entry in the ledger? */
if (!gnc_entry_ledger_check_close (iw->dialog, iw->ledger))
@@ -377,8 +378,10 @@
/* Check the ID; set one if necessary */
res = gtk_entry_get_text (GTK_ENTRY (iw->id_entry));
if (safe_strcmp (res, "") == 0) {
- gtk_entry_set_text (GTK_ENTRY (iw->id_entry),
- g_strdup_printf ("%.6lld", gncInvoiceNextID(iw->book)));
+ string = g_strdup_printf ("%.6" G_GINT64_FORMAT,
+ gncInvoiceNextID(iw->book));
+ gtk_entry_set_text (GTK_ENTRY (iw->id_entry), string);
+ g_free(string);
}
return TRUE;
@@ -1622,6 +1625,7 @@
do {
GtkTextBuffer* text_buffer;
const char *string;
+ gchar * tmp_string;
Timespec ts, ts_zero = {0,0};
Account *acct;
@@ -1671,8 +1675,9 @@
ts = gncInvoiceGetDatePosted (invoice);
gnc_date_edit_set_time_ts (GNC_DATE_EDIT (iw->posted_date), ts);
- string = xaccAccountGetFullName (acct, gnc_get_account_separator ());
- gtk_entry_set_text (GTK_ENTRY (acct_entry), string);
+ tmp_string = xaccAccountGetFullName (acct, gnc_get_account_separator ());
+ gtk_entry_set_text (GTK_ENTRY (acct_entry), tmp_string);
+ g_free(tmp_string);
} while (FALSE);
Index: dialog-job.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-gnome/dialog-job.c,v
retrieving revision 1.27.4.9
retrieving revision 1.27.4.10
diff -Lsrc/business/business-gnome/dialog-job.c -Lsrc/business/business-gnome/dialog-job.c -u -r1.27.4.9 -r1.27.4.10
--- src/business/business-gnome/dialog-job.c
+++ src/business/business-gnome/dialog-job.c
@@ -121,6 +121,7 @@
gnc_job_verify_ok (JobWindow *jw)
{
const char *res;
+ gchar *string;
/* Check for valid name */
res = gtk_entry_get_text (GTK_ENTRY (jw->name_entry));
@@ -142,8 +143,10 @@
/* Set a valid id if one was not created */
res = gtk_entry_get_text (GTK_ENTRY (jw->id_entry));
if (safe_strcmp (res, "") == 0) {
- gtk_entry_set_text (GTK_ENTRY (jw->id_entry),
- g_strdup_printf ("%.6lld", gncJobNextID(jw->book)));
+ string = g_strdup_printf ("%.6" G_GINT64_FORMAT,
+ gncJobNextID(jw->book));
+ gtk_entry_set_text (GTK_ENTRY (jw->id_entry), string);
+ g_free(string);
}
/* Now save it off */
Index: dialog-employee.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-gnome/dialog-employee.c,v
retrieving revision 1.23.4.9
retrieving revision 1.23.4.10
diff -Lsrc/business/business-gnome/dialog-employee.c -Lsrc/business/business-gnome/dialog-employee.c -u -r1.23.4.9 -r1.23.4.10
--- src/business/business-gnome/dialog-employee.c
+++ src/business/business-gnome/dialog-employee.c
@@ -209,6 +209,7 @@
gnc_employee_window_ok_cb (GtkWidget *widget, gpointer data)
{
EmployeeWindow *ew = data;
+ gchar *string;
/* Check for valid username */
if (check_entry_nonempty (ew->dialog, ew->username_entry,
@@ -232,9 +233,10 @@
/* Set the employee id if one has not been chosen */
if (safe_strcmp (gtk_entry_get_text (GTK_ENTRY (ew->id_entry)), "") == 0) {
- gtk_entry_set_text (GTK_ENTRY (ew->id_entry),
- g_strdup_printf ("%.6lld",
- gncEmployeeNextID (ew->book)));
+ string = g_strdup_printf ("%.6" G_GINT64_FORMAT,
+ gncEmployeeNextID (ew->book));
+ gtk_entry_set_text (GTK_ENTRY (ew->id_entry), string);
+ g_free(string);
}
/* Now save it off */
Index: dialog-customer.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-gnome/dialog-customer.c,v
retrieving revision 1.34.4.10
retrieving revision 1.34.4.11
diff -Lsrc/business/business-gnome/dialog-customer.c -Lsrc/business/business-gnome/dialog-customer.c -u -r1.34.4.10 -r1.34.4.11
--- src/business/business-gnome/dialog-customer.c
+++ src/business/business-gnome/dialog-customer.c
@@ -261,6 +261,7 @@
{
CustomerWindow *cw = data;
gnc_numeric min, max;
+ gchar *string;
/* Check for valid company name */
if (check_entry_nonempty (cw->dialog, cw->company_entry,
@@ -296,9 +297,10 @@
/* Set the customer id if one has not been chosen */
if (safe_strcmp (gtk_entry_get_text (GTK_ENTRY (cw->id_entry)), "") == 0) {
- gtk_entry_set_text (GTK_ENTRY (cw->id_entry),
- g_strdup_printf ("%.6lld",
- gncCustomerNextID (cw->book)));
+ string = g_strdup_printf ("%.6" G_GINT64_FORMAT,
+ gncCustomerNextID (cw->book));
+ gtk_entry_set_text (GTK_ENTRY (cw->id_entry), string);
+ g_free(string);
}
/* Now save it off */
Index: dialog-vendor.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/business/business-gnome/dialog-vendor.c,v
retrieving revision 1.32.4.10
retrieving revision 1.32.4.11
diff -Lsrc/business/business-gnome/dialog-vendor.c -Lsrc/business/business-gnome/dialog-vendor.c -u -r1.32.4.10 -r1.32.4.11
--- src/business/business-gnome/dialog-vendor.c
+++ src/business/business-gnome/dialog-vendor.c
@@ -198,6 +198,7 @@
gnc_vendor_window_ok_cb (GtkWidget *widget, gpointer data)
{
VendorWindow *vw = data;
+ gchar *string;
/* Check for valid company name */
if (check_entry_nonempty (vw->dialog, vw->company_entry,
@@ -218,10 +219,12 @@
}
/* Check for valid id and set one if necessary */
- if (safe_strcmp (gtk_entry_get_text (GTK_ENTRY (vw->id_entry)), "") == 0)
- gtk_entry_set_text (GTK_ENTRY (vw->id_entry),
- g_strdup_printf ("%.6lld",
- gncVendorNextID(vw->book)));
+ if (safe_strcmp (gtk_entry_get_text (GTK_ENTRY (vw->id_entry)), "") == 0) {
+ string = g_strdup_printf ("%.6" G_GINT64_FORMAT,
+ gncVendorNextID(vw->book));
+ gtk_entry_set_text (GTK_ENTRY (vw->id_entry), string);
+ g_free(string);
+ }
/* Now save it off */
{
More information about the gnucash-changes
mailing list