[glom] Remove all empty destructors.



commit 9c8586cf7ed5f698de61f7fc83a058c4ab41aec6
Author: Murray Cumming <murrayc murrayc com>
Date:   Tue Jan 5 22:12:59 2016 +0100

    Remove all empty destructors.

 glom/bakery/appwindow.cc                           |    5 -----
 glom/bakery/appwindow.h                            |    2 --
 glom/bakery/dialog_offersave.cc                    |    6 ------
 glom/bakery/dialog_offersave.h                     |    1 -
 glom/base_db.cc                                    |    4 ----
 glom/base_db.h                                     |    1 -
 glom/base_db_table.cc                              |    4 ----
 glom/base_db_table.h                               |    1 -
 glom/base_db_table_data.cc                         |    4 ----
 glom/base_db_table_data.h                          |    1 -
 glom/base_db_table_data_readonly.cc                |    4 ----
 glom/base_db_table_data_readonly.h                 |    1 -
 glom/box_db_table.cc                               |    4 ----
 glom/box_db_table.h                                |    1 -
 glom/box_reports.cc                                |    4 ----
 glom/box_reports.h                                 |    1 -
 glom/box_withbuttons.cc                            |    4 ----
 glom/box_withbuttons.h                             |    2 --
 glom/dialog_connection.cc                          |    4 ----
 glom/dialog_connection.h                           |    1 -
 glom/dialog_invalid_data.cc                        |    4 ----
 glom/dialog_invalid_data.h                         |    1 -
 glom/infobar_progress_creating.cc                  |    4 ----
 glom/infobar_progress_creating.h                   |    1 -
 glom/libglom/appstate.cc                           |    5 -----
 glom/libglom/appstate.h                            |    1 -
 glom/libglom/connectionpool_backends/backend.cc    |    4 ----
 glom/libglom/connectionpool_backends/backend.h     |    1 -
 glom/libglom/data_structure/choicevalue.cc         |    4 ----
 glom/libglom/data_structure/choicevalue.h          |    1 -
 glom/libglom/data_structure/field.cc               |    4 ----
 glom/libglom/data_structure/field.h                |    1 -
 glom/libglom/data_structure/fieldtypes.cc          |    4 ----
 glom/libglom/data_structure/fieldtypes.h           |    1 -
 glom/libglom/data_structure/groupinfo.cc           |    4 ----
 glom/libglom/data_structure/groupinfo.h            |    1 -
 glom/libglom/data_structure/layout/custom_title.cc |    4 ----
 glom/libglom/data_structure/layout/custom_title.h  |    1 -
 glom/libglom/data_structure/layout/formatting.cc   |    4 ----
 glom/libglom/data_structure/layout/formatting.h    |    1 -
 .../data_structure/layout/layoutitem_button.cc     |    4 ----
 .../data_structure/layout/layoutitem_button.h      |    1 -
 .../layout/layoutitem_calendarportal.cc            |    5 -----
 .../layout/layoutitem_calendarportal.h             |    1 -
 .../data_structure/layout/layoutitem_field.cc      |    4 ----
 .../data_structure/layout/layoutitem_field.h       |    1 -
 .../data_structure/layout/layoutitem_image.cc      |    4 ----
 .../data_structure/layout/layoutitem_image.h       |    1 -
 .../data_structure/layout/layoutitem_line.cc       |    4 ----
 .../data_structure/layout/layoutitem_line.h        |    1 -
 .../data_structure/layout/layoutitem_notebook.cc   |    5 -----
 .../data_structure/layout/layoutitem_notebook.h    |    1 -
 .../layout/layoutitem_placeholder.cc               |    5 -----
 .../data_structure/layout/layoutitem_placeholder.h |    1 -
 .../data_structure/layout/layoutitem_portal.cc     |    4 ----
 .../data_structure/layout/layoutitem_portal.h      |    1 -
 .../data_structure/layout/layoutitem_text.cc       |    4 ----
 .../data_structure/layout/layoutitem_text.h        |    1 -
 .../layout/layoutitem_withformatting.cc            |    4 ----
 .../layout/layoutitem_withformatting.h             |    1 -
 .../layout/report_parts/layoutitem_fieldsummary.cc |    4 ----
 .../layout/report_parts/layoutitem_fieldsummary.h  |    1 -
 .../layout/report_parts/layoutitem_footer.cc       |    4 ----
 .../layout/report_parts/layoutitem_footer.h        |    1 -
 .../layout/report_parts/layoutitem_header.cc       |    4 ----
 .../layout/report_parts/layoutitem_header.h        |    1 -
 .../report_parts/layoutitem_verticalgroup.cc       |    4 ----
 .../layout/report_parts/layoutitem_verticalgroup.h |    1 -
 glom/libglom/data_structure/layout/static_text.cc  |    4 ----
 glom/libglom/data_structure/layout/static_text.h   |    1 -
 .../data_structure/layout/usesrelationship.cc      |    4 ----
 .../data_structure/layout/usesrelationship.h       |    1 -
 glom/libglom/data_structure/numeric_format.cc      |    4 ----
 glom/libglom/data_structure/numeric_format.h       |    1 -
 glom/libglom/data_structure/privileges.cc          |    4 ----
 glom/libglom/data_structure/privileges.h           |    1 -
 glom/libglom/data_structure/relationship.cc        |    4 ----
 glom/libglom/data_structure/relationship.h         |    1 -
 glom/libglom/document/bakery/view/view.h           |    4 ----
 glom/libglom/document/bakery/view/view_composite.h |    4 ----
 glom/libglom/document/document.cc                  |    4 ----
 glom/libglom/document/document.h                   |    1 -
 glom/libglom/report_builder.cc                     |    4 ----
 glom/libglom/report_builder.h                      |    2 --
 glom/mode_data/box_data_manyrecords.cc             |    4 ----
 glom/mode_data/box_data_manyrecords.h              |    1 -
 glom/mode_data/box_data_portal.cc                  |    4 ----
 glom/mode_data/box_data_portal.h                   |    1 -
 glom/mode_data/buttonglom.cc                       |    3 ---
 glom/mode_data/buttonglom.h                        |    1 -
 .../datawidget/cellrenderer_buttonimage.cc         |    3 ---
 .../datawidget/cellrenderer_buttonimage.h          |    1 -
 .../datawidget/cellrenderer_buttontext.cc          |    3 ---
 .../mode_data/datawidget/cellrenderer_buttontext.h |    1 -
 glom/mode_data/datawidget/cellrenderer_dblist.cc   |    5 -----
 glom/mode_data/datawidget/cellrenderer_dblist.h    |    1 -
 glom/mode_data/datawidget/checkbutton.cc           |    4 ----
 glom/mode_data/datawidget/checkbutton.h            |    1 -
 glom/mode_data/datawidget/combo.cc                 |    4 ----
 glom/mode_data/datawidget/combo.h                  |    2 --
 glom/mode_data/datawidget/combochoices.cc          |    4 ----
 glom/mode_data/datawidget/combochoices.h           |    2 --
 glom/mode_data/datawidget/datawidget.cc            |    4 ----
 glom/mode_data/datawidget/datawidget.h             |    1 -
 glom/mode_data/datawidget/dialog_choose_date.cc    |    4 ----
 glom/mode_data/datawidget/dialog_choose_date.h     |    1 -
 glom/mode_data/datawidget/entry.cc                 |    4 ----
 glom/mode_data/datawidget/entry.h                  |    1 -
 glom/mode_data/datawidget/label.cc                 |    4 ----
 glom/mode_data/datawidget/label.h                  |    1 -
 glom/mode_data/datawidget/textview.cc              |    4 ----
 glom/mode_data/datawidget/textview.h               |    1 -
 glom/mode_data/db_adddel/db_adddel_withbuttons.cc  |    4 ----
 glom/mode_data/db_adddel/db_adddel_withbuttons.h   |    1 -
 glom/mode_data/db_adddel/db_treeviewcolumn_glom.cc |    4 ----
 glom/mode_data/db_adddel/db_treeviewcolumn_glom.h  |    1 -
 glom/mode_design/box_db_table_relationships.cc     |    4 ----
 glom/mode_design/box_db_table_relationships.h      |    1 -
 glom/mode_design/comboentry_currency.cc            |    6 ------
 glom/mode_design/comboentry_currency.h             |    1 -
 glom/mode_design/dialog_add_related_table.cc       |    4 ----
 glom/mode_design/dialog_add_related_table.h        |    1 -
 glom/mode_design/dialog_database_preferences.cc    |    4 ----
 glom/mode_design/dialog_database_preferences.h     |    1 -
 glom/mode_design/dialog_design.cc                  |    4 ----
 glom/mode_design/dialog_design.h                   |    1 -
 glom/mode_design/dialog_initial_password.cc        |    4 ----
 glom/mode_design/dialog_initial_password.h         |    1 -
 glom/mode_design/fields/combo_fieldtype.cc         |    5 -----
 glom/mode_design/fields/combo_fieldtype.h          |    1 -
 glom/mode_design/fields/dialog_fieldcalculation.cc |    4 ----
 glom/mode_design/fields/dialog_fieldcalculation.h  |    1 -
 glom/mode_design/fields/dialog_fielddefinition.cc  |    4 ----
 glom/mode_design/fields/dialog_fielddefinition.h   |    1 -
 glom/mode_design/layout/combobox_fields.cc         |    5 -----
 glom/mode_design/layout/combobox_fields.h          |    1 -
 glom/mode_design/layout/combobox_relationship.cc   |    5 -----
 glom/mode_design/layout/combobox_relationship.h    |    1 -
 glom/mode_design/layout/dialog_choose_field.cc     |    4 ----
 glom/mode_design/layout/dialog_choose_field.h      |    1 -
 .../layout/dialog_choose_relationship.cc           |    4 ----
 .../layout/dialog_choose_relationship.h            |    1 -
 glom/mode_design/layout/dialog_layout.cc           |    4 ----
 glom/mode_design/layout/dialog_layout.h            |    1 -
 .../layout/dialog_layout_calendar_related.cc       |    5 -----
 .../layout/dialog_layout_calendar_related.h        |    1 -
 glom/mode_design/layout/dialog_layout_details.cc   |    4 ----
 glom/mode_design/layout/dialog_layout_details.h    |    1 -
 glom/mode_design/layout/dialog_layout_export.cc    |    4 ----
 glom/mode_design/layout/dialog_layout_export.h     |    1 -
 glom/mode_design/layout/dialog_layout_list.cc      |    5 -----
 glom/mode_design/layout/dialog_layout_list.h       |    1 -
 .../layout/dialog_layout_list_related.cc           |    5 -----
 .../layout/dialog_layout_list_related.h            |    1 -
 .../layout_item_dialogs/combo_summarytype.cc       |    6 ------
 .../layout/layout_item_dialogs/combo_summarytype.h |    1 -
 .../layout_item_dialogs/comboentry_borderwidth.cc  |    6 ------
 .../layout_item_dialogs/comboentry_borderwidth.h   |    1 -
 .../layout_item_dialogs/dialog_buttonscript.cc     |    4 ----
 .../layout_item_dialogs/dialog_buttonscript.h      |    1 -
 .../layout_item_dialogs/dialog_field_summary.cc    |    4 ----
 .../layout_item_dialogs/dialog_field_summary.h     |    1 -
 .../layout_item_dialogs/dialog_fieldslist.cc       |    4 ----
 .../layout/layout_item_dialogs/dialog_fieldslist.h |    2 --
 .../layout_item_dialogs/dialog_imageobject.cc      |    4 ----
 .../layout_item_dialogs/dialog_imageobject.h       |    1 -
 .../layout/layout_item_dialogs/dialog_line.cc      |    4 ----
 .../layout/layout_item_dialogs/dialog_line.h       |    1 -
 .../layout_item_dialogs/dialog_sortfields.cc       |    4 ----
 .../layout/layout_item_dialogs/dialog_sortfields.h |    2 --
 .../layout_item_dialogs/dialog_textobject.cc       |    4 ----
 .../layout/layout_item_dialogs/dialog_textobject.h |    1 -
 .../mode_design/print_layouts/box_print_layouts.cc |    4 ----
 glom/mode_design/print_layouts/box_print_layouts.h |    1 -
 .../print_layouts/print_layout_toolbar.cc          |    4 ----
 .../print_layouts/print_layout_toolbar.h           |    1 -
 .../print_layouts/print_layout_toolbar_button.cc   |    4 ----
 .../print_layouts/print_layout_toolbar_button.h    |    1 -
 .../relationships_overview/canvas_group_dbtable.cc |    4 ----
 .../relationships_overview/canvas_group_dbtable.h  |    1 -
 .../printoperation_relationshipsoverview.cc        |    4 ----
 .../printoperation_relationshipsoverview.h         |    1 -
 .../script_library/dialog_new_script.cc            |    4 ----
 .../mode_design/script_library/dialog_new_script.h |    1 -
 .../script_library/dialog_script_library.cc        |    4 ----
 .../script_library/dialog_script_library.h         |    1 -
 glom/mode_design/translation/combobox_locale.cc    |    6 ------
 glom/mode_design/translation/combobox_locale.h     |    1 -
 .../translation/dialog_change_language.cc          |    4 ----
 .../translation/dialog_change_language.h           |    1 -
 .../translation/dialog_copy_translation.cc         |    4 ----
 .../translation/dialog_copy_translation.h          |    1 -
 .../translation/dialog_identify_original.cc        |    4 ----
 .../translation/dialog_identify_original.h         |    1 -
 .../mode_design/translation/window_translations.cc |    4 ----
 glom/mode_design/translation/window_translations.h |    1 -
 glom/mode_design/users/dialog_choose_user.cc       |    4 ----
 glom/mode_design/users/dialog_choose_user.h        |    1 -
 glom/mode_design/users/dialog_groups_list.cc       |    4 ----
 glom/mode_design/users/dialog_groups_list.h        |    1 -
 glom/mode_design/users/dialog_new_group.cc         |    4 ----
 glom/mode_design/users/dialog_new_group.h          |    1 -
 glom/mode_design/users/dialog_user.cc              |    4 ----
 glom/mode_design/users/dialog_user.h               |    1 -
 glom/mode_design/users/dialog_users_list.cc        |    4 ----
 glom/mode_design/users/dialog_users_list.h         |    1 -
 glom/mode_find/box_data_details_find.cc            |    4 ----
 glom/mode_find/box_data_details_find.h             |    1 -
 glom/mode_find/box_data_list_find.cc               |    4 ----
 glom/mode_find/box_data_list_find.h                |    1 -
 glom/navigation/box_tables.cc                      |    4 ----
 glom/navigation/box_tables.h                       |    1 -
 glom/notebook_glom.cc                              |    4 ----
 glom/notebook_glom.h                               |    1 -
 glom/print_layout/canvas_layout_item.cc            |    4 ----
 glom/print_layout/canvas_layout_item.h             |    1 -
 glom/print_layout/canvas_print_layout.cc           |    4 ----
 glom/print_layout/canvas_print_layout.h            |    1 -
 glom/print_layout/printoperation_printlayout.cc    |    4 ----
 glom/print_layout/printoperation_printlayout.h     |    1 -
 glom/utility_widgets/adddel/adddel.cc              |    5 -----
 glom/utility_widgets/adddel/adddel.h               |    1 -
 glom/utility_widgets/adddel/adddel_withbuttons.cc  |    4 ----
 glom/utility_widgets/adddel/adddel_withbuttons.h   |    1 -
 glom/utility_widgets/adddel/treeviewcolumn_glom.cc |    4 ----
 glom/utility_widgets/adddel/treeviewcolumn_glom.h  |    1 -
 glom/utility_widgets/canvas/canvas_editable.cc     |    4 ----
 glom/utility_widgets/canvas/canvas_editable.h      |    1 -
 glom/utility_widgets/canvas/canvas_group_grid.cc   |    4 ----
 glom/utility_widgets/canvas/canvas_group_grid.h    |    1 -
 .../utility_widgets/canvas/canvas_group_movable.cc |    4 ----
 glom/utility_widgets/canvas/canvas_group_movable.h |    1 -
 .../canvas/canvas_group_resizable.cc               |    4 ----
 .../canvas/canvas_group_resizable.h                |    1 -
 .../utility_widgets/canvas/canvas_image_movable.cc |    4 ----
 glom/utility_widgets/canvas/canvas_image_movable.h |    1 -
 glom/utility_widgets/canvas/canvas_item_movable.cc |    4 ----
 glom/utility_widgets/canvas/canvas_item_movable.h  |    1 -
 glom/utility_widgets/canvas/canvas_line_movable.cc |    4 ----
 glom/utility_widgets/canvas/canvas_line_movable.h  |    1 -
 glom/utility_widgets/canvas/canvas_rect_movable.cc |    4 ----
 glom/utility_widgets/canvas/canvas_rect_movable.h  |    1 -
 .../utility_widgets/canvas/canvas_table_movable.cc |    4 ----
 glom/utility_widgets/canvas/canvas_table_movable.h |    1 -
 glom/utility_widgets/canvas/canvas_text_movable.cc |    4 ----
 glom/utility_widgets/canvas/canvas_text_movable.h  |    1 -
 glom/utility_widgets/cellrendererlist.cc           |    4 ----
 glom/utility_widgets/cellrendererlist.h            |    1 -
 glom/utility_widgets/dialog_flowtable.cc           |    4 ----
 glom/utility_widgets/dialog_flowtable.h            |    1 -
 glom/utility_widgets/dialog_image_save_progress.cc |    4 ----
 glom/utility_widgets/dialog_image_save_progress.h  |    1 -
 glom/utility_widgets/dialog_properties.cc          |    4 ----
 glom/utility_widgets/dialog_properties.h           |    1 -
 .../filechooserdialog_saveextras.cc                |    5 -----
 .../utility_widgets/filechooserdialog_saveextras.h |    1 -
 glom/utility_widgets/layouttoolbar.cc              |    5 -----
 glom/utility_widgets/layouttoolbar.h               |    1 -
 glom/utility_widgets/layouttoolbarbutton.cc        |    5 -----
 glom/utility_widgets/layouttoolbarbutton.h         |    1 -
 glom/utility_widgets/layoutwidgetbase.cc           |    4 ----
 glom/utility_widgets/layoutwidgetbase.h            |    1 -
 glom/utility_widgets/layoutwidgetfield.cc          |    4 ----
 glom/utility_widgets/layoutwidgetfield.h           |    1 -
 glom/utility_widgets/layoutwidgetmenu.cc           |    4 ----
 glom/utility_widgets/layoutwidgetmenu.h            |    1 -
 glom/utility_widgets/layoutwidgetutils.cc          |    5 -----
 glom/utility_widgets/layoutwidgetutils.h           |    1 -
 glom/utility_widgets/notebook_noframe.cc           |    4 ----
 glom/utility_widgets/notebook_noframe.h            |    1 -
 glom/utility_widgets/notebookglom.cc               |    4 ----
 glom/utility_widgets/notebookglom.h                |    1 -
 glom/utility_widgets/notebooklabelglom.cc          |    5 -----
 glom/utility_widgets/notebooklabelglom.h           |    1 -
 glom/utility_widgets/placeholder.cc                |    4 ----
 glom/utility_widgets/placeholder.h                 |    1 -
 glom/variablesmap.cc                               |    5 -----
 glom/variablesmap.h                                |    1 -
 glom/window_boxholder.cc                           |    4 ----
 glom/window_boxholder.h                            |    1 -
 280 files changed, 0 insertions(+), 736 deletions(-)
---
diff --git a/glom/bakery/appwindow.cc b/glom/bakery/appwindow.cc
index e52a30c..72064af 100644
--- a/glom/bakery/appwindow.cc
+++ b/glom/bakery/appwindow.cc
@@ -35,11 +35,6 @@ AppWindow::AppWindow(const Glib::ustring& appname)
   init_app_name(appname);
 }
 
-AppWindow::~AppWindow()
-{
-
-}
-
 void AppWindow::init_app_name(const Glib::ustring& appname) //static
 {
   m_strAppName = appname;
diff --git a/glom/bakery/appwindow.h b/glom/bakery/appwindow.h
index 28fd903..6581fba 100644
--- a/glom/bakery/appwindow.h
+++ b/glom/bakery/appwindow.h
@@ -53,8 +53,6 @@ public:
   ///Don't forget to call init() too.
   explicit AppWindow(const Glib::ustring& appname = Glib::ustring());
 
-  virtual ~AppWindow();
-
   virtual void init(); //Sets it up and shows it.
 
   static void set_command_line_args(int argc, char** &argv); //Needed for session management.
diff --git a/glom/bakery/dialog_offersave.cc b/glom/bakery/dialog_offersave.cc
index 95d6c9e..ff41742 100644
--- a/glom/bakery/dialog_offersave.cc
+++ b/glom/bakery/dialog_offersave.cc
@@ -61,10 +61,4 @@ Dialog_OfferSave::Dialog_OfferSave(const Glib::ustring& file_uri)
   cancel_button->grab_focus();
 }
 
-Dialog_OfferSave::~Dialog_OfferSave()
-{
-
-}
-
-
 } //namespace
diff --git a/glom/bakery/dialog_offersave.h b/glom/bakery/dialog_offersave.h
index c71f736..5d307c8 100644
--- a/glom/bakery/dialog_offersave.h
+++ b/glom/bakery/dialog_offersave.h
@@ -31,7 +31,6 @@ class Dialog_OfferSave : public Gtk::MessageDialog
 {
 public:
   explicit Dialog_OfferSave(const Glib::ustring& file_uri);
-  virtual ~Dialog_OfferSave();
 
   ///Return values:
   enum class enumButtons
diff --git a/glom/base_db.cc b/glom/base_db.cc
index 36d8789..b978417 100644
--- a/glom/base_db.cc
+++ b/glom/base_db.cc
@@ -87,10 +87,6 @@ Base_DB::Base_DB()
   //m_pDocument = nullptr;
 }
 
-Base_DB::~Base_DB()
-{
-}
-
 bool Base_DB::init_db_details()
 {
   return fill_from_database();
diff --git a/glom/base_db.h b/glom/base_db.h
index e109a85..4ad9ac3 100644
--- a/glom/base_db.h
+++ b/glom/base_db.h
@@ -53,7 +53,6 @@ class Base_DB :
 {
 public:
   Base_DB();
-  virtual ~Base_DB();
 
   /// Specify the structure of what will be shown, and fill it.
   bool init_db_details();
diff --git a/glom/base_db_table.cc b/glom/base_db_table.cc
index cda4c77..584cac8 100644
--- a/glom/base_db_table.cc
+++ b/glom/base_db_table.cc
@@ -31,10 +31,6 @@ Base_DB_Table::Base_DB_Table()
 {
 }
 
-Base_DB_Table::~Base_DB_Table()
-{
-}
-
 Glib::ustring Base_DB_Table::get_table_name() const
 {
   return m_table_name;
diff --git a/glom/base_db_table.h b/glom/base_db_table.h
index fe03cd2..35a08b3 100644
--- a/glom/base_db_table.h
+++ b/glom/base_db_table.h
@@ -35,7 +35,6 @@ class Base_DB_Table : public Base_DB
 {
 public: 
   Base_DB_Table();
-  virtual ~Base_DB_Table();
 
   bool init_db_details(const Glib::ustring& table_name);
 
diff --git a/glom/base_db_table_data.cc b/glom/base_db_table_data.cc
index d104166..35378bb 100644
--- a/glom/base_db_table_data.cc
+++ b/glom/base_db_table_data.cc
@@ -36,10 +36,6 @@ Base_DB_Table_Data::Base_DB_Table_Data()
 {
 }
 
-Base_DB_Table_Data::~Base_DB_Table_Data()
-{
-}
-
 Gnome::Gda::Value Base_DB_Table_Data::get_entered_field_data(const std::shared_ptr<const LayoutItem_Field>& 
/* field */) const
 {
   //Override this to use Field::set_data() too.
diff --git a/glom/base_db_table_data.h b/glom/base_db_table_data.h
index f65b076..b9e7326 100644
--- a/glom/base_db_table_data.h
+++ b/glom/base_db_table_data.h
@@ -34,7 +34,6 @@ class Base_DB_Table_Data : public Base_DB_Table_Data_ReadOnly
 {
 public:
   Base_DB_Table_Data();
-  virtual ~Base_DB_Table_Data();
 
   /** Tell the parent widget that something has changed in one of the shown records,
    * or a record was added or deleted.
diff --git a/glom/base_db_table_data_readonly.cc b/glom/base_db_table_data_readonly.cc
index 09a12ce..d71aaec 100644
--- a/glom/base_db_table_data_readonly.cc
+++ b/glom/base_db_table_data_readonly.cc
@@ -35,10 +35,6 @@ Base_DB_Table_Data_ReadOnly::Base_DB_Table_Data_ReadOnly()
 {
 }
 
-Base_DB_Table_Data_ReadOnly::~Base_DB_Table_Data_ReadOnly()
-{
-}
-
 bool Base_DB_Table_Data_ReadOnly::refresh_data_from_database()
 {
   if(!ConnectionPool::get_instance()->get_ready_to_connect())
diff --git a/glom/base_db_table_data_readonly.h b/glom/base_db_table_data_readonly.h
index 6e2e28b..7485280 100644
--- a/glom/base_db_table_data_readonly.h
+++ b/glom/base_db_table_data_readonly.h
@@ -36,7 +36,6 @@ class Base_DB_Table_Data_ReadOnly : public Base_DB_Table
 {
 public:
   Base_DB_Table_Data_ReadOnly();
-  virtual ~Base_DB_Table_Data_ReadOnly();
 
   bool refresh_data_from_database();
 
diff --git a/glom/box_db_table.cc b/glom/box_db_table.cc
index d809b49..4378d35 100644
--- a/glom/box_db_table.cc
+++ b/glom/box_db_table.cc
@@ -35,10 +35,6 @@ Box_DB_Table::Box_DB_Table(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Buil
 {
 }
 
-Box_DB_Table::~Box_DB_Table()
-{
-}
-
 const Gtk::Window* Box_DB_Table::get_app_window() const
 {
   auto nonconst = const_cast<Box_DB_Table*>(this);
diff --git a/glom/box_db_table.h b/glom/box_db_table.h
index 62ad6d6..0ecedf2 100644
--- a/glom/box_db_table.h
+++ b/glom/box_db_table.h
@@ -39,7 +39,6 @@ class Box_DB_Table
 public: 
   Box_DB_Table();
   Box_DB_Table(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Box_DB_Table();
 
 protected:
   void handle_error(const Glib::Exception& ex);
diff --git a/glom/box_reports.cc b/glom/box_reports.cc
index 2b5ba8a..d4948d6 100644
--- a/glom/box_reports.cc
+++ b/glom/box_reports.cc
@@ -67,10 +67,6 @@ Box_Reports::Box_Reports(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builde
   show_all_children();
 }
 
-Box_Reports::~Box_Reports()
-{
-}
-
 void Box_Reports::fill_row(const Gtk::TreeModel::iterator& iter, const std::shared_ptr<const Report>& report)
 {
   if(iter)
diff --git a/glom/box_reports.h b/glom/box_reports.h
index 69e0cd3..8687cce 100644
--- a/glom/box_reports.h
+++ b/glom/box_reports.h
@@ -34,7 +34,6 @@ public:
   static const bool glade_developer;
 
   Box_Reports(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Box_Reports();
 
 private:
   bool fill_from_database() override;
diff --git a/glom/box_withbuttons.cc b/glom/box_withbuttons.cc
index a9bf7a3..122ea82 100644
--- a/glom/box_withbuttons.cc
+++ b/glom/box_withbuttons.cc
@@ -65,10 +65,6 @@ Box_WithButtons::Box_WithButtons(BaseObjectType* cobject)
 {
 }
 
-Box_WithButtons::~Box_WithButtons()
-{
-}
-
 void Box_WithButtons::on_Button_Cancel()
 {
   //Tell the parent dialog that the user has clicked [Cancel]:
diff --git a/glom/box_withbuttons.h b/glom/box_withbuttons.h
index d1fe6e6..1b60076 100644
--- a/glom/box_withbuttons.h
+++ b/glom/box_withbuttons.h
@@ -48,8 +48,6 @@ public:
   ///For use with libglademm's get_widget_derived():
   explicit Box_WithButtons(BaseObjectType* cobject);
 
-  virtual ~Box_WithButtons();
-
   Gtk::Window* get_app_window();
   const Gtk::Window* get_app_window() const;
 
diff --git a/glom/dialog_connection.cc b/glom/dialog_connection.cc
index 9667dc6..5be5289 100644
--- a/glom/dialog_connection.cc
+++ b/glom/dialog_connection.cc
@@ -53,10 +53,6 @@ Dialog_Connection::Dialog_Connection(BaseObjectType* cobject, const Glib::RefPtr
   builder->get_widget("connection_note", m_label_note);
 }
 
-Dialog_Connection::~Dialog_Connection()
-{
-}
-
 std::shared_ptr<SharedConnection> Dialog_Connection::connect_to_server_with_connection_settings() const
 {
   //std::cout << "debug: Dialog_Connection::connect_to_server_with_connection_settings()" << std::endl;
diff --git a/glom/dialog_connection.h b/glom/dialog_connection.h
index ca02529..427e3e6 100644
--- a/glom/dialog_connection.h
+++ b/glom/dialog_connection.h
@@ -40,7 +40,6 @@ public:
   static const bool glade_developer;
 
   Dialog_Connection(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_Connection();
 
   std::shared_ptr<SharedConnection> connect_to_server_with_connection_settings() const;
 
diff --git a/glom/dialog_invalid_data.cc b/glom/dialog_invalid_data.cc
index 2e225e8..2c32043 100644
--- a/glom/dialog_invalid_data.cc
+++ b/glom/dialog_invalid_data.cc
@@ -54,10 +54,6 @@ Dialog_InvalidData::Dialog_InvalidData(BaseObjectType* cobject, const Glib::RefP
   builder->get_widget("label_example_data", m_label);
 }
 
-Dialog_InvalidData::~Dialog_InvalidData()
-{
-}
-
 void Dialog_InvalidData::set_example_data(Field::glom_field_type glom_type)
 {
   Glib::ustring example_text;
diff --git a/glom/dialog_invalid_data.h b/glom/dialog_invalid_data.h
index cac3336..f78991b 100644
--- a/glom/dialog_invalid_data.h
+++ b/glom/dialog_invalid_data.h
@@ -41,7 +41,6 @@ public:
   static const bool glade_developer;
 
   Dialog_InvalidData(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_InvalidData();
 
   /** Show appropriate example data for this field type.
    */
diff --git a/glom/infobar_progress_creating.cc b/glom/infobar_progress_creating.cc
index 44543cd..ef475d8 100644
--- a/glom/infobar_progress_creating.cc
+++ b/glom/infobar_progress_creating.cc
@@ -36,10 +36,6 @@ Infobar_ProgressCreating::Infobar_ProgressCreating(BaseObjectType* cobject, cons
   builder->get_widget("label_message", m_label_message);
 }
 
-Infobar_ProgressCreating::~Infobar_ProgressCreating()
-{
-}
-
 void Infobar_ProgressCreating::pulse()
 {
   m_progress->pulse();
diff --git a/glom/infobar_progress_creating.h b/glom/infobar_progress_creating.h
index 7bf158f..9dcce1a 100644
--- a/glom/infobar_progress_creating.h
+++ b/glom/infobar_progress_creating.h
@@ -37,7 +37,6 @@ class Infobar_ProgressCreating
 {
 public:
   Infobar_ProgressCreating(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Infobar_ProgressCreating();
 
   void set_message(const Glib::ustring& title, const Glib::ustring& secondary_text);
 
diff --git a/glom/libglom/appstate.cc b/glom/libglom/appstate.cc
index bae52f8..3c352ec 100644
--- a/glom/libglom/appstate.cc
+++ b/glom/libglom/appstate.cc
@@ -30,11 +30,6 @@ AppState::AppState()
 {
 }
 
-AppState::~AppState()
-{
-
-}
-
 AppState::userlevels AppState::get_userlevel() const
 {
   return m_userlevel;
diff --git a/glom/libglom/appstate.h b/glom/libglom/appstate.h
index fcbf208..21c0e7e 100644
--- a/glom/libglom/appstate.h
+++ b/glom/libglom/appstate.h
@@ -34,7 +34,6 @@ class AppState
 {
 public:
   AppState();
-  virtual ~AppState();
 
   enum class userlevels
   {
diff --git a/glom/libglom/connectionpool_backends/backend.cc b/glom/libglom/connectionpool_backends/backend.cc
index ebef9d4..ecbdd62 100644
--- a/glom/libglom/connectionpool_backends/backend.cc
+++ b/glom/libglom/connectionpool_backends/backend.cc
@@ -28,10 +28,6 @@ ExceptionConnection::ExceptionConnection(failure_type failure)
 {
 }
 
-ExceptionConnection::~ExceptionConnection() noexcept
-{
-}
-
 const char* ExceptionConnection::what() const noexcept
 {
   return "Glom database connection failed.";
diff --git a/glom/libglom/connectionpool_backends/backend.h b/glom/libglom/connectionpool_backends/backend.h
index 1b07729..729d853 100644
--- a/glom/libglom/connectionpool_backends/backend.h
+++ b/glom/libglom/connectionpool_backends/backend.h
@@ -45,7 +45,6 @@ public:
   };
 
   ExceptionConnection(failure_type failure);
-  virtual ~ExceptionConnection() noexcept;
 
   const char* what() const noexcept override;
 
diff --git a/glom/libglom/data_structure/choicevalue.cc b/glom/libglom/data_structure/choicevalue.cc
index b35fa73..fac81b5 100644
--- a/glom/libglom/data_structure/choicevalue.cc
+++ b/glom/libglom/data_structure/choicevalue.cc
@@ -38,10 +38,6 @@ ChoiceValue::ChoiceValue(const ChoiceValue& src)
   operator=(src);
 }
 
-ChoiceValue::~ChoiceValue()
-{
-}
-
 ChoiceValue& ChoiceValue::operator=(const ChoiceValue& src)
 {
   TranslatableItem::operator=(src);
diff --git a/glom/libglom/data_structure/choicevalue.h b/glom/libglom/data_structure/choicevalue.h
index 56d17b1..84ef8f0 100644
--- a/glom/libglom/data_structure/choicevalue.h
+++ b/glom/libglom/data_structure/choicevalue.h
@@ -40,7 +40,6 @@ public:
   ChoiceValue();
   ChoiceValue(const ChoiceValue& src);
   ChoiceValue(ChoiceValue&& src) = delete;
-  ~ChoiceValue();
 
   ChoiceValue& operator=(const ChoiceValue& src);
   ChoiceValue& operator=(ChoiceValue&& src) = delete;
diff --git a/glom/libglom/data_structure/field.cc b/glom/libglom/data_structure/field.cc
index 124f10c..472cb54 100644
--- a/glom/libglom/data_structure/field.cc
+++ b/glom/libglom/data_structure/field.cc
@@ -57,10 +57,6 @@ Field::Field(const Field& src)
   operator=(src);
 }
 
-Field::~Field()
-{
-}
-
 Field& Field::operator=(const Field& src)
 {
   TranslatableItem::operator=(src);
diff --git a/glom/libglom/data_structure/field.h b/glom/libglom/data_structure/field.h
index 8a660e8..36d6257 100644
--- a/glom/libglom/data_structure/field.h
+++ b/glom/libglom/data_structure/field.h
@@ -86,7 +86,6 @@ public:
   Field();
   Field(const Field& src);
   Field(Field&& src) = delete;
-  ~Field();
 
   Field& operator=(const Field& src);
   Field& operator=(Field&& src) = delete;
diff --git a/glom/libglom/data_structure/fieldtypes.cc b/glom/libglom/data_structure/fieldtypes.cc
index 13d452f..95d942b 100644
--- a/glom/libglom/data_structure/fieldtypes.cc
+++ b/glom/libglom/data_structure/fieldtypes.cc
@@ -114,10 +114,6 @@ FieldTypes::FieldTypes(const Glib::RefPtr<Gnome::Gda::Connection>& gda_connectio
   m_mapFallbackTypes[G_TYPE_DATE] = G_TYPE_STRING;
 }
 
-FieldTypes::~FieldTypes()
-{
-}
-
 void FieldTypes::fill_with_default_data()
 {
   //This is based on the values normally retrieved from the database server,
diff --git a/glom/libglom/data_structure/fieldtypes.h b/glom/libglom/data_structure/fieldtypes.h
index 317a9f0..623274c 100644
--- a/glom/libglom/data_structure/fieldtypes.h
+++ b/glom/libglom/data_structure/fieldtypes.h
@@ -34,7 +34,6 @@ class FieldTypes
 {
 public:
   FieldTypes(const Glib::RefPtr<Gnome::Gda::Connection>& gda_connection);
-  virtual ~FieldTypes();
 
   Glib::ustring get_string_name_for_gdavaluetype(GType field_type) const;
 
diff --git a/glom/libglom/data_structure/groupinfo.cc b/glom/libglom/data_structure/groupinfo.cc
index dab5d62..cd63074 100644
--- a/glom/libglom/data_structure/groupinfo.cc
+++ b/glom/libglom/data_structure/groupinfo.cc
@@ -42,10 +42,6 @@ GroupInfo::GroupInfo(GroupInfo&& src)
 {
 }
 
-GroupInfo::~GroupInfo()
-{
-}
-
 GroupInfo& GroupInfo::operator=(const GroupInfo& src)
 {
   TranslatableItem::operator=(src);
diff --git a/glom/libglom/data_structure/groupinfo.h b/glom/libglom/data_structure/groupinfo.h
index e47611e..be4a343 100644
--- a/glom/libglom/data_structure/groupinfo.h
+++ b/glom/libglom/data_structure/groupinfo.h
@@ -34,7 +34,6 @@ public:
   GroupInfo();
   GroupInfo(const GroupInfo& src);
   GroupInfo(GroupInfo&& src);
-  virtual ~GroupInfo();
 
   GroupInfo& operator=(const GroupInfo& src);
   GroupInfo& operator=(GroupInfo&& src);
diff --git a/glom/libglom/data_structure/layout/custom_title.cc 
b/glom/libglom/data_structure/layout/custom_title.cc
index 30a8ff8..054e1b5 100644
--- a/glom/libglom/data_structure/layout/custom_title.cc
+++ b/glom/libglom/data_structure/layout/custom_title.cc
@@ -36,10 +36,6 @@ CustomTitle::CustomTitle(const CustomTitle& src)
 {
 }
 
-CustomTitle::~CustomTitle()
-{
-}
-
 bool CustomTitle::operator==(const CustomTitle& src) const
 {
   const auto result = TranslatableItem::operator==(src) &&
diff --git a/glom/libglom/data_structure/layout/custom_title.h 
b/glom/libglom/data_structure/layout/custom_title.h
index ab28ba8..d54130f 100644
--- a/glom/libglom/data_structure/layout/custom_title.h
+++ b/glom/libglom/data_structure/layout/custom_title.h
@@ -36,7 +36,6 @@ public:
   CustomTitle(CustomTitle&& src) = delete;
   CustomTitle& operator=(const CustomTitle& src);
   CustomTitle& operator=(CustomTitle&& src) = delete;
-  virtual ~CustomTitle();
 
   bool operator==(const CustomTitle& src) const;
 
diff --git a/glom/libglom/data_structure/layout/formatting.cc 
b/glom/libglom/data_structure/layout/formatting.cc
index f485d10..9ebf470 100644
--- a/glom/libglom/data_structure/layout/formatting.cc
+++ b/glom/libglom/data_structure/layout/formatting.cc
@@ -61,10 +61,6 @@ Formatting::Formatting(const Formatting& src)
 {
 }
 
-Formatting::~Formatting()
-{
-}
-
 bool Formatting::operator==(const Formatting& src) const
 {
   return UsesRelationship::operator==(src) &&
diff --git a/glom/libglom/data_structure/layout/formatting.h b/glom/libglom/data_structure/layout/formatting.h
index f9850e5..dd847f4 100644
--- a/glom/libglom/data_structure/layout/formatting.h
+++ b/glom/libglom/data_structure/layout/formatting.h
@@ -45,7 +45,6 @@ public:
   Formatting(Formatting&& src) = delete;
   Formatting& operator=(const Formatting& src);
   Formatting& operator=(Formatting&& src) = delete;
-  virtual ~Formatting();
 
   bool operator==(const Formatting& src) const;
 
diff --git a/glom/libglom/data_structure/layout/layoutitem_button.cc 
b/glom/libglom/data_structure/layout/layoutitem_button.cc
index 4e81a10..4947094 100644
--- a/glom/libglom/data_structure/layout/layoutitem_button.cc
+++ b/glom/libglom/data_structure/layout/layoutitem_button.cc
@@ -35,10 +35,6 @@ LayoutItem_Button::LayoutItem_Button(const LayoutItem_Button& src)
 {
 }
 
-LayoutItem_Button::~LayoutItem_Button()
-{
-}
-
 LayoutItem* LayoutItem_Button::clone() const
 {
   return new LayoutItem_Button(*this);
diff --git a/glom/libglom/data_structure/layout/layoutitem_button.h 
b/glom/libglom/data_structure/layout/layoutitem_button.h
index 26809de..9c599c3 100644
--- a/glom/libglom/data_structure/layout/layoutitem_button.h
+++ b/glom/libglom/data_structure/layout/layoutitem_button.h
@@ -36,7 +36,6 @@ public:
   LayoutItem_Button(LayoutItem_Button&& src) = delete;
   LayoutItem_Button& operator=(const LayoutItem_Button& src);
   LayoutItem_Button& operator=(LayoutItem_Button&& src) = delete;
-  virtual ~LayoutItem_Button();
 
   LayoutItem* clone() const override;
 
diff --git a/glom/libglom/data_structure/layout/layoutitem_calendarportal.cc 
b/glom/libglom/data_structure/layout/layoutitem_calendarportal.cc
index 9de76a3..c53c1f3 100644
--- a/glom/libglom/data_structure/layout/layoutitem_calendarportal.cc
+++ b/glom/libglom/data_structure/layout/layoutitem_calendarportal.cc
@@ -34,16 +34,11 @@ LayoutItem_CalendarPortal::LayoutItem_CalendarPortal(const LayoutItem_CalendarPo
 {
 }
 
-LayoutItem_CalendarPortal::~LayoutItem_CalendarPortal()
-{
-}
-
 LayoutItem* LayoutItem_CalendarPortal::clone() const
 {
   return new LayoutItem_CalendarPortal(*this);
 }
 
-
 LayoutItem_CalendarPortal& LayoutItem_CalendarPortal::operator=(const LayoutItem_CalendarPortal& src)
 {
   LayoutItem_Portal::operator=(src);
diff --git a/glom/libglom/data_structure/layout/layoutitem_calendarportal.h 
b/glom/libglom/data_structure/layout/layoutitem_calendarportal.h
index 8b7c4f0..9daad36 100644
--- a/glom/libglom/data_structure/layout/layoutitem_calendarportal.h
+++ b/glom/libglom/data_structure/layout/layoutitem_calendarportal.h
@@ -35,7 +35,6 @@ public:
   LayoutItem_CalendarPortal(LayoutItem_CalendarPortal&& src) = delete;
   LayoutItem_CalendarPortal& operator=(const LayoutItem_CalendarPortal& src);
   LayoutItem_CalendarPortal& operator=(LayoutItem_CalendarPortal&& src) = delete;
-  virtual ~LayoutItem_CalendarPortal();
 
   LayoutItem* clone() const override;
 
diff --git a/glom/libglom/data_structure/layout/layoutitem_field.cc 
b/glom/libglom/data_structure/layout/layoutitem_field.cc
index 547d6c1..9d0683b 100644
--- a/glom/libglom/data_structure/layout/layoutitem_field.cc
+++ b/glom/libglom/data_structure/layout/layoutitem_field.cc
@@ -49,10 +49,6 @@ LayoutItem_Field::LayoutItem_Field(const LayoutItem_Field& src)
   m_field = src.m_field;
 }
 
-LayoutItem_Field::~LayoutItem_Field()
-{
-}
-
 LayoutItem* LayoutItem_Field::clone() const
 {
   return new LayoutItem_Field(*this);
diff --git a/glom/libglom/data_structure/layout/layoutitem_field.h 
b/glom/libglom/data_structure/layout/layoutitem_field.h
index f2969f2..292152c 100644
--- a/glom/libglom/data_structure/layout/layoutitem_field.h
+++ b/glom/libglom/data_structure/layout/layoutitem_field.h
@@ -52,7 +52,6 @@ public:
   LayoutItem_Field(LayoutItem_Field&& src) = delete;
   LayoutItem_Field& operator=(const LayoutItem_Field& src);
   LayoutItem_Field& operator=(LayoutItem_Field&& src) = delete;
-  virtual ~LayoutItem_Field();
 
   LayoutItem* clone() const override;
 
diff --git a/glom/libglom/data_structure/layout/layoutitem_image.cc 
b/glom/libglom/data_structure/layout/layoutitem_image.cc
index 5b940a5..78a7dcb 100644
--- a/glom/libglom/data_structure/layout/layoutitem_image.cc
+++ b/glom/libglom/data_structure/layout/layoutitem_image.cc
@@ -37,10 +37,6 @@ LayoutItem_Image::LayoutItem_Image(const LayoutItem_Image& src)
 {
 }
 
-LayoutItem_Image::~LayoutItem_Image()
-{
-}
-
 LayoutItem* LayoutItem_Image::clone() const
 {
   return new LayoutItem_Image(*this);
diff --git a/glom/libglom/data_structure/layout/layoutitem_image.h 
b/glom/libglom/data_structure/layout/layoutitem_image.h
index 45a1d91..3a94b97 100644
--- a/glom/libglom/data_structure/layout/layoutitem_image.h
+++ b/glom/libglom/data_structure/layout/layoutitem_image.h
@@ -42,7 +42,6 @@ public:
   LayoutItem_Image(LayoutItem_Image&& src) = delete;
   LayoutItem_Image& operator=(const LayoutItem_Image& src);
   LayoutItem_Image& operator=(LayoutItem_Image&& src) = delete;
-  virtual ~LayoutItem_Image();
 
   LayoutItem* clone() const override;
 
diff --git a/glom/libglom/data_structure/layout/layoutitem_line.cc 
b/glom/libglom/data_structure/layout/layoutitem_line.cc
index d9e66a7..9a97bf8 100644
--- a/glom/libglom/data_structure/layout/layoutitem_line.cc
+++ b/glom/libglom/data_structure/layout/layoutitem_line.cc
@@ -47,10 +47,6 @@ LayoutItem_Line::LayoutItem_Line(const LayoutItem_Line& src)
 {
 }
 
-LayoutItem_Line::~LayoutItem_Line()
-{
-}
-
 LayoutItem* LayoutItem_Line::clone() const
 {
   return new LayoutItem_Line(*this);
diff --git a/glom/libglom/data_structure/layout/layoutitem_line.h 
b/glom/libglom/data_structure/layout/layoutitem_line.h
index ab5fe53..451597e 100644
--- a/glom/libglom/data_structure/layout/layoutitem_line.h
+++ b/glom/libglom/data_structure/layout/layoutitem_line.h
@@ -37,7 +37,6 @@ public:
   LayoutItem_Line(LayoutItem_Line&& src) = delete;
   LayoutItem_Line& operator=(const LayoutItem_Line& src);
   LayoutItem_Line& operator=(LayoutItem_Line&& src) = delete;
-  virtual ~LayoutItem_Line();
 
   LayoutItem* clone() const override;
 
diff --git a/glom/libglom/data_structure/layout/layoutitem_notebook.cc 
b/glom/libglom/data_structure/layout/layoutitem_notebook.cc
index 4a074aa..ee32a45 100644
--- a/glom/libglom/data_structure/layout/layoutitem_notebook.cc
+++ b/glom/libglom/data_structure/layout/layoutitem_notebook.cc
@@ -33,16 +33,11 @@ LayoutItem_Notebook::LayoutItem_Notebook(const LayoutItem_Notebook& src)
 {
 }
 
-LayoutItem_Notebook::~LayoutItem_Notebook()
-{
-}
-
 LayoutItem* LayoutItem_Notebook::clone() const
 {
   return new LayoutItem_Notebook(*this);
 }
 
-
 LayoutItem_Notebook& LayoutItem_Notebook::operator=(const LayoutItem_Notebook& src)
 {
   LayoutGroup::operator=(src);
diff --git a/glom/libglom/data_structure/layout/layoutitem_notebook.h 
b/glom/libglom/data_structure/layout/layoutitem_notebook.h
index 9423415..e7d55d3 100644
--- a/glom/libglom/data_structure/layout/layoutitem_notebook.h
+++ b/glom/libglom/data_structure/layout/layoutitem_notebook.h
@@ -40,7 +40,6 @@ public:
   LayoutItem_Notebook(LayoutItem_Notebook&& src) = delete;
   LayoutItem_Notebook& operator=(const LayoutItem_Notebook& src);
   LayoutItem_Notebook& operator=(LayoutItem_Notebook&& src) = delete;
-  virtual ~LayoutItem_Notebook();
 
   LayoutItem* clone() const override;
 
diff --git a/glom/libglom/data_structure/layout/layoutitem_placeholder.cc 
b/glom/libglom/data_structure/layout/layoutitem_placeholder.cc
index 23f77c4..12994c1 100644
--- a/glom/libglom/data_structure/layout/layoutitem_placeholder.cc
+++ b/glom/libglom/data_structure/layout/layoutitem_placeholder.cc
@@ -30,12 +30,7 @@ namespace Glom
   
 LayoutItem_Placeholder::LayoutItem_Placeholder()
 {
-  
-}
 
-LayoutItem_Placeholder::~LayoutItem_Placeholder()
-{
-  
 }
   
 LayoutItem_Placeholder::LayoutItem_Placeholder(const LayoutItem_Placeholder& src) :
diff --git a/glom/libglom/data_structure/layout/layoutitem_placeholder.h 
b/glom/libglom/data_structure/layout/layoutitem_placeholder.h
index f6a5125..0aa8a34 100644
--- a/glom/libglom/data_structure/layout/layoutitem_placeholder.h
+++ b/glom/libglom/data_structure/layout/layoutitem_placeholder.h
@@ -34,7 +34,6 @@ class LayoutItem_Placeholder: public LayoutItem
 {
 public:
   LayoutItem_Placeholder();
-  ~LayoutItem_Placeholder();
   
   LayoutItem_Placeholder(const LayoutItem_Placeholder& src);
   LayoutItem_Placeholder(LayoutItem_Placeholder&& src) = delete;
diff --git a/glom/libglom/data_structure/layout/layoutitem_portal.cc 
b/glom/libglom/data_structure/layout/layoutitem_portal.cc
index 39ed3ed..62d9eac 100644
--- a/glom/libglom/data_structure/layout/layoutitem_portal.cc
+++ b/glom/libglom/data_structure/layout/layoutitem_portal.cc
@@ -51,10 +51,6 @@ LayoutItem_Portal::LayoutItem_Portal(const LayoutItem_Portal& src)
 {
 }
 
-LayoutItem_Portal::~LayoutItem_Portal()
-{
-}
-
 LayoutItem* LayoutItem_Portal::clone() const
 {
   return new LayoutItem_Portal(*this);
diff --git a/glom/libglom/data_structure/layout/layoutitem_portal.h 
b/glom/libglom/data_structure/layout/layoutitem_portal.h
index df65c1f..f3f2bd8 100644
--- a/glom/libglom/data_structure/layout/layoutitem_portal.h
+++ b/glom/libglom/data_structure/layout/layoutitem_portal.h
@@ -50,7 +50,6 @@ public:
   LayoutItem_Portal(LayoutItem_Portal&& src) = delete;
   LayoutItem_Portal& operator=(const LayoutItem_Portal& src);
   LayoutItem_Portal& operator=(LayoutItem_Portal&& src) = delete;
-  virtual ~LayoutItem_Portal();
 
   LayoutItem* clone() const override;
 
diff --git a/glom/libglom/data_structure/layout/layoutitem_text.cc 
b/glom/libglom/data_structure/layout/layoutitem_text.cc
index 738e988..016d4e6 100644
--- a/glom/libglom/data_structure/layout/layoutitem_text.cc
+++ b/glom/libglom/data_structure/layout/layoutitem_text.cc
@@ -38,10 +38,6 @@ LayoutItem_Text::LayoutItem_Text(const LayoutItem_Text& src)
   m_text = std::make_shared<StaticText>(src_item);
 }
 
-LayoutItem_Text::~LayoutItem_Text()
-{
-}
-
 LayoutItem* LayoutItem_Text::clone() const
 {
   return new LayoutItem_Text(*this);
diff --git a/glom/libglom/data_structure/layout/layoutitem_text.h 
b/glom/libglom/data_structure/layout/layoutitem_text.h
index 5602a12..8afb524 100644
--- a/glom/libglom/data_structure/layout/layoutitem_text.h
+++ b/glom/libglom/data_structure/layout/layoutitem_text.h
@@ -42,7 +42,6 @@ public:
   LayoutItem_Text(LayoutItem_Text&& src) = delete;
   LayoutItem_Text& operator=(const LayoutItem_Text& src);
   LayoutItem_Text& operator=(LayoutItem_Text&& src) = delete;
-  virtual ~LayoutItem_Text();
 
   LayoutItem* clone() const override;
 
diff --git a/glom/libglom/data_structure/layout/layoutitem_withformatting.cc 
b/glom/libglom/data_structure/layout/layoutitem_withformatting.cc
index 58390c7..ab46425 100644
--- a/glom/libglom/data_structure/layout/layoutitem_withformatting.cc
+++ b/glom/libglom/data_structure/layout/layoutitem_withformatting.cc
@@ -34,10 +34,6 @@ LayoutItem_WithFormatting::LayoutItem_WithFormatting(const LayoutItem_WithFormat
 {
 }
 
-LayoutItem_WithFormatting::~LayoutItem_WithFormatting()
-{
-}
-
 bool LayoutItem_WithFormatting::operator==(const LayoutItem_WithFormatting& src) const
 {
   auto result = LayoutItem::operator==(src) && 
diff --git a/glom/libglom/data_structure/layout/layoutitem_withformatting.h 
b/glom/libglom/data_structure/layout/layoutitem_withformatting.h
index b492713..f49a750 100644
--- a/glom/libglom/data_structure/layout/layoutitem_withformatting.h
+++ b/glom/libglom/data_structure/layout/layoutitem_withformatting.h
@@ -40,7 +40,6 @@ public:
   LayoutItem_WithFormatting(LayoutItem_WithFormatting&& src) = delete;
   LayoutItem_WithFormatting& operator=(const LayoutItem_WithFormatting& src);
   LayoutItem_WithFormatting& operator=(LayoutItem_WithFormatting&& src) = delete;
-  virtual ~LayoutItem_WithFormatting();
 
   bool operator==(const LayoutItem_WithFormatting& src) const;
 
diff --git a/glom/libglom/data_structure/layout/report_parts/layoutitem_fieldsummary.cc 
b/glom/libglom/data_structure/layout/report_parts/layoutitem_fieldsummary.cc
index f5e7ef4..8d2ed1a 100644
--- a/glom/libglom/data_structure/layout/report_parts/layoutitem_fieldsummary.cc
+++ b/glom/libglom/data_structure/layout/report_parts/layoutitem_fieldsummary.cc
@@ -35,10 +35,6 @@ LayoutItem_FieldSummary::LayoutItem_FieldSummary(const LayoutItem_FieldSummary&
 {
 }
 
-LayoutItem_FieldSummary::~LayoutItem_FieldSummary()
-{
-}
-
 LayoutItem* LayoutItem_FieldSummary::clone() const
 {
   return new LayoutItem_FieldSummary(*this);
diff --git a/glom/libglom/data_structure/layout/report_parts/layoutitem_fieldsummary.h 
b/glom/libglom/data_structure/layout/report_parts/layoutitem_fieldsummary.h
index 2fe9233..0efc43b 100644
--- a/glom/libglom/data_structure/layout/report_parts/layoutitem_fieldsummary.h
+++ b/glom/libglom/data_structure/layout/report_parts/layoutitem_fieldsummary.h
@@ -35,7 +35,6 @@ public:
   LayoutItem_FieldSummary(LayoutItem_FieldSummary&& src) = delete;
   LayoutItem_FieldSummary& operator=(const LayoutItem_FieldSummary& src);
   LayoutItem_FieldSummary& operator=(LayoutItem_FieldSummary&& src) = delete;
-  virtual ~LayoutItem_FieldSummary();
 
   LayoutItem* clone() const override;
 
diff --git a/glom/libglom/data_structure/layout/report_parts/layoutitem_footer.cc 
b/glom/libglom/data_structure/layout/report_parts/layoutitem_footer.cc
index 6cd1ef6..c24436c 100644
--- a/glom/libglom/data_structure/layout/report_parts/layoutitem_footer.cc
+++ b/glom/libglom/data_structure/layout/report_parts/layoutitem_footer.cc
@@ -33,10 +33,6 @@ LayoutItem_Footer::LayoutItem_Footer(const LayoutItem_Footer& src)
 {
 }
 
-LayoutItem_Footer::~LayoutItem_Footer()
-{
-}
-
 LayoutItem* LayoutItem_Footer::clone() const
 {
   return new LayoutItem_Footer(*this);
diff --git a/glom/libglom/data_structure/layout/report_parts/layoutitem_footer.h 
b/glom/libglom/data_structure/layout/report_parts/layoutitem_footer.h
index 1c58952..d3fd418 100644
--- a/glom/libglom/data_structure/layout/report_parts/layoutitem_footer.h
+++ b/glom/libglom/data_structure/layout/report_parts/layoutitem_footer.h
@@ -39,7 +39,6 @@ public:
   LayoutItem_Footer(LayoutItem_Footer&& src) = delete;
   LayoutItem_Footer& operator=(const LayoutItem_Footer& src);
   LayoutItem_Footer& operator=(LayoutItem_Footer&& src) = delete;
-  virtual ~LayoutItem_Footer();
 
   LayoutItem* clone() const override;
 
diff --git a/glom/libglom/data_structure/layout/report_parts/layoutitem_header.cc 
b/glom/libglom/data_structure/layout/report_parts/layoutitem_header.cc
index 1d63afd..83d22f0 100644
--- a/glom/libglom/data_structure/layout/report_parts/layoutitem_header.cc
+++ b/glom/libglom/data_structure/layout/report_parts/layoutitem_header.cc
@@ -33,10 +33,6 @@ LayoutItem_Header::LayoutItem_Header(const LayoutItem_Header& src)
 {
 }
 
-LayoutItem_Header::~LayoutItem_Header()
-{
-}
-
 LayoutItem* LayoutItem_Header::clone() const
 {
   return new LayoutItem_Header(*this);
diff --git a/glom/libglom/data_structure/layout/report_parts/layoutitem_header.h 
b/glom/libglom/data_structure/layout/report_parts/layoutitem_header.h
index af9fbd9..a337ffb 100644
--- a/glom/libglom/data_structure/layout/report_parts/layoutitem_header.h
+++ b/glom/libglom/data_structure/layout/report_parts/layoutitem_header.h
@@ -39,7 +39,6 @@ public:
   LayoutItem_Header(LayoutItem_Header&& src) = delete;
   LayoutItem_Header& operator=(const LayoutItem_Header& src);
   LayoutItem_Header& operator=(LayoutItem_Header&& src) = delete;
-  virtual ~LayoutItem_Header();
 
   LayoutItem* clone() const override;
 
diff --git a/glom/libglom/data_structure/layout/report_parts/layoutitem_verticalgroup.cc 
b/glom/libglom/data_structure/layout/report_parts/layoutitem_verticalgroup.cc
index d372237..c48d1e1 100644
--- a/glom/libglom/data_structure/layout/report_parts/layoutitem_verticalgroup.cc
+++ b/glom/libglom/data_structure/layout/report_parts/layoutitem_verticalgroup.cc
@@ -33,10 +33,6 @@ LayoutItem_VerticalGroup::LayoutItem_VerticalGroup(const LayoutItem_VerticalGrou
 {
 }
 
-LayoutItem_VerticalGroup::~LayoutItem_VerticalGroup()
-{
-}
-
 LayoutItem* LayoutItem_VerticalGroup::clone() const
 {
   return new LayoutItem_VerticalGroup(*this);
diff --git a/glom/libglom/data_structure/layout/report_parts/layoutitem_verticalgroup.h 
b/glom/libglom/data_structure/layout/report_parts/layoutitem_verticalgroup.h
index 81b160a..101931d 100644
--- a/glom/libglom/data_structure/layout/report_parts/layoutitem_verticalgroup.h
+++ b/glom/libglom/data_structure/layout/report_parts/layoutitem_verticalgroup.h
@@ -39,7 +39,6 @@ public:
   LayoutItem_VerticalGroup(LayoutItem_VerticalGroup&& src) = delete;
   LayoutItem_VerticalGroup& operator=(const LayoutItem_VerticalGroup& src);
   LayoutItem_VerticalGroup& operator=(LayoutItem_VerticalGroup&& src) = delete;
-  virtual ~LayoutItem_VerticalGroup();
 
   LayoutItem* clone() const override;
 
diff --git a/glom/libglom/data_structure/layout/static_text.cc 
b/glom/libglom/data_structure/layout/static_text.cc
index 330183a..390d631 100644
--- a/glom/libglom/data_structure/layout/static_text.cc
+++ b/glom/libglom/data_structure/layout/static_text.cc
@@ -34,10 +34,6 @@ StaticText::StaticText(const StaticText& src)
 {
 }
 
-StaticText::~StaticText()
-{
-}
-
 bool StaticText::operator==(const StaticText& src) const
 {
   const auto result = TranslatableItem::operator==(src);
diff --git a/glom/libglom/data_structure/layout/static_text.h 
b/glom/libglom/data_structure/layout/static_text.h
index d301e37..52e1f85 100644
--- a/glom/libglom/data_structure/layout/static_text.h
+++ b/glom/libglom/data_structure/layout/static_text.h
@@ -38,7 +38,6 @@ public:
   StaticText(StaticText&& src) = delete;
   StaticText& operator=(const StaticText& src);
   StaticText& operator=(StaticText&& src) = delete;
-  virtual ~StaticText();
 
   bool operator==(const StaticText& src) const;
 };
diff --git a/glom/libglom/data_structure/layout/usesrelationship.cc 
b/glom/libglom/data_structure/layout/usesrelationship.cc
index 6b07e75..7f594f8 100644
--- a/glom/libglom/data_structure/layout/usesrelationship.cc
+++ b/glom/libglom/data_structure/layout/usesrelationship.cc
@@ -34,10 +34,6 @@ UsesRelationship::UsesRelationship(const UsesRelationship& src)
 {
 }
 
-UsesRelationship::~UsesRelationship()
-{
-}
-
 bool UsesRelationship::operator==(const UsesRelationship& src) const
 {
   return (m_relationship == src.m_relationship)
diff --git a/glom/libglom/data_structure/layout/usesrelationship.h 
b/glom/libglom/data_structure/layout/usesrelationship.h
index 5b16fd3..77c7883 100644
--- a/glom/libglom/data_structure/layout/usesrelationship.h
+++ b/glom/libglom/data_structure/layout/usesrelationship.h
@@ -42,7 +42,6 @@ public:
   UsesRelationship(UsesRelationship&& src) = delete;
   UsesRelationship& operator=(const UsesRelationship& src);
   UsesRelationship& operator=(UsesRelationship&& src) = delete;
-  virtual ~UsesRelationship();
 
   bool operator==(const UsesRelationship& src) const;
 
diff --git a/glom/libglom/data_structure/numeric_format.cc b/glom/libglom/data_structure/numeric_format.cc
index 81288f2..3142b41 100644
--- a/glom/libglom/data_structure/numeric_format.cc
+++ b/glom/libglom/data_structure/numeric_format.cc
@@ -36,10 +36,6 @@ NumericFormat::NumericFormat(const NumericFormat& src)
   operator=(src);
 }
 
-NumericFormat::~NumericFormat()
-{
-}
-
 NumericFormat& NumericFormat::operator=(const NumericFormat& src)
 {
   m_currency_symbol = src.m_currency_symbol;
diff --git a/glom/libglom/data_structure/numeric_format.h b/glom/libglom/data_structure/numeric_format.h
index eb23cef..7bce000 100644
--- a/glom/libglom/data_structure/numeric_format.h
+++ b/glom/libglom/data_structure/numeric_format.h
@@ -32,7 +32,6 @@ public:
   NumericFormat();
   NumericFormat(const NumericFormat& src);
   NumericFormat(NumericFormat&& src) = delete;
-  ~NumericFormat();
 
   NumericFormat& operator=(const NumericFormat& src);
   NumericFormat& operator=(NumericFormat&& src) = delete;
diff --git a/glom/libglom/data_structure/privileges.cc b/glom/libglom/data_structure/privileges.cc
index 54cf0a4..5a61062 100644
--- a/glom/libglom/data_structure/privileges.cc
+++ b/glom/libglom/data_structure/privileges.cc
@@ -44,10 +44,6 @@ Privileges::Privileges(Privileges&& src)
 {
 }
 
-Privileges::~Privileges()
-{
-}
-
 Privileges& Privileges::operator=(const Privileges& src)
 {
   m_view = src.m_view;
diff --git a/glom/libglom/data_structure/privileges.h b/glom/libglom/data_structure/privileges.h
index 9f61492..ed73c02 100644
--- a/glom/libglom/data_structure/privileges.h
+++ b/glom/libglom/data_structure/privileges.h
@@ -35,7 +35,6 @@ public:
   Privileges();
   Privileges(const Privileges& src);
   Privileges(Privileges&& src);
-  virtual ~Privileges();
 
   Privileges& operator=(const Privileges& src);
   Privileges& operator=(Privileges&& src);
diff --git a/glom/libglom/data_structure/relationship.cc b/glom/libglom/data_structure/relationship.cc
index c8d9270..e6ce6c5 100644
--- a/glom/libglom/data_structure/relationship.cc
+++ b/glom/libglom/data_structure/relationship.cc
@@ -36,10 +36,6 @@ Relationship::Relationship(const Relationship& src)
   operator=(src); //TODO_Performance: Implement properly.
 }
 
-Relationship::~Relationship()
-{
-}
-
 Relationship& Relationship::operator=(const Relationship& src)
 {
   TranslatableItem::operator=(src);
diff --git a/glom/libglom/data_structure/relationship.h b/glom/libglom/data_structure/relationship.h
index a842638..05cbaa4 100644
--- a/glom/libglom/data_structure/relationship.h
+++ b/glom/libglom/data_structure/relationship.h
@@ -36,7 +36,6 @@ public:
   Relationship();
   Relationship(const Relationship& src);
   Relationship(Relationship&& src) = delete;
-  ~Relationship();
 
   Relationship& operator=(const Relationship& src);
   Relationship& operator=(Relationship&& src) = delete;
diff --git a/glom/libglom/document/bakery/view/view.h b/glom/libglom/document/bakery/view/view.h
index 37034bb..96278ba 100644
--- a/glom/libglom/document/bakery/view/view.h
+++ b/glom/libglom/document/bakery/view/view.h
@@ -38,10 +38,6 @@ public:
   {
   }
 
-  virtual ~View()
-  {
-  }
-
   typedef View<T_Document> type_self;
 
   //typedef typename T_Document type_document;
diff --git a/glom/libglom/document/bakery/view/view_composite.h 
b/glom/libglom/document/bakery/view/view_composite.h
index effe71e..7ca56eb 100644
--- a/glom/libglom/document/bakery/view/view_composite.h
+++ b/glom/libglom/document/bakery/view/view_composite.h
@@ -38,10 +38,6 @@ public:
   {
   }
 
-  virtual ~View_Composite()
-  {
-  }
-
   typedef View<T_Document> type_view;
 
   virtual void add_view(type_view* pView)
diff --git a/glom/libglom/document/document.cc b/glom/libglom/document/document.cc
index ccec382..a1e61d8 100644
--- a/glom/libglom/document/document.cc
+++ b/glom/libglom/document/document.cc
@@ -313,10 +313,6 @@ Document::Document()
   set_allow_autosave(true);
 }
 
-Document::~Document()
-{
-}
-
 Document::HostingMode Document::get_hosting_mode() const
 {
   return m_hosting_mode;
diff --git a/glom/libglom/document/document.h b/glom/libglom/document/document.h
index 58125a7..3c59837 100644
--- a/glom/libglom/document/document.h
+++ b/glom/libglom/document/document.h
@@ -56,7 +56,6 @@ class Document : public GlomBakery::Document_XML
 {
 public:
   Document();
-  virtual ~Document();
 
   void set_modified(bool value = true) override;
 
diff --git a/glom/libglom/report_builder.cc b/glom/libglom/report_builder.cc
index 181bd61..e7291bf 100644
--- a/glom/libglom/report_builder.cc
+++ b/glom/libglom/report_builder.cc
@@ -38,10 +38,6 @@ ReportBuilder::ReportBuilder(const std::locale& locale)
   m_locale_id = Utils::locale_simplify(locale.name());
 }
 
-ReportBuilder::~ReportBuilder()
-{
-}
-
 bool ReportBuilder::report_build_headerfooter(const FoundSet& found_set, xmlpp::Element& parent_node, const 
std::shared_ptr<LayoutGroup>& group)
 {
   //Add XML node:
diff --git a/glom/libglom/report_builder.h b/glom/libglom/report_builder.h
index b2ebb13..688548f 100644
--- a/glom/libglom/report_builder.h
+++ b/glom/libglom/report_builder.h
@@ -37,8 +37,6 @@ class ReportBuilder
 public:
   explicit ReportBuilder(const std::locale& locale);
 
-  virtual ~ReportBuilder();
-
   static std::shared_ptr<Report> create_standard_list_report(const Document* document, const Glib::ustring& 
table_name);
 
   //TODO: Remove set_document() and get_document()?
diff --git a/glom/mode_data/box_data_manyrecords.cc b/glom/mode_data/box_data_manyrecords.cc
index 54dc08a..cfe9ec7 100644
--- a/glom/mode_data/box_data_manyrecords.cc
+++ b/glom/mode_data/box_data_manyrecords.cc
@@ -44,10 +44,6 @@ Box_Data_ManyRecords::Box_Data_ManyRecords()
 
 }
 
-Box_Data_ManyRecords::~Box_Data_ManyRecords()
-{
-}
-
 void Box_Data_ManyRecords::refresh_data_from_database_blank()
 {
   //Overridden by derived classes.
diff --git a/glom/mode_data/box_data_manyrecords.h b/glom/mode_data/box_data_manyrecords.h
index 540b8ac..b7ad307 100644
--- a/glom/mode_data/box_data_manyrecords.h
+++ b/glom/mode_data/box_data_manyrecords.h
@@ -33,7 +33,6 @@ class Box_Data_ManyRecords : public Box_Data
 {
 public: 
   Box_Data_ManyRecords();
-  virtual ~Box_Data_ManyRecords();
 
   void refresh_data_from_database_blank();
 
diff --git a/glom/mode_data/box_data_portal.cc b/glom/mode_data/box_data_portal.cc
index f64e7aa..6998dd2 100644
--- a/glom/mode_data/box_data_portal.cc
+++ b/glom/mode_data/box_data_portal.cc
@@ -50,10 +50,6 @@ Box_Data_Portal::Box_Data_Portal()
   m_layout_name = "list_portal"; //Replaced by derived classes.
 }
 
-Box_Data_Portal::~Box_Data_Portal()
-{
-}
-
 void Box_Data_Portal::make_record_related(const Gnome::Gda::Value& related_record_primary_key_value)
 {
   std::shared_ptr<Field> field_primary_key = get_field_primary_key();
diff --git a/glom/mode_data/box_data_portal.h b/glom/mode_data/box_data_portal.h
index 19ee4fd..4615858 100644
--- a/glom/mode_data/box_data_portal.h
+++ b/glom/mode_data/box_data_portal.h
@@ -42,7 +42,6 @@ class Box_Data_Portal :
 {
 public: 
   Box_Data_Portal();
-  virtual ~Box_Data_Portal();
   
   /**
    * @param portal: The full portal details
diff --git a/glom/mode_data/buttonglom.cc b/glom/mode_data/buttonglom.cc
index 748749f..d8c066b 100644
--- a/glom/mode_data/buttonglom.cc
+++ b/glom/mode_data/buttonglom.cc
@@ -43,9 +43,6 @@ ButtonGlom::ButtonGlom()
   init();
 }
 
-ButtonGlom::~ButtonGlom()
-{
-}
 
 void ButtonGlom::init()
 {
diff --git a/glom/mode_data/buttonglom.h b/glom/mode_data/buttonglom.h
index a111075..5ad358e 100644
--- a/glom/mode_data/buttonglom.h
+++ b/glom/mode_data/buttonglom.h
@@ -38,7 +38,6 @@ class ButtonGlom
 public:
   explicit ButtonGlom(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
   ButtonGlom();
-  virtual ~ButtonGlom();
 
 private:
   void init();
diff --git a/glom/mode_data/datawidget/cellrenderer_buttonimage.cc 
b/glom/mode_data/datawidget/cellrenderer_buttonimage.cc
index e454847..2bec491 100644
--- a/glom/mode_data/datawidget/cellrenderer_buttonimage.cc
+++ b/glom/mode_data/datawidget/cellrenderer_buttonimage.cc
@@ -32,9 +32,6 @@ GlomCellRenderer_ButtonImage::GlomCellRenderer_ButtonImage():
   property_mode() = Gtk::CELL_RENDERER_MODE_ACTIVATABLE;
 }
 
-GlomCellRenderer_ButtonImage::~GlomCellRenderer_ButtonImage()
-{}
-
 GlomCellRenderer_ButtonImage::type_signal_clicked GlomCellRenderer_ButtonImage::signal_clicked()
 {
   return m_signal_clicked;
diff --git a/glom/mode_data/datawidget/cellrenderer_buttonimage.h 
b/glom/mode_data/datawidget/cellrenderer_buttonimage.h
index ef69110..8b218af 100644
--- a/glom/mode_data/datawidget/cellrenderer_buttonimage.h
+++ b/glom/mode_data/datawidget/cellrenderer_buttonimage.h
@@ -32,7 +32,6 @@ class GlomCellRenderer_ButtonImage : public Gtk::CellRendererPixbuf
 {
 public: 
   GlomCellRenderer_ButtonImage();
-  virtual ~GlomCellRenderer_ButtonImage();
 
   typedef sigc::signal<void, const Gtk::TreeModel::Path&> type_signal_clicked;
   type_signal_clicked signal_clicked();
diff --git a/glom/mode_data/datawidget/cellrenderer_buttontext.cc 
b/glom/mode_data/datawidget/cellrenderer_buttontext.cc
index 1812aa1..077fea3 100644
--- a/glom/mode_data/datawidget/cellrenderer_buttontext.cc
+++ b/glom/mode_data/datawidget/cellrenderer_buttontext.cc
@@ -32,9 +32,6 @@ GlomCellRenderer_ButtonText::GlomCellRenderer_ButtonText():
   property_mode() = Gtk::CELL_RENDERER_MODE_ACTIVATABLE; //So that it calls activate_vfunc().
 }
 
-GlomCellRenderer_ButtonText::~GlomCellRenderer_ButtonText()
-{}
-
 GlomCellRenderer_ButtonText::type_signal_clicked GlomCellRenderer_ButtonText::signal_clicked()
 {
   return m_signal_clicked;
diff --git a/glom/mode_data/datawidget/cellrenderer_buttontext.h 
b/glom/mode_data/datawidget/cellrenderer_buttontext.h
index df2f9a2..aaf3403 100644
--- a/glom/mode_data/datawidget/cellrenderer_buttontext.h
+++ b/glom/mode_data/datawidget/cellrenderer_buttontext.h
@@ -32,7 +32,6 @@ class GlomCellRenderer_ButtonText : public Gtk::CellRendererText
 {
 public: 
   GlomCellRenderer_ButtonText();
-  virtual ~GlomCellRenderer_ButtonText();
 
   typedef sigc::signal<void, const Gtk::TreeModel::Path&> type_signal_clicked;
   type_signal_clicked signal_clicked();
diff --git a/glom/mode_data/datawidget/cellrenderer_dblist.cc 
b/glom/mode_data/datawidget/cellrenderer_dblist.cc
index e65f6ec..974cb52 100644
--- a/glom/mode_data/datawidget/cellrenderer_dblist.cc
+++ b/glom/mode_data/datawidget/cellrenderer_dblist.cc
@@ -35,11 +35,6 @@ CellRendererDbList::CellRendererDbList()
 {
 }
 
-CellRendererDbList::~CellRendererDbList()
-{
-}
-
-
 void CellRendererDbList::set_choices_fixed(const Formatting::type_list_values& list_values, bool restricted)
 {
   ComboChoicesWithTreeModel::set_choices_fixed(list_values, restricted);
diff --git a/glom/mode_data/datawidget/cellrenderer_dblist.h b/glom/mode_data/datawidget/cellrenderer_dblist.h
index b25a445..69548fd 100644
--- a/glom/mode_data/datawidget/cellrenderer_dblist.h
+++ b/glom/mode_data/datawidget/cellrenderer_dblist.h
@@ -38,7 +38,6 @@ class CellRendererDbList
 {
 public:
   CellRendererDbList();
-  virtual ~CellRendererDbList();
 
   //This creates a simple ListStore, with a text cell renderer.
   void set_choices_fixed(const Formatting::type_list_values& list_values, bool restricted = false) override;
diff --git a/glom/mode_data/datawidget/checkbutton.cc b/glom/mode_data/datawidget/checkbutton.cc
index b5d4b92..5535a70 100644
--- a/glom/mode_data/datawidget/checkbutton.cc
+++ b/glom/mode_data/datawidget/checkbutton.cc
@@ -42,10 +42,6 @@ CheckButton::CheckButton(const Glib::ustring& title)
   init();
 }
 
-CheckButton::~CheckButton()
-{
-}
-
 void CheckButton::init()
 {
 }
diff --git a/glom/mode_data/datawidget/checkbutton.h b/glom/mode_data/datawidget/checkbutton.h
index 5496e1c..ea8ec76 100644
--- a/glom/mode_data/datawidget/checkbutton.h
+++ b/glom/mode_data/datawidget/checkbutton.h
@@ -42,7 +42,6 @@ class CheckButton
 {
 public:
   explicit CheckButton(const Glib::ustring& title = Glib::ustring());
-  virtual ~CheckButton();
 
   void set_value(const Gnome::Gda::Value& value) override;
   Gnome::Gda::Value get_value() const override;    
diff --git a/glom/mode_data/datawidget/combo.cc b/glom/mode_data/datawidget/combo.cc
index 4039440..9bc8423 100644
--- a/glom/mode_data/datawidget/combo.cc
+++ b/glom/mode_data/datawidget/combo.cc
@@ -58,10 +58,6 @@ ComboGlom::ComboGlom(bool has_entry)
   set_popup_fixed_width(false);
 }
 
-ComboGlom::~ComboGlom()
-{
-}
-
 void ComboGlom::on_fixed_cell_data(const Gtk::TreeModel::iterator& iter, Gtk::CellRenderer* cell, guint 
model_column_index)
 {
   if(!cell)
diff --git a/glom/mode_data/datawidget/combo.h b/glom/mode_data/datawidget/combo.h
index 487e187..64c94a6 100644
--- a/glom/mode_data/datawidget/combo.h
+++ b/glom/mode_data/datawidget/combo.h
@@ -47,8 +47,6 @@ public:
   ///You must call set_layout_item() to specify the field type and formatting of the main column.
   explicit ComboGlom(bool has_entry = false);
 
-  virtual ~ComboGlom();
-
   //This creates a simple ListStore, with a text cell renderer.
   void set_choices_fixed(const Formatting::type_list_values& list_values, bool restricted = false) override;
 
diff --git a/glom/mode_data/datawidget/combochoices.cc b/glom/mode_data/datawidget/combochoices.cc
index dfdedaf..6aa323c 100644
--- a/glom/mode_data/datawidget/combochoices.cc
+++ b/glom/mode_data/datawidget/combochoices.cc
@@ -46,10 +46,6 @@ void ComboChoices::init()
 {
 }
 
-ComboChoices::~ComboChoices()
-{
-}
-
 bool ComboChoices::refresh_data_from_database_with_foreign_key(const Document* /* document */, const 
Gnome::Gda::Value& /* foreign_key_value */)
 {
   /** TODO:
diff --git a/glom/mode_data/datawidget/combochoices.h b/glom/mode_data/datawidget/combochoices.h
index 2134182..ae5bbf7 100644
--- a/glom/mode_data/datawidget/combochoices.h
+++ b/glom/mode_data/datawidget/combochoices.h
@@ -43,8 +43,6 @@ public:
   ///You must call set_layout_item() to specify the field type and formatting of the main column.
   explicit ComboChoices(const std::shared_ptr<LayoutItem_Field>& field_second);
 
-  virtual ~ComboChoices();
-
   /** Set a list of choice values, for instance for a list of custom choices.
    * You should first call set_layout_item() to provide formatting details.
    */
diff --git a/glom/mode_data/datawidget/datawidget.cc b/glom/mode_data/datawidget/datawidget.cc
index 9368e16..5a7e248 100644
--- a/glom/mode_data/datawidget/datawidget.cc
+++ b/glom/mode_data/datawidget/datawidget.cc
@@ -253,10 +253,6 @@ DataWidget::DataWidget(const std::shared_ptr<LayoutItem_Field>& field, const Gli
   //TODO: signal_style_changed().connect(sigc::mem_fun(*this, &DataWidget::on_self_style_changed));
 }
 
-DataWidget::~DataWidget()
-{
-}
-
 void DataWidget::on_widget_edited()
 {
   m_signal_edited.emit(get_value());
diff --git a/glom/mode_data/datawidget/datawidget.h b/glom/mode_data/datawidget/datawidget.h
index 742e6ff..91de7e0 100644
--- a/glom/mode_data/datawidget/datawidget.h
+++ b/glom/mode_data/datawidget/datawidget.h
@@ -45,7 +45,6 @@ class DataWidget
 {
 public:
   explicit DataWidget(const std::shared_ptr<LayoutItem_Field>& field, const Glib::ustring& table_name, const 
Document* document);
-  virtual ~DataWidget();
 
   Gtk::Label* get_label();
   const Gtk::Label* get_label() const;
diff --git a/glom/mode_data/datawidget/dialog_choose_date.cc b/glom/mode_data/datawidget/dialog_choose_date.cc
index 2fc14fa..66c5177 100644
--- a/glom/mode_data/datawidget/dialog_choose_date.cc
+++ b/glom/mode_data/datawidget/dialog_choose_date.cc
@@ -46,10 +46,6 @@ Dialog_ChooseDate::Dialog_ChooseDate(BaseObjectType* cobject, const Glib::RefPtr
   m_calendar->signal_day_selected_double_click().connect(sigc::mem_fun(*this, 
&Dialog_ChooseDate::on_day_selected_double_click));
 }
 
-Dialog_ChooseDate::~Dialog_ChooseDate()
-{
-}
-
 void Dialog_ChooseDate::set_date_chosen(const Gnome::Gda::Value& value)
 {
   if(value.get_value_type() == G_TYPE_DATE) //Otherwise GtkCalendar defaults to the current (today's) date.
diff --git a/glom/mode_data/datawidget/dialog_choose_date.h b/glom/mode_data/datawidget/dialog_choose_date.h
index 8604c2b..0c05061 100644
--- a/glom/mode_data/datawidget/dialog_choose_date.h
+++ b/glom/mode_data/datawidget/dialog_choose_date.h
@@ -43,7 +43,6 @@ public:
 
   Dialog_ChooseDate();
   Dialog_ChooseDate(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_ChooseDate();
 
   void set_date_chosen(const Gnome::Gda::Value& value);
   Gnome::Gda::Value get_date_chosen() const;
diff --git a/glom/mode_data/datawidget/entry.cc b/glom/mode_data/datawidget/entry.cc
index 432a843..03d7834 100644
--- a/glom/mode_data/datawidget/entry.cc
+++ b/glom/mode_data/datawidget/entry.cc
@@ -52,10 +52,6 @@ Entry::Entry(Field::glom_field_type glom_type)
   init();
 }
 
-Entry::~Entry()
-{
-}
-
 void Entry::init()
 {
 #ifndef GLOM_ENABLE_CLIENT_ONLY
diff --git a/glom/mode_data/datawidget/entry.h b/glom/mode_data/datawidget/entry.h
index c2dd6c4..34e2302 100644
--- a/glom/mode_data/datawidget/entry.h
+++ b/glom/mode_data/datawidget/entry.h
@@ -44,7 +44,6 @@ class Entry
 public:
   explicit Entry(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
   explicit Entry(Field::glom_field_type glom_type = Field::glom_field_type::TEXT);
-  virtual ~Entry();
 
   void set_layout_item(const std::shared_ptr<LayoutItem>& layout_item, const Glib::ustring& table_name) 
override;
 
diff --git a/glom/mode_data/datawidget/label.cc b/glom/mode_data/datawidget/label.cc
index a416bb8..6428e0d 100644
--- a/glom/mode_data/datawidget/label.cc
+++ b/glom/mode_data/datawidget/label.cc
@@ -50,10 +50,6 @@ Label::Label(const Glib::ustring& label, Gtk::Align xalign, Gtk::Align yalign, b
   init();
 }
 
-Label::~Label()
-{
-}
-
 void Label::init()
 {
   setup_util_menu(this);
diff --git a/glom/mode_data/datawidget/label.h b/glom/mode_data/datawidget/label.h
index c2fc4ef..b6368e2 100644
--- a/glom/mode_data/datawidget/label.h
+++ b/glom/mode_data/datawidget/label.h
@@ -44,7 +44,6 @@ public:
   Label();
   explicit Label(const Glib::ustring& label, bool mnemonic = false);
   explicit Label(const Glib::ustring& label, Gtk::Align xalign, Gtk::Align yalign, bool mnemonic = false);
-  virtual ~Label();
   
   Gtk::Label* get_label();
 
diff --git a/glom/mode_data/datawidget/textview.cc b/glom/mode_data/datawidget/textview.cc
index 4942d11..6085b37 100644
--- a/glom/mode_data/datawidget/textview.cc
+++ b/glom/mode_data/datawidget/textview.cc
@@ -70,10 +70,6 @@ void TextView::init()
   m_TextView.signal_focus_out_event().connect(sigc::mem_fun(*this, &TextView::on_textview_focus_out_event), 
false);
 }
 
-TextView::~TextView()
-{
-}
-
 void TextView::set_glom_type(Field::glom_field_type glom_type)
 {
   m_glom_type = glom_type;
diff --git a/glom/mode_data/datawidget/textview.h b/glom/mode_data/datawidget/textview.h
index b31f2b4..ac49c6c 100644
--- a/glom/mode_data/datawidget/textview.h
+++ b/glom/mode_data/datawidget/textview.h
@@ -44,7 +44,6 @@ class TextView
 public:
   explicit TextView(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
   explicit TextView(Field::glom_field_type glom_type = Field::glom_field_type::TEXT);
-  virtual ~TextView();
 
   void set_glom_type(Field::glom_field_type glom_type);
 
diff --git a/glom/mode_data/db_adddel/db_adddel_withbuttons.cc 
b/glom/mode_data/db_adddel/db_adddel_withbuttons.cc
index 6b66cf3..cb9e273 100644
--- a/glom/mode_data/db_adddel/db_adddel_withbuttons.cc
+++ b/glom/mode_data/db_adddel/db_adddel_withbuttons.cc
@@ -52,10 +52,6 @@ DbAddDel_WithButtons::DbAddDel_WithButtons()
   setup_buttons();
 }
 
-DbAddDel_WithButtons::~DbAddDel_WithButtons()
-{
-}
-
 void DbAddDel_WithButtons::on_button_add()
 {
   on_MenuPopup_activate_Add();
diff --git a/glom/mode_data/db_adddel/db_adddel_withbuttons.h 
b/glom/mode_data/db_adddel/db_adddel_withbuttons.h
index 506615b..4749ad6 100644
--- a/glom/mode_data/db_adddel/db_adddel_withbuttons.h
+++ b/glom/mode_data/db_adddel/db_adddel_withbuttons.h
@@ -31,7 +31,6 @@ class DbAddDel_WithButtons : public DbAddDel
 {
 public: 
   DbAddDel_WithButtons();
-  virtual ~DbAddDel_WithButtons();
 
   void set_allow_add(bool val = true) override;
   void set_allow_delete(bool val = true) override;
diff --git a/glom/mode_data/db_adddel/db_treeviewcolumn_glom.cc 
b/glom/mode_data/db_adddel/db_treeviewcolumn_glom.cc
index f4d38ba..4884706 100644
--- a/glom/mode_data/db_adddel/db_treeviewcolumn_glom.cc
+++ b/glom/mode_data/db_adddel/db_treeviewcolumn_glom.cc
@@ -28,10 +28,6 @@ DbTreeViewColumnGlom::DbTreeViewColumnGlom(const Glib::ustring& title, Gtk::Cell
 {
 }
 
-DbTreeViewColumnGlom::~DbTreeViewColumnGlom()
-{
-}
-
 Glib::ustring DbTreeViewColumnGlom::get_column_id() const
 {
   return m_column_id;
diff --git a/glom/mode_data/db_adddel/db_treeviewcolumn_glom.h 
b/glom/mode_data/db_adddel/db_treeviewcolumn_glom.h
index e8ad57a..d5a73fc 100644
--- a/glom/mode_data/db_adddel/db_treeviewcolumn_glom.h
+++ b/glom/mode_data/db_adddel/db_treeviewcolumn_glom.h
@@ -30,7 +30,6 @@ class DbTreeViewColumnGlom : public Gtk::TreeViewColumn
 {
 public:
   DbTreeViewColumnGlom(const Glib::ustring& title, Gtk::CellRenderer& cell);
-  virtual ~DbTreeViewColumnGlom();
 
   Glib::ustring get_column_id() const;
   void set_column_id(const Glib::ustring& value);
diff --git a/glom/mode_design/box_db_table_relationships.cc b/glom/mode_design/box_db_table_relationships.cc
index 329b3b5..95b890f 100644
--- a/glom/mode_design/box_db_table_relationships.cc
+++ b/glom/mode_design/box_db_table_relationships.cc
@@ -67,10 +67,6 @@ void Box_DB_Table_Relationships::init()
   show_all_children();
 }
 
-Box_DB_Table_Relationships::~Box_DB_Table_Relationships()
-{
-}
-
 bool Box_DB_Table_Relationships::fill_from_database()
 {
   BusyCursor busy_cursor(get_app_window());
diff --git a/glom/mode_design/box_db_table_relationships.h b/glom/mode_design/box_db_table_relationships.h
index 711b8d3..7ebf0be 100644
--- a/glom/mode_design/box_db_table_relationships.h
+++ b/glom/mode_design/box_db_table_relationships.h
@@ -32,7 +32,6 @@ class Box_DB_Table_Relationships : public Box_DB_Table
 public:
   Box_DB_Table_Relationships();
   Box_DB_Table_Relationships(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Box_DB_Table_Relationships();
 
   void init(); //avoid duplication in constructors.
 
diff --git a/glom/mode_design/comboentry_currency.cc b/glom/mode_design/comboentry_currency.cc
index b110822..4828fd8 100644
--- a/glom/mode_design/comboentry_currency.cc
+++ b/glom/mode_design/comboentry_currency.cc
@@ -46,10 +46,4 @@ ComboEntry_Currency::ComboEntry_Currency(BaseObjectType* cobject, const Glib::Re
   pack_start(m_model_columns.m_name);
 }
 
-
-ComboEntry_Currency::~ComboEntry_Currency()
-{
-
-}
-
 } //namespace Glom
diff --git a/glom/mode_design/comboentry_currency.h b/glom/mode_design/comboentry_currency.h
index 4d94e87..6fea72b 100644
--- a/glom/mode_design/comboentry_currency.h
+++ b/glom/mode_design/comboentry_currency.h
@@ -35,7 +35,6 @@ class ComboEntry_Currency : public Gtk::ComboBox
 {
 public:
   ComboEntry_Currency(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~ComboEntry_Currency();
 
 private:
 
diff --git a/glom/mode_design/dialog_add_related_table.cc b/glom/mode_design/dialog_add_related_table.cc
index 881ac1f..04f5a72 100644
--- a/glom/mode_design/dialog_add_related_table.cc
+++ b/glom/mode_design/dialog_add_related_table.cc
@@ -54,10 +54,6 @@ Dialog_AddRelatedTable::Dialog_AddRelatedTable(BaseObjectType* cobject, const Gl
 
 }
 
-Dialog_AddRelatedTable::~Dialog_AddRelatedTable()
-{
-}
-
 void Dialog_AddRelatedTable::get_input(Glib::ustring& table_name, Glib::ustring& relationship_name, 
Glib::ustring& from_key_name)
 {
   table_name = m_entry_table_name->get_text();
diff --git a/glom/mode_design/dialog_add_related_table.h b/glom/mode_design/dialog_add_related_table.h
index 14b29b0..7b2f4a5 100644
--- a/glom/mode_design/dialog_add_related_table.h
+++ b/glom/mode_design/dialog_add_related_table.h
@@ -39,7 +39,6 @@ public:
   static const bool glade_developer;
 
   Dialog_AddRelatedTable(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_AddRelatedTable();
 
   void set_fields(const Glib::ustring& table_name);
 
diff --git a/glom/mode_design/dialog_database_preferences.cc b/glom/mode_design/dialog_database_preferences.cc
index 379c8fc..a179946 100644
--- a/glom/mode_design/dialog_database_preferences.cc
+++ b/glom/mode_design/dialog_database_preferences.cc
@@ -102,10 +102,6 @@ Dialog_Database_Preferences::Dialog_Database_Preferences(BaseObjectType* cobject
   }
 }
 
-Dialog_Database_Preferences::~Dialog_Database_Preferences()
-{
-}
-
 void Dialog_Database_Preferences::on_treeview_cell_edited_next_value(const Glib::ustring& path_string, const 
Glib::ustring& new_text)
 {
   if(path_string.empty())
diff --git a/glom/mode_design/dialog_database_preferences.h b/glom/mode_design/dialog_database_preferences.h
index e9d91c1..04226bf 100644
--- a/glom/mode_design/dialog_database_preferences.h
+++ b/glom/mode_design/dialog_database_preferences.h
@@ -46,7 +46,6 @@ public:
   static const bool glade_developer;
 
   Dialog_Database_Preferences(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_Database_Preferences();
 
   std::shared_ptr<SharedConnection> connect_to_server_with_connection_settings() const;
 
diff --git a/glom/mode_design/dialog_design.cc b/glom/mode_design/dialog_design.cc
index f00772e..3a20609 100644
--- a/glom/mode_design/dialog_design.cc
+++ b/glom/mode_design/dialog_design.cc
@@ -42,10 +42,6 @@ Dialog_Design::Dialog_Design(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Bu
   show_all_children();
 }
 
-Dialog_Design::~Dialog_Design()
-{
-}
-
 bool Dialog_Design::init_db_details(const Glib::ustring& table_name)
 {
   if(get_document())
diff --git a/glom/mode_design/dialog_design.h b/glom/mode_design/dialog_design.h
index 5d51d6f..a96ff6f 100644
--- a/glom/mode_design/dialog_design.h
+++ b/glom/mode_design/dialog_design.h
@@ -37,7 +37,6 @@ class Dialog_Design
 {
 public:
   Dialog_Design(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_Design();
 
   virtual bool init_db_details(const Glib::ustring& table_name);
 
diff --git a/glom/mode_design/dialog_initial_password.cc b/glom/mode_design/dialog_initial_password.cc
index 75e4e64..3428ddf 100644
--- a/glom/mode_design/dialog_initial_password.cc
+++ b/glom/mode_design/dialog_initial_password.cc
@@ -40,10 +40,6 @@ Dialog_InitialPassword::Dialog_InitialPassword(BaseObjectType* cobject, const Gl
   builder->get_widget("entry_password_confirm", m_entry_password_confirm);
 }
 
-Dialog_InitialPassword::~Dialog_InitialPassword()
-{
-}
-
 Glib::ustring Dialog_InitialPassword::get_user() const
 {
   return m_entry_user->get_text();
diff --git a/glom/mode_design/dialog_initial_password.h b/glom/mode_design/dialog_initial_password.h
index 5cee9da..996a137 100644
--- a/glom/mode_design/dialog_initial_password.h
+++ b/glom/mode_design/dialog_initial_password.h
@@ -40,7 +40,6 @@ public:
   static const bool glade_developer;
 
   Dialog_InitialPassword(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_InitialPassword();
 
   bool check_password();
 
diff --git a/glom/mode_design/fields/combo_fieldtype.cc b/glom/mode_design/fields/combo_fieldtype.cc
index 7574b38..ec8aa5c 100644
--- a/glom/mode_design/fields/combo_fieldtype.cc
+++ b/glom/mode_design/fields/combo_fieldtype.cc
@@ -63,11 +63,6 @@ void Combo_FieldType::init()
   //set_value_in_list(true, false);
 }
 
-Combo_FieldType::~Combo_FieldType()
-{
-
-}
-
 void Combo_FieldType::set_field_type(Field::glom_field_type fieldType)
 {
    for(const auto& row : m_refTreeModel->children())
diff --git a/glom/mode_design/fields/combo_fieldtype.h b/glom/mode_design/fields/combo_fieldtype.h
index 0b26c86..2a97faf 100644
--- a/glom/mode_design/fields/combo_fieldtype.h
+++ b/glom/mode_design/fields/combo_fieldtype.h
@@ -34,7 +34,6 @@ class Combo_FieldType : public Gtk::ComboBox
 public: 
   Combo_FieldType();
   Combo_FieldType(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Combo_FieldType();
 
   //set/get the text in terms of enumerated type:
   void set_field_type(Field::glom_field_type fieldType);
diff --git a/glom/mode_design/fields/dialog_fieldcalculation.cc 
b/glom/mode_design/fields/dialog_fieldcalculation.cc
index 7a28239..6b60ebe 100644
--- a/glom/mode_design/fields/dialog_fieldcalculation.cc
+++ b/glom/mode_design/fields/dialog_fieldcalculation.cc
@@ -68,10 +68,6 @@ Dialog_FieldCalculation::Dialog_FieldCalculation(BaseObjectType* cobject, const
   show_all_children();
 }
 
-Dialog_FieldCalculation::~Dialog_FieldCalculation()
-{
-}
-
 void Dialog_FieldCalculation::set_field(const std::shared_ptr<const Field>& field, const Glib::ustring& 
table_name)
 {
   //set_blocked();
diff --git a/glom/mode_design/fields/dialog_fieldcalculation.h 
b/glom/mode_design/fields/dialog_fieldcalculation.h
index b833dad..e9da789 100644
--- a/glom/mode_design/fields/dialog_fieldcalculation.h
+++ b/glom/mode_design/fields/dialog_fieldcalculation.h
@@ -42,7 +42,6 @@ public:
   static const bool glade_developer;
 
   Dialog_FieldCalculation(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_FieldCalculation();
 
   void set_field(const std::shared_ptr<const Field>& field, const Glib::ustring& table_name);
   std::shared_ptr<Field> get_field() const;
diff --git a/glom/mode_design/fields/dialog_fielddefinition.cc 
b/glom/mode_design/fields/dialog_fielddefinition.cc
index 6dec001..bc9d74f 100644
--- a/glom/mode_design/fields/dialog_fielddefinition.cc
+++ b/glom/mode_design/fields/dialog_fielddefinition.cc
@@ -105,10 +105,6 @@ Dialog_FieldDefinition::Dialog_FieldDefinition(BaseObjectType* cobject, const Gl
   show_all_children();
 }
 
-Dialog_FieldDefinition::~Dialog_FieldDefinition()
-{
-}
-
 void Dialog_FieldDefinition::set_field(const std::shared_ptr<const Field>& field, const Glib::ustring& 
table_name)
 {
   set_blocked();
diff --git a/glom/mode_design/fields/dialog_fielddefinition.h 
b/glom/mode_design/fields/dialog_fielddefinition.h
index 928953a..5ac5ef8 100644
--- a/glom/mode_design/fields/dialog_fielddefinition.h
+++ b/glom/mode_design/fields/dialog_fielddefinition.h
@@ -48,7 +48,6 @@ public:
   static const bool glade_developer;
 
   Dialog_FieldDefinition(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_FieldDefinition();
 
   void set_field(const std::shared_ptr<const Field>& field, const Glib::ustring& table_name);
   std::shared_ptr<Field> get_field() const; //TODO_FieldShared
diff --git a/glom/mode_design/layout/combobox_fields.cc b/glom/mode_design/layout/combobox_fields.cc
index 912828b..ada2329 100644
--- a/glom/mode_design/layout/combobox_fields.cc
+++ b/glom/mode_design/layout/combobox_fields.cc
@@ -48,11 +48,6 @@ ComboBox_Fields::ComboBox_Fields(BaseObjectType* cobject, const Glib::RefPtr<Gtk
   set_row_separator_func(sigc::mem_fun(*this, &ComboBox_Fields::on_row_separator));
 }
 
-ComboBox_Fields::~ComboBox_Fields()
-{
-
-}
-
 std::shared_ptr<Field> ComboBox_Fields::get_selected_field() const
 {
   auto iter = get_active();
diff --git a/glom/mode_design/layout/combobox_fields.h b/glom/mode_design/layout/combobox_fields.h
index 7fa2944..dcda90a 100644
--- a/glom/mode_design/layout/combobox_fields.h
+++ b/glom/mode_design/layout/combobox_fields.h
@@ -36,7 +36,6 @@ class ComboBox_Fields : public Gtk::ComboBox
 {
 public:
   ComboBox_Fields(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~ComboBox_Fields();
 
   typedef std::vector< std::shared_ptr<Field> > type_vec_fields;
     
diff --git a/glom/mode_design/layout/combobox_relationship.cc 
b/glom/mode_design/layout/combobox_relationship.cc
index 88e09af..d8f773b 100644
--- a/glom/mode_design/layout/combobox_relationship.cc
+++ b/glom/mode_design/layout/combobox_relationship.cc
@@ -53,11 +53,6 @@ ComboBox_Relationship::ComboBox_Relationship(BaseObjectType* cobject, const Glib
   set_row_separator_func(sigc::mem_fun(*this, &ComboBox_Relationship::on_row_separator));
 }
 
-ComboBox_Relationship::~ComboBox_Relationship()
-{
-
-}
-
 std::shared_ptr<Relationship> ComboBox_Relationship::get_selected_relationship() const
 {
   auto iter = get_active();
diff --git a/glom/mode_design/layout/combobox_relationship.h b/glom/mode_design/layout/combobox_relationship.h
index 13731d3..df06560 100644
--- a/glom/mode_design/layout/combobox_relationship.h
+++ b/glom/mode_design/layout/combobox_relationship.h
@@ -36,7 +36,6 @@ class ComboBox_Relationship : public Gtk::ComboBox
 {
 public:
   ComboBox_Relationship(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~ComboBox_Relationship();
 
   typedef std::vector< std::shared_ptr<Relationship> > type_vec_relationships;
   void set_relationships(const type_vec_relationships& relationship);
diff --git a/glom/mode_design/layout/dialog_choose_field.cc b/glom/mode_design/layout/dialog_choose_field.cc
index c4861a8..d278a91 100644
--- a/glom/mode_design/layout/dialog_choose_field.cc
+++ b/glom/mode_design/layout/dialog_choose_field.cc
@@ -73,10 +73,6 @@ Dialog_ChooseField::Dialog_ChooseField(BaseObjectType* cobject, const Glib::RefP
   show_all_children();
 }
 
-Dialog_ChooseField::~Dialog_ChooseField()
-{
-}
-
 void Dialog_ChooseField::set_document(Document* document, const Glib::ustring& table_name, const 
std::shared_ptr<const LayoutItem_Field>& field)
 {
   set_document(document, table_name);
diff --git a/glom/mode_design/layout/dialog_choose_field.h b/glom/mode_design/layout/dialog_choose_field.h
index 361e74d..a5b7bcd 100644
--- a/glom/mode_design/layout/dialog_choose_field.h
+++ b/glom/mode_design/layout/dialog_choose_field.h
@@ -39,7 +39,6 @@ public:
   static const bool glade_developer;
   
   Dialog_ChooseField(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_ChooseField();
 
   /**
    * @param document The document, so that the dialog can load the previous layout, and save changes.
diff --git a/glom/mode_design/layout/dialog_choose_relationship.cc 
b/glom/mode_design/layout/dialog_choose_relationship.cc
index fde245f..7e809a8 100644
--- a/glom/mode_design/layout/dialog_choose_relationship.cc
+++ b/glom/mode_design/layout/dialog_choose_relationship.cc
@@ -59,10 +59,6 @@ Dialog_ChooseRelationship::Dialog_ChooseRelationship(BaseObjectType* cobject, co
   show_all_children();
 }
 
-Dialog_ChooseRelationship::~Dialog_ChooseRelationship()
-{
-}
-
 void Dialog_ChooseRelationship::set_document(Document* document, const Glib::ustring& table_name)
 {
   m_document = document;
diff --git a/glom/mode_design/layout/dialog_choose_relationship.h 
b/glom/mode_design/layout/dialog_choose_relationship.h
index ccbba8a..f39174b 100644
--- a/glom/mode_design/layout/dialog_choose_relationship.h
+++ b/glom/mode_design/layout/dialog_choose_relationship.h
@@ -37,7 +37,6 @@ public:
        
   Dialog_ChooseRelationship();
   Dialog_ChooseRelationship(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_ChooseRelationship();
 
   /**
    * @param document The document, so that the dialog can load the previous layout, and save changes.
diff --git a/glom/mode_design/layout/dialog_layout.cc b/glom/mode_design/layout/dialog_layout.cc
index f1bbaf4..0d29552 100644
--- a/glom/mode_design/layout/dialog_layout.cc
+++ b/glom/mode_design/layout/dialog_layout.cc
@@ -47,10 +47,6 @@ Dialog_Layout::Dialog_Layout(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Bu
   show_all_children();
 }
 
-Dialog_Layout::~Dialog_Layout()
-{
-}
-
 void Dialog_Layout::init(const Glib::ustring& layout_name, const Glib::ustring& layout_platform, Document* 
/* document */, const Glib::ustring& table_name, const type_vecConstLayoutFields& /* table_fields */)
 {
   m_modified = false;
diff --git a/glom/mode_design/layout/dialog_layout.h b/glom/mode_design/layout/dialog_layout.h
index bb9eecd..a7e5ebe 100644
--- a/glom/mode_design/layout/dialog_layout.h
+++ b/glom/mode_design/layout/dialog_layout.h
@@ -36,7 +36,6 @@ class Dialog_Layout :
 {
 public:
   Dialog_Layout(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder, bool with_table_title = 
true);
-  virtual ~Dialog_Layout();
 
   virtual bool get_modified() const;
 
diff --git a/glom/mode_design/layout/dialog_layout_calendar_related.cc 
b/glom/mode_design/layout/dialog_layout_calendar_related.cc
index d78bedd..f0173d4 100644
--- a/glom/mode_design/layout/dialog_layout_calendar_related.cc
+++ b/glom/mode_design/layout/dialog_layout_calendar_related.cc
@@ -100,11 +100,6 @@ Dialog_Layout_Calendar_Related::Dialog_Layout_Calendar_Related(BaseObjectType* c
     m_label_table_title->hide(); // We don't use this (it's from the base class).
 }
 
-Dialog_Layout_Calendar_Related::~Dialog_Layout_Calendar_Related()
-{
-}
-
-
 void Dialog_Layout_Calendar_Related::init_with_portal(const Glib::ustring& layout, const Glib::ustring& 
layout_platform, Document* document, const std::shared_ptr<const LayoutItem_CalendarPortal>& portal)
 {
   m_portal = glom_sharedptr_clone(portal);
diff --git a/glom/mode_design/layout/dialog_layout_calendar_related.h 
b/glom/mode_design/layout/dialog_layout_calendar_related.h
index b95ade5..293d071 100644
--- a/glom/mode_design/layout/dialog_layout_calendar_related.h
+++ b/glom/mode_design/layout/dialog_layout_calendar_related.h
@@ -38,7 +38,6 @@ public:
   static const bool glade_developer;
   
   Dialog_Layout_Calendar_Related(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_Layout_Calendar_Related();
 
   /**
    * @param layout "list" or "details"
diff --git a/glom/mode_design/layout/dialog_layout_details.cc 
b/glom/mode_design/layout/dialog_layout_details.cc
index 7a823dc..390739a 100644
--- a/glom/mode_design/layout/dialog_layout_details.cc
+++ b/glom/mode_design/layout/dialog_layout_details.cc
@@ -205,10 +205,6 @@ Dialog_Layout_Details::Dialog_Layout_Details(BaseObjectType* cobject, const Glib
   //show_all_children();
 }
 
-Dialog_Layout_Details::~Dialog_Layout_Details()
-{
-}
-
 void Dialog_Layout_Details::fill_group(const Gtk::TreeModel::iterator& iter, std::shared_ptr<LayoutGroup>& 
group)
 {
   std::shared_ptr<LayoutItem_Portal> portal = std::dynamic_pointer_cast<LayoutItem_Portal>(group);
diff --git a/glom/mode_design/layout/dialog_layout_details.h b/glom/mode_design/layout/dialog_layout_details.h
index b48b4fc..8f54cc9 100644
--- a/glom/mode_design/layout/dialog_layout_details.h
+++ b/glom/mode_design/layout/dialog_layout_details.h
@@ -36,7 +36,6 @@ public:
   static const bool glade_developer;
 
   Dialog_Layout_Details(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_Layout_Details();
 
   /**
    * @param layout_name "list" or "details"
diff --git a/glom/mode_design/layout/dialog_layout_export.cc b/glom/mode_design/layout/dialog_layout_export.cc
index 45f3ee5..720c833 100644
--- a/glom/mode_design/layout/dialog_layout_export.cc
+++ b/glom/mode_design/layout/dialog_layout_export.cc
@@ -93,10 +93,6 @@ Dialog_Layout_Export::Dialog_Layout_Export(BaseObjectType* cobject, const Glib::
   show_all_children();
 }
 
-Dialog_Layout_Export::~Dialog_Layout_Export()
-{
-}
-
 void Dialog_Layout_Export::set_layout_groups(Document::type_list_layout_groups& mapGroups, Document* 
document, const Glib::ustring& table_name)
 {
   Base_DB::set_document(document);
diff --git a/glom/mode_design/layout/dialog_layout_export.h b/glom/mode_design/layout/dialog_layout_export.h
index d3f6866..0967719 100644
--- a/glom/mode_design/layout/dialog_layout_export.h
+++ b/glom/mode_design/layout/dialog_layout_export.h
@@ -33,7 +33,6 @@ public:
   static const bool glade_developer;
 
   Dialog_Layout_Export(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_Layout_Export();
 
   /**
    * @param mapGroups The initial layout. (Note: This is only non-const for performance, to avoid an extra 
copy. This update with full field information.
diff --git a/glom/mode_design/layout/dialog_layout_list.cc b/glom/mode_design/layout/dialog_layout_list.cc
index 3c2eb85..cea2646 100644
--- a/glom/mode_design/layout/dialog_layout_list.cc
+++ b/glom/mode_design/layout/dialog_layout_list.cc
@@ -57,9 +57,4 @@ Dialog_Layout_List::Dialog_Layout_List(BaseObjectType* cobject, const Glib::RefP
     m_treeview_column_column_width->set_visible();
 }
 
-Dialog_Layout_List::~Dialog_Layout_List()
-{
-}
-
-
 } //namespace Glom
diff --git a/glom/mode_design/layout/dialog_layout_list.h b/glom/mode_design/layout/dialog_layout_list.h
index c835b49..af00264 100644
--- a/glom/mode_design/layout/dialog_layout_list.h
+++ b/glom/mode_design/layout/dialog_layout_list.h
@@ -33,7 +33,6 @@ public:
   static const bool glade_developer;
   
   Dialog_Layout_List(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_Layout_List();
 };
 
 } //namespace Glom
diff --git a/glom/mode_design/layout/dialog_layout_list_related.cc 
b/glom/mode_design/layout/dialog_layout_list_related.cc
index c15c0a8..a2e24dd 100644
--- a/glom/mode_design/layout/dialog_layout_list_related.cc
+++ b/glom/mode_design/layout/dialog_layout_list_related.cc
@@ -128,11 +128,6 @@ Dialog_Layout_List_Related::Dialog_Layout_List_Related(BaseObjectType* cobject,
     m_label_table_title->hide(); // We don't use this (it's from the base class).
 }
 
-Dialog_Layout_List_Related::~Dialog_Layout_List_Related()
-{
-}
-
-
 void Dialog_Layout_List_Related::init_with_portal(const Glib::ustring& layout_name, const Glib::ustring& 
layout_platform, Document* document, const std::shared_ptr<const LayoutItem_Portal>& portal, const 
Glib::ustring& from_table, bool for_print_layout)
 {
   m_for_print_layout = for_print_layout;
diff --git a/glom/mode_design/layout/dialog_layout_list_related.h 
b/glom/mode_design/layout/dialog_layout_list_related.h
index 0346eb9..06386d5 100644
--- a/glom/mode_design/layout/dialog_layout_list_related.h
+++ b/glom/mode_design/layout/dialog_layout_list_related.h
@@ -37,7 +37,6 @@ public:
   static const bool glade_developer;
   
   Dialog_Layout_List_Related(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_Layout_List_Related();
 
   /**
    * @param layout_name "list" or "details"
diff --git a/glom/mode_design/layout/layout_item_dialogs/combo_summarytype.cc 
b/glom/mode_design/layout/layout_item_dialogs/combo_summarytype.cc
index dde1cc5..224d9a0 100644
--- a/glom/mode_design/layout/layout_item_dialogs/combo_summarytype.cc
+++ b/glom/mode_design/layout/layout_item_dialogs/combo_summarytype.cc
@@ -49,12 +49,6 @@ Combo_SummaryType::Combo_SummaryType(BaseObjectType* cobject, const Glib::RefPtr
   pack_start(m_model_columns.m_name);
 }
 
-
-Combo_SummaryType::~Combo_SummaryType()
-{
-
-}
-
 void Combo_SummaryType::set_summary_type(LayoutItem_FieldSummary::summaryType summary_type)
 {
   for(const auto& row : m_model->children())
diff --git a/glom/mode_design/layout/layout_item_dialogs/combo_summarytype.h 
b/glom/mode_design/layout/layout_item_dialogs/combo_summarytype.h
index f75573e..f225dba 100644
--- a/glom/mode_design/layout/layout_item_dialogs/combo_summarytype.h
+++ b/glom/mode_design/layout/layout_item_dialogs/combo_summarytype.h
@@ -34,7 +34,6 @@ class Combo_SummaryType : public Gtk::ComboBox
 {
 public:
   Combo_SummaryType(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Combo_SummaryType();
 
   void set_summary_type(LayoutItem_FieldSummary::summaryType summary_type);
   LayoutItem_FieldSummary::summaryType get_summary_type() const;
diff --git a/glom/mode_design/layout/layout_item_dialogs/comboentry_borderwidth.cc 
b/glom/mode_design/layout/layout_item_dialogs/comboentry_borderwidth.cc
index e36d7a3..d1f0c3a 100644
--- a/glom/mode_design/layout/layout_item_dialogs/comboentry_borderwidth.cc
+++ b/glom/mode_design/layout/layout_item_dialogs/comboentry_borderwidth.cc
@@ -45,12 +45,6 @@ ComboEntry_BorderWidth::ComboEntry_BorderWidth(BaseObjectType* cobject, const Gl
   set_entry_text_column(m_model_columns.m_value);
 }
 
-
-ComboEntry_BorderWidth::~ComboEntry_BorderWidth()
-{
-
-}
-
 Glib::ustring ComboEntry_BorderWidth::string_for_number(double number)
 {
   std::stringstream the_stream;
diff --git a/glom/mode_design/layout/layout_item_dialogs/comboentry_borderwidth.h 
b/glom/mode_design/layout/layout_item_dialogs/comboentry_borderwidth.h
index 091b76d..1eaa1d8 100644
--- a/glom/mode_design/layout/layout_item_dialogs/comboentry_borderwidth.h
+++ b/glom/mode_design/layout/layout_item_dialogs/comboentry_borderwidth.h
@@ -33,7 +33,6 @@ class ComboEntry_BorderWidth : public Gtk::ComboBox
 {
 public:
   ComboEntry_BorderWidth(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~ComboEntry_BorderWidth();
 
 private:
 
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.cc 
b/glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.cc
index 2ecbe23..d105969 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.cc
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.cc
@@ -69,10 +69,6 @@ Dialog_ButtonScript::Dialog_ButtonScript(BaseObjectType* cobject, const Glib::Re
   show_all_children();
 }
 
-Dialog_ButtonScript::~Dialog_ButtonScript()
-{
-}
-
 void Dialog_ButtonScript::set_script(const std::shared_ptr<const LayoutItem_Button>& script, const 
Glib::ustring& table_name)
 {
   //set_blocked();
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.h 
b/glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.h
index 2003076..d7e2fdc 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.h
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_buttonscript.h
@@ -42,7 +42,6 @@ public:
   static const bool glade_developer;
   
   Dialog_ButtonScript(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_ButtonScript();
 
   void set_script(const std::shared_ptr<const LayoutItem_Button>& script, const Glib::ustring& table_name);
   std::shared_ptr<LayoutItem_Button> get_script() const;
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_field_summary.cc 
b/glom/mode_design/layout/layout_item_dialogs/dialog_field_summary.cc
index eb1dbd8..8cf9d5b 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_field_summary.cc
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_field_summary.cc
@@ -45,10 +45,6 @@ Dialog_FieldSummary::Dialog_FieldSummary(BaseObjectType* cobject, const Glib::Re
   show_all_children();
 }
 
-Dialog_FieldSummary::~Dialog_FieldSummary()
-{
-}
-
 void Dialog_FieldSummary::set_item(const std::shared_ptr<const LayoutItem_FieldSummary>& item, const 
Glib::ustring& table_name)
 {
   m_layout_item = glom_sharedptr_clone(item);
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_field_summary.h 
b/glom/mode_design/layout/layout_item_dialogs/dialog_field_summary.h
index aaa5978..0182a37 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_field_summary.h
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_field_summary.h
@@ -42,7 +42,6 @@ public:
   static const bool glade_developer;
 
   Dialog_FieldSummary(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_FieldSummary();
 
   /**
    * @param item The starting information.
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_fieldslist.cc 
b/glom/mode_design/layout/layout_item_dialogs/dialog_fieldslist.cc
index 9d07bc2..9eab1ad 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_fieldslist.cc
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_fieldslist.cc
@@ -94,10 +94,6 @@ Dialog_FieldsList::Dialog_FieldsList(BaseObjectType* cobject, const Glib::RefPtr
   show_all_children();
 }
 
-Dialog_FieldsList::~Dialog_FieldsList()
-{
-}
-
 void Dialog_FieldsList::set_fields(const Glib::ustring& table_name, const LayoutGroup::type_list_items& 
fields)
 {
   m_modified = false;
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_fieldslist.h 
b/glom/mode_design/layout/layout_item_dialogs/dialog_fieldslist.h
index 0b389b7..913a219 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_fieldslist.h
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_fieldslist.h
@@ -40,8 +40,6 @@ public:
   static const bool glade_developer;
 
   Dialog_FieldsList(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_FieldsList();
-
 
   void set_fields(const Glib::ustring& table_name, const LayoutGroup::type_list_items& table_fields);
   LayoutGroup::type_list_items get_fields() const;
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_imageobject.cc 
b/glom/mode_design/layout/layout_item_dialogs/dialog_imageobject.cc
index a942cbd..ddb664d 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_imageobject.cc
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_imageobject.cc
@@ -53,10 +53,6 @@ Dialog_ImageObject::Dialog_ImageObject(BaseObjectType* cobject, const Glib::RefP
   show_all_children();
 }
 
-Dialog_ImageObject::~Dialog_ImageObject()
-{
-}
-
 void Dialog_ImageObject::on_button_choose()
 {
   m_image->do_choose_image();
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_imageobject.h 
b/glom/mode_design/layout/layout_item_dialogs/dialog_imageobject.h
index 075f898..3b37f5f 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_imageobject.h
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_imageobject.h
@@ -42,7 +42,6 @@ public:
   static const bool glade_developer;
 
   Dialog_ImageObject(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_ImageObject();
 
   void set_imageobject(const std::shared_ptr<const LayoutItem_Image>& imageobject, const Glib::ustring& 
table_name, bool show_title = true);
   std::shared_ptr<LayoutItem_Image> get_imageobject() const;
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_line.cc 
b/glom/mode_design/layout/layout_item_dialogs/dialog_line.cc
index 7453c38..901abf1 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_line.cc
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_line.cc
@@ -47,10 +47,6 @@ Dialog_Line::Dialog_Line(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builde
   show_all_children();
 }
 
-Dialog_Line::~Dialog_Line()
-{
-}
-
 void Dialog_Line::set_line(const std::shared_ptr<const LayoutItem_Line>& line)
 {
   if(!line)
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_line.h 
b/glom/mode_design/layout/layout_item_dialogs/dialog_line.h
index 0159fc5..e78ee7a 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_line.h
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_line.h
@@ -41,7 +41,6 @@ public:
   static const bool glade_developer;
   
   Dialog_Line(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_Line();
 
   void set_line(const std::shared_ptr<const LayoutItem_Line>& line);
   std::shared_ptr<LayoutItem_Line> get_line() const;
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_sortfields.cc 
b/glom/mode_design/layout/layout_item_dialogs/dialog_sortfields.cc
index 861184d..1c11110 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_sortfields.cc
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_sortfields.cc
@@ -91,10 +91,6 @@ Dialog_SortFields::Dialog_SortFields(BaseObjectType* cobject, const Glib::RefPtr
   show_all_children();
 }
 
-Dialog_SortFields::~Dialog_SortFields()
-{
-}
-
 void Dialog_SortFields::set_fields(const Glib::ustring& table_name, const 
LayoutItem_GroupBy::type_list_sort_fields& fields)
 {
   m_modified = false;
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_sortfields.h 
b/glom/mode_design/layout/layout_item_dialogs/dialog_sortfields.h
index 0e503ff..3eeffdc 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_sortfields.h
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_sortfields.h
@@ -36,8 +36,6 @@ public:
   static const bool glade_developer;
 
   Dialog_SortFields(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_SortFields();
-
 
   void set_fields(const Glib::ustring& table_name, const LayoutItem_GroupBy::type_list_sort_fields& 
table_fields);
   LayoutItem_GroupBy::type_list_sort_fields get_fields() const;
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_textobject.cc 
b/glom/mode_design/layout/layout_item_dialogs/dialog_textobject.cc
index 0d28c25..47f76e7 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_textobject.cc
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_textobject.cc
@@ -49,10 +49,6 @@ Dialog_TextObject::Dialog_TextObject(BaseObjectType* cobject, const Glib::RefPtr
   show_all_children();
 }
 
-Dialog_TextObject::~Dialog_TextObject()
-{
-}
-
 void Dialog_TextObject::set_textobject(const std::shared_ptr<const LayoutItem_Text>& textobject, const 
Glib::ustring& table_name, bool show_title)
 {
   //set_blocked();
diff --git a/glom/mode_design/layout/layout_item_dialogs/dialog_textobject.h 
b/glom/mode_design/layout/layout_item_dialogs/dialog_textobject.h
index e268a6f..379d619 100644
--- a/glom/mode_design/layout/layout_item_dialogs/dialog_textobject.h
+++ b/glom/mode_design/layout/layout_item_dialogs/dialog_textobject.h
@@ -41,7 +41,6 @@ public:
   static const bool glade_developer;
   
   Dialog_TextObject(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_TextObject();
 
   void set_textobject(const std::shared_ptr<const LayoutItem_Text>& textobject, const Glib::ustring& 
table_name, bool show_title = true);
   std::shared_ptr<LayoutItem_Text> get_textobject() const;
diff --git a/glom/mode_design/print_layouts/box_print_layouts.cc 
b/glom/mode_design/print_layouts/box_print_layouts.cc
index ef05b8f..d9d40f9 100644
--- a/glom/mode_design/print_layouts/box_print_layouts.cc
+++ b/glom/mode_design/print_layouts/box_print_layouts.cc
@@ -56,10 +56,6 @@ Box_Print_Layouts::Box_Print_Layouts(BaseObjectType* cobject, const Glib::RefPtr
   show_all_children();
 }
 
-Box_Print_Layouts::~Box_Print_Layouts()
-{
-}
-
 void Box_Print_Layouts::fill_row(const Gtk::TreeModel::iterator& iter, const std::shared_ptr<const 
PrintLayout>& item)
 {
   if(iter)
diff --git a/glom/mode_design/print_layouts/box_print_layouts.h 
b/glom/mode_design/print_layouts/box_print_layouts.h
index 0ca8bc8..ef38394 100644
--- a/glom/mode_design/print_layouts/box_print_layouts.h
+++ b/glom/mode_design/print_layouts/box_print_layouts.h
@@ -35,7 +35,6 @@ public:
   static const bool glade_developer;
 
   Box_Print_Layouts(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Box_Print_Layouts();
 
 private:
   bool fill_from_database() override;
diff --git a/glom/mode_design/print_layouts/print_layout_toolbar.cc 
b/glom/mode_design/print_layouts/print_layout_toolbar.cc
index 5d6890f..d2f2fd9 100644
--- a/glom/mode_design/print_layouts/print_layout_toolbar.cc
+++ b/glom/mode_design/print_layouts/print_layout_toolbar.cc
@@ -66,9 +66,5 @@ PrintLayoutToolbar::PrintLayoutToolbar()
   show_all_children();
 }
 
-PrintLayoutToolbar::~PrintLayoutToolbar()
-{
-
-}
 
 } // namespace Glom
diff --git a/glom/mode_design/print_layouts/print_layout_toolbar.h 
b/glom/mode_design/print_layouts/print_layout_toolbar.h
index 384b0da..d0bf441 100644
--- a/glom/mode_design/print_layouts/print_layout_toolbar.h
+++ b/glom/mode_design/print_layouts/print_layout_toolbar.h
@@ -34,7 +34,6 @@ class PrintLayoutToolbar : public Gtk::ToolPalette
 {
 public:
   PrintLayoutToolbar();
-  virtual ~PrintLayoutToolbar();
 
 private:
   Gtk::ToolItemGroup m_group_items, m_group_lines, m_group_records;
diff --git a/glom/mode_design/print_layouts/print_layout_toolbar_button.cc 
b/glom/mode_design/print_layouts/print_layout_toolbar_button.cc
index af8cbdf..314b46c 100644
--- a/glom/mode_design/print_layouts/print_layout_toolbar_button.cc
+++ b/glom/mode_design/print_layouts/print_layout_toolbar_button.cc
@@ -55,10 +55,6 @@ PrintLayoutToolbarButton::PrintLayoutToolbarButton(const std::string& icon_name,
   set_label(title);
 }
 
-PrintLayoutToolbarButton::~PrintLayoutToolbarButton()
-{
-}
-
 PrintLayoutToolbarButton::enumItems PrintLayoutToolbarButton::get_item_type_from_selection_data(const 
Glib::RefPtr<Gdk::DragContext>& drag_context, const Gtk::SelectionData& selection_data)
 {
   PrintLayoutToolbarButton::enumItems result = enumItems::INVALID;
diff --git a/glom/mode_design/print_layouts/print_layout_toolbar_button.h 
b/glom/mode_design/print_layouts/print_layout_toolbar_button.h
index 94c42f9..9052068 100644
--- a/glom/mode_design/print_layouts/print_layout_toolbar_button.h
+++ b/glom/mode_design/print_layouts/print_layout_toolbar_button.h
@@ -48,7 +48,6 @@ public:
   };
 
   PrintLayoutToolbarButton(const std::string& icon_name, enumItems type, const Glib::ustring& title, const 
Glib::ustring& tooltip);
-  virtual ~PrintLayoutToolbarButton();
 
   static enumItems get_item_type_from_selection_data(const Glib::RefPtr<Gdk::DragContext>& drag_context, 
const Gtk::SelectionData& selection_data);
 
diff --git a/glom/mode_design/relationships_overview/canvas_group_dbtable.cc 
b/glom/mode_design/relationships_overview/canvas_group_dbtable.cc
index 8abd9c9..5325298 100644
--- a/glom/mode_design/relationships_overview/canvas_group_dbtable.cc
+++ b/glom/mode_design/relationships_overview/canvas_group_dbtable.cc
@@ -104,10 +104,6 @@ CanvasGroupDbTable::CanvasGroupDbTable(const Glib::ustring& table_name, const Gl
   }
 }
 
-CanvasGroupDbTable::~CanvasGroupDbTable()
-{
-}
-
 Glib::RefPtr<CanvasGroupDbTable> CanvasGroupDbTable::create(const Glib::ustring& table_name, const 
Glib::ustring& table_title, const Document::type_vec_fields& fields, double x, double y)
 {
   return Glib::RefPtr<CanvasGroupDbTable>(new CanvasGroupDbTable(table_name, table_title, fields, x, y));
diff --git a/glom/mode_design/relationships_overview/canvas_group_dbtable.h 
b/glom/mode_design/relationships_overview/canvas_group_dbtable.h
index 2d00849..47bb2b8 100644
--- a/glom/mode_design/relationships_overview/canvas_group_dbtable.h
+++ b/glom/mode_design/relationships_overview/canvas_group_dbtable.h
@@ -32,7 +32,6 @@ class CanvasGroupDbTable : public CanvasGroupMovable
 {
 private:
   CanvasGroupDbTable(const Glib::ustring& table_name, const Glib::ustring& table_title, const 
Document::type_vec_fields& fields, double x = 0.0, double y = 0.0);
-  virtual ~CanvasGroupDbTable();
 
 public:
   static Glib::RefPtr<CanvasGroupDbTable> create(const Glib::ustring& table_name, const Glib::ustring& 
table_title, const Document::type_vec_fields& fields, double x = 0.0, double y = 0.0);
diff --git a/glom/mode_design/relationships_overview/printoperation_relationshipsoverview.cc 
b/glom/mode_design/relationships_overview/printoperation_relationshipsoverview.cc
index 88b36c7..cc024d3 100644
--- a/glom/mode_design/relationships_overview/printoperation_relationshipsoverview.cc
+++ b/glom/mode_design/relationships_overview/printoperation_relationshipsoverview.cc
@@ -25,10 +25,6 @@ PrintOperationRelationshipsOverview::PrintOperationRelationshipsOverview()
 {
 }
 
-PrintOperationRelationshipsOverview::~PrintOperationRelationshipsOverview()
-{
-}
-
 Glib::RefPtr<PrintOperationRelationshipsOverview> PrintOperationRelationshipsOverview::create()
 {
   return Glib::RefPtr<PrintOperationRelationshipsOverview>(new PrintOperationRelationshipsOverview());
diff --git a/glom/mode_design/relationships_overview/printoperation_relationshipsoverview.h 
b/glom/mode_design/relationships_overview/printoperation_relationshipsoverview.h
index 1ab30bb..219fe62 100644
--- a/glom/mode_design/relationships_overview/printoperation_relationshipsoverview.h
+++ b/glom/mode_design/relationships_overview/printoperation_relationshipsoverview.h
@@ -30,7 +30,6 @@ class PrintOperationRelationshipsOverview : public Gtk::PrintOperation
 {
 public:
   static Glib::RefPtr<PrintOperationRelationshipsOverview> create();
-  virtual ~PrintOperationRelationshipsOverview();
 
   void set_canvas(Goocanvas::Canvas* canvas);
 
diff --git a/glom/mode_design/script_library/dialog_new_script.cc 
b/glom/mode_design/script_library/dialog_new_script.cc
index 5793068..1997475 100644
--- a/glom/mode_design/script_library/dialog_new_script.cc
+++ b/glom/mode_design/script_library/dialog_new_script.cc
@@ -35,8 +35,4 @@ Dialog_NewScript::Dialog_NewScript(BaseObjectType* cobject, const Glib::RefPtr<G
   //m_entry_name->signal_changed().connect( sigc::mem_fun(*this, &Dialog_NewScript::on_entry_name_changed) );
 }
 
-Dialog_NewScript::~Dialog_NewScript()
-{
-}
-
 } //namespace Glom
diff --git a/glom/mode_design/script_library/dialog_new_script.h 
b/glom/mode_design/script_library/dialog_new_script.h
index 3513bc9..d542a39 100644
--- a/glom/mode_design/script_library/dialog_new_script.h
+++ b/glom/mode_design/script_library/dialog_new_script.h
@@ -35,7 +35,6 @@ public:
   static const bool glade_developer;
 
   Dialog_NewScript(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_NewScript();
 
   Gtk::Entry* m_entry_name;
 };
diff --git a/glom/mode_design/script_library/dialog_script_library.cc 
b/glom/mode_design/script_library/dialog_script_library.cc
index 3c9a9bf..efcbbb4 100644
--- a/glom/mode_design/script_library/dialog_script_library.cc
+++ b/glom/mode_design/script_library/dialog_script_library.cc
@@ -72,10 +72,6 @@ Dialog_ScriptLibrary::Dialog_ScriptLibrary(BaseObjectType* cobject, const Glib::
   show_all_children();
 }
 
-Dialog_ScriptLibrary::~Dialog_ScriptLibrary()
-{
-}
-
 void Dialog_ScriptLibrary::on_button_check()
 {
   const auto script = m_text_view->get_buffer()->get_text();
diff --git a/glom/mode_design/script_library/dialog_script_library.h 
b/glom/mode_design/script_library/dialog_script_library.h
index 4080d5f..1232e69 100644
--- a/glom/mode_design/script_library/dialog_script_library.h
+++ b/glom/mode_design/script_library/dialog_script_library.h
@@ -41,7 +41,6 @@ public:
   static const bool glade_developer;
 
   Dialog_ScriptLibrary(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_ScriptLibrary();
 
   void load_from_document() override;
   void save_to_document() override;
diff --git a/glom/mode_design/translation/combobox_locale.cc b/glom/mode_design/translation/combobox_locale.cc
index edb1b92..b3faf83 100644
--- a/glom/mode_design/translation/combobox_locale.cc
+++ b/glom/mode_design/translation/combobox_locale.cc
@@ -55,12 +55,6 @@ ComboBox_Locale::ComboBox_Locale(BaseObjectType* cobject, const Glib::RefPtr<Gtk
   add_attribute(cell->property_text(), m_model_columns.m_name);
 }
 
-
-ComboBox_Locale::~ComboBox_Locale()
-{
-
-}
-
 Glib::ustring ComboBox_Locale::get_selected_locale() const
 {
   auto iter = get_active();
diff --git a/glom/mode_design/translation/combobox_locale.h b/glom/mode_design/translation/combobox_locale.h
index 4fab919..d3a1e1d 100644
--- a/glom/mode_design/translation/combobox_locale.h
+++ b/glom/mode_design/translation/combobox_locale.h
@@ -36,7 +36,6 @@ class ComboBox_Locale : public Gtk::ComboBox
 {
 public:
   ComboBox_Locale(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~ComboBox_Locale();
 
   void set_selected_locale(const Glib::ustring& locale);
   Glib::ustring get_selected_locale() const;
diff --git a/glom/mode_design/translation/dialog_change_language.cc 
b/glom/mode_design/translation/dialog_change_language.cc
index fbc6bf9..1afd90c 100644
--- a/glom/mode_design/translation/dialog_change_language.cc
+++ b/glom/mode_design/translation/dialog_change_language.cc
@@ -37,10 +37,6 @@ Dialog_ChangeLanguage::Dialog_ChangeLanguage(BaseObjectType* cobject, const Glib
     m_combo_locale->set_selected_locale(AppWindow::get_current_locale());
 }
 
-Dialog_ChangeLanguage::~Dialog_ChangeLanguage()
-{
-}
-
 Glib::ustring Dialog_ChangeLanguage::get_locale() const
 {
   return m_combo_locale->get_selected_locale();
diff --git a/glom/mode_design/translation/dialog_change_language.h 
b/glom/mode_design/translation/dialog_change_language.h
index 4d78362..869329a 100644
--- a/glom/mode_design/translation/dialog_change_language.h
+++ b/glom/mode_design/translation/dialog_change_language.h
@@ -38,7 +38,6 @@ public:
   static const bool glade_developer;
 
   Dialog_ChangeLanguage(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_ChangeLanguage();
 
   Glib::ustring get_locale() const;
 
diff --git a/glom/mode_design/translation/dialog_copy_translation.cc 
b/glom/mode_design/translation/dialog_copy_translation.cc
index 0e06385..b08725b 100644
--- a/glom/mode_design/translation/dialog_copy_translation.cc
+++ b/glom/mode_design/translation/dialog_copy_translation.cc
@@ -38,10 +38,6 @@ Dialog_CopyTranslation::Dialog_CopyTranslation(BaseObjectType* cobject, const Gl
     m_combo_locale->set_selected_locale(AppWindow::get_current_locale());
 }
 
-Dialog_CopyTranslation::~Dialog_CopyTranslation()
-{
-}
-
 Glib::ustring Dialog_CopyTranslation::get_locale() const
 {
   return m_combo_locale->get_selected_locale();
diff --git a/glom/mode_design/translation/dialog_copy_translation.h 
b/glom/mode_design/translation/dialog_copy_translation.h
index e2e5670..b4057c6 100644
--- a/glom/mode_design/translation/dialog_copy_translation.h
+++ b/glom/mode_design/translation/dialog_copy_translation.h
@@ -39,7 +39,6 @@ public:
   static const bool glade_developer;
 
   Dialog_CopyTranslation(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_CopyTranslation();
 
   Glib::ustring get_locale() const;
 
diff --git a/glom/mode_design/translation/dialog_identify_original.cc 
b/glom/mode_design/translation/dialog_identify_original.cc
index d2dda8b..cc6a436 100644
--- a/glom/mode_design/translation/dialog_identify_original.cc
+++ b/glom/mode_design/translation/dialog_identify_original.cc
@@ -43,10 +43,6 @@ Dialog_IdentifyOriginal::Dialog_IdentifyOriginal(BaseObjectType* cobject, const
     m_combo_locale->set_selected_locale(AppWindow::get_current_locale());
 }
 
-Dialog_IdentifyOriginal::~Dialog_IdentifyOriginal()
-{
-}
-
 void Dialog_IdentifyOriginal::load_from_document()
 {
   std::cout << "Dialog_IdentifyOriginal::load_from_document" << std::endl;
diff --git a/glom/mode_design/translation/dialog_identify_original.h 
b/glom/mode_design/translation/dialog_identify_original.h
index 4651923..c299a15 100644
--- a/glom/mode_design/translation/dialog_identify_original.h
+++ b/glom/mode_design/translation/dialog_identify_original.h
@@ -40,7 +40,6 @@ public:
   static const bool glade_developer;
 
   Dialog_IdentifyOriginal(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_IdentifyOriginal();
 
   Glib::ustring get_locale() const;
 
diff --git a/glom/mode_design/translation/window_translations.cc 
b/glom/mode_design/translation/window_translations.cc
index 18217f0..365c4a2 100644
--- a/glom/mode_design/translation/window_translations.cc
+++ b/glom/mode_design/translation/window_translations.cc
@@ -141,10 +141,6 @@ Window_Translations::Window_Translations(BaseObjectType* cobject, const Glib::Re
   }
 }
 
-Window_Translations::~Window_Translations()
-{
-}
-
 
 void Window_Translations::enable_buttons()
 {
diff --git a/glom/mode_design/translation/window_translations.h 
b/glom/mode_design/translation/window_translations.h
index 39d55c7..6d6b249 100644
--- a/glom/mode_design/translation/window_translations.h
+++ b/glom/mode_design/translation/window_translations.h
@@ -44,7 +44,6 @@ public:
   static const bool glade_developer;
 
   Window_Translations(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Window_Translations();
 
   void load_from_document() override;
   void save_to_document() override;
diff --git a/glom/mode_design/users/dialog_choose_user.cc b/glom/mode_design/users/dialog_choose_user.cc
index 12c38e6..5aa5782 100644
--- a/glom/mode_design/users/dialog_choose_user.cc
+++ b/glom/mode_design/users/dialog_choose_user.cc
@@ -33,10 +33,6 @@ Dialog_ChooseUser::Dialog_ChooseUser(BaseObjectType* cobject, const Glib::RefPtr
   builder->get_widget_derived("combo_user_name", m_combo_name);
 }
 
-Dialog_ChooseUser::~Dialog_ChooseUser()
-{
-}
-
 void Dialog_ChooseUser::set_user_list(const type_vec_strings& users)
 {
   for(const auto& item : users)
diff --git a/glom/mode_design/users/dialog_choose_user.h b/glom/mode_design/users/dialog_choose_user.h
index 37944a1..b3c24b6 100644
--- a/glom/mode_design/users/dialog_choose_user.h
+++ b/glom/mode_design/users/dialog_choose_user.h
@@ -36,7 +36,6 @@ public:
   static const bool glade_developer;
 
   Dialog_ChooseUser(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_ChooseUser();
 
   typedef std::vector<Glib::ustring> type_vec_strings;
   void set_user_list(const type_vec_strings& users);
diff --git a/glom/mode_design/users/dialog_groups_list.cc b/glom/mode_design/users/dialog_groups_list.cc
index 77af49c..550de7e 100644
--- a/glom/mode_design/users/dialog_groups_list.cc
+++ b/glom/mode_design/users/dialog_groups_list.cc
@@ -112,10 +112,6 @@ Dialog_GroupsList::Dialog_GroupsList(BaseObjectType* cobject, const Glib::RefPtr
   show_all_children();
 }
 
-Dialog_GroupsList::~Dialog_GroupsList()
-{
-}
-
 /*
 void Dialog_GroupsList::set_document(const Glib::ustring& layout, Document* document, const Glib::ustring& 
table_name, const type_vecLayoutFields& table_fields)
 {
diff --git a/glom/mode_design/users/dialog_groups_list.h b/glom/mode_design/users/dialog_groups_list.h
index b79749b..799aee1 100644
--- a/glom/mode_design/users/dialog_groups_list.h
+++ b/glom/mode_design/users/dialog_groups_list.h
@@ -39,7 +39,6 @@ public:
   static const bool glade_developer;
 
   Dialog_GroupsList(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_GroupsList();
 
   //Refresh the UI when we get the document, from add_view:
   void load_from_document() override;
diff --git a/glom/mode_design/users/dialog_new_group.cc b/glom/mode_design/users/dialog_new_group.cc
index 42cce09..8677878 100644
--- a/glom/mode_design/users/dialog_new_group.cc
+++ b/glom/mode_design/users/dialog_new_group.cc
@@ -37,8 +37,4 @@ Dialog_NewGroup::Dialog_NewGroup(BaseObjectType* cobject, const Glib::RefPtr<Gtk
   //m_entry_name->signal_changed().connect( sigc::mem_fun(*this, &Dialog_NewGroup::on_entry_name_changed) );
 }
 
-Dialog_NewGroup::~Dialog_NewGroup()
-{
-}
-
 } //namespace Glom
diff --git a/glom/mode_design/users/dialog_new_group.h b/glom/mode_design/users/dialog_new_group.h
index 75a85dc..0d7b971 100644
--- a/glom/mode_design/users/dialog_new_group.h
+++ b/glom/mode_design/users/dialog_new_group.h
@@ -35,7 +35,6 @@ public:
   static const bool glade_developer;
 
   Dialog_NewGroup(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_NewGroup();
 
   Gtk::Entry* m_entry_name;
 };
diff --git a/glom/mode_design/users/dialog_user.cc b/glom/mode_design/users/dialog_user.cc
index fc5ad1c..41a2ab1 100644
--- a/glom/mode_design/users/dialog_user.cc
+++ b/glom/mode_design/users/dialog_user.cc
@@ -47,10 +47,6 @@ Dialog_User::Dialog_User(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builde
   show_all_children();
 }
 
-Dialog_User::~Dialog_User()
-{
-}
-
 bool Dialog_User::check_password()
 {
   if(m_entry_password->get_text() != m_entry_password_confirm->get_text())
diff --git a/glom/mode_design/users/dialog_user.h b/glom/mode_design/users/dialog_user.h
index 9c18662..01f979e 100644
--- a/glom/mode_design/users/dialog_user.h
+++ b/glom/mode_design/users/dialog_user.h
@@ -36,7 +36,6 @@ public:
   static const bool glade_developer;
 
   Dialog_User(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_User();
 
   bool check_password();
 
diff --git a/glom/mode_design/users/dialog_users_list.cc b/glom/mode_design/users/dialog_users_list.cc
index ed9a981..d1aee1d 100644
--- a/glom/mode_design/users/dialog_users_list.cc
+++ b/glom/mode_design/users/dialog_users_list.cc
@@ -87,10 +87,6 @@ Dialog_UsersList::Dialog_UsersList(BaseObjectType* cobject, const Glib::RefPtr<G
   show_all_children();
 }
 
-Dialog_UsersList::~Dialog_UsersList()
-{
-}
-
 void Dialog_UsersList::enable_buttons()
 {
   if(!m_button_user_edit)
diff --git a/glom/mode_design/users/dialog_users_list.h b/glom/mode_design/users/dialog_users_list.h
index 53cdf97..46e511b 100644
--- a/glom/mode_design/users/dialog_users_list.h
+++ b/glom/mode_design/users/dialog_users_list.h
@@ -45,7 +45,6 @@ public:
   /** Call fill_list() after instantiating this class.
    */
   Dialog_UsersList(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_UsersList();
 
   /** Fill the list of users.
    */
diff --git a/glom/mode_find/box_data_details_find.cc b/glom/mode_find/box_data_details_find.cc
index 5b60595..2b93a25 100644
--- a/glom/mode_find/box_data_details_find.cc
+++ b/glom/mode_find/box_data_details_find.cc
@@ -45,10 +45,6 @@ Box_Data_Details_Find::Box_Data_Details_Find()
   show_all_children();
 }
 
-Box_Data_Details_Find::~Box_Data_Details_Find()
-{
-}
-
 bool Box_Data_Details_Find::init_db_details(const Glib::ustring& table_name, const Glib::ustring& 
layout_platform)
 {
   FoundSet found_set;
diff --git a/glom/mode_find/box_data_details_find.h b/glom/mode_find/box_data_details_find.h
index 537a049..178ec3e 100644
--- a/glom/mode_find/box_data_details_find.h
+++ b/glom/mode_find/box_data_details_find.h
@@ -30,7 +30,6 @@ class Box_Data_Details_Find : public Box_Data_Details
 {
 public: 
   Box_Data_Details_Find();
-  virtual ~Box_Data_Details_Find();
 
   bool init_db_details(const Glib::ustring& table_name, const Glib::ustring& layout_platform);
 
diff --git a/glom/mode_find/box_data_list_find.cc b/glom/mode_find/box_data_list_find.cc
index 2909a24..6d5ce00 100644
--- a/glom/mode_find/box_data_list_find.cc
+++ b/glom/mode_find/box_data_list_find.cc
@@ -42,10 +42,6 @@ Box_Data_List_Find::Box_Data_List_Find()
   show_all_children();
 }
 
-Box_Data_List_Find::~Box_Data_List_Find()
-{
-}
-
 void Box_Data_List_Find::create_layout()
 {
   Box_Data_List::create_layout();
diff --git a/glom/mode_find/box_data_list_find.h b/glom/mode_find/box_data_list_find.h
index 76caff3..9bcf9ce 100644
--- a/glom/mode_find/box_data_list_find.h
+++ b/glom/mode_find/box_data_list_find.h
@@ -30,7 +30,6 @@ class Box_Data_List_Find : public Box_Data_List
 {
 public: 
   Box_Data_List_Find();
-  virtual ~Box_Data_List_Find();
 
   virtual bool init_db_details(const Glib::ustring& table_name, const Glib::ustring& layout_platform);
 
diff --git a/glom/navigation/box_tables.cc b/glom/navigation/box_tables.cc
index 8708751..ad2b4e8 100644
--- a/glom/navigation/box_tables.cc
+++ b/glom/navigation/box_tables.cc
@@ -66,10 +66,6 @@ Box_Tables::Box_Tables(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>
   show_all_children();
 }
 
-Box_Tables::~Box_Tables()
-{
-}
-
 void Box_Tables::fill_table_row(const Gtk::TreeModel::iterator& iter, const std::shared_ptr<const 
TableInfo>& table_info)
 {
   if(!table_info)
diff --git a/glom/navigation/box_tables.h b/glom/navigation/box_tables.h
index c3ae1f2..bd5f982 100644
--- a/glom/navigation/box_tables.h
+++ b/glom/navigation/box_tables.h
@@ -43,7 +43,6 @@ public:
   static const bool glade_developer;
 
   Box_Tables(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Box_Tables();
 
 private:
   bool fill_from_database() override;
diff --git a/glom/notebook_glom.cc b/glom/notebook_glom.cc
index ff5be39..04737ef 100644
--- a/glom/notebook_glom.cc
+++ b/glom/notebook_glom.cc
@@ -35,10 +35,6 @@ Notebook_Glom::Notebook_Glom()
   m_destructor_in_progress = false;
 }
 
-Notebook_Glom::~Notebook_Glom()
-{
-}
-
 void Notebook_Glom::on_show()
 {
   NotebookNoFrame::on_show();
diff --git a/glom/notebook_glom.h b/glom/notebook_glom.h
index e508aed..f9f3404 100644
--- a/glom/notebook_glom.h
+++ b/glom/notebook_glom.h
@@ -36,7 +36,6 @@ class Notebook_Glom :
 {
 public: 
   Notebook_Glom();
-  virtual ~Notebook_Glom();
 
   //virtual void show_hint();
 
diff --git a/glom/print_layout/canvas_layout_item.cc b/glom/print_layout/canvas_layout_item.cc
index 602c2ff..2e26673 100644
--- a/glom/print_layout/canvas_layout_item.cc
+++ b/glom/print_layout/canvas_layout_item.cc
@@ -49,10 +49,6 @@ CanvasLayoutItem::CanvasLayoutItem()
   signal_resized().connect( sigc::mem_fun(*this, &CanvasLayoutItem::on_resized) );
 }
 
-CanvasLayoutItem::~CanvasLayoutItem()
-{
-}
-
 Glib::RefPtr<CanvasLayoutItem> CanvasLayoutItem::create()
 {
   return Glib::RefPtr<CanvasLayoutItem>(new CanvasLayoutItem());
diff --git a/glom/print_layout/canvas_layout_item.h b/glom/print_layout/canvas_layout_item.h
index 07483ea..d7a5a42 100644
--- a/glom/print_layout/canvas_layout_item.h
+++ b/glom/print_layout/canvas_layout_item.h
@@ -46,7 +46,6 @@ class CanvasLayoutItem : public CanvasGroupResizable
 {
 private:
   CanvasLayoutItem();
-  virtual ~CanvasLayoutItem();
 
 public:
 
diff --git a/glom/print_layout/canvas_print_layout.cc b/glom/print_layout/canvas_print_layout.cc
index b6de0cb..2d32204 100644
--- a/glom/print_layout/canvas_print_layout.cc
+++ b/glom/print_layout/canvas_print_layout.cc
@@ -67,10 +67,6 @@ Canvas_PrintLayout::Canvas_PrintLayout()
   set_page_setup(page_setup);
 }
 
-Canvas_PrintLayout::~Canvas_PrintLayout()
-{
-}
-
 void Canvas_PrintLayout::set_print_layout(const Glib::ustring& table_name, const 
std::shared_ptr<PrintLayout>& print_layout)
 {
   m_table_name = table_name;
diff --git a/glom/print_layout/canvas_print_layout.h b/glom/print_layout/canvas_print_layout.h
index c60e17a..d8aa985 100644
--- a/glom/print_layout/canvas_print_layout.h
+++ b/glom/print_layout/canvas_print_layout.h
@@ -43,7 +43,6 @@ class Canvas_PrintLayout
 {
 public:
   Canvas_PrintLayout();
-  virtual ~Canvas_PrintLayout();
 
   void set_print_layout(const Glib::ustring& table_name, const std::shared_ptr<PrintLayout>& print_layout);
   std::shared_ptr<PrintLayout> get_print_layout();
diff --git a/glom/print_layout/printoperation_printlayout.cc b/glom/print_layout/printoperation_printlayout.cc
index 7f1fc01..535d5f0 100644
--- a/glom/print_layout/printoperation_printlayout.cc
+++ b/glom/print_layout/printoperation_printlayout.cc
@@ -29,10 +29,6 @@ PrintOperationPrintLayout::PrintOperationPrintLayout()
   set_n_pages(1); //There is always at least one page.
 }
 
-PrintOperationPrintLayout::~PrintOperationPrintLayout()
-{
-}
-
 Glib::RefPtr<PrintOperationPrintLayout> PrintOperationPrintLayout::create()
 {
   return Glib::RefPtr<PrintOperationPrintLayout>(new PrintOperationPrintLayout());
diff --git a/glom/print_layout/printoperation_printlayout.h b/glom/print_layout/printoperation_printlayout.h
index 1801f53..de0e432 100644
--- a/glom/print_layout/printoperation_printlayout.h
+++ b/glom/print_layout/printoperation_printlayout.h
@@ -30,7 +30,6 @@ class PrintOperationPrintLayout : public Gtk::PrintOperation
 {
 public:
   static Glib::RefPtr<PrintOperationPrintLayout> create();
-  virtual ~PrintOperationPrintLayout();
 
   void set_canvas(Canvas_PrintLayout* canvas);
 
diff --git a/glom/utility_widgets/adddel/adddel.cc b/glom/utility_widgets/adddel/adddel.cc
index adccdba..dbb96ad 100644
--- a/glom/utility_widgets/adddel/adddel.cc
+++ b/glom/utility_widgets/adddel/adddel.cc
@@ -134,11 +134,6 @@ void AddDel::init()
   show_all_children();
 }
 
-
-AddDel::~AddDel()
-{
-}
-
 void AddDel::set_treeview_accessible_name(const Glib::ustring& name)
 {
 #ifdef GTKMM_ATKMM_ENABLED
diff --git a/glom/utility_widgets/adddel/adddel.h b/glom/utility_widgets/adddel/adddel.h
index c5baa2b..4bcfb0d 100644
--- a/glom/utility_widgets/adddel/adddel.h
+++ b/glom/utility_widgets/adddel/adddel.h
@@ -77,7 +77,6 @@ public:
 
   AddDel();
   AddDel(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~AddDel();
 
   // Set the accessible name for the TreeView widget
   void set_treeview_accessible_name(const Glib::ustring& name);
diff --git a/glom/utility_widgets/adddel/adddel_withbuttons.cc 
b/glom/utility_widgets/adddel/adddel_withbuttons.cc
index c7cde9c..276e267 100644
--- a/glom/utility_widgets/adddel/adddel_withbuttons.cc
+++ b/glom/utility_widgets/adddel/adddel_withbuttons.cc
@@ -68,10 +68,6 @@ void AddDel_WithButtons::init()
   m_Button_Extra.hide();
 }
 
-AddDel_WithButtons::~AddDel_WithButtons()
-{
-}
-
 void AddDel_WithButtons::on_button_add()
 {
   if(m_auto_add)
diff --git a/glom/utility_widgets/adddel/adddel_withbuttons.h 
b/glom/utility_widgets/adddel/adddel_withbuttons.h
index 23b7ef0..c895bca 100644
--- a/glom/utility_widgets/adddel/adddel_withbuttons.h
+++ b/glom/utility_widgets/adddel/adddel_withbuttons.h
@@ -32,7 +32,6 @@ class AddDel_WithButtons : public AddDel
 public: 
   AddDel_WithButtons();
   AddDel_WithButtons(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~AddDel_WithButtons();
 
   void set_allow_add(bool val = true) override;
   void set_allow_delete(bool val = true) override;
diff --git a/glom/utility_widgets/adddel/treeviewcolumn_glom.cc 
b/glom/utility_widgets/adddel/treeviewcolumn_glom.cc
index e2ce7fa..20f8662 100644
--- a/glom/utility_widgets/adddel/treeviewcolumn_glom.cc
+++ b/glom/utility_widgets/adddel/treeviewcolumn_glom.cc
@@ -28,10 +28,6 @@ TreeViewColumnGlom::TreeViewColumnGlom(const Glib::ustring& title, Gtk::CellRend
 {
 }
 
-TreeViewColumnGlom::~TreeViewColumnGlom()
-{
-}
-
 Glib::ustring TreeViewColumnGlom::get_column_id() const
 {
   return m_column_id;
diff --git a/glom/utility_widgets/adddel/treeviewcolumn_glom.h 
b/glom/utility_widgets/adddel/treeviewcolumn_glom.h
index b9b0542..54f462d 100644
--- a/glom/utility_widgets/adddel/treeviewcolumn_glom.h
+++ b/glom/utility_widgets/adddel/treeviewcolumn_glom.h
@@ -30,7 +30,6 @@ class TreeViewColumnGlom : public Gtk::TreeViewColumn
 {
 public:
   TreeViewColumnGlom(const Glib::ustring& title, Gtk::CellRenderer& cell);
-  virtual ~TreeViewColumnGlom();
 
   Glib::ustring get_column_id() const;
   void set_column_id(const Glib::ustring& value);
diff --git a/glom/utility_widgets/canvas/canvas_editable.cc b/glom/utility_widgets/canvas/canvas_editable.cc
index 31d8d4a..26bc416 100644
--- a/glom/utility_widgets/canvas/canvas_editable.cc
+++ b/glom/utility_widgets/canvas/canvas_editable.cc
@@ -35,10 +35,6 @@ CanvasEditable::CanvasEditable()
   add_item(m_grid);
 }
 
-CanvasEditable::~CanvasEditable()
-{
-}
-
 void CanvasEditable::add_item(const Glib::RefPtr<Goocanvas::Item>& item, bool resizable)
 {
   Glib::RefPtr<Goocanvas::Item> root = get_root_item();
diff --git a/glom/utility_widgets/canvas/canvas_editable.h b/glom/utility_widgets/canvas/canvas_editable.h
index aee9ee1..864c2ae 100644
--- a/glom/utility_widgets/canvas/canvas_editable.h
+++ b/glom/utility_widgets/canvas/canvas_editable.h
@@ -34,7 +34,6 @@ class CanvasEditable : public Goocanvas::Canvas
 {
 public:
   CanvasEditable();
-  virtual ~CanvasEditable();
 
   void add_item(const Glib::RefPtr<Goocanvas::Item>& item, bool resizable = false);
   void add_item(const Glib::RefPtr<Goocanvas::Item>& item, const Glib::RefPtr<Goocanvas::Group>& group, bool 
resizable = false);
diff --git a/glom/utility_widgets/canvas/canvas_group_grid.cc 
b/glom/utility_widgets/canvas/canvas_group_grid.cc
index f4c7a26..f92318c 100644
--- a/glom/utility_widgets/canvas/canvas_group_grid.cc
+++ b/glom/utility_widgets/canvas/canvas_group_grid.cc
@@ -43,10 +43,6 @@ CanvasGroupGrid::CanvasGroupGrid()
   add_child(m_temp_rule);
 }
 
-CanvasGroupGrid::~CanvasGroupGrid()
-{
-}
-
 Glib::RefPtr<CanvasGroupGrid> CanvasGroupGrid::create()
 {
   return Glib::RefPtr<CanvasGroupGrid>(new CanvasGroupGrid());
diff --git a/glom/utility_widgets/canvas/canvas_group_grid.h b/glom/utility_widgets/canvas/canvas_group_grid.h
index cc48e2e..8fe2fa2 100644
--- a/glom/utility_widgets/canvas/canvas_group_grid.h
+++ b/glom/utility_widgets/canvas/canvas_group_grid.h
@@ -37,7 +37,6 @@ class CanvasGroupGrid : public Goocanvas::Group
 {
 private:
   CanvasGroupGrid();
-  virtual ~CanvasGroupGrid();
 
 public:
   static Glib::RefPtr<CanvasGroupGrid> create();
diff --git a/glom/utility_widgets/canvas/canvas_group_movable.cc 
b/glom/utility_widgets/canvas/canvas_group_movable.cc
index 11e7cfc..1997ed5 100644
--- a/glom/utility_widgets/canvas/canvas_group_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_group_movable.cc
@@ -42,10 +42,6 @@ CanvasGroupMovable::CanvasGroupMovable()
   signal_leave_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_leave_notify_event));
 }
 
-CanvasGroupMovable::~CanvasGroupMovable()
-{
-}
-
 Glib::RefPtr<CanvasGroupMovable> CanvasGroupMovable::create()
 {
   return Glib::RefPtr<CanvasGroupMovable>(new CanvasGroupMovable());
diff --git a/glom/utility_widgets/canvas/canvas_group_movable.h 
b/glom/utility_widgets/canvas/canvas_group_movable.h
index 5955e45..36f5319 100644
--- a/glom/utility_widgets/canvas/canvas_group_movable.h
+++ b/glom/utility_widgets/canvas/canvas_group_movable.h
@@ -33,7 +33,6 @@ class CanvasGroupMovable
 {
 protected:
   CanvasGroupMovable();
-  virtual ~CanvasGroupMovable();
 
 public:
   static Glib::RefPtr<CanvasGroupMovable> create();
diff --git a/glom/utility_widgets/canvas/canvas_group_resizable.cc 
b/glom/utility_widgets/canvas/canvas_group_resizable.cc
index b5b185b..0466e25 100644
--- a/glom/utility_widgets/canvas/canvas_group_resizable.cc
+++ b/glom/utility_widgets/canvas/canvas_group_resizable.cc
@@ -220,10 +220,6 @@ void CanvasGroupResizable::set_outline_visible(bool visible)
     (visible ? Goocanvas::ITEM_VISIBLE : Goocanvas::ITEM_INVISIBLE);
 }
 
-CanvasGroupResizable::~CanvasGroupResizable()
-{
-}
-
 Glib::RefPtr<CanvasGroupResizable> CanvasGroupResizable::create()
 {
   return Glib::RefPtr<CanvasGroupResizable>(new CanvasGroupResizable());
diff --git a/glom/utility_widgets/canvas/canvas_group_resizable.h 
b/glom/utility_widgets/canvas/canvas_group_resizable.h
index 823dd67..cfd535a 100644
--- a/glom/utility_widgets/canvas/canvas_group_resizable.h
+++ b/glom/utility_widgets/canvas/canvas_group_resizable.h
@@ -38,7 +38,6 @@ class CanvasGroupResizable
 {
 protected:
   CanvasGroupResizable();
-  virtual ~CanvasGroupResizable();
 
 public:
   static Glib::RefPtr<CanvasGroupResizable> create();
diff --git a/glom/utility_widgets/canvas/canvas_image_movable.cc 
b/glom/utility_widgets/canvas/canvas_image_movable.cc
index 10dbfaf..2c5f849 100644
--- a/glom/utility_widgets/canvas/canvas_image_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_image_movable.cc
@@ -45,10 +45,6 @@ CanvasImageMovable::CanvasImageMovable(double x, double y)
   init();
 }
 
-CanvasImageMovable::~CanvasImageMovable()
-{
-}
-
 void CanvasImageMovable::init()
 {
   signal_motion_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_motion_notify_event));
diff --git a/glom/utility_widgets/canvas/canvas_image_movable.h 
b/glom/utility_widgets/canvas/canvas_image_movable.h
index baae2aa..7a889df 100644
--- a/glom/utility_widgets/canvas/canvas_image_movable.h
+++ b/glom/utility_widgets/canvas/canvas_image_movable.h
@@ -34,7 +34,6 @@ class CanvasImageMovable
 private:
   explicit CanvasImageMovable(double x = 0.0, double y = 0.0);
   explicit CanvasImageMovable(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf, double x = 0.0, double y = 0.0);
-  virtual ~CanvasImageMovable();
 
   void init();
 
diff --git a/glom/utility_widgets/canvas/canvas_item_movable.cc 
b/glom/utility_widgets/canvas/canvas_item_movable.cc
index 13cec88..07d5feb 100644
--- a/glom/utility_widgets/canvas/canvas_item_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_item_movable.cc
@@ -69,10 +69,6 @@ CanvasItemMovable::CanvasItemMovable()
   */
 }
 
-CanvasItemMovable::~CanvasItemMovable()
-{
-}
-
 bool CanvasItemMovable::on_button_press_event(const Glib::RefPtr<Goocanvas::Item>& target, GdkEventButton* 
event)
 {
   //std::cout << G_STRFUNC << ": DEBUG" << std::endl;
diff --git a/glom/utility_widgets/canvas/canvas_item_movable.h 
b/glom/utility_widgets/canvas/canvas_item_movable.h
index 75f1583..5d5731e 100644
--- a/glom/utility_widgets/canvas/canvas_item_movable.h
+++ b/glom/utility_widgets/canvas/canvas_item_movable.h
@@ -32,7 +32,6 @@ class CanvasItemMovable : virtual public Glib::ObjectBase
 {
 protected:
   CanvasItemMovable();
-  virtual ~CanvasItemMovable();
 
 public:
 
diff --git a/glom/utility_widgets/canvas/canvas_line_movable.cc 
b/glom/utility_widgets/canvas/canvas_line_movable.cc
index 03031f9..7a8aa8b 100644
--- a/glom/utility_widgets/canvas/canvas_line_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_line_movable.cc
@@ -39,10 +39,6 @@ CanvasLineMovable::CanvasLineMovable()
   signal_leave_notify_event().connect(sigc::mem_fun(*this, &CanvasLineMovable::on_leave_notify_event));
 }
 
-CanvasLineMovable::~CanvasLineMovable()
-{
-}
-
 Glib::RefPtr<CanvasLineMovable> CanvasLineMovable::create()
 {
   return Glib::RefPtr<CanvasLineMovable>(new CanvasLineMovable());
diff --git a/glom/utility_widgets/canvas/canvas_line_movable.h 
b/glom/utility_widgets/canvas/canvas_line_movable.h
index abb5818..0bb55b0 100644
--- a/glom/utility_widgets/canvas/canvas_line_movable.h
+++ b/glom/utility_widgets/canvas/canvas_line_movable.h
@@ -34,7 +34,6 @@ class CanvasLineMovable
 {
 protected:
   CanvasLineMovable();
-  virtual ~CanvasLineMovable();
 
 public:
   static Glib::RefPtr<CanvasLineMovable> create();
diff --git a/glom/utility_widgets/canvas/canvas_rect_movable.cc 
b/glom/utility_widgets/canvas/canvas_rect_movable.cc
index 7c970ec..c3b5891 100644
--- a/glom/utility_widgets/canvas/canvas_rect_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_rect_movable.cc
@@ -43,10 +43,6 @@ CanvasRectMovable::CanvasRectMovable(double x, double y, double width, double he
   init();
 }
 
-CanvasRectMovable::~CanvasRectMovable()
-{
-}
-
 void CanvasRectMovable::init()
 {
   signal_motion_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_motion_notify_event));
diff --git a/glom/utility_widgets/canvas/canvas_rect_movable.h 
b/glom/utility_widgets/canvas/canvas_rect_movable.h
index 54cf36e..2997a97 100644
--- a/glom/utility_widgets/canvas/canvas_rect_movable.h
+++ b/glom/utility_widgets/canvas/canvas_rect_movable.h
@@ -34,7 +34,6 @@ class CanvasRectMovable
 private:
   CanvasRectMovable();
   CanvasRectMovable(double x, double y, double width, double height);
-  virtual ~CanvasRectMovable();
 
   void init();
 
diff --git a/glom/utility_widgets/canvas/canvas_table_movable.cc 
b/glom/utility_widgets/canvas/canvas_table_movable.cc
index d3e58e6..120d28e 100644
--- a/glom/utility_widgets/canvas/canvas_table_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_table_movable.cc
@@ -41,10 +41,6 @@ CanvasTableMovable::CanvasTableMovable()
   signal_leave_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_leave_notify_event));
 }
 
-CanvasTableMovable::~CanvasTableMovable()
-{
-}
-
 Glib::RefPtr<CanvasTableMovable> CanvasTableMovable::create()
 {
   return Glib::RefPtr<CanvasTableMovable>(new CanvasTableMovable());
diff --git a/glom/utility_widgets/canvas/canvas_table_movable.h 
b/glom/utility_widgets/canvas/canvas_table_movable.h
index 6d56946..ba9b8cf 100644
--- a/glom/utility_widgets/canvas/canvas_table_movable.h
+++ b/glom/utility_widgets/canvas/canvas_table_movable.h
@@ -33,7 +33,6 @@ class CanvasTableMovable
 {
 private:
   CanvasTableMovable();
-  virtual ~CanvasTableMovable();
 
 public:
   static Glib::RefPtr<CanvasTableMovable> create();
diff --git a/glom/utility_widgets/canvas/canvas_text_movable.cc 
b/glom/utility_widgets/canvas/canvas_text_movable.cc
index c490277..144061f 100644
--- a/glom/utility_widgets/canvas/canvas_text_movable.cc
+++ b/glom/utility_widgets/canvas/canvas_text_movable.cc
@@ -35,10 +35,6 @@ CanvasTextMovable::CanvasTextMovable(const Glib::ustring& text, double x, double
   init();
 }
 
-CanvasTextMovable::~CanvasTextMovable()
-{
-}
-
 void CanvasTextMovable::init()
 {
   signal_motion_notify_event().connect(sigc::mem_fun(*this, &CanvasItemMovable::on_motion_notify_event));
diff --git a/glom/utility_widgets/canvas/canvas_text_movable.h 
b/glom/utility_widgets/canvas/canvas_text_movable.h
index 8231f7e..c3cdeb0 100644
--- a/glom/utility_widgets/canvas/canvas_text_movable.h
+++ b/glom/utility_widgets/canvas/canvas_text_movable.h
@@ -33,7 +33,6 @@ class CanvasTextMovable
 {
 private:
   explicit CanvasTextMovable(const Glib::ustring& string = Glib::ustring(), double x = 0.0, double y = 0.0, 
double width = 0.0, Goocanvas::AnchorType anchor = Goocanvas::ANCHOR_NORTH_WEST);
-  virtual ~CanvasTextMovable();
 
   void init();
 
diff --git a/glom/utility_widgets/cellrendererlist.cc b/glom/utility_widgets/cellrendererlist.cc
index 46db350..3ea9729 100644
--- a/glom/utility_widgets/cellrendererlist.cc
+++ b/glom/utility_widgets/cellrendererlist.cc
@@ -34,10 +34,6 @@ CellRendererList::CellRendererList()
   property_editable() = true; //It would be useless if we couldn't edit it.
 }
 
-CellRendererList::~CellRendererList()
-{
-}
-
 void CellRendererList::remove_all_list_items()
 {
   if(m_refModel)
diff --git a/glom/utility_widgets/cellrendererlist.h b/glom/utility_widgets/cellrendererlist.h
index ff3445d..d474ac2 100644
--- a/glom/utility_widgets/cellrendererlist.h
+++ b/glom/utility_widgets/cellrendererlist.h
@@ -34,7 +34,6 @@ class CellRendererList : public Gtk::CellRendererCombo
 {
 public:
   CellRendererList();
-  virtual ~CellRendererList();
 
   void remove_all_list_items();
   void append_list_item(const Glib::ustring& text);
diff --git a/glom/utility_widgets/dialog_flowtable.cc b/glom/utility_widgets/dialog_flowtable.cc
index 8f2c6d2..a6721a1 100644
--- a/glom/utility_widgets/dialog_flowtable.cc
+++ b/glom/utility_widgets/dialog_flowtable.cc
@@ -49,10 +49,6 @@ Dialog_FlowTable::Dialog_FlowTable(BaseObjectType* cobject, const Glib::RefPtr<G
   show_all_children();
 }
 
-Dialog_FlowTable::~Dialog_FlowTable()
-{
-}
-
 void Dialog_FlowTable::set_flowtable(FlowTableWithFields* flowtable)
 {
   m_flowtable = flowtable;
diff --git a/glom/utility_widgets/dialog_flowtable.h b/glom/utility_widgets/dialog_flowtable.h
index adad47b..478c250 100644
--- a/glom/utility_widgets/dialog_flowtable.h
+++ b/glom/utility_widgets/dialog_flowtable.h
@@ -42,7 +42,6 @@ public:
   static const bool glade_developer;
        
   Dialog_FlowTable(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_FlowTable();
 
   void set_flowtable(FlowTableWithFields* flowtable);
   
diff --git a/glom/utility_widgets/dialog_image_save_progress.cc 
b/glom/utility_widgets/dialog_image_save_progress.cc
index 20ea034..3509b1c 100644
--- a/glom/utility_widgets/dialog_image_save_progress.cc
+++ b/glom/utility_widgets/dialog_image_save_progress.cc
@@ -51,10 +51,6 @@ DialogImageSaveProgress::DialogImageSaveProgress(BaseObjectType* cobject, const
   }
 }
 
-DialogImageSaveProgress::~DialogImageSaveProgress()
-{
-}
-
 void DialogImageSaveProgress::save(const Glib::ustring& uri)
 {
   g_assert(m_data);
diff --git a/glom/utility_widgets/dialog_image_save_progress.h 
b/glom/utility_widgets/dialog_image_save_progress.h
index 6674f9b..f3d5d24 100644
--- a/glom/utility_widgets/dialog_image_save_progress.h
+++ b/glom/utility_widgets/dialog_image_save_progress.h
@@ -38,7 +38,6 @@ public:
   static const bool glade_developer;
 
   DialogImageSaveProgress(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~DialogImageSaveProgress();
 
   void save(const Glib::ustring& uri);
 
diff --git a/glom/utility_widgets/dialog_properties.cc b/glom/utility_widgets/dialog_properties.cc
index d72fcb9..df36e0a 100644
--- a/glom/utility_widgets/dialog_properties.cc
+++ b/glom/utility_widgets/dialog_properties.cc
@@ -46,10 +46,6 @@ Dialog_Properties::Dialog_Properties(BaseObjectType* cobject, const Glib::RefPtr
   show_all_children();
 }
 
-Dialog_Properties::~Dialog_Properties()
-{
-}
-
 Dialog_Properties::type_signal_apply Dialog_Properties::signal_apply()
 {
   return m_signal_apply;
diff --git a/glom/utility_widgets/dialog_properties.h b/glom/utility_widgets/dialog_properties.h
index 9f3ebaf..c2397af 100644
--- a/glom/utility_widgets/dialog_properties.h
+++ b/glom/utility_widgets/dialog_properties.h
@@ -34,7 +34,6 @@ class Dialog_Properties : public Gtk::Window
 {
 public:
   Dialog_Properties(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~Dialog_Properties();
 
   //Add a widget (probably a container) to the top half of the dialog:
   void add(Gtk::Widget& widget) override;
diff --git a/glom/utility_widgets/filechooserdialog_saveextras.cc 
b/glom/utility_widgets/filechooserdialog_saveextras.cc
index 0d3cc20..38fb68e 100644
--- a/glom/utility_widgets/filechooserdialog_saveextras.cc
+++ b/glom/utility_widgets/filechooserdialog_saveextras.cc
@@ -56,11 +56,6 @@ FileChooserDialog_SaveExtras::FileChooserDialog_SaveExtras(Gtk::Window& parent,
   create_child_widgets();
 }
 
-FileChooserDialog_SaveExtras::~FileChooserDialog_SaveExtras()
-{
-}
-
-
 void FileChooserDialog_SaveExtras::set_extra_message(const Glib::ustring& message)
 {
   m_label_extra_message.set_text(message);
diff --git a/glom/utility_widgets/filechooserdialog_saveextras.h 
b/glom/utility_widgets/filechooserdialog_saveextras.h
index e4872f3..9da3f6b 100644
--- a/glom/utility_widgets/filechooserdialog_saveextras.h
+++ b/glom/utility_widgets/filechooserdialog_saveextras.h
@@ -43,7 +43,6 @@ public:
   FileChooserDialog_SaveExtras(Gtk::Window& parent, const Glib::ustring& title, Gtk::FileChooserAction 
action, const Glib::ustring& backend);
   explicit FileChooserDialog_SaveExtras(const Glib::ustring& title, Gtk::FileChooserAction action = 
Gtk::FILE_CHOOSER_ACTION_OPEN);
   FileChooserDialog_SaveExtras(Gtk::Window& parent, const Glib::ustring& title, Gtk::FileChooserAction 
action = Gtk::FILE_CHOOSER_ACTION_OPEN);
-  virtual ~FileChooserDialog_SaveExtras();
 
   void set_extra_message(const Glib::ustring& message);
   void set_extra_newdb_title(const Glib::ustring& title);
diff --git a/glom/utility_widgets/layouttoolbar.cc b/glom/utility_widgets/layouttoolbar.cc
index b9a019e..7404d00 100644
--- a/glom/utility_widgets/layouttoolbar.cc
+++ b/glom/utility_widgets/layouttoolbar.cc
@@ -69,10 +69,5 @@ LayoutToolbar::LayoutToolbar()
   show_all_children();
 }
 
-LayoutToolbar::~LayoutToolbar()
-{
-  
-}
-
 } // namespace Glom
 
diff --git a/glom/utility_widgets/layouttoolbar.h b/glom/utility_widgets/layouttoolbar.h
index aee1fbb..8f29ead 100644
--- a/glom/utility_widgets/layouttoolbar.h
+++ b/glom/utility_widgets/layouttoolbar.h
@@ -33,7 +33,6 @@ class LayoutToolbar : public Gtk::ToolPalette
 {
 public:
   LayoutToolbar();
-   ~LayoutToolbar();
 
 private:
   Gtk::ToolItemGroup m_group_items, m_group_containers;
diff --git a/glom/utility_widgets/layouttoolbarbutton.cc b/glom/utility_widgets/layouttoolbarbutton.cc
index 1900eac..e9002ba 100644
--- a/glom/utility_widgets/layouttoolbarbutton.cc
+++ b/glom/utility_widgets/layouttoolbarbutton.cc
@@ -53,9 +53,4 @@ LayoutToolbarButton::LayoutToolbarButton(const std::string& icon_name, LayoutWid
   set_label(title);
 }
 
-LayoutToolbarButton::~LayoutToolbarButton()
-{
-
-}
-
 } // namespace Glom
diff --git a/glom/utility_widgets/layouttoolbarbutton.h b/glom/utility_widgets/layouttoolbarbutton.h
index 5505527..2c03e1f 100644
--- a/glom/utility_widgets/layouttoolbarbutton.h
+++ b/glom/utility_widgets/layouttoolbarbutton.h
@@ -35,7 +35,6 @@ class LayoutToolbarButton : public Gtk::ToolButton
 {
 public:
   LayoutToolbarButton(const std::string& icon_name, LayoutWidgetBase::enumType type, const Glib::ustring& 
title, const Glib::ustring& tooltip);
-  virtual ~LayoutToolbarButton();
 
 private:
 
diff --git a/glom/utility_widgets/layoutwidgetbase.cc b/glom/utility_widgets/layoutwidgetbase.cc
index 739fedc..f08e63e 100644
--- a/glom/utility_widgets/layoutwidgetbase.cc
+++ b/glom/utility_widgets/layoutwidgetbase.cc
@@ -34,10 +34,6 @@ LayoutWidgetBase::LayoutWidgetBase()
 {
 }
 
-LayoutWidgetBase::~LayoutWidgetBase()
-{
-}
-
 void LayoutWidgetBase::set_layout_item(const std::shared_ptr<LayoutItem>& layout_item, const Glib::ustring& 
table_name)
 {
   m_pLayoutItem = layout_item;
diff --git a/glom/utility_widgets/layoutwidgetbase.h b/glom/utility_widgets/layoutwidgetbase.h
index 6d57349..1e54086 100644
--- a/glom/utility_widgets/layoutwidgetbase.h
+++ b/glom/utility_widgets/layoutwidgetbase.h
@@ -36,7 +36,6 @@ class LayoutWidgetBase : virtual public sigc::trackable
 {
 public:
   LayoutWidgetBase();
-  virtual ~LayoutWidgetBase();
 
   ///Takes ownership.
   virtual void set_layout_item(const std::shared_ptr<LayoutItem>& layout_item, const Glib::ustring& 
table_name);
diff --git a/glom/utility_widgets/layoutwidgetfield.cc b/glom/utility_widgets/layoutwidgetfield.cc
index 5b103ef..6b918cb 100644
--- a/glom/utility_widgets/layoutwidgetfield.cc
+++ b/glom/utility_widgets/layoutwidgetfield.cc
@@ -28,10 +28,6 @@ LayoutWidgetField::LayoutWidgetField()
 {
 }
 
-LayoutWidgetField::~LayoutWidgetField()
-{
-}
-
 LayoutWidgetField::type_signal_edited LayoutWidgetField::signal_edited()
 {
   return m_signal_edited;
diff --git a/glom/utility_widgets/layoutwidgetfield.h b/glom/utility_widgets/layoutwidgetfield.h
index 107fe14..0b542f8 100644
--- a/glom/utility_widgets/layoutwidgetfield.h
+++ b/glom/utility_widgets/layoutwidgetfield.h
@@ -30,7 +30,6 @@ class LayoutWidgetField : public LayoutWidgetMenu
 {
 public: 
   LayoutWidgetField();
-  virtual ~LayoutWidgetField();
 
   virtual void set_value(const Gnome::Gda::Value& value) = 0;
 
diff --git a/glom/utility_widgets/layoutwidgetmenu.cc b/glom/utility_widgets/layoutwidgetmenu.cc
index 8c27779..275cc7e 100644
--- a/glom/utility_widgets/layoutwidgetmenu.cc
+++ b/glom/utility_widgets/layoutwidgetmenu.cc
@@ -48,10 +48,6 @@ LayoutWidgetMenu::LayoutWidgetMenu()
 #endif // !GLOM_ENABLE_CLIENT_ONLY
 }
 
-LayoutWidgetMenu::~LayoutWidgetMenu()
-{
-}
-
 #ifndef GLOM_ENABLE_CLIENT_ONLY
 
 void LayoutWidgetMenu::add_action(const Glib::RefPtr<Gio::SimpleAction>& action, const 
Gio::ActionMap::ActivateSlot& slot)
diff --git a/glom/utility_widgets/layoutwidgetmenu.h b/glom/utility_widgets/layoutwidgetmenu.h
index 16583a7..ac28153 100644
--- a/glom/utility_widgets/layoutwidgetmenu.h
+++ b/glom/utility_widgets/layoutwidgetmenu.h
@@ -33,7 +33,6 @@ class LayoutWidgetMenu : public LayoutWidgetBase
 {
 public: 
   LayoutWidgetMenu();
-  virtual ~LayoutWidgetMenu();
   
   //Popup-menu:
 #ifndef GLOM_ENABLE_CLIENT_ONLY
diff --git a/glom/utility_widgets/layoutwidgetutils.cc b/glom/utility_widgets/layoutwidgetutils.cc
index 74d4d86..ed6172f 100644
--- a/glom/utility_widgets/layoutwidgetutils.cc
+++ b/glom/utility_widgets/layoutwidgetutils.cc
@@ -36,11 +36,6 @@ LayoutWidgetUtils::LayoutWidgetUtils() :
   //setup_util_menu(this);
 }
 
-LayoutWidgetUtils::~LayoutWidgetUtils()
-{
-       
-}
-
 #ifndef GLOM_ENABLE_CLIENT_ONLY
 void LayoutWidgetUtils::setup_util_menu(Gtk::Widget* widget)
 {
diff --git a/glom/utility_widgets/layoutwidgetutils.h b/glom/utility_widgets/layoutwidgetutils.h
index 5a622a3..48e7044 100644
--- a/glom/utility_widgets/layoutwidgetutils.h
+++ b/glom/utility_widgets/layoutwidgetutils.h
@@ -35,7 +35,6 @@ class LayoutWidgetUtils : public LayoutWidgetBase
 {
 public:
   LayoutWidgetUtils();
-  virtual ~LayoutWidgetUtils();
   
 protected:
   void setup_util_menu(Gtk::Widget* widget);
diff --git a/glom/utility_widgets/notebook_noframe.cc b/glom/utility_widgets/notebook_noframe.cc
index 219d12e..4a028e1 100644
--- a/glom/utility_widgets/notebook_noframe.cc
+++ b/glom/utility_widgets/notebook_noframe.cc
@@ -57,10 +57,6 @@ NotebookNoFrame::NotebookNoFrame()
   m_box_pages.show();
 }
 
-NotebookNoFrame::~NotebookNoFrame()
-{
-}
-
 NotebookNoFrame::type_signal_switch_page NotebookNoFrame::signal_switch_page()
 {
   return m_signal_switch_page;
diff --git a/glom/utility_widgets/notebook_noframe.h b/glom/utility_widgets/notebook_noframe.h
index bdba999..6ded78c 100644
--- a/glom/utility_widgets/notebook_noframe.h
+++ b/glom/utility_widgets/notebook_noframe.h
@@ -37,7 +37,6 @@ class NotebookNoFrame
 {
 public:
   explicit NotebookNoFrame();
-  virtual ~NotebookNoFrame();
 
   void append_page(Widget& child, const Glib::ustring& name, const Glib::ustring& tab_label);
 
diff --git a/glom/utility_widgets/notebookglom.cc b/glom/utility_widgets/notebookglom.cc
index e226028..26464b3 100644
--- a/glom/utility_widgets/notebookglom.cc
+++ b/glom/utility_widgets/notebookglom.cc
@@ -42,10 +42,6 @@ NotebookGlom::NotebookGlom()
   //set_size_request(400, -1); //It doesn't seem to demand the space used by its children.
 }
 
-NotebookGlom::~NotebookGlom()
-{
-}
-
 void NotebookGlom::init()
 {
 #ifndef GLOM_ENABLE_CLIENT_ONLY
diff --git a/glom/utility_widgets/notebookglom.h b/glom/utility_widgets/notebookglom.h
index a29bbe3..fca4717 100644
--- a/glom/utility_widgets/notebookglom.h
+++ b/glom/utility_widgets/notebookglom.h
@@ -39,7 +39,6 @@ class NotebookGlom
 public:
   explicit NotebookGlom(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
   explicit NotebookGlom();
-  virtual ~NotebookGlom();
 
 protected:
   friend class NotebookLabel;
diff --git a/glom/utility_widgets/notebooklabelglom.cc b/glom/utility_widgets/notebooklabelglom.cc
index bc009ad..0398320 100644
--- a/glom/utility_widgets/notebooklabelglom.cc
+++ b/glom/utility_widgets/notebooklabelglom.cc
@@ -44,11 +44,6 @@ NotebookLabel::NotebookLabel(const Glib::ustring& label, NotebookGlom* notebook)
   init();
 }
 
-NotebookLabel::~NotebookLabel()
-{
-
-}
-
 void NotebookLabel::init()
 {
   add(m_label);
diff --git a/glom/utility_widgets/notebooklabelglom.h b/glom/utility_widgets/notebooklabelglom.h
index 1a658eb..ff23b21 100644
--- a/glom/utility_widgets/notebooklabelglom.h
+++ b/glom/utility_widgets/notebooklabelglom.h
@@ -38,7 +38,6 @@ class NotebookLabel
 public:
   explicit NotebookLabel(NotebookGlom* notebook);
   explicit NotebookLabel(const Glib::ustring& label, NotebookGlom* notebook);
-  virtual ~NotebookLabel();
 
   void set_label(const Glib::ustring& title);  
     
diff --git a/glom/utility_widgets/placeholder.cc b/glom/utility_widgets/placeholder.cc
index 690cdc5..7a14168 100644
--- a/glom/utility_widgets/placeholder.cc
+++ b/glom/utility_widgets/placeholder.cc
@@ -35,10 +35,6 @@ PlaceHolder::PlaceHolder(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builde
 {
 }
 
-PlaceHolder::~PlaceHolder()
-{
-}
-
 void PlaceHolder::add(Gtk::Widget& child)
 {
   remove();
diff --git a/glom/utility_widgets/placeholder.h b/glom/utility_widgets/placeholder.h
index 18b3f03..b33cc3d 100644
--- a/glom/utility_widgets/placeholder.h
+++ b/glom/utility_widgets/placeholder.h
@@ -34,7 +34,6 @@ class PlaceHolder : public Gtk::Box
 public:
   PlaceHolder();
   PlaceHolder(BaseObjectType* cobject, const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~PlaceHolder();
 
   void add(Gtk::Widget& child) override;
   void remove();
diff --git a/glom/variablesmap.cc b/glom/variablesmap.cc
index c957bf1..dffd397 100644
--- a/glom/variablesmap.cc
+++ b/glom/variablesmap.cc
@@ -32,11 +32,6 @@ VariablesMap::VariablesMap(const Glib::RefPtr<Gtk::Builder>& builder)
 {
 }
 
-VariablesMap::~VariablesMap()
-{
-}
-
-
 void VariablesMap::connect_widget(const Glib::ustring& widget_name, bool& variable)
 {
   Gtk::ToggleButton* pToggleButton = nullptr;
diff --git a/glom/variablesmap.h b/glom/variablesmap.h
index 9ff8cc1..e82e792 100644
--- a/glom/variablesmap.h
+++ b/glom/variablesmap.h
@@ -48,7 +48,6 @@ class VariablesMap
 {
 public:
   explicit VariablesMap(const Glib::RefPtr<Gtk::Builder>& builder);
-  virtual ~VariablesMap();
 
   ///For ToggleButton (CheckBox and RadioButton)
   void connect_widget(const Glib::ustring& widget_name, bool& variable);
diff --git a/glom/window_boxholder.cc b/glom/window_boxholder.cc
index 4d83f00..71a4cca 100644
--- a/glom/window_boxholder.cc
+++ b/glom/window_boxholder.cc
@@ -47,10 +47,6 @@ Window_BoxHolder::Window_BoxHolder(Box_WithButtons* pBox, const Glib::ustring& t
     set_default(*default_button);
 }
 
-Window_BoxHolder::~Window_BoxHolder()
-{
-}
-
 void Window_BoxHolder::on_box_cancelled()
 {
   hide();
diff --git a/glom/window_boxholder.h b/glom/window_boxholder.h
index fd000b2..14599db 100644
--- a/glom/window_boxholder.h
+++ b/glom/window_boxholder.h
@@ -35,7 +35,6 @@ class Window_BoxHolder :
 {
 public: 
   explicit Window_BoxHolder(Box_WithButtons* pBox, const Glib::ustring& title = Glib::ustring());
-  virtual ~Window_BoxHolder();
 
 private:
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]