X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fb896a322a2ed53d393ee738765ddd3f72cee004..6e3515377ca94ccc018f7a5ba8f185914081e601:/include/wx/cocoa/NSButton.h

diff --git a/include/wx/cocoa/NSButton.h b/include/wx/cocoa/NSButton.h
index a6f9b2f57f..f2a2800f5f 100644
--- a/include/wx/cocoa/NSButton.h
+++ b/include/wx/cocoa/NSButton.h
@@ -4,16 +4,17 @@
 // Author:      David Elliott
 // Modified by:
 // Created:     2002/12/09
-// RCS-ID:      $Id: 
-// Copyright:   (c) 2002 David Elliott
-// Licence:     wxWindows license
+// RCS-ID:      $Id$
+// Copyright:   (c) 2002-2004 David Elliott
+// Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
-#ifndef __WX_COCOA_NSBUTTON_H__
-#define __WX_COCOA_NSBUTTON_H__
+#ifndef _WX_COCOA_NSBUTTON_H__
+#define _WX_COCOA_NSBUTTON_H__
 
 #include "wx/hashmap.h"
-#include "wx/cocoa/ObjcPose.h"
+#include "wx/cocoa/ObjcAssociate.h"
+#include "wx/cocoa/ObjcRef.h"
 
 WX_DECLARE_OBJC_HASHMAP(NSButton);
 
@@ -22,13 +23,17 @@ class wxCocoaNSButton
     WX_DECLARE_OBJC_INTERFACE_HASHMAP(NSButton);
 public:
     void AssociateNSButton(WX_NSButton cocoaNSButton);
-    inline void DisassociateNSButton(WX_NSButton cocoaNSButton)
+    void DisassociateNSButton(WX_NSButton cocoaNSButton)
     {
-        sm_cocoaHash.erase(cocoaNSButton);
+        if(cocoaNSButton)
+            sm_cocoaHash.erase(cocoaNSButton);
     }
 
-public:
     virtual void Cocoa_wxNSButtonAction(void) = 0;
+    virtual ~wxCocoaNSButton() { }
+
+protected:
+    static const wxObjcAutoRefFromAlloc<struct objc_object*> sm_cocoaTarget;
 };
 
-#endif // _WX_COCOA_NSBUTTON_H_
+#endif // _WX_COCOA_NSBUTTON_H__