discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ProjectCenter Editor parenthesis highlighting segfault


From: Wolfgang Lux
Subject: Re: ProjectCenter Editor parenthesis highlighting segfault
Date: Mon, 25 Aug 2014 23:23:37 +0200

Hi Markus,

> Hi
> 
>>> Hi
> 
>> Hi,
>> 
>> 
>> building ProjectCenter on Debian/Ubuntu unstable leads to a segfault
>> 
>> when unhighlighting two matching parenthesis in pceditor.
>> 
>> 
>> 
>> in PCEditor.m:
>> 
>> 
>> 
>> 
>> - (void)unhighlightCharacter: (NSTextView *)editorView
>> {
>> int i;
>> NSTextStorage *textStorage = [editorView textStorage];
>> 
>> [textStorage beginEditing];
>> 
>> // if (isCharacterHighlit)
>> for (i = 0; (highlited_chars[i] != -1 && i < 2); i++)
>> {
>> NSRange r = NSMakeRange(highlited_chars[i], 1);
>> // NSRange r = NSMakeRange(highlitCharacterLocation, i);
>> 
>> 
>> 
>> 
>> 
>> 
>> Boolean expression changed to:
>> 
>> 
>> for (i = 0; (i<2 && highlited_chars[i] != -1 ); i++)
>> 
>> 
>> solves that
>> 
>>> I remember having fixed that or a similar problem quite some time ago.
>>> Would you be able to test current PC from SVN on your file?
> 
>>> Does it happen in all files or just certain ones? The current version
>>> highlights and unhighlights round and square parentheses fine for me
>>> right now.
> 
>>> Riccardo
> 
> I have tried it with SVN version. Happens every time PCEditor highlights(in 
> fact unhighlights) two parentheses.
> 
> I'm using gobjc 4.9 maybe that's the problem. But the boolean must lead to 
> the array getting out of bounds
> 
> if compiled correctly as it's evaluated from left to right?

your fix looks obviously correct to me, so I've committed the change and also 
added a similar, though less important, bounds check to method 
-highlightCharacterAt:inEditor: as well.

Wolfgang


reply via email to

[Prev in Thread] Current Thread [Next in Thread]