Bug 59792 - Juk crashes when it's playing a playlist, and the list is removed
Summary: Juk crashes when it's playing a playlist, and the list is removed
Status: RESOLVED FIXED
Alias: None
Product: juk
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: Scott Wheeler
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-06-15 05:02 UTC by James Bunton
Modified: 2003-07-06 23:58 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description James Bunton 2003-06-15 05:02:34 UTC
Version:           1.1 (using KDE KDE 3.1.2)
Installed from:    Debian testing/unstable Packages
Compiler:          gcc 3.3 
OS:          Linux

To reproduce...
Create playlist
Select & play a song from it
Remove the playlist while the song is playing
Wait for the song to end, then crash!

It happens every time..

Here's a backtrace, don't know how useful it'll be

(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
(no debugging symbols found)...(no debugging symbols found)...
0x414feb89 in wait4 () from /lib/libc.so.6
#0  0x414feb89 in wait4 () from /lib/libc.so.6
#1  0x41572020 in sys_sigabbrev () from /lib/libc.so.6
#2  0x413fe061 in waitpid () from /lib/libpthread.so.0
#3  0x40b38348 in KCrash::defaultCrashHandler(int) ()
   from /usr/lib/libkdecore.so.4
#4  0x4148b9d8 in sigaction () from /lib/libc.so.6
#5  0x08075692 in PlaylistSplitter::playNextFile(bool) ()
#6  0x080854a7 in JuK::pollPlay() ()
#7  0x08085ad5 in JuK::qt_invoke(int, QUObject*) ()
#8  0x40f59132 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /usr/lib/libqt-mt.so.3
#9  0x40f58fef in QObject::activate_signal(int) () from /usr/lib/libqt-mt.so.3
#10 0x411c2968 in QTimer::timeout() () from /usr/lib/libqt-mt.so.3
#11 0x40f754bf in QTimer::event(QEvent*) () from /usr/lib/libqt-mt.so.3
#12 0x40f051be in QApplication::internalNotify(QObject*, QEvent*) ()
   from /usr/lib/libqt-mt.so.3
#13 0x40f04dff in QApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/libqt-mt.so.3
#14 0x40ad584b in KApplication::notify(QObject*, QEvent*) ()
   from /usr/lib/libkdecore.so.4
#15 0x40ee342b in QEventLoop::activateTimers() () from /usr/lib/libqt-mt.so.3
#16 0x40ec43a9 in QEventLoop::processEvents(unsigned) ()
   from /usr/lib/libqt-mt.so.3
#17 0x40f1677b in QEventLoop::enterLoop() () from /usr/lib/libqt-mt.so.3
#18 0x40f16638 in QEventLoop::exec() () from /usr/lib/libqt-mt.so.3
#19 0x40f053b8 in QApplication::exec() () from /usr/lib/libqt-mt.so.3
#20 0x08086019 in main ()
#21 0x4147aa51 in __libc_start_main () from /lib/libc.so.6
Comment 1 Scott Wheeler 2003-07-06 23:58:39 UTC
Subject: kdemultimedia/juk

CVS commit by wheeler: 

Don't crash when the user removes the currently playing playlist.

CCMAIL: 59792-done@bugs.kde.org


  M +8 -0      playlistsplitter.cpp   1.96
  M +1 -1      playlistsplitter.h   1.69


--- kdemultimedia/juk/playlistsplitter.cpp  #1.95:1.96
@@ -364,4 +364,12 @@ void PlaylistSplitter::slotAddToPlaylist
 }
 
+void PlaylistSplitter::slotDeletePlaylist()
+{
+    if(m_playingItem && m_playingItem->listView() == visiblePlaylist())
+        m_playingItem = 0;
+
+    m_playlistBox->deleteItem();
+}
+
 void PlaylistSplitter::slotAddToPlaylist(const QStringList &files, Playlist *list)
 {

--- kdemultimedia/juk/playlistsplitter.h  #1.68:1.69
@@ -230,5 +230,5 @@ public slots:
     void slotRenamePlaylist() { m_playlistBox->rename(); }
     void slotDuplicatePlaylist() { m_playlistBox->duplicate(); }
-    void slotDeletePlaylist() { m_playlistBox->deleteItem(); }
+    void slotDeletePlaylist();
 
 signals: