+ if ( wxMacControlActionUPP == NULL )
+ {
+ wxMacControlActionUPP = NewControlDefUPP( wxMacControlDefinition ) ;
+ }
+ // The following block of code is responsible for crashes when switching
+ // back to windows, which can be seen in the dialogs sample.
+ // It is disabled until a proper solution can be found.
+#if 0
+#if TARGET_CARBON
+/*
+ only working under classic carbon
+ m_macControlAction = *(**(ControlHandle)m_macControl).contrlDefProc ;
+ (**(ControlHandle)m_macControl).contrlDefProc = (Handle) &wxMacControlActionUPP ;
+*/
+#else
+ m_macControlAction = *(**(ControlHandle)m_macControl).contrlDefProc ;
+
+ cdefHandle cdef ;
+ cdef = (cdefHandle) NewHandle( sizeof(cdefRec) ) ;
+ if ( (**(ControlHandle)m_macControl).contrlDefProc != NULL )
+ {
+ (**cdef).instruction = 0x4EF9; /* JMP instruction */
+ (**cdef).function = (void(*)()) wxMacControlActionUPP;
+ (**(ControlHandle)m_macControl).contrlDefProc = (Handle) cdef ;
+ }
+#endif
+#endif