From a8f3f29e77818f1ead06741d3939951b4ac60d71 Mon Sep 17 00:00:00 2001 From: Evan Schoenberg Date: Tue, 10 Oct 2006 21:50:20 +0000 Subject: [PATCH] Merged [17947]: Leak fix git-svn-id: svn://svn.adiumx.com/adium/branches/adium-1.0@17948 1c916fce-81e2-0310-a464-8ca513f45935 --- Resources/XtrasManager.nib/classes.nib | 2 + Resources/XtrasManager.nib/keyedobjects.nib | 170 ++++++++++++++++++++-------- Source/AIXtrasManager.h | 4 + Source/AIXtrasManager.m | 13 ++- 4 files changed, 137 insertions(+), 52 deletions(-) diff --git a/Resources/XtrasManager.nib/classes.nib b/Resources/XtrasManager.nib/classes.nib index 13fe7f481..d4a9e308b 100644 --- a/Resources/XtrasManager.nib/classes.nib +++ b/Resources/XtrasManager.nib/classes.nib @@ -38,6 +38,8 @@ readmeView = NSView; showInfoControl = NSSegmentedControl; "tableView_categories" = AIAlternatingRowTableView; + "view_content" = NSView; + "view_shelf" = NSView; window = NSWindow; xtraList = NSTableView; }; diff --git a/Resources/XtrasManager.nib/keyedobjects.nib b/Resources/XtrasManager.nib/keyedobjects.nib index 4f6c20bbb..58090fdb7 100644 --- a/Resources/XtrasManager.nib/keyedobjects.nib +++ b/Resources/XtrasManager.nib/keyedobjects.nib @@ -11,32 +11,32 @@ $class CF$UID - 189 + 195 NSAccessibilityConnectors CF$UID - 186 + 192 NSAccessibilityOidsKeys CF$UID - 187 + 193 NSAccessibilityOidsValues CF$UID - 188 + 194 NSClassesKeys CF$UID - 158 + 162 NSClassesValues CF$UID - 159 + 163 NSConnections @@ -56,34 +56,34 @@ NSNamesKeys CF$UID - 145 + 149 NSNamesValues CF$UID - 146 + 150 NSNextOid - 201 + 203 NSObjectsKeys CF$UID - 142 + 146 NSObjectsValues CF$UID - 144 + 148 NSOidsKeys CF$UID - 160 + 164 NSOidsValues CF$UID - 161 + 165 NSRoot @@ -194,6 +194,14 @@ CF$UID 140 + + CF$UID + 142 + + + CF$UID + 144 + @@ -1996,8 +2004,54 @@ $class CF$UID + 32 + + NSDestination + + CF$UID + 36 + + NSLabel + + CF$UID 143 + NSSource + + CF$UID + 2 + + + view_shelf + + $class + + CF$UID + 32 + + NSDestination + + CF$UID + 98 + + NSLabel + + CF$UID + 145 + + NSSource + + CF$UID + 2 + + + view_content + + $class + + CF$UID + 147 + NS.objects @@ -2059,7 +2113,7 @@ $class CF$UID - 143 + 147 NS.objects @@ -2113,7 +2167,7 @@ $class CF$UID - 143 + 147 NS.objects @@ -2167,53 +2221,53 @@ $class CF$UID - 143 + 147 NS.objects CF$UID - 147 + 151 CF$UID - 148 + 152 CF$UID - 149 + 153 CF$UID - 150 + 154 CF$UID - 151 + 155 CF$UID - 152 + 156 CF$UID - 153 + 157 CF$UID - 154 + 158 CF$UID - 155 + 159 CF$UID - 156 + 160 CF$UID - 157 + 161 @@ -2232,7 +2286,7 @@ $class CF$UID - 143 + 147 NS.objects @@ -2250,7 +2304,7 @@ $class CF$UID - 143 + 147 NS.objects @@ -2268,7 +2322,7 @@ $class CF$UID - 143 + 147 NS.objects @@ -2286,6 +2340,10 @@ CF$UID + 144 + + + CF$UID 132 @@ -2326,6 +2384,10 @@ CF$UID + 142 + + + CF$UID 9 @@ -2374,28 +2436,12 @@ $class CF$UID - 143 + 147 NS.objects CF$UID - 162 - - - CF$UID - 163 - - - CF$UID - 164 - - - CF$UID - 165 - - - CF$UID 166 @@ -2474,11 +2520,36 @@ CF$UID 185 + + CF$UID + 186 + + + CF$UID + 187 + + + CF$UID + 188 + + + CF$UID + 189 + + + CF$UID + 190 + + + CF$UID + 191 + 6 186 189 + 202 193 178 190 @@ -2489,6 +2560,7 @@ 196 184 199 + 201 98 198 200 @@ -2513,7 +2585,7 @@ $class CF$UID - 143 + 147 NS.objects @@ -2522,7 +2594,7 @@ $class CF$UID - 143 + 147 NS.objects diff --git a/Source/AIXtrasManager.h b/Source/AIXtrasManager.h index ecbb9c9d1..7655a5f4b 100644 --- a/Source/AIXtrasManager.h +++ b/Source/AIXtrasManager.h @@ -40,6 +40,10 @@ IBOutlet id previewController; IBOutlet NSView *readmeView; IBOutlet NSSegmentedControl *showInfoControl; + + IBOutlet NSView *view_shelf; + IBOutlet NSView *view_content; + NSString *infoPath; BOOL showInfo; //YES = info, NO = preview diff --git a/Source/AIXtrasManager.m b/Source/AIXtrasManager.m index ce412ec15..b2b1f4062 100644 --- a/Source/AIXtrasManager.m +++ b/Source/AIXtrasManager.m @@ -84,9 +84,9 @@ static AIXtrasManager *manager; - (void)showXtras { - [self loadXtras]; - - if(![window isVisible]) { + if (!window) { + [self loadXtras]; + showInfo = NO; [[adium notificationCenter] addObserver:self @@ -108,6 +108,13 @@ static AIXtrasManager *manager; [categories release]; categories = nil; [toolbarItems release]; toolbarItems = nil; + + //Release top-level nib objects besides the window + [view_content release]; view_content = nil; + [view_shelf release]; view_shelf = nil; + + //XXX don't need to do this when this is a window controller + window = nil; } -- 2.11.4.GIT