> On Aug 3, 2017, at 3:49 PM, Rick Walsh <[email protected]> wrote:
>
> Hi,
>
> This is not a new bug, and has been reported before, but I think it's one
> that should be eliminated before the next release. When deleting a dive from
> the dive list (select the dive from the list but hold down until the trash
> icon appears, then select the trash icon), the app will crash... sometimes.
> But sometimes it works.
I have spent many hours on this. Yes, we either need to fix this or remove the
feature.
This won't prevent another beta (it's not a regression, it's broken in the
current beta), but it will prevent the actual release of 2.0.
> The most reliable way I have come up with to reproduce the bug (crash just
> occurred 3 of 4 times) is:
> 1) select a dive from somewhere in the list - dive details page will open
> 2) hit back button to return to dive list, with dive still selected
> 3) go to menu and open another page (e.g. 'About' or 'Settings')
> 4) hit back button to return to dive list, with dive still selected
> 5) hold down on the selected dive so the trash icon appears
> 6) crash...
>
> That isn't the only way to reproduce the bug, but it's the most reliable way
> I have found. I think it has something to do with deleting the currently
> selected dive, without properly selecting another dive.
>
> Below is an extract from my subsurface log.
> TouchPointPressed without previous release event QQuickEventPoint(valid:true
> accepted:false state:Pressed scenePos:QPointF(70.3333,415) id:2000001
> timeHeld:0)
> The item DiveDetails_QMLTYPE_71(0xcb0e14e0) is already in the PageRow
> Both point size and pixel size set. Using pixel size.
> qrc:/templates/ApplicationHeader.qml:84:13: QML Heading: Binding loop
> detected for property "width"
> Both point size and pixel size set. Using pixel size.
> Both point size and pixel size set. Using pixel size.
> qrc:/templates/ApplicationHeader.qml:84:13: QML Heading: Binding loop
> detected for property "width"
> Both point size and pixel size set. Using pixel size.
> qrc:/templates/ApplicationHeader.qml:84:13: QML Heading: Binding loop
> detected for property "width"
> Both point size and pixel size set. Using pixel size.
> QObject::startTimer: Timers cannot be started from another thread
> QObject::startTimer: Timers cannot be started from another thread
> QObject::startTimer: Timers cannot be started from another thread
> QObject::startTimer: Timers cannot be started from another thread
> QObject::startTimer: Timers cannot be started from another thread
> QObject::startTimer: Timers cannot be started from another thread
> QObject::startTimer: Timers cannot be started from another thread
> QObject::startTimer: Timers cannot be started from another thread
> QObject::startTimer: Timers cannot be started from another thread
> QObject::startTimer: Timers cannot be started from another thread
> Both point size and pixel size set. Using pixel size.
> qrc:/templates/ApplicationHeader.qml:84:13: QML Heading: Binding loop
> detected for property "width"
> Both point size and pixel size set. Using pixel size.
> Both point size and pixel size set. Using pixel size.
> "846.350: Synchronising data file"
> qrc:///qml/DiveDetailsEdit.qml:254: TypeError: Cannot read property 'dive' of
> null
> qrc:///qml/DiveDetailsEdit.qml:228: TypeError: Cannot read property 'dive' of
> null
> qrc:///qml/DiveDetailsEdit.qml:216: TypeError: Cannot read property 'dive' of
> null
> qrc:///qml/DiveDetailsEdit.qml:204: TypeError: Cannot read property 'dive' of
> null
> QObject::startTimer: Timers cannot be started from another thread
> QObject::startTimer: Timers cannot be started from another thread
> QObject::startTimer: Timers cannot be started from another thread
> QObject::startTimer: Timers cannot be started from another thread
> QObject::startTimer: Timers cannot be started from another thread
> "846.578: Preparing to save data"
> "846.621: Start saving data"
> "846.687: Start saving dives"
> "846.727: Done creating local cache"
>
> The TypeError lines (254, 228, 216, 204) in DiveDetailsEdit.qml are similar.
> HintsTextEdit {
> id: cylinderBox
> ***Line 254*** model: diveDetailsListView.currentItem ?
> diveDetailsListView.currentItem.modelData.dive.cylinderList : null
> inputMethodHints: Qt.ImhNoPredictiveText
> Layout.fillWidth: true
>
My suspicion is that somehow our different models get out of sync. But it's
really, really hard to debug this :-(
/D
_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface