in this function:

void MusicBrowserUI::Init()

this portion of the code is causing a crash later on:

    if(m_pParent == NULL)
        m_cdTracks = new vector<PlaylistItem*>;
    else
        m_cdTracks = NULL;

because both of these functions:
void MusicBrowserUI::NewPlaylist(void)
void MusicBrowserUI::EditPlaylist(const string &oList)

allow for the creation of a MusicBrowserUI object with a non-null parent:
    MusicBrowserUI *pNew;
    
    if(m_pParent)
    {
       pNew = new MusicBrowserUI(m_context, m_pParent, m_hWnd, string(""));
       m_pParent->AddMusicBrowserWindow(pNew);
    }   

and later on, this will crash the app when this function is called:
MusicBrowserUI::AcceptEvent(Event *event)
with event->Type() == INFO_CDDiscStatus

because the handler for this event attempts to use a NULL m_cdTracks: (line
417-447)
m_cdTracks->erase(m_cdTracks->begin(), m_cdTracks->end()); 
...
...

Steps to reproduce: 
My Music
Search for Music Dialog: Cancel
Double-click My Playlists
Double-click Create a new playlist


Jason Slater
Software Engineering Specialist
Rational Software
the e-development company
Phone:(408) 863-4079
Fax:(408) 863-4909
Email:[EMAIL PROTECTED]
Web:http://www.rational.com
_______________________________________________
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev

Reply via email to