1.4-SVN [NOTstripped][validity: 1.00][frames: 2][xine]
Andrew Turner
andrewturner512 at googlemail.com
Wed Jan 24 00:44:47 UTC 2007
On 23/01/07, Jeff Mitchell <kde-dev at emailgoeshere.com> wrote:
> Andrew--
>
> The only two things I can think of, considering that the call came from
> mediumChanged, are that a receiver of the changedMedium signal is deleting
> the Medium pointer it's sent (which it shouldn't)
<snip>
It does:
void
DeviceManager::mediumChanged( const QString name )
{
DEBUG_BLOCK
if ( !m_valid )
return;
Medium *changedMedium = getDevice(name);
if ( changedMedium != 0 )
debug() << "[DeviceManager::mediumChanged] Obtained medium
name is " << name << ", id is: " << changedMedium->id() << endl;
else
debug() << "[DeviceManager::mediumChanged] Obtained medium is
null; name was " << name << endl;
emit mediumChanged( changedMedium, name );
delete changedMedium;
}
Look at the last line. I'll fix it tomorrow if nobody else has and go
looking for other erroneous delete calls for Medium items - there seem
to be a few in devicemanager.cpp, at least.
Andrew
More information about the Amarok
mailing list