mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-22 13:10:59 +00:00
Keep local variables to ensure correct values during recursion.
This commit is contained in:
parent
5bdf536733
commit
5e837b6858
2 changed files with 22 additions and 9 deletions
|
@ -1,3 +1,8 @@
|
|||
2021-10-25 Riccardo Mottola <rm@gnu.org>
|
||||
|
||||
* Source/NSTextStorage.m:
|
||||
Keep local variables to ensure correct values during recursion.
|
||||
|
||||
2021-10-21 Gregory John Casamento <greg.casamento@gmail.com>
|
||||
|
||||
* Headers/AppKit/NSGlyphInfo.[hm]: Class which provides info about
|
||||
|
|
|
@ -253,6 +253,21 @@ static NSNotificationCenter *nc = nil;
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* we make a local copy to ensure recursing in layoutManagers has
|
||||
* correct values
|
||||
*/
|
||||
NSRange editedRange = _editedRange;
|
||||
int editedDelta = _editedDelta;
|
||||
unsigned editedMask = _editedMask;
|
||||
|
||||
/*
|
||||
* edited values reset to be used again in the next pass.
|
||||
*/
|
||||
_editedRange = NSMakeRange (0, 0);
|
||||
_editedDelta = 0;
|
||||
_editedMask = 0;
|
||||
|
||||
/*
|
||||
* Calls textStorage:edited:range:changeInLength:invalidatedRange: for
|
||||
* every layoutManager.
|
||||
|
@ -262,17 +277,10 @@ static NSNotificationCenter *nc = nil;
|
|||
{
|
||||
GSLayoutManager *lManager = [_layoutManagers objectAtIndex: i];
|
||||
|
||||
[lManager textStorage: self edited: _editedMask range: r
|
||||
changeInLength: _editedDelta invalidatedRange: _editedRange];
|
||||
[lManager textStorage: self edited: editedMask range: r
|
||||
changeInLength: editedDelta invalidatedRange: editedRange];
|
||||
}
|
||||
|
||||
/*
|
||||
* edited values reset to be used again in the next pass.
|
||||
*/
|
||||
|
||||
_editedRange = NSMakeRange (0, 0);
|
||||
_editedDelta = 0;
|
||||
_editedMask = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue