summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Tomaz Canabrava <tomaz.canabrava@intel.com>2014-06-26 15:31:01 -0300
committerGravatar Dirk Hohndel <dirk@hohndel.org>2014-06-26 15:49:19 -0700
commitf6d133d7423bb0dc2f17c1c68dc50de1ff6824a7 (patch)
tree62de6192abae0d76e2199600b6b57ba2dd960f17
parent81fd56b16fd4678626a9cadec7311fffbccec502 (diff)
downloadsubsurface-f6d133d7423bb0dc2f17c1c68dc50de1ff6824a7.tar.gz
Fix crash when trying to add a dive or plan when a filter is active.
The planner used the selected dive on the dive list, and when there's a filtering in action it can be in a state where there's no dive selected. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--qt-ui/divelistview.cpp6
-rw-r--r--qt-ui/divelistview.h1
-rw-r--r--qt-ui/mainwindow.cpp2
3 files changed, 9 insertions, 0 deletions
diff --git a/qt-ui/divelistview.cpp b/qt-ui/divelistview.cpp
index 78186ecd0..4f5bfec26 100644
--- a/qt-ui/divelistview.cpp
+++ b/qt-ui/divelistview.cpp
@@ -825,3 +825,9 @@ void DiveListView::updateLastImageTimeOffset(const int offset)
s.beginGroup("MainWindow");
s.setValue("LastImageTimeOffset", offset);
}
+
+void DiveListView::endSearch()
+{
+ searchBox.clear();
+ searchBox.hide();
+}
diff --git a/qt-ui/divelistview.h b/qt-ui/divelistview.h
index 320bf954f..7ab409b42 100644
--- a/qt-ui/divelistview.h
+++ b/qt-ui/divelistview.h
@@ -52,6 +52,7 @@ slots:
void shiftTimes();
void loadImages();
static QString lastUsedImageDir();
+ void endSearch();
signals:
void currentDiveChanged(int divenr);
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 10b3e5304..dc4e06fec 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -467,6 +467,7 @@ void MainWindow::on_actionDivePlanner_triggered()
if(!plannerStateClean())
return;
+ ui.ListWidget->endSearch();
// put us in PLAN mode
DivePlannerPointsModel::instance()->setPlanMode(DivePlannerPointsModel::PLAN);
ui.newProfile->setPlanState();
@@ -497,6 +498,7 @@ void MainWindow::on_actionAddDive_triggered()
if(!plannerStateClean())
return;
+ ui.ListWidget->endSearch();
DivePlannerPointsModel::instance()->setPlanMode(DivePlannerPointsModel::ADD);
createFakeDiveForAddAndPlan();