diff --git a/src/plugins/tables/kexitabledesigner_dataview.cpp b/src/plugins/tables/kexitabledesigner_dataview.cpp --- a/src/plugins/tables/kexitabledesigner_dataview.cpp +++ b/src/plugins/tables/kexitabledesigner_dataview.cpp @@ -77,7 +77,9 @@ if (!c) { return false; } - setData(c); + if (!setData(c)) { + return false; + } tempData()->tableSchemaChangedInPreviousView = false; } return true; diff --git a/src/widget/tableview/KexiDataTableView.h b/src/widget/tableview/KexiDataTableView.h --- a/src/widget/tableview/KexiDataTableView.h +++ b/src/widget/tableview/KexiDataTableView.h @@ -64,7 +64,7 @@ public Q_SLOTS: /*! Sets data. Only works for db-aware table. */ - void setData(KDbCursor *cursor); + bool setData(KDbCursor *cursor); /*! Saves settings for the view. Implemented for KexiView. */ virtual bool saveSettings() override; diff --git a/src/widget/tableview/KexiDataTableView.cpp b/src/widget/tableview/KexiDataTableView.cpp --- a/src/widget/tableview/KexiDataTableView.cpp +++ b/src/widget/tableview/KexiDataTableView.cpp @@ -111,13 +111,13 @@ return true; } -void +bool KexiDataTableView::setData(KDbCursor *c) { KexiDataTableScrollArea* area = dynamic_cast(mainWidget()); if (!area) - return; - area->setData(c); + return false; + return area->setData(c); } void KexiDataTableView::filter()