subsurface/desktop-widgets
Berthold Stoeger ce140f2925 Desktop: fix crash on dive site tab
An interesting crash:

1) On the dive site tab select a dive site such that only one
   trip is shown.
2) Unselect all dives.
3) Press CTRL-A while the dive list has focus.
4) This will select a trip.
5) In MainTab::updateDiveInfo() this will switch to the previous
   tab active when in trip mode.
6) This will reset the filter.
7) This will reset the currentTrip field which we just set.
8) Since we just set the currentTrip field, we don't expect
   it to change and reference a null pointer.

To fix, don't switch tabs when on the dive site tab. This also
improves user experience as there seems to be no reason to switch
away from the dive site tab.

Currently the index of the dive site tab is hard-coded - this
should be changed!

Fixes #2077

Reported-by: Doug Junkins <junkins@foghead.com>
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-05-05 08:53:19 -07:00
..
css Move qt-ui to desktop-widgets 2015-10-30 10:36:49 -07:00
preferences replace deprecated qSort() with std::sort() 2019-04-12 12:59:17 +03:00
statistics Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
tab-widgets Desktop: fix crash on dive site tab 2019-05-05 08:53:19 -07:00
about.cpp update year to 2019 in about screens 2019-01-02 09:45:01 -08:00
about.h Add SPDX header to desktop widgets 2017-04-29 13:32:55 -07:00
about.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
btdeviceselectiondialog.cpp Desktop: only show dive computers in the Bluetooth device list 2019-02-14 09:05:58 -08:00
btdeviceselectiondialog.h Bluetooth: use standard Qt code on Windows 2018-09-30 08:09:37 -07:00
btdeviceselectiondialog.ui Desktop: add checkbox to show all BT devices 2019-02-14 09:05:58 -08:00
CMakeLists.txt Cleanup: Move dive-equipment tab into own translation units 2019-04-15 10:30:04 +12:00
command.cpp Undo: remove ADD mode from main tab 2019-04-12 18:19:07 +03:00
command.h Undo: use QUndoStack::isClean() to determine unsaved changes 2019-04-12 18:19:07 +03:00
command_base.cpp Undo: use QUndoStack::isClean() to determine unsaved changes 2019-04-12 18:19:07 +03:00
command_base.h Dive sites: prepare for dive site ref-counting 2019-04-12 18:19:07 +03:00
command_divelist.cpp Undo: don't store insertion index in undo command 2019-04-15 10:24:31 +12:00
command_divelist.h Undo: don't store insertion index in undo command 2019-04-15 10:24:31 +12:00
command_divesite.cpp Undo: update filter flag when dives change 2019-04-12 18:19:07 +03:00
command_divesite.h Dive site: implement purge of unused dive sites 2019-04-12 18:19:07 +03:00
command_edit.cpp Undo: use QUndoStack::isClean() to determine unsaved changes 2019-04-12 18:19:07 +03:00
command_edit.h Cleanup: remove EDIT_TEXT and EDIT_VALUE macros in maintab.cpp 2019-04-12 18:19:07 +03:00
command_edit_trip.cpp Undo: use QUndoStack::isClean() to determine unsaved changes 2019-04-12 18:19:07 +03:00
command_edit_trip.h Undo: implement undo of dive trip editing 2019-04-12 18:19:07 +03:00
command_private.cpp Undo: move selection function into command_private.cpp file 2019-04-12 18:19:07 +03:00
command_private.h Undo: move selection function into command_private.cpp file 2019-04-12 18:19:07 +03:00
configuredivecomputerdialog.cpp Cleanup: we don't support configuring a Uemis SDA 2018-08-28 12:03:03 -07:00
configuredivecomputerdialog.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
configuredivecomputerdialog.ui Configure ostc3: Remove obsoleted setting 2018-04-27 21:33:47 +03:00
divecomponentselection.ui Add various enhancements to profile export and dive data copy 2019-02-07 16:06:43 +01:00
divecomputermanagementdialog.cpp Dive computers: turn QMultiMap into sorted vector 2018-06-17 06:53:13 +09:00
divecomputermanagementdialog.h Cleanup: fold DiveComputerManagementDialog::update() into init() 2018-06-17 06:53:13 +09:00
divecomputermanagementdialog.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
divelistview.cpp Undo: switch to edited trip 2019-04-12 18:19:07 +03:00
divelistview.h Undo: switch to edited trip 2019-04-12 18:19:07 +03:00
divelogexportdialog.cpp Add export option to export dive sites. 2019-04-13 08:18:32 -07:00
divelogexportdialog.h Add various enhancements to profile export and dive data copy 2019-02-07 16:06:43 +01:00
divelogexportdialog.ui Add export option to export dive sites. 2019-04-13 08:18:32 -07:00
divelogimportdialog.cpp Coding style: remove Java-style function definition 2019-04-12 18:19:07 +03:00
divelogimportdialog.h Import: Make DiveLogImportDialog modal 2018-10-04 10:22:11 +02:00
divelogimportdialog.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
divepicturewidget.cpp Dive media: transport dive-id in drag'n'drop events 2018-07-18 09:06:37 -07:00
divepicturewidget.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
diveplanner.cpp Add UI element for final surface segment in planner 2019-03-29 06:51:12 -07:00
diveplanner.h Planner: Add checkbox to force OC bailout 2019-01-13 15:02:07 -08:00
diveplanner.ui Choose water presets from a qcombobox in planner, custom value possible 2018-03-02 08:38:22 -08:00
diveshareexportdialog.cpp Revert "desktop-widgets: remove QSettings from desktop-widgets" 2018-08-29 03:09:10 -07:00
diveshareexportdialog.h Random whitespace cleanup 2017-05-27 11:07:20 -07:00
diveshareexportdialog.ui Move qt-ui to desktop-widgets 2015-10-30 10:36:49 -07:00
downloadfromdivecomputer.cpp Undo: make undo-system dive site-aware 2019-04-12 18:19:07 +03:00
downloadfromdivecomputer.h Leak fix: make ostcFirmwareCheck a unique_ptr 2019-03-18 09:06:32 -07:00
downloadfromdivecomputer.ui Desktop/remember DCs: avoid highlighted button 2018-09-23 11:49:30 -07:00
filterwidget2.cpp Filter: call update title directly in filter model 2019-04-12 18:19:07 +03:00
filterwidget2.h Filter: call update title directly in filter model 2019-04-12 18:19:07 +03:00
filterwidget2.ui Filter panel: add suit and notes search fields 2019-02-28 15:45:42 -08:00
findmovedimagesdialog.cpp Desktop: fix another variable name conflict 2019-03-18 19:40:32 -07:00
findmovedimagesdialog.h Dive pictures: implement FindMovedImagesDialog 2018-07-04 02:27:36 +08:00
findmovedimagesdialog.ui UI change of "images"/"photo" to "media" or "media files" 2018-07-15 09:38:12 -07:00
groupedlineedit.cpp Unused code: GroupedLineEdit::removeAllColors() 2018-01-10 16:45:42 +01:00
groupedlineedit.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
kmessagewidget.cpp Add SPDX header to desktop widgets 2017-04-29 13:32:55 -07:00
kmessagewidget.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
listfilter.ui Start to implement a simplified version of the filter widget 2018-12-14 01:05:18 +08:00
locationinformation.cpp Desktop: don't show special dive site entries if there is no filter 2019-04-16 23:46:19 +12:00
locationinformation.h Cleanup: remove global DiveLocationLineEdit variable 2019-04-16 23:46:19 +12:00
locationinformation.ui Dive site: add proximity field to dive site list 2019-04-12 18:19:07 +03:00
mainwindow.cpp Cleanup: implement proper Qt-model semantics in WeightInfoModel 2019-04-29 13:06:39 -07:00
mainwindow.h Desktop: destroy maintab before destructing mainwindow 2019-04-14 03:16:48 +12:00
mainwindow.ui Desktop: remove checkmark from Filter divelist entry in Log menu 2019-02-19 12:02:58 -08:00
mapwidget.cpp Dive site: remove edit mode from dive location widget 2019-04-12 18:19:07 +03:00
mapwidget.h Dive site: remove edit mode from dive location widget 2019-04-12 18:19:07 +03:00
modeldelegates.cpp Cleanup: make objects in desktop-widgets/modeldelegates.cpp 2019-04-29 13:06:39 -07:00
modeldelegates.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
notificationwidget.cpp Use queued connection to thread-safe MainWindow error handling 2018-01-31 14:47:26 +01:00
notificationwidget.h Use queued connection to thread-safe MainWindow error handling 2018-01-31 14:47:26 +01:00
plannerDetails.ui Bring back style sheet HTML for planner output 2017-02-24 01:06:09 -08:00
plannerSettings.ui Add UI element for final surface segment in planner 2019-03-29 06:51:12 -07:00
printdialog.cpp Drop old filter code 2018-12-14 01:05:18 +08:00
printdialog.h Cleanup: replace virtual by override where appropriate 2018-07-31 11:02:34 +02:00
printer.cpp get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
printer.h Remove partial support for QWebEngine 2019-03-20 08:45:02 -07:00
printoptions.cpp replace deprecated qSort() with std::sort() 2019-04-12 12:59:17 +03:00
printoptions.h Cleanup: remove all Q_NULLPTR instances 2019-04-02 07:34:46 -07:00
printoptions.ui Move qt-ui to desktop-widgets 2015-10-30 10:36:49 -07:00
qtwaitingspinner.cpp Move qt-ui to desktop-widgets 2015-10-30 10:36:49 -07:00
qtwaitingspinner.h Move qt-ui to desktop-widgets 2015-10-30 10:36:49 -07:00
renumber.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
searchbar.ui Use better aliases for icons. 2017-11-30 23:14:46 -08:00
setpoint.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
shiftimagetimes.ui UI change of "images"/"photo" to "media" or "media files" 2018-07-15 09:38:12 -07:00
shifttimes.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
simplewidgets.cpp Dive sites: prepare for dive site ref-counting 2019-04-12 18:19:07 +03:00
simplewidgets.h Drop old filter code 2018-12-14 01:05:18 +08:00
starwidget.cpp Cleanup: remove parameter from currentDiveChanged signal 2018-07-30 12:20:26 -07:00
starwidget.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
subsurfacewebservices.cpp Dive site: add dive site ref-counting 2019-04-12 18:19:07 +03:00
subsurfacewebservices.h Cleanup: Devirtualize WebServices::downloadTimedOut() 2018-09-29 15:16:11 -07:00
tableview.cpp Use better aliases for icons. 2017-11-30 23:14:46 -08:00
tableview.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
tableview.ui Move qt-ui to desktop-widgets 2015-10-30 10:36:49 -07:00
tagwidget.cpp Desktop: remove edit-check in tag-widget completer 2019-04-14 03:38:22 +12:00
tagwidget.h Undo: implement undo of tag editing 2019-04-12 18:19:07 +03:00
templateedit.cpp Warnings: replace memcpy by assignment 2018-11-19 13:51:03 -08:00
templateedit.h Add SPDX header to desktop widgets 2017-04-29 13:32:55 -07:00
templateedit.ui templateedit.ui: give the layout for "Border width" unique name 2017-03-12 09:19:03 -07:00
templatelayout.cpp Cleanup: simplify YearInfo class 2019-04-29 13:03:31 -07:00
templatelayout.h Cleanup: simplify YearInfo class 2019-04-29 13:03:31 -07:00
textedit.cpp Desktop: create new custom TextEdit widget for notes-field 2019-04-12 18:19:07 +03:00
textedit.h Desktop: create new custom TextEdit widget for notes-field 2019-04-12 18:19:07 +03:00
updatemanager.cpp core: move updatecheck to its own domain 2019-02-09 10:37:55 -08:00
updatemanager.h Add SPDX header to desktop widgets 2017-04-29 13:32:55 -07:00
urldialog.ui UI change of "images"/"photo" to "media" or "media files" 2018-07-15 09:38:12 -07:00
usermanual.cpp Coding style: remove Java-style function definition 2019-04-12 18:19:07 +03:00
usermanual.h Remove partial support for QWebEngine 2019-03-20 08:45:02 -07:00
usersurvey.cpp Revert "desktop-widgets: remove QSettings from desktop-widgets" 2018-08-29 03:09:10 -07:00
usersurvey.h Add SPDX header to desktop widgets 2017-04-29 13:32:55 -07:00
usersurvey.ui fix: User survey UI. 2017-03-06 06:40:00 -08:00
webservices.ui Use icons relative path. 2017-11-30 23:14:46 -08:00