gnucash maint: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Fri Jun 22 13:14:51 EDT 2018


Updated	 via  https://github.com/Gnucash/gnucash/commit/f144a8de (commit)
	 via  https://github.com/Gnucash/gnucash/commit/696277bb (commit)
	from  https://github.com/Gnucash/gnucash/commit/32e79948 (commit)



commit f144a8deb7cd4f4595719d1902c857953e6978ff
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Jun 22 10:14:21 2018 -0700

    Revert "Bug 796248 - Editing Scheduled Transaction"
    
    This reverts commit ffe6044cd66edf39ae22875ef475d8e655b93526.
    It breaks loading splits on transactions that have already
    been loaded.

diff --git a/libgnucash/backend/sql/gnc-transaction-sql.cpp b/libgnucash/backend/sql/gnc-transaction-sql.cpp
index c62f3f1..f2e2b1f 100644
--- a/libgnucash/backend/sql/gnc-transaction-sql.cpp
+++ b/libgnucash/backend/sql/gnc-transaction-sql.cpp
@@ -292,12 +292,12 @@ load_single_tx (GncSqlBackend* sql_be, GncSqlRow& row)
     if (guid == NULL) return NULL;
     tx_guid = *guid;
 
-    /* Don't overwrite the transaction if it's already been loaded (and possibly
-     * modified).
-     */
+    // Don't overwrite the transaction if it's already been loaded (and possibly modified).
+    // However increase the edit level, it may be modified while loading its splits
     pTx = xaccTransLookup (&tx_guid, sql_be->book());
     if (pTx != NULL)
     {
+        xaccTransBeginEdit (pTx);
         return NULL;
     }
 

commit 696277bbf69550f8446d6865085c3fe24d89b3c7
Author: John Ralls <jralls at ceridwen.us>
Date:   Fri Jun 22 09:09:13 2018 -0700

    New clang error enforces virtual destructors.

diff --git a/gnucash/import-export/csv-imp/gnc-imp-settings-csv.hpp b/gnucash/import-export/csv-imp/gnc-imp-settings-csv.hpp
index b7daed0..fa283bf 100644
--- a/gnucash/import-export/csv-imp/gnc-imp-settings-csv.hpp
+++ b/gnucash/import-export/csv-imp/gnc-imp-settings-csv.hpp
@@ -55,6 +55,7 @@ struct CsvImportSettings
             m_date_format {0}, m_currency_format {0},
             m_skip_start_lines{0}, m_skip_end_lines{0}, m_skip_alt_lines (false),
             m_separators {","}, m_load_error {false} { }
+    virtual ~CsvImportSettings() = default;
 
 /** Save the gathered widget properties to a key File.
  *
diff --git a/libgnucash/backend/sql/gnc-sql-column-table-entry.hpp b/libgnucash/backend/sql/gnc-sql-column-table-entry.hpp
index 9e3809b..ce4dfe2 100644
--- a/libgnucash/backend/sql/gnc-sql-column-table-entry.hpp
+++ b/libgnucash/backend/sql/gnc-sql-column-table-entry.hpp
@@ -140,6 +140,7 @@ public:
         m_flags{static_cast<ColumnFlags>(f)},
         m_gobj_param_name{gobj_name}, m_qof_param_name{qof_name}, m_getter{get},
         m_setter{set} {}
+    virtual ~GncSqlColumnTableEntry() = default;
 
     /**
      * Load a value into an object from the database row.
@@ -254,7 +255,7 @@ private:
 };
 
 template <GncSqlObjectType Type>
-class GncSqlColumnTableEntryImpl : public GncSqlColumnTableEntry
+class GncSqlColumnTableEntryImpl final : public GncSqlColumnTableEntry
 {
 public:
     GncSqlColumnTableEntryImpl (const char* name, const GncSqlObjectType type,
@@ -265,6 +266,7 @@ public:
                                 QofSetterFunc set = nullptr) :
         GncSqlColumnTableEntry (name, type, s, f, gobj_name,qof_name, get, set)
         {}
+
     void load(const GncSqlBackend* sql_be, GncSqlRow& row,  QofIdTypeConst obj_name,
               void* pObject) const noexcept override;
     void add_to_table(ColVec& vec) const noexcept override;
diff --git a/libgnucash/backend/sql/gnc-sql-object-backend.hpp b/libgnucash/backend/sql/gnc-sql-object-backend.hpp
index b6a007e..316e64d 100644
--- a/libgnucash/backend/sql/gnc-sql-object-backend.hpp
+++ b/libgnucash/backend/sql/gnc-sql-object-backend.hpp
@@ -54,6 +54,7 @@ public:
                          const std::string& table, const EntryVec& vec) :
         m_table_name{table}, m_version{version}, m_type_name{type},
         m_col_table(vec) {}
+    virtual ~GncSqlObjectBackend() = default;
     /**
      * Load all objects of m_type in the database into memory.
      * @param sql_be The GncSqlBackend containing the database connection.



Summary of changes:
 gnucash/import-export/csv-imp/gnc-imp-settings-csv.hpp | 1 +
 libgnucash/backend/sql/gnc-sql-column-table-entry.hpp  | 4 +++-
 libgnucash/backend/sql/gnc-sql-object-backend.hpp      | 1 +
 libgnucash/backend/sql/gnc-transaction-sql.cpp         | 6 +++---
 4 files changed, 8 insertions(+), 4 deletions(-)



More information about the gnucash-changes mailing list