GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Fix crash when sorting one table in the Browse Tab and changing to an… · feng2010java/sqlitebrowser@88a4cae

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
  • src
    • sqlitetablemodel.cpp
    • sqlitetablemodel.h
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎src/sqlitetablemodel.cpp‎

Copy file name to clipboardExpand all lines: src/sqlitetablemodel.cpp
+12-9Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,18 @@ SqliteTableModel::SqliteTableModel(QObject* parent, DBBrowserDB* db, size_t chun
1010
: QAbstractTableModel(parent)
1111
, m_db(db)
1212
, m_rowCount(0)
13-
, m_iSortColumn(0)
14-
, m_sSortOrder("ASC")
1513
, m_chunkSize(chunkSize)
1614
, m_valid(false)
1715
{
16+
reset();
17+
}
18+
19+
void SqliteTableModel::reset()
20+
{
21+
m_iSortColumn = 0;
22+
m_sSortOrder = "ASC";
23+
m_headers.clear();
24+
m_mWhere.clear();
1825
}
1926

2027
void SqliteTableModel::setChunkSize(size_t chunksize)
@@ -24,17 +31,16 @@ void SqliteTableModel::setChunkSize(size_t chunksize)
2431

2532
void SqliteTableModel::setTable(const QString& table)
2633
{
34+
reset();
35+
2736
m_sTable = table;
2837

29-
m_headers.clear();
3038
QString rowid = "rowid";
3139
if(m_db->getObjectByName(table).gettype() == "table")
3240
rowid = sqlb::Table::parseSQL(m_db->getObjectByName(table).getsql()).rowidColumn();
3341
m_headers.push_back(rowid);
3442
m_headers.append(m_db->getTableFields(table));
3543

36-
m_mWhere.clear();
37-
3844
buildQuery();
3945
}
4046

@@ -84,10 +90,7 @@ void SqliteTableModel::setQuery(const QString& sQuery, bool dontClearHeaders)
8490
{
8591
// clear
8692
if(!dontClearHeaders)
87-
{
88-
m_mWhere.clear();
89-
m_headers.clear();
90-
}
93+
reset();
9194

9295
if(!m_db->isOpen())
9396
return;
Collapse file

‎src/sqlitetablemodel.h‎

Copy file name to clipboardExpand all lines: src/sqlitetablemodel.h
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ class SqliteTableModel : public QAbstractTableModel
1111
Q_OBJECT
1212
public:
1313
explicit SqliteTableModel(QObject *parent = 0, DBBrowserDB* db = 0, size_t chunkSize = 50000);
14+
void reset();
1415

1516
int rowCount(const QModelIndex &parent = QModelIndex()) const;
1617
int totalRowCount() const;

0 commit comments

Comments
0 (0)
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.