Bug#45265: closing terminal emulation crashes konqueror

David Faure david at mandrakesoft.com
Wed Jul 17 09:59:05 BST 2002


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Wednesday 17 July 2002 08:41, Waldo Bastian wrote:
> On Tuesday 16 July 2002 05:34 pm, David Faure wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > Ah cool. Longstanding problem (very very long), but now we have valgrind,
> > it does help tremendously ;)
> >
> > > ==5476==    by 0x4037CCEC: KParts::Part::~Part(void) (part.cpp:155)
> > > ==5476==    by 0x4037D260: KParts::Part::slotWidgetDestroyed(void)
> > > (part.cpp:260)
> >
> > No time for testing myself (time for bed!), but... does this help?
> 
> It helps, it crashes later now :-\

;}

> I also need:
> 
> @@ -342,7 +342,10 @@ void PartManager::removePart( Part *part
>    emit partRemoved( part );
> 
>    if ( part == d->m_activePart )
> +  {
> +    d->m_activePart = 0;
>      setActivePart( 0 );
> +  }
> 
> Not sure if that is the right fix. Problem is that setActivePart(foo) crashes 
> when the old d->m_activePart has been deleted already.

But... the old part hasn't been completely destroyed yet, has it?
This should be called from the ~Part destructor, so the object still
exists as a Part, i.e. calling widget() on it should be ok. Where
does it crash exactly?

The above fix would/might break stuff, we want to send the 
PartActivateEvent(false) when removing a part from the partmanager.
We want to change the "suicidal part" case only.

- -- 
David FAURE, david at mandrakesoft.com, faure at kde.org
http://people.mandrakesoft.com/~david/
Contributing to: http://www.konqueror.org/, http://www.koffice.org/
KOffice-1.2-beta2 is out! http://dot.kde.org/1025176121/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE9NTHb72KcVAmwbhARAnG2AJ0cPwzeNUr1yAcwXqn3Pb6PA+sNhQCfXtTj
nm185KM1G044iERTa1608js=
=pZCx
-----END PGP SIGNATURE-----





More information about the kfm-devel mailing list