map: don't explicitly reload the map from the mainwindow

The map listens to the reset signal by itself.

This avoids double reload of the map on open/close.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2022-09-03 23:06:01 +02:00 committed by Dirk Hohndel
parent fbb737e85b
commit 3abb82bfd5
2 changed files with 1 additions and 7 deletions

View file

@ -200,9 +200,6 @@ MainWindow::MainWindow() :
initialUiSetup();
readSettings();
diveList->setFocus();
#ifdef MAP_SUPPORT
MapWidget::instance()->reload();
#endif
diveList->expand(diveList->model()->index(0, 0));
diveList->scrollTo(diveList->model()->index(0, 0), QAbstractItemView::PositionAtCenter);
#ifdef NO_USERMANUAL
@ -507,9 +504,6 @@ void MainWindow::closeCurrentFile()
clear_dive_file_data(); // this clears all the core data structures and resets the models
setCurrentFile(nullptr);
diveList->setSortOrder(DiveTripModelBase::NR, Qt::DescendingOrder);
#ifdef MAP_SUPPORT
MapWidget::instance()->reload();
#endif
if (!existing_filename)
setTitle();
disableShortcuts();

View file

@ -120,7 +120,7 @@ void MapWidget::divesChanged(const QVector<dive *> &, DiveField field)
// Sadly, for reasons out of our control, we can't use a normal singleton for the
// map widget: In a standard singleton, the object is freed after main() exits.
// However, if there is an animation running (map zooming), the thread is
// terminated, when the QApplication object is destroyed, which is before main()
// terminated when the QApplication object is destroyed, which is before main()
// exits. The thread has a QQmlAnimationTimer that is freed. However, the map widget
// then tries to free the object itself, leading to a crash. Clearly, a bug in
// the QML MapWidget / QtQuick ecosystem.