diff options
author | Lubomir I. Ivanov <neolit123@gmail.com> | 2017-10-03 23:16:15 +0300 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2017-10-03 15:43:03 -0700 |
commit | e3118d915cf49de4cc722522031b0be44014d790 (patch) | |
tree | b811197cc821adcd676eec408ba3ff6d296f54ad /qt-models/divetripmodel.h | |
parent | 53c1c3f26bec6bf1d9f5417d5db12ea532c6a5cc (diff) | |
download | subsurface-e3118d915cf49de4cc722522031b0be44014d790.tar.gz |
divelist: prevent a crash for missing column width
The `static int defaultWidth[]` definition in divelistview.cpp
could potentially end up missing an element which can later result
in out-of-bounds access when iterating through the list of
columns and updating their widths.
Add a couple of methods in DiveTripModel for setting and getting
the widths and use those. The default values are now pre-set in a
QVector in the DiveTripModel() constructor.
Throw warnings if out-of-bounds columns are requested.
Reported-by: Gaetan Bisson <bisson@archlinux.org>
Signed-off-by: Lubomir I. Ivanov <neolit123@gmail.com>
Diffstat (limited to 'qt-models/divetripmodel.h')
-rw-r--r-- | qt-models/divetripmodel.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/qt-models/divetripmodel.h b/qt-models/divetripmodel.h index ce508a5b5..24b215129 100644 --- a/qt-models/divetripmodel.h +++ b/qt-models/divetripmodel.h @@ -94,10 +94,13 @@ public: DiveTripModel(QObject *parent = 0); Layout layout() const; void setLayout(Layout layout); + int columnWidth(int column); + void setColumnWidth(int column, int width); private: void setupModelData(); QMap<dive_trip_t *, TripItem *> trips; + QVector<int> columnWidthMap; Layout currentLayout; }; |