<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/100098/">http://git.reviewboard.kde.org/r/100098/</a>
     </td>
    </tr>
   </table>
   <br />





 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Crash on startup:


Application: Amarok (amarok), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fbdc1894780 (LWP 27264))]

Thread 13 (Thread 0x7fbd9f367710 (LWP 27265)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:212
#1  0x00007fbda5d270d1 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fbdbc401971 in start_thread (arg=&lt;value optimized out&gt;) at pthread_create.c:304
#3  0x00007fbdbe90a91d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 12 (Thread 0x7fbd9eb66710 (LWP 27266)):
#0  0x00007fbdbe8fe1d3 in __poll (fds=&lt;value optimized out&gt;, nfds=&lt;value optimized out&gt;, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fbdb7dda009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fbdb7dda45c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007fbdbf2581e6 in QEventDispatcherGlib::processEvents (this=0x1edee80, flags=&lt;value optimized out&gt;) at kernel/qeventdispatcher_glib.cpp:417
#4  0x00007fbdbf22aa02 in QEventLoop::processEvents (this=&lt;value optimized out&gt;, flags=) at kernel/qeventloop.cpp:149
#5  0x00007fbdbf22adec in QEventLoop::exec (this=0x7fbd9eb65d70, flags=) at kernel/qeventloop.cpp:201
#6  0x00007fbdbf1352fd in QThread::exec (this=&lt;value optimized out&gt;) at thread/qthread.cpp:490
#7  0x00007fbda5f832b0 in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#8  0x00007fbdbf13827e in QThreadPrivate::start (arg=0x1f96270) at thread/qthread_unix.cpp:266
#9  0x00007fbdbc401971 in start_thread (arg=&lt;value optimized out&gt;) at pthread_create.c:304
#10 0x00007fbdbe90a91d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 11 (Thread 0x7fbd9e160710 (LWP 27267)):
#0  0x00007fbdbe8fe1d3 in __poll (fds=&lt;value optimized out&gt;, nfds=&lt;value optimized out&gt;, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fbdb5d7d40f in ?? () from /usr/lib/libpulse.so.0
#2  0x00007fbdb5d6cd76 in pa_mainloop_poll () from /usr/lib/libpulse.so.0
#3  0x00007fbdb5d6e7f9 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#4  0x00007fbdb5d6e8b0 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#5  0x00007fbdb5d7d20b in ?? () from /usr/lib/libpulse.so.0
#6  0x00007fbdaf569fb8 in ?? () from /usr/lib/libpulsecommon-0.9.21.so
#7  0x00007fbdbc401971 in start_thread (arg=&lt;value optimized out&gt;) at pthread_create.c:304
#8  0x00007fbdbe90a91d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 10 (Thread 0x7fbd9d95f710 (LWP 27268)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fbda5d37e83 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fbdbc401971 in start_thread (arg=&lt;value optimized out&gt;) at pthread_create.c:304
#3  0x00007fbdbe90a91d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 9 (Thread 0x7fbd9cd54710 (LWP 27269)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fbda5d37e83 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fbdbc401971 in start_thread (arg=&lt;value optimized out&gt;) at pthread_create.c:304
#3  0x00007fbdbe90a91d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 8 (Thread 0x7fbd93ffe710 (LWP 27270)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fbda5d37e83 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fbdbc401971 in start_thread (arg=&lt;value optimized out&gt;) at pthread_create.c:304
#3  0x00007fbdbe90a91d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7fbd93028710 (LWP 27272)):
#0  QEventDispatcherGlib::processEvents (this=0x1e47ba0, flags=&lt;value optimized out&gt;) at kernel/qeventdispatcher_glib.cpp:416
#1  0x00007fbdbf22aa02 in QEventLoop::processEvents (this=&lt;value optimized out&gt;, flags=) at kernel/qeventloop.cpp:149
#2  0x00007fbdbf22adec in QEventLoop::exec (this=0x7fbd93027d90, flags=) at kernel/qeventloop.cpp:201
#3  0x00007fbdbf1352fd in QThread::exec (this=&lt;value optimized out&gt;) at thread/qthread.cpp:490
#4  0x00007fbdbf20a5f8 in QInotifyFileSystemWatcherEngine::run (this=0x7fbd982646a0) at io/qfilesystemwatcher_inotify.cpp:248
#5  0x00007fbdbf13827e in QThreadPrivate::start (arg=0x7fbd982646a0) at thread/qthread_unix.cpp:266
#6  0x00007fbdbc401971 in start_thread (arg=&lt;value optimized out&gt;) at pthread_create.c:304
#7  0x00007fbdbe90a91d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#8  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fbd870c3710 (LWP 27273)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fbdbf138e3b in wait (this=&lt;value optimized out&gt;, mutex=0x2d94a60, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=&lt;value optimized out&gt;, mutex=0x2d94a60, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fbdbade5524 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x2d0e640, th=0x2d830f0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fbdbade872b in ThreadWeaver::WorkingHardState::applyForWork (this=0x2d0dbd0, th=0x2d830f0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fbdbade6c9f in ThreadWeaver::ThreadRunHelper::run (this=0x7fbd870c2de0, parent=0x2d0e640, th=0x2d830f0) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007fbdbade71f8 in ThreadWeaver::Thread::run (this=0x2d830f0) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007fbdbf13827e in QThreadPrivate::start (arg=0x2d830f0) at thread/qthread_unix.cpp:266
#8  0x00007fbdbc401971 in start_thread (arg=&lt;value optimized out&gt;) at pthread_create.c:304
#9  0x00007fbdbe90a91d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fbd86865710 (LWP 27274)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fbdb537f20e in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007fbdb537f329 in ?? () from /usr/lib/libQtWebKit.so.4
#3  0x00007fbdbc401971 in start_thread (arg=&lt;value optimized out&gt;) at pthread_create.c:304
#4  0x00007fbdbe90a91d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fbd84d69710 (LWP 27275)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fbdbf138e3b in wait (this=&lt;value optimized out&gt;, mutex=0x2d94a60, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:88
#2  QWaitCondition::wait (this=&lt;value optimized out&gt;, mutex=0x2d94a60, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:160
#3  0x00007fbdbade5524 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x2d0e640, th=0x2e3b9e0) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fbdbade872b in ThreadWeaver::WorkingHardState::applyForWork (this=0x2d0dbd0, th=0x2e3b9e0) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fbdbade6c9f in ThreadWeaver::ThreadRunHelper::run (this=0x7fbd84d68de0, parent=0x2d0e640, th=0x2e3b9e0) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007fbdbade71f8 in ThreadWeaver::Thread::run (this=0x2e3b9e0) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007fbdbf13827e in QThreadPrivate::start (arg=0x2e3b9e0) at thread/qthread_unix.cpp:266
#8  0x00007fbdbc401971 in start_thread (arg=&lt;value optimized out&gt;) at pthread_create.c:304
#9  0x00007fbdbe90a91d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fbd7f7d6710 (LWP 27276)):
#0  0x00007fbdbe9032b3 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007fbda5d50385 in xine_usec_sleep () from /usr/lib/libxine.so.1
#2  0x00007fbda5d34d09 in ?? () from /usr/lib/libxine.so.1
#3  0x00007fbdbc401971 in start_thread (arg=&lt;value optimized out&gt;) at pthread_create.c:304
#4  0x00007fbdbe90a91d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fbd7b1ee710 (LWP 27277)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fbdba625334 in QTWTF::TCMalloc_PageHeap::scavengerThread (this=0x7fbdba930160) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:2359
#2  0x00007fbdba625369 in QTWTF::TCMalloc_PageHeap::runScavengerThread (context=0x7fbdba93e234) at ../3rdparty/javascriptcore/JavaScriptCore/wtf/FastMalloc.cpp:1464
#3  0x00007fbdbc401971 in start_thread (arg=&lt;value optimized out&gt;) at pthread_create.c:304
#4  0x00007fbdbe90a91d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fbdc1894780 (LWP 27264)):
[KCrash Handler]
#6  QSortFilterProxyModelPrivate::proxy_to_source (this=0x2566aa0, proxy_index=...) at itemviews/qsortfilterproxymodel.cpp:369
#7  0x00007fbdc01c861d in QSortFilterProxyModel::mapToSource (this=&lt;value optimized out&gt;, proxyIndex=...) at itemviews/qsortfilterproxymodel.cpp:2491
#8  0x00007fbdc01beb96 in QSortFilterProxyModel::data (this=0x2566aa0, index=..., role=0) at itemviews/qsortfilterproxymodel.cpp:1712
#9  0x00007fbdc0a0bb1b in Playlist::GroupingProxy::data (this=0x25665f0, index=..., role=32) at /home/mark/kde/src/amarok/src/playlist/proxymodels/GroupingProxy.cpp:194
#10 0x00007fbdc08d523b in QModelIndex::data (this=0x37d9060, arole=32) at /usr/include/qt4/QtCore/qabstractitemmodel.h:398
#11 0x00007fbdc09acb1a in Playlist::PlaylistLayout::partForItem (this=0x7fff395a5b00, index=...) at /home/mark/kde/src/amarok/src/playlist/layouts/LayoutItemConfig.cpp:173
#12 0x00007fbdc09f5684 in Playlist::PlaylistLayout::layoutForItem (this=0x7fff395a5b00, index=...) at /home/mark/kde/src/amarok/src/playlist/layouts/LayoutItemConfig.h:261
#13 0x00007fbdc09f86df in Playlist::PrettyItemDelegate::paint (this=0x2c23400, painter=0x7fff395a6050, option=..., index=...) at /home/mark/kde/src/amarok/src/playlist/view/listview/PrettyItemDelegate.cpp:193
#14 0x00007fbdc015b83a in QListView::paintEvent (this=&lt;value optimized out&gt;, e=&lt;value optimized out&gt;) at itemviews/qlistview.cpp:1044
#15 0x00007fbdc0a036f7 in Playlist::PrettyListView::paintEvent (this=0x2c1dba0, event=0x7fff395a6d30) at /home/mark/kde/src/amarok/src/playlist/view/listview/PrettyListView.cpp:631
#16 0x00007fbdbfc37c2e in QWidget::event (this=0x2c1dba0, event=0x7fff395a6d30) at kernel/qwidget.cpp:8333
#17 0x00007fbdc00035e6 in QFrame::event (this=0x2c1dba0, e=0x7fff395a6d30) at widgets/qframe.cpp:557
#18 0x00007fbdc013ca8b in QAbstractItemView::viewportEvent (this=0x2c1dba0, event=0x7fff395a6d30) at itemviews/qabstractitemview.cpp:1619
#19 0x00007fbdbf22b507 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=&lt;value optimized out&gt;, receiver=0x2c1bab0, event=0x7fff395a6d30) at kernel/qcoreapplication.cpp:847
#20 0x00007fbdbfbe1fac in QApplicationPrivate::notify_helper (this=0x1d7b190, receiver=0x2c1bab0, e=0x7fff395a6d30) at kernel/qapplication.cpp:4392
#21 0x00007fbdbfbe7aed in QApplication::notify (this=0x7fff395a9920, receiver=0x2c1bab0, e=0x7fff395a6d30) at kernel/qapplication.cpp:4277
#22 0x00007fbdc13ab4d6 in KApplication::notify (this=0x7fff395a9920, receiver=0x2c1bab0, event=0x7fff395a6d30) at ../../kdeui/kernel/kapplication.cpp:310
#23 0x00007fbdbf22bcdc in QCoreApplication::notifyInternal (this=0x7fff395a9920, receiver=0x2c1bab0, event=0x7fff395a6d30) at kernel/qcoreapplication.cpp:732
#24 0x00007fbdbfc3e67d in sendSpontaneousEvent (this=0x2c1e080, pdev=&lt;value optimized out&gt;, rgn=..., offset=&lt;value optimized out&gt;, flags=&lt;value optimized out&gt;, sharedPainter=0x0, backingStore=0x2b9ec80) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#25 QWidgetPrivate::drawWidget (this=0x2c1e080, pdev=&lt;value optimized out&gt;, rgn=..., offset=&lt;value optimized out&gt;, flags=&lt;value optimized out&gt;, sharedPainter=0x0, backingStore=0x2b9ec80) at kernel/qwidget.cpp:5420
#26 0x00007fbdbfc3f328 in QWidgetPrivate::paintSiblingsRecursive (this=&lt;value optimized out&gt;, pdev=&lt;value optimized out&gt;, siblings=..., index=0, rgn=&lt;value optimized out&gt;, offset=&lt;value optimized out&gt;, flags=4, sharedPainter=0x0, backingStore=0x2b9ec80) at kernel/qwidget.cpp:5627
#27 0x00007fbdbfc3e3da in QWidgetPrivate::drawWidget (this=0x2c1dc40, pdev=&lt;value optimized out&gt;, rgn=..., offset=&lt;value optimized out&gt;, flags=&lt;value optimized out&gt;, sharedPainter=0x0, backingStore=0x2b9ec80) at kernel/qwidget.cpp:5473
#28 0x00007fbdbfc3f328 in QWidgetPrivate::paintSiblingsRecursive (this=&lt;value optimized out&gt;, pdev=&lt;value optimized out&gt;, siblings=..., index=1, rgn=&lt;value optimized out&gt;, offset=&lt;value optimized out&gt;, flags=4, sharedPainter=0x0, backingStore=0x2b9ec80) at kernel/qwidget.cpp:5627
#29 0x00007fbdbfc3e3da in QWidgetPrivate::drawWidget (this=0x2c1d7b0, pdev=&lt;value optimized out&gt;, rgn=..., offset=&lt;value optimized out&gt;, flags=&lt;value optimized out&gt;, sharedPainter=0x0, backingStore=0x2b9ec80) at kernel/qwidget.cpp:5473
#30 0x00007fbdbfc3f328 in QWidgetPrivate::paintSiblingsRecursive (this=&lt;value optimized out&gt;, pdev=&lt;value optimized out&gt;, siblings=..., index=5, rgn=&lt;value optimized out&gt;, offset=&lt;value optimized out&gt;, flags=4, sharedPainter=0x0, backingStore=0x2b9ec80) at kernel/qwidget.cpp:5627
#31 0x00007fbdbfc3f159 in QWidgetPrivate::paintSiblingsRecursive (this=&lt;value optimized out&gt;, pdev=&lt;value optimized out&gt;, siblings=..., index=6, rgn=&lt;value optimized out&gt;, offset=&lt;value optimized out&gt;, flags=4, sharedPainter=0x0, backingStore=0x2b9ec80) at kernel/qwidget.cpp:5614
#32 0x00007fbdbfc3e3da in QWidgetPrivate::drawWidget (this=0x2a59ca0, pdev=&lt;value optimized out&gt;, rgn=..., offset=&lt;value optimized out&gt;, flags=&lt;value optimized out&gt;, sharedPainter=0x0, backingStore=0x2b9ec80) at kernel/qwidget.cpp:5473
#33 0x00007fbdbfc3f328 in QWidgetPrivate::paintSiblingsRecursive (this=&lt;value optimized out&gt;, pdev=&lt;value optimized out&gt;, siblings=..., index=7, rgn=&lt;value optimized out&gt;, offset=&lt;value optimized out&gt;, flags=4, sharedPainter=0x0, backingStore=0x2b9ec80) at kernel/qwidget.cpp:5627
#34 0x00007fbdbfc3e3da in QWidgetPrivate::drawWidget (this=0x2a5b210, pdev=&lt;value optimized out&gt;, rgn=..., offset=&lt;value optimized out&gt;, flags=&lt;value optimized out&gt;, sharedPainter=0x0, backingStore=0x2b9ec80) at kernel/qwidget.cpp:5473
#35 0x00007fbdbfc3f328 in QWidgetPrivate::paintSiblingsRecursive (this=&lt;value optimized out&gt;, pdev=&lt;value optimized out&gt;, siblings=..., index=84, rgn=&lt;value optimized out&gt;, offset=&lt;value optimized out&gt;, flags=4, sharedPainter=0x0, backingStore=0x2b9ec80) at kernel/qwidget.cpp:5627
#36 0x00007fbdbfc3f159 in QWidgetPrivate::paintSiblingsRecursive (this=&lt;value optimized out&gt;, pdev=&lt;value optimized out&gt;, siblings=..., index=85, rgn=&lt;value optimized out&gt;, offset=&lt;value optimized out&gt;, flags=4, sharedPainter=0x0, backingStore=0x2b9ec80) at kernel/qwidget.cpp:5614
#37 0x00007fbdbfc3f159 in QWidgetPrivate::paintSiblingsRecursive (this=&lt;value optimized out&gt;, pdev=&lt;value optimized out&gt;, siblings=..., index=86, rgn=&lt;value optimized out&gt;, offset=&lt;value optimized out&gt;, flags=4, sharedPainter=0x0, backingStore=0x2b9ec80) at kernel/qwidget.cpp:5614
#38 0x00007fbdbfc3e3da in QWidgetPrivate::drawWidget (this=0x1d786a0, pdev=&lt;value optimized out&gt;, rgn=..., offset=&lt;value optimized out&gt;, flags=&lt;value optimized out&gt;, sharedPainter=0x0, backingStore=0x2b9ec80) at kernel/qwidget.cpp:5473
#39 0x00007fbdbfe12408 in QWidgetBackingStore::sync (this=0x2b9ec80) at painting/qbackingstore.cpp:1328
#40 0x00007fbdbfe12769 in QWidgetBackingStore::sync (this=0x2b9ec80, exposedWidget=0x2a6a3a0, exposedRegion=...) at painting/qbackingstore.cpp:1130
#41 0x00007fbdbfc5c4da in QETWidget::translatePaintEvent (this=0x2a6a3a0, event=&lt;value optimized out&gt;) at kernel/qapplication_x11.cpp:5117
#42 0x00007fbdbfc6904b in QApplication::x11ProcessEvent (this=&lt;value optimized out&gt;, event=0x7fff395a9590) at kernel/qapplication_x11.cpp:3436
#43 0x00007fbdbfc950e2 in x11EventSourceDispatch (s=0x1d83a00, callback=&lt;value optimized out&gt;, user_data=&lt;value optimized out&gt;) at kernel/qguieventdispatcher_glib.cpp:146
#44 0x00007fbdb7dd6342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#45 0x00007fbdb7dda2a8 in ?? () from /lib/libglib-2.0.so.0
#46 0x00007fbdb7dda45c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#47 0x00007fbdbf258193 in QEventDispatcherGlib::processEvents (this=0x1c24f90, flags=&lt;value optimized out&gt;) at kernel/qeventdispatcher_glib.cpp:415
#48 0x00007fbdbfc94a4e in QGuiEventDispatcherGlib::processEvents (this=0x2, flags=&lt;value optimized out&gt;) at kernel/qguieventdispatcher_glib.cpp:204
#49 0x00007fbdbf22aa02 in QEventLoop::processEvents (this=&lt;value optimized out&gt;, flags=) at kernel/qeventloop.cpp:149
#50 0x00007fbdbf22adec in QEventLoop::exec (this=0x7fff395a98c0, flags=) at kernel/qeventloop.cpp:201
#51 0x00007fbdbf22eebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#52 0x000000000040aeb3 in main (argc=4, argv=0x7fff395ab888) at /home/mark/kde/src/amarok/src/main.cpp:237</pre>
 <br />







<p>- Mark</p>


<br />
<p>On October 30th, 2010, 2:15 p.m., Ralf Engels wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.orgrb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Amarok.</div>
<div>By Ralf Engels.</div>


<p style="color: grey;"><i>Updated 2010-10-30 14:15:21</i></p>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This patch improves the SqlMeta thread safety.
It has several parts:
- Use QReadWriteLock for SqlTrack.
 For this I also needed to pull the read accessor functions into the .cpp
- SqlCollection is a const pointer.
 All metas are directly dependent on the SqlCollection and it could and should never change.
 Using weak pointers here is not needed.
 Note that now the access to m_collection is also thread safe as it&#39;s const
- SqlAlbum::setCompilation did modify the old album
 This was changed an a new album will be created.
 The positive side effect is that the UI will now update directly if setting a compilation
- SqlAlbum::setImage will now copy embedded images directly when set
 If the track-uid is set (maybe from another thread) the cover image will still be found.
 Note that the image cache is and was not connected to the track uid.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">setting and unsetting compilation
changing album name
scanning and fully scanning collection</pre>
  </td>
 </tr>
</table>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>


 <a href="https://bugs.kde.org/show_bug.cgi?id=254631">254631</a>


</div>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>src/core-impl/collections/sqlcollection/CapabilityDelegateImpl.cpp <span style="color: grey">(0e3578a)</span></li>

 <li>src/core-impl/collections/sqlcollection/SqlCollection.cpp <span style="color: grey">(b88d257)</span></li>

 <li>src/core-impl/collections/sqlcollection/SqlMeta.h <span style="color: grey">(cc680ec)</span></li>

 <li>src/core-impl/collections/sqlcollection/SqlMeta.cpp <span style="color: grey">(7a210d3)</span></li>

 <li>src/core-impl/collections/sqlcollection/SqlRegistry.h <span style="color: grey">(66ba632)</span></li>

 <li>src/core-impl/collections/sqlcollection/SqlRegistry.cpp <span style="color: grey">(e1b3571)</span></li>

 <li>tests/core-impl/collections/sqlcollection/TestSqlArtist.cpp <span style="color: grey">(270874b)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/100098/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>