]> git.saurik.com Git - wxWidgets.git/commitdiff
Allow wxTopLevelWindowCocoa::SetDefaultItem(NULL)
authorDavid Elliott <dfe@tgwbd.org>
Thu, 31 Jan 2008 19:17:42 +0000 (19:17 +0000)
committerDavid Elliott <dfe@tgwbd.org>
Thu, 31 Jan 2008 19:17:42 +0000 (19:17 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51476 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/cocoa/toplevel.mm

index 626dba27737cb9a1c940651b6dd1bf567beebdbb..a23e990cab669a12b59ecd430cf82431c659ce34 100644 (file)
@@ -352,21 +352,26 @@ wxString wxTopLevelWindowCocoa::GetTitle() const
 wxWindow* wxTopLevelWindowCocoa::SetDefaultItem(wxWindow *win)
 {
     wxWindow *old = wxTopLevelWindowBase::SetDefaultItem(win);
-    NSView *newView = win->GetNSView();
 
     NSCell *newCell;
-    // newView does not have to be an NSControl, we only cast to NSControl*
-    // to silence the warning about cell not being implemented.
-    if(newView != nil && [newView respondsToSelector:@selector(cell)])
-        newCell = [(NSControl*)newView cell];
+    if(win != NULL)
+    {
+        NSView *newView = win->GetNSView();
+        // newView does not have to be an NSControl, we only cast to NSControl*
+        // to silence the warning about cell not being implemented.
+        if(newView != nil && [newView respondsToSelector:@selector(cell)])
+            newCell = [(NSControl*)newView cell];
+        else
+            newCell = nil;
+    
+        if(newCell != nil && ![newCell isKindOfClass:[NSButtonCell class]])
+        {   // It's not an NSButtonCell, set the default to nil.
+            newCell = nil;
+        }
+    }
     else
         newCell = nil;
 
-    if(newCell != nil && ![newCell isKindOfClass:[NSButtonCell class]])
-    {   // It's not an NSButtonCell, set the default to nil.
-        newCell = nil;
-    }
-
     [GetNSWindow() setDefaultButtonCell:(NSButtonCell*)newCell];
     return old;
 }