Permalink
Browse files

Fixed crashed when editing the display format and the currently brows…

…ed table name is actually a view.

Now it is checked the object type before the cast. This avoids the crash and the field name is obtained for each case.
  • Loading branch information...
mgrojo authored and MKleusberg committed Oct 25, 2017
1 parent c69314f commit 9fd4ebe0e0ba6bc48509d4d8b9a27205c60d81a1
Showing with 5 additions and 2 deletions.
  1. +5 −2 src/MainWindow.cpp
@@ -2400,8 +2400,11 @@ void MainWindow::editDataColumnDisplayFormat()
// column is always the rowid column. Ultimately, get the column name from the column object
sqlb::ObjectIdentifier current_table = currentlyBrowsedTableName();
int field_number = sender()->property("clicked_column").toInt();
QString field_name = db.getObjectByName(current_table).dynamicCast<sqlb::Table>()->fields().at(field_number-1)->name();

QString field_name;
if (db.getObjectByName(current_table)->type() == sqlb::Object::Table)
field_name = db.getObjectByName(current_table).dynamicCast<sqlb::Table>()->fields().at(field_number-1)->name();
else
field_name = db.getObjectByName(current_table).dynamicCast<sqlb::View>()->fieldNames().at(field_number-1);
// Get the current display format of the field
QString current_displayformat = browseTableSettings[current_table].displayFormats[field_number];

0 comments on commit 9fd4ebe

Please sign in to comment.