[PATCH] Prevent crash in Mac OS X when opening project

Jens Bäckman jens.backman at gmail.com
Sun Feb 5 21:05:41 UTC 2012


5 feb 2012 19:13, Milian Wolff wrote:

> On Monday 30 January 2012 11:54:33 Jens Bäckman wrote:
>> ---
>> projectmanagers/cmake/cmakemanager.cpp |    3 ++-
>> 1 files changed, 2 insertions(+), 1 deletions(-)
>> 
>> diff --git a/projectmanagers/cmake/cmakemanager.cpp
>> b/projectmanagers/cmake/cmakemanager.cpp index 2b38fac..5ed7875 100644
>> --- a/projectmanagers/cmake/cmakemanager.cpp
>> +++ b/projectmanagers/cmake/cmakemanager.cpp
>> @@ -859,7 +859,8 @@ QList<KDevelop::ProjectFolderItem*> CMakeManager::parse(
>> KDevelop::ProjectFolder
>> a->defineVariables(targetProps["COMPILE_DEFINITIONS"]);
>> 
>>             DescriptorAttatched*
>> datt=dynamic_cast<DescriptorAttatched*>(targetItem); -           
>> datt->setDescriptor(t.desc);
>> +            if(datt)
>> +                datt->setDescriptor(t.desc);
>> 
>>             KUrl::List tfiles;
>>             foreach( const QString & sFile, t.files)
> 
> Hey, could you explain why this is required? I guess the dynamic cast fails 
> and hence could lead to this... But any idea why?

The dynamic cast fails, yes. I didn't do any deeper investigation of why this happens. With the patch in place, everything works.

> Aleix, any input? Jens, any way to reproduce this?

This is 100% reproducible. I just imported a CMake project, and got a crash here every time. The same bug is present in KDevelop 4.2.3 and appears when running in OS X, while everything works just fine in Linux.
--
Jens





More information about the KDevelop-devel mailing list