Created attachment 64402 [details]
Patch to be more paranoid about deleting BookmarkTriangles
Version: 2.4-GIT (using Devel)
OS: OS X
I experienced a crash in BookmarkTriangle::leaveEvent. From the debugger it looked like the 'this' pointer was bogus when it was called from the Qt's event loop. It looked like this was due to EngineController::slotTrackLengthChanged triggering clearTriangles() (followed by making some new ones) while a leaveEvent() from the triangle was pending. Patch attached assuming it's that problem, and also not trying to dereference a potentially null m_tooltip in the destructor or leaveEvent().
Reproducible: Didn't try
Steps to Reproduce:
Hover over triangles for last stop location while playing track
Could you please also give us the backtrace? Else it is pretty impossible for the devs to check your patch.
Created attachment 64416 [details]
Created attachment 64417 [details]
last 200 lines of debug output before crash
Backtrace from comment #2:
Thread 1 (process 6172):
#0 0x0000000100b73c98 in BookmarkTriangle::leaveEvent (this=<value temporarily unavailable, due to optimizations>, event=0x7fff5fbfbb70) at /Users/charles/software/amarok/src/widgets/BookmarkTriangle.cpp:123
#1 0x000000010326175d in QWidget::event ()
#2 0x0000000103207a2d in QApplicationPrivate::notify_helper ()
#3 0x000000010320d88d in QApplication::notify ()
#4 0x00000001026f220e in KApplication::notify ()
#5 0x00000001022d9e7c in QCoreApplication::notifyInternal ()
#6 0x00000001031b03fa in -[QCocoaView mouseExited:] ()
#7 0x00007fff834139de in -[NSApplication sendEvent:] ()
#8 0x00000001031b92e8 in -[QNSApplication sendEvent:] ()
#9 0x00007fff833aa6de in -[NSApplication run] ()
#10 0x00000001031c2e65 in QEventDispatcherMac::processEvents ()
#11 0x00000001023c6244 in QEventLoop::processEvents ()
#12 0x00000001023c6564 in QEventLoop::exec ()
#13 0x00000001023c7b6c in QCoreApplication::exec ()
#14 0x0000000100013912 in main (argc=3, argv=0x7fff5fbfe7c0) at /Users/charles/software/amarok/src/main.cpp:294
Git commit ae275bdce34dd2f71165c774aeb31b5bcacc19ea by Ralf Engels.
Committed on 16/01/2012 at 21:50.
Pushed by rengels into branch 'master'.
Avoid using deleted BookmarkTriangles or null BookmarkPopups
M +5 -2 src/widgets/BookmarkTriangle.cpp
M +5 -4 src/widgets/SliderWidget.cpp