From f92797d3219c2175226232563966b435e3f8775e Mon Sep 17 00:00:00 2001 From: Akito Nozaki Date: Mon, 13 May 2013 07:34:07 -0700 Subject: [PATCH 1/6] Bug#75 fix - Making sure controller is nulled out of rbl_viewController. --- Rebel/RBLViewController.m | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/Rebel/RBLViewController.m b/Rebel/RBLViewController.m index b04cdaa..871e136 100644 --- a/Rebel/RBLViewController.m +++ b/Rebel/RBLViewController.m @@ -13,13 +13,22 @@ @interface RBLViewController () @end -@implementation RBLViewController +@implementation RBLViewController { + __weak NSView *_currentView; +} +(id)viewController { return [[self alloc] initWithNibName:NSStringFromClass([self class]) bundle:nil]; } +-(void)dealloc +{ + if(self.view.rbl_viewController == self) { + self.view.rbl_viewController = nil; + } +} + -(void)loadView { [super loadView]; @@ -30,6 +39,11 @@ -(void)setView:(NSView *)view { super.view = view; self.view.rbl_viewController = self; + + if(_currentView.rbl_viewController == self) { + _currentView.rbl_viewController = nil; + } + _currentView = view; } - (void)viewDidLoad From 37abf28c113633ac79c8ba9337d7020e8f2be484 Mon Sep 17 00:00:00 2001 From: Akito Nozaki Date: Mon, 13 May 2013 07:42:05 -0700 Subject: [PATCH 2/6] Fixing code format to follow github's coding convention. --- Rebel/RBLViewController.m | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Rebel/RBLViewController.m b/Rebel/RBLViewController.m index 871e136..708f177 100644 --- a/Rebel/RBLViewController.m +++ b/Rebel/RBLViewController.m @@ -24,7 +24,7 @@ +(id)viewController -(void)dealloc { - if(self.view.rbl_viewController == self) { + if (self.view.rbl_viewController == self) { self.view.rbl_viewController = nil; } } @@ -40,7 +40,7 @@ -(void)setView:(NSView *)view super.view = view; self.view.rbl_viewController = self; - if(_currentView.rbl_viewController == self) { + if (_currentView.rbl_viewController == self) { _currentView.rbl_viewController = nil; } _currentView = view; From d1e062e801eaafa282e80a683a1960d51fe185b0 Mon Sep 17 00:00:00 2001 From: Akito Nozaki Date: Mon, 13 May 2013 11:48:47 -0700 Subject: [PATCH 3/6] Fixing coding standard: tab instead of space and curly brace on same line. --- Rebel/RBLViewController.m | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/Rebel/RBLViewController.m b/Rebel/RBLViewController.m index 708f177..779bb3e 100644 --- a/Rebel/RBLViewController.m +++ b/Rebel/RBLViewController.m @@ -22,11 +22,10 @@ +(id)viewController return [[self alloc] initWithNibName:NSStringFromClass([self class]) bundle:nil]; } --(void)dealloc -{ - if (self.view.rbl_viewController == self) { - self.view.rbl_viewController = nil; - } +-(void)dealloc { + if (self.view.rbl_viewController == self) { + self.view.rbl_viewController = nil; + } } -(void)loadView @@ -40,10 +39,10 @@ -(void)setView:(NSView *)view super.view = view; self.view.rbl_viewController = self; - if (_currentView.rbl_viewController == self) { - _currentView.rbl_viewController = nil; - } - _currentView = view; + if (_currentView.rbl_viewController == self) { + _currentView.rbl_viewController = nil; + } + _currentView = view; } - (void)viewDidLoad From 4e7812428437c0e8784176c58027a22d3149dc6d Mon Sep 17 00:00:00 2001 From: Akito Nozaki Date: Mon, 13 May 2013 11:51:22 -0700 Subject: [PATCH 4/6] Fixing space to tab for ivar --- Rebel/RBLViewController.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Rebel/RBLViewController.m b/Rebel/RBLViewController.m index 779bb3e..2c7f4b3 100644 --- a/Rebel/RBLViewController.m +++ b/Rebel/RBLViewController.m @@ -14,7 +14,7 @@ @interface RBLViewController () @end @implementation RBLViewController { - __weak NSView *_currentView; + __weak NSView *_currentView; } +(id)viewController From 13de4cabc1ca8f359aa5caaf82347f3f4ee1ab48 Mon Sep 17 00:00:00 2001 From: Akito Nozaki Date: Mon, 13 May 2013 14:28:06 -0700 Subject: [PATCH 5/6] Changing currentView to property and making it strong reference --- Rebel/RBLViewController.m | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Rebel/RBLViewController.m b/Rebel/RBLViewController.m index 2c7f4b3..32ea594 100644 --- a/Rebel/RBLViewController.m +++ b/Rebel/RBLViewController.m @@ -11,11 +11,11 @@ @interface RBLViewController () +@property (nonatomic, strong) NSView *currentView; + @end -@implementation RBLViewController { - __weak NSView *_currentView; -} +@implementation RBLViewController +(id)viewController { From e1b44aa4b5c7917896e8a234e68a231c03ddcb75 Mon Sep 17 00:00:00 2001 From: Akito Nozaki Date: Wed, 29 May 2013 17:39:46 -0700 Subject: [PATCH 6/6] changing dealloc to not use self.view. This prevents view from getting created inside dealloc. --- Rebel/RBLViewController.m | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Rebel/RBLViewController.m b/Rebel/RBLViewController.m index 32ea594..0607442 100644 --- a/Rebel/RBLViewController.m +++ b/Rebel/RBLViewController.m @@ -23,9 +23,10 @@ +(id)viewController } -(void)dealloc { - if (self.view.rbl_viewController == self) { - self.view.rbl_viewController = nil; + if (_currentView.rbl_viewController == self) { + _currentView.rbl_viewController = nil; } + _currentView = nil; } -(void)loadView