gnucash maint: Bug 742461 - SQL backend doesn't update customer info

John Ralls jralls at code.gnucash.org
Mon Aug 22 18:12:45 EDT 2016


Updated	 via  https://github.com/Gnucash/gnucash/commit/59c5f8e0 (commit)
	from  https://github.com/Gnucash/gnucash/commit/4d8d7ed5 (commit)



commit 59c5f8e0fc7ae14de9f578ef6ee283e70c7d29ce
Author: John Ralls <jralls at ceridwen.us>
Date:   Mon Aug 22 15:06:02 2016 -0700

    Bug 742461 - SQL backend doesn't update customer info
    
    Two problems: The GncCustomer wasn't marked dirty and the GncAddress's
    parent wasn't being set when the loaded from SQL.

diff --git a/src/backend/sql/gnc-address-sql.c b/src/backend/sql/gnc-address-sql.c
index a29d4aa..a0399bd 100644
--- a/src/backend/sql/gnc-address-sql.c
+++ b/src/backend/sql/gnc-address-sql.c
@@ -82,7 +82,7 @@ load_address( const GncSqlBackend* be, GncSqlRow* row,
     g_return_if_fail( pObject != NULL );
     g_return_if_fail( table_row != NULL );
 
-    addr = gncAddressCreate( be->book, NULL );
+    addr = gncAddressCreate( be->book, QOF_INSTANCE(pObject));
     for ( subtable = col_table; subtable->col_name != NULL; subtable++ )
     {
         buf = g_strdup_printf( "%s_%s", table_row->col_name, subtable->col_name );
diff --git a/src/engine/gncAddress.c b/src/engine/gncAddress.c
index 97bbfd7..20ad1ea 100644
--- a/src/engine/gncAddress.c
+++ b/src/engine/gncAddress.c
@@ -65,6 +65,8 @@ void mark_address (GncAddress *address)
 {
     address->dirty = TRUE;
 
+    if (address->parent)
+        qof_instance_set_dirty(address->parent);
     qof_event_gen (QOF_INSTANCE(address), QOF_EVENT_MODIFY, address->parent);
     qof_event_gen (address->parent, QOF_EVENT_MODIFY, NULL);
 }



Summary of changes:
 src/backend/sql/gnc-address-sql.c | 2 +-
 src/engine/gncAddress.c           | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)



More information about the gnucash-changes mailing list