Fix crash when removing an item while we are adding one
Review Request #113471 - Created Oct. 27, 2013 and submitted - Latest diff uploaded
|Albert Astals Cid|
Reading https://bugs.kde.org/show_bug.cgi?id=311871#c41 you can see that it happens that we are doing a #78 0x00007f4eff8c5ffb in QDeclarativeListModel::insert (this=0x1ebbdb0, index=0, valuemap=...) at util/qdeclarativelistmodel.cpp:436 and then we end up reentring and doing #16 0x00007f4eff8c737f in QDeclarativeListModel::remove (this=0x1ebbdb0, index=6) at util/qdeclarativelistmodel.cpp:402 Some of the stuff that depends on the QDeclarativeListModel doesn't seem to like getting a "remove" while a "insert" is happening and to be honest m in no mood to fix that, so basically I'm protecting against that happening in our QML code. From what i read you have to be extremely unlucky since the timer only triggers each 10 minutes and it has to trigger at the same time a notification is being added, but oh well, the backtrace points to it and two different people in two different systems say it has stopped the crashes so I don't think it hurts to have this in.
I can't reproduce it in my desktop but Alex and Michael have been running this patch for weeks and can certainly say that the crashing situation has improved (i.e. no crashes in days with this patch and crashes daily without it).