mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-06-02 10:21:00 +00:00
Fix memory leaks found by analyser.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32255 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
afcef9b696
commit
7c2a5cddf0
6 changed files with 28 additions and 15 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2011-02-20 Fred Kiefer <FredKiefer@gmx.de>
|
||||||
|
|
||||||
|
* Source/NSWindow.m,
|
||||||
|
* Source/NSControl.m,
|
||||||
|
* ColorPickers/GSStandardColorPicker.m,
|
||||||
|
* ColorPickers/GSWheelColorPicker.m,
|
||||||
|
* Source/GSXibLoader.m: Fix memory leaks found by analyser.
|
||||||
|
|
||||||
2011-02-20 Fred Kiefer <FredKiefer@gmx.de>
|
2011-02-20 Fred Kiefer <FredKiefer@gmx.de>
|
||||||
|
|
||||||
* Headers/Additions/GNUstepGUI/GSFusedSilica.h,
|
* Headers/Additions/GNUstepGUI/GSFusedSilica.h,
|
||||||
|
|
|
@ -314,8 +314,12 @@
|
||||||
for (i = 0; i < numFields; i++)
|
for (i = 0; i < numFields; i++)
|
||||||
{
|
{
|
||||||
NSSlider *s;
|
NSSlider *s;
|
||||||
|
NSCell *c;
|
||||||
|
|
||||||
s = sliders[i] = [[NSSlider alloc] initWithFrame: NSMakeRect(0, 0, 0, 16)];
|
s = sliders[i] = [[NSSlider alloc] initWithFrame: NSMakeRect(0, 0, 0, 16)];
|
||||||
[s setCell: [[GSColorSliderCell alloc] init]];
|
c = [[GSColorSliderCell alloc] init];
|
||||||
|
[s setCell: c];
|
||||||
|
RELEASE(c);
|
||||||
[s setContinuous: YES];
|
[s setContinuous: YES];
|
||||||
[s setMinValue: 0.0];
|
[s setMinValue: 0.0];
|
||||||
[s setTitle: names[i]];
|
[s setTitle: names[i]];
|
||||||
|
|
|
@ -449,6 +449,7 @@
|
||||||
- (void) loadViews
|
- (void) loadViews
|
||||||
{
|
{
|
||||||
NSSlider *s;
|
NSSlider *s;
|
||||||
|
NSCell *c;
|
||||||
|
|
||||||
baseView = [[GSHbox alloc] init];
|
baseView = [[GSHbox alloc] init];
|
||||||
[baseView setAutoresizingMask: (NSViewWidthSizable | NSViewHeightSizable)];
|
[baseView setAutoresizingMask: (NSViewWidthSizable | NSViewHeightSizable)];
|
||||||
|
@ -461,7 +462,9 @@
|
||||||
|
|
||||||
s = brightnessSlider = [[NSSlider alloc] initWithFrame: NSMakeRect(0,0,16,0)];
|
s = brightnessSlider = [[NSSlider alloc] initWithFrame: NSMakeRect(0,0,16,0)];
|
||||||
[s setAutoresizingMask: NSViewHeightSizable];
|
[s setAutoresizingMask: NSViewHeightSizable];
|
||||||
[s setCell: [[GSColorSliderCell alloc] init]];
|
c = [[GSColorSliderCell alloc] init];
|
||||||
|
[s setCell: c];
|
||||||
|
RELEASE(c);
|
||||||
[(GSColorSliderCell *)[s cell] _setColorSliderCellMode: 10];
|
[(GSColorSliderCell *)[s cell] _setColorSliderCellMode: 10];
|
||||||
[s setContinuous: YES];
|
[s setContinuous: YES];
|
||||||
[s setMinValue: 0.0];
|
[s setMinValue: 0.0];
|
||||||
|
|
|
@ -849,6 +849,8 @@ didStartElement: (NSString *)elementName
|
||||||
|
|
||||||
// Create instance.
|
// Create instance.
|
||||||
o = [c allocWithZone: [self zone]];
|
o = [c allocWithZone: [self zone]];
|
||||||
|
// Make sure the object stays around, even when replaced.
|
||||||
|
RETAIN(o);
|
||||||
if (key != nil)
|
if (key != nil)
|
||||||
[decoded setObject: o forKey: key];
|
[decoded setObject: o forKey: key];
|
||||||
r = [o initWithCoder: self];
|
r = [o initWithCoder: self];
|
||||||
|
@ -857,7 +859,7 @@ didStartElement: (NSString *)elementName
|
||||||
[delegate unarchiver: self
|
[delegate unarchiver: self
|
||||||
willReplaceObject: o
|
willReplaceObject: o
|
||||||
withObject: r];
|
withObject: r];
|
||||||
o = r;
|
ASSIGN(o, r);
|
||||||
if (key != nil)
|
if (key != nil)
|
||||||
[decoded setObject: o forKey: key];
|
[decoded setObject: o forKey: key];
|
||||||
}
|
}
|
||||||
|
@ -867,7 +869,7 @@ didStartElement: (NSString *)elementName
|
||||||
[delegate unarchiver: self
|
[delegate unarchiver: self
|
||||||
willReplaceObject: o
|
willReplaceObject: o
|
||||||
withObject: r];
|
withObject: r];
|
||||||
o = r;
|
ASSIGN(o, r);
|
||||||
if (key != nil)
|
if (key != nil)
|
||||||
[decoded setObject: o forKey: key];
|
[decoded setObject: o forKey: key];
|
||||||
}
|
}
|
||||||
|
@ -879,23 +881,18 @@ didStartElement: (NSString *)elementName
|
||||||
[delegate unarchiver: self
|
[delegate unarchiver: self
|
||||||
willReplaceObject: o
|
willReplaceObject: o
|
||||||
withObject: r];
|
withObject: r];
|
||||||
o = r;
|
ASSIGN(o, r);
|
||||||
if (key != nil)
|
if (key != nil)
|
||||||
[decoded setObject: o forKey: key];
|
[decoded setObject: o forKey: key];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (key != nil)
|
// Balance the retain above
|
||||||
{
|
RELEASE(o);
|
||||||
// Retained in decoded
|
|
||||||
RELEASE(o);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
AUTORELEASE(o);
|
|
||||||
|
|
||||||
// pop
|
// pop
|
||||||
currentElement = last;
|
currentElement = last;
|
||||||
|
|
||||||
return o;
|
return AUTORELEASE(o);
|
||||||
}
|
}
|
||||||
else if ([@"string" isEqualToString: elementName])
|
else if ([@"string" isEqualToString: elementName])
|
||||||
{
|
{
|
||||||
|
|
|
@ -962,7 +962,7 @@ static NSNotificationCenter *nc;
|
||||||
|
|
||||||
if ([aDecoder allowsKeyedCoding])
|
if ([aDecoder allowsKeyedCoding])
|
||||||
{
|
{
|
||||||
NSCell *cell = RETAIN([aDecoder decodeObjectForKey: @"NSCell"]);
|
NSCell *cell = [aDecoder decodeObjectForKey: @"NSCell"];
|
||||||
|
|
||||||
if (cell != nil)
|
if (cell != nil)
|
||||||
{
|
{
|
||||||
|
@ -972,7 +972,7 @@ static NSNotificationCenter *nc;
|
||||||
{
|
{
|
||||||
// This is needed for subclasses without cells, like NSColorWeel
|
// This is needed for subclasses without cells, like NSColorWeel
|
||||||
// as we store some properties only on the cell.
|
// as we store some properties only on the cell.
|
||||||
NSCell *cell = [[[self class] cellClass] new];
|
cell = [[[self class] cellClass] new];
|
||||||
|
|
||||||
[self setCell: cell];
|
[self setCell: cell];
|
||||||
RELEASE(cell);
|
RELEASE(cell);
|
||||||
|
|
|
@ -1116,6 +1116,7 @@ many times.
|
||||||
backing: bufferingType
|
backing: bufferingType
|
||||||
defer: YES
|
defer: YES
|
||||||
screen: aScreen];
|
screen: aScreen];
|
||||||
|
RELEASE(aScreen);
|
||||||
|
|
||||||
// Fake the initialisation of the backend
|
// Fake the initialisation of the backend
|
||||||
_windowNum = winNum;
|
_windowNum = winNum;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue