todays bug report no 1
    Christian Couder 
    christian at alcove.fr
       
    Thu Mar 15 10:36:20 UTC 2001
    
    
  
Hi Roland and Falk,
Roland Krause wrote:
> 
> Today I am trying something new.
> I created a little standard test project, with the current
> KDevelop version. Yes this actually still works :-)
> 
> When I close on of the source file, say e.g. main.cpp, and
> reopen it immediately after that by clickin on the file in
> the Files tab, kdeveleop crashes as follows:
> 
> #0  0x59d64 in CKDevelop::switchToFile (this=0x2b5bd8, filename={
>       static null = {
>         static null = <same as static member of an already seen type>,
>         d = 0x2783f0, static shared_null = 0x2783f0}, d = 0x3ef6d8,
>       static shared_null = 0x2783f0}, line=-1, col=0,
> bForceReload=false,
>     bShowModifiedBox=6100544) at ckdevelop_noslot.cpp:862
Yes, I think I understand what happens:
At the beginning of CKDevelop::switchToFile there is:
  CEditWidget* pCurEditWidget = m_docViewManager->currentEditView();
and then pCurEditWidget is used like this for example:
  if (pCurEditWidget)
    editWidgetName = pCurEditWidget->getName(); //FB
but if you set some traces in the right places like :
CEditWidget::~CEditWidget() {
  debug("CEditWidget destructor : %d !\n", this);
}
and
CEditWidget* DocViewMan::currentEditView() 
{
  debug("getting m_pCurEditView : %d !\n", m_pCurEditView);
  return m_pCurEditView; 
};
you will get something like the following:
getting m_pCurEditView : 138237768 !
CEditWidget destructor : 138237768 !
KWrite destructor !
KWriteView destructor !
KWriteView release buffer !
  Switching to file
/import/kde2-devel/kdev1.4/kdevelop/kdevelop/caddnewtranslationdlg.h @
line 32
getting m_pCurEditView : 138237768 !
Here you see that the m_pCurEditView points to a CEditWidget that has
been destroyed before, so we get a beautifull crash !!!
So what is needed to fix this crash is to make sure that all the
m_pCurXXXX are reset to NULL when the object they point to is deleted.
Falk could you do it ?
Regards,
Christian.
-
to unsubscribe from this list send an email to kdevelop-devel-request at kdevelop.org with the following body:
unsubscribe »your-email-address«
    
    
More information about the KDevelop-devel
mailing list