Version: 1.96 (2.0 Beta 2) (using KDE 3.2.90 (CVS >= 20040117), compiled sources) Compiler: gcc version 3.2.3 (Debian) OS: Linux (i686) release 2.6.1 Well, the title says all, but here's the backtrace: [New Thread 1106173568 (LWP 24597)] 0x41b673ee in __waitpid_nocancel () from /lib/tls/libpthread.so.0 #0 0x41b673ee in __waitpid_nocancel () from /lib/tls/libpthread.so.0 #1 0x40ee0b2d in KCrash::defaultCrashHandler(int) () from /home/tpr/kdecvshead/lib/libkdecore.so.4 #2 <signal handler called> #3 PlaylistItem::dirPath(bool) const (this=0x0, absPath=false) at playlistitem.cpp:120 #4 0x0808cc10 in TagEditor::save(QValueList<PlaylistItem*> const&) ( this=0x8162120, list=@0x81621c8) at tageditor.cpp:433 #5 0x0808d57d in TagEditor::saveChangesPrompt() (this=0x8162120) at tageditor.cpp:526 #6 0x0808ad6a in TagEditor::slotSetItems(QValueList<PlaylistItem*> const&) ( this=0x8162120, list=@0xbfffec60) at tageditor.cpp:61 #7 0x0808da3a in TagEditor::qt_invoke(int, QUObject*) (this=0x8162120, _id=45, _o=0xbfffec00) at tageditor.moc:103 #8 0x4134eabf in QObject::activate_signal(QConnectionList*, QUObject*) ( this=0x877d598, clist=0x83ad2d0, o=0xbfffec00) at kernel/qobject.cpp:2359 #9 0x0807d2a1 in Playlist::signalSelectionChanged(QValueList<PlaylistItem*> const&) (this=0x877d598, t0=@0x0) at playlist.moc:213 #10 0x08080b4d in Playlist::slotEmitSelected() (this=0x877d598) at playlist.h:527 #11 0x0807d873 in Playlist::qt_invoke(int, QUObject*) (this=0x877d598, _id=118, _o=0xbfffedb0) at playlist.moc:324 #12 0x080a4605 in DynamicPlaylist::qt_invoke(int, QUObject*) (this=0x877d598, _id=118, _o=0x0) at dynamicplaylist.moc:90 #13 0x080a4faf in SearchPlaylist::qt_invoke(int, QUObject*) (this=0x0, _id=0, _o=0x0) at searchplaylist.moc:77 #14 0x4134ec18 in QObject::activate_signal(QConnectionList*, QUObject*) ( this=0x877d598, clist=0x87803c8, o=0xbfffedb0) at kernel/qobject.cpp:2383 #15 0x4134e914 in QObject::activate_signal(int) (this=0x877d598, signal=7) at kernel/qobject.cpp:2328 #16 0x4174f980 in QListView::selectionChanged() (this=0x877d598) at .moc/debug-shared-mt/moc_qlistview.cpp:297 #17 0x41463eaa in QListView::contentsMouseReleaseEventEx(QMouseEvent*) ( this=0x877d598, e=0xbffff050) at widgets/qlistview.cpp:4445 #18 0x41463c91 in QListView::contentsMouseReleaseEvent(QMouseEvent*) ( this=0x877d598, e=0xbffff050) at widgets/qlistview.cpp:4416 #19 0x40c2b173 in KListView::contentsMouseReleaseEvent(QMouseEvent*) () at qcstring.h:65 #20 0x4149ec27 in QScrollView::viewportMouseReleaseEvent(QMouseEvent*) ( this=0x877d598, e=0xbffff570) at widgets/qscrollview.cpp:1748 #21 0x4149e22a in QScrollView::eventFilter(QObject*, QEvent*) (this=0x877d598, obj=0x877ddb8, e=0xbffff570) at widgets/qscrollview.cpp:1502 #22 0x4146261d in QListView::eventFilter(QObject*, QEvent*) (this=0x877d598, o=0x877ddb8, e=0xbffff570) at widgets/qlistview.cpp:3825 #23 0x08079b94 in Playlist::eventFilter(QObject*, QEvent*) (this=0x877d598, watched=0x877ddb8, e=0xbffff570) at playlist.cpp:677 #24 0x4134bd37 in QObject::activate_filters(QEvent*) (this=0x877ddb8, e=0xbffff570) at kernel/qobject.cpp:902 #25 0x4134bba8 in QObject::event(QEvent*) (this=0x877ddb8, e=0xbffff570) at kernel/qobject.cpp:735 #26 0x41391d0c in QWidget::event(QEvent*) (this=0x877ddb8, e=0xbffff570) at kernel/qwidget.cpp:4630 #27 0x412ddb57 in QApplication::internalNotify(QObject*, QEvent*) ( this=0xbffffa30, receiver=0x877ddb8, e=0xbffff570) at kernel/qapplication.cpp:2614 #28 0x412dd261 in QApplication::notify(QObject*, QEvent*) (this=0xbffffa30, receiver=0x877ddb8, e=0xbffff570) at kernel/qapplication.cpp:2400 #29 0x40e404cc in KApplication::notify(QObject*, QEvent*) () from /home/tpr/kdecvshead/lib/libkdecore.so.4 #30 0x41266f8f in QApplication::sendSpontaneousEvent(QObject*, QEvent*) ( receiver=0x877ddb8, event=0xbffff570) at qapplication.h:493 #31 0x4125f348 in QETWidget::translateMouseEvent(_XEvent const*) ( this=0x877ddb8, event=0xbffff900) at kernel/qapplication_x11.cpp:4224 #32 0x4125cc39 in QApplication::x11ProcessEvent(_XEvent*) (this=0xbffffa30, event=0xbffff900) at kernel/qapplication_x11.cpp:3387 #33 0x41279e96 in QEventLoop::processEvents(unsigned) (this=0x80f4dd0, flags=4) at kernel/qeventloop_x11.cpp:192 #34 0x412f4b62 in QEventLoop::enterLoop() (this=0x80f4dd0) at kernel/qeventloop.cpp:198 #35 0x412f4a7e in QEventLoop::exec() (this=0x80f4dd0) at kernel/qeventloop.cpp:145 #36 0x412ddd29 in QApplication::exec() (this=0xbffffa30) at kernel/qapplication.cpp:2737 #37 0x0809a1d2 in main (argc=0, argv=0x0) at main.cpp:91
CVS commit by wheeler: Check for null here. CCMAIL:73998-done@bugs.kde.org M +3 -2 tageditor.cpp 1.46 --- kdemultimedia/juk/tageditor.cpp #1.45:1.46 @@ -440,5 +440,6 @@ void TagEditor::save(const PlaylistItemL // files we couldn't write to. - if(item->file().tag() && + if(item && + item->file().tag() && (newFile.isWritable() || (!newFile.exists() && directory.isWritable())) && item->file().fileInfo().isWritable()) @@ -491,5 +492,5 @@ void TagEditor::save(const PlaylistItemL item->slotRefresh(); } - else + else if(item) errorFiles.append(item->file().absFilePath());