X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e668651137922bee36b5773d638aa696e78854d1..8c9f8f91cd62335261ee29762747218f28d129de:/include/wx/cocoa/ObjcPose.h?ds=sidebyside diff --git a/include/wx/cocoa/ObjcPose.h b/include/wx/cocoa/ObjcPose.h index b5e53c0ab6..6bfdf45f4b 100644 --- a/include/wx/cocoa/ObjcPose.h +++ b/include/wx/cocoa/ObjcPose.h @@ -6,7 +6,7 @@ // Created: 2002/12/03 // RCS-ID: $Id: // Copyright: (c) 2002 David Elliott -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef __WX_COCOA_PRIVATE_POSER_H__ @@ -17,19 +17,18 @@ Objective-C Poser class initialization -------------------------------------------------------------------------*/ #ifdef __OBJC__ #import +#import class wxPoseAsInitializer { public: - wxPoseAsInitializer(Class poser) - : m_poser(poser) - , m_next(sm_first) + wxPoseAsInitializer() + : m_next(sm_first) { sm_first = this; } - ~wxPoseAsInitializer() + virtual ~wxPoseAsInitializer() { - class_poseAs(m_poser,m_poser->super_class); sm_first = m_next; } static void InitializePosers() @@ -40,7 +39,6 @@ public: } }; protected: - Class m_poser; wxPoseAsInitializer *m_next; static wxPoseAsInitializer *sm_first; }; @@ -52,7 +50,15 @@ public: }; #define WX_IMPLEMENT_POSER(poser) \ -wxDummyForPoseAsInitializer wxDummyPoseAsInitializerFor##poser(new wxPoseAsInitializer([poser class])) +class wxPoseAsInitializerFor##poser: public wxPoseAsInitializer \ +{ \ +protected: \ + virtual ~wxPoseAsInitializerFor##poser() \ + { \ + class_poseAs([poser class],[poser superclass]); \ + } \ +}; \ +wxDummyForPoseAsInitializer wxDummyPoseAsInitializerFor##poser(new wxPoseAsInitializerFor##poser) #else // __OBJC__ #warning "Objective-C++ Only!"