[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #4608] High NSWindowController retain counts
From: |
nobody |
Subject: |
[bug #4608] High NSWindowController retain counts |
Date: |
Sat, 30 Aug 2003 23:44:07 -0400 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 |
=================== BUG #4608: LATEST MODIFICATIONS ==================
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=4608&group_id=99
Changes by: Gregory John Casamento <greg_casamento@yahoo.com>
Date: Sat 08/30/2003 at 23:44 (US/Eastern)
What | Removed | Added
---------------------------------------------------------------------------
Resolution | None | Fixed
Status | Analyzed | Closed
------------------ Additional Follow-up Comments ----------------------------
Tested/Committed. Please let me know of any issues.
=================== BUG #4608: FULL BUG SNAPSHOT ===================
Submitted by: rburns Project: GNUstep
Submitted on: Sun 08/03/2003 at 20:18
Category: Gui/AppKit Severity: 5 - Major
Bug Group: Bug Resolution: Fixed
Assigned to: gcasa Status: Closed
Summary: High NSWindowController retain counts
Original Submission: When using a subclass of NSWindowController and a Gorm
file, the NSWindowController doesn't get released when the window is closed,
because the retain count is too high. There is a test for this here:
http://www.eskimo.com/~pburns/rob/NSWCTest.tar.gz
It should work on either gnustep or a mac with gnustep-make installed.
Follow-up Comments
*******************
-------------------------------------------------------
Date: Sat 08/30/2003 at 23:44 By: gcasa
Tested/Committed. Please let me know of any issues.
-------------------------------------------------------
Date: Sat 08/30/2003 at 23:23 By: gcasa
The issue was that when "establishConnection" is being called on all of the
objects after the gorm is loaded the code in awakeWithContext was not
performing a RELEASE on the connector. Since the connector is no lonber
needed, this should be done.
Once done here are the results of the attached program:
nt after alloc, init, and ordering - 2
2003-08-31 03:27:56.810 NSWCTest[23361] <MyWindowController: 8355d18> retain
count just before RELEASE(self) - 1
2003-08-31 03:28:10.017 NSWCTest[23361] <MyWindowController: 82aa4d0> retain
count upon entering initWithModel: - 1
2003-08-31 03:28:10.017 NSWCTest[23361] <MyWindowController: 82aa4d0> retain
count after initWithWindowNibName:owner: - 1
2003-08-31 03:28:10.019 NSWCTest[23361] Unable to open fixed font
2003-08-31 03:28:10.024 NSWCTest[23361] <MyWindowController: 82aa4d0> retain
count after [self window] - 2
2003-08-31 03:28:10.045 NSWCTest[23361] <MyWindowController: 82aa4d0> retain
count after alloc, init, and ordering - 2
2003-08-31 03:28:16.204 NSWCTest[23361] <MyWindowController: 82aa4d0> retain
count just before RELEASE(self) - 1
Which I believe is correct. I am running some additional tests to make
certain this does not impact anything else, but I believe that this is the
solution. GJC
-------------------------------------------------------
Date: Sat 08/30/2003 at 18:57 By: FredKiefer
I did look into the problem with the help of our test application and the
retain count seems to come mostly from the NIB loading itself. Here
intermediate objects get generated that never get freed again and thereby
retain references to the window controller, as can be seen from this backtrace:
#0 0x08048fa2 in _i_MyWindowController__retain ()
#1 0x400abd92 in _i_NSNibConnector__setDestination_ ()
from /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so.0
#2 0x401e296d in _i_GSNibContainer__awakeWithContext_ ()
from /usr/GNUstep/System/Library/Libraries/libgnustep-gui.so.0
#3 0x400ac910 in
_c_NSBundle_NSBundleAdditions_loadNibFile_externalNameTable_withZone_ () from
/usr/GNUstep/System/Library/Libraries/libgnustep-gui.so.0
I hope Gregory has an idea to resolve this problem.
CC list is empty
No files currently attached
For detailed info, follow this link:
http://savannah.gnu.org/bugs/?func=detailbug&bug_id=4608&group_id=99
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/