diff --git a/xpcPlugin/SDK/CHeaders/Wrappers/XPCBroadcaster.cpp b/xpcPlugin/SDK/CHeaders/Wrappers/XPCBroadcaster.cpp index c2b9c1d..5fe6218 100755 --- a/xpcPlugin/SDK/CHeaders/Wrappers/XPCBroadcaster.cpp +++ b/xpcPlugin/SDK/CHeaders/Wrappers/XPCBroadcaster.cpp @@ -42,7 +42,7 @@ void XPCBroadcaster::RemoveListener( } void XPCBroadcaster::BroadcastMessage( - long inMessage, + int inMessage, void * inParam) { ListenerVector::iterator iter; diff --git a/xpcPlugin/SDK/CHeaders/Wrappers/XPCBroadcaster.h b/xpcPlugin/SDK/CHeaders/Wrappers/XPCBroadcaster.h index 382c3f9..8f34a05 100755 --- a/xpcPlugin/SDK/CHeaders/Wrappers/XPCBroadcaster.h +++ b/xpcPlugin/SDK/CHeaders/Wrappers/XPCBroadcaster.h @@ -20,7 +20,7 @@ public: protected: void BroadcastMessage( - long inMessage, + int inMessage, void * inParam=0); private: diff --git a/xpcPlugin/SDK/CHeaders/Wrappers/XPCListener.h b/xpcPlugin/SDK/CHeaders/Wrappers/XPCListener.h index 02d5bea..dbdd2a0 100755 --- a/xpcPlugin/SDK/CHeaders/Wrappers/XPCListener.h +++ b/xpcPlugin/SDK/CHeaders/Wrappers/XPCListener.h @@ -14,7 +14,7 @@ public: virtual ~XPCListener(); virtual void ListenToMessage( - long inMessage, + int inMessage, void * inParam)=0; private: diff --git a/xpcPlugin/SDK/CHeaders/Wrappers/XPCProcessing.cpp b/xpcPlugin/SDK/CHeaders/Wrappers/XPCProcessing.cpp index bb8ebc3..352c05f 100755 --- a/xpcPlugin/SDK/CHeaders/Wrappers/XPCProcessing.cpp +++ b/xpcPlugin/SDK/CHeaders/Wrappers/XPCProcessing.cpp @@ -21,7 +21,7 @@ void XPCProcess::StartProcessTime(float inSeconds) FlightLoopCB, mCallbackTime, 1/*relative to now*/, reinterpret_cast(this)); } -void XPCProcess::StartProcessCycles(long inCycles) +void XPCProcess::StartProcessCycles(int inCycles) { mCallbackTime = -inCycles; if (!mInCallback) diff --git a/xpcPlugin/SDK/CHeaders/Wrappers/XPCProcessing.h b/xpcPlugin/SDK/CHeaders/Wrappers/XPCProcessing.h index 7d21c4f..cd735e5 100755 --- a/xpcPlugin/SDK/CHeaders/Wrappers/XPCProcessing.h +++ b/xpcPlugin/SDK/CHeaders/Wrappers/XPCProcessing.h @@ -10,7 +10,7 @@ public: virtual ~XPCProcess(); void StartProcessTime(float inSeconds); - void StartProcessCycles(long inCycles); + void StartProcessCycles(int inCycles); void StopProcess(void); virtual void DoProcessing( diff --git a/xpcPlugin/SDK/CHeaders/Wrappers/XPCWidget.cpp b/xpcPlugin/SDK/CHeaders/Wrappers/XPCWidget.cpp index dcb7793..8ef8aa3 100755 --- a/xpcPlugin/SDK/CHeaders/Wrappers/XPCWidget.cpp +++ b/xpcPlugin/SDK/CHeaders/Wrappers/XPCWidget.cpp @@ -22,7 +22,7 @@ XPCWidget::XPCWidget( inIsRoot ? NULL : inParent, inClass); - XPSetWidgetProperty(mWidget, xpProperty_Object, reinterpret_cast(this)); + XPSetWidgetProperty(mWidget, xpProperty_Object, reinterpret_cast(this)); XPAddWidgetCallback(mWidget, WidgetCallback); } @@ -33,7 +33,7 @@ XPCWidget::XPCWidget( mOwnsChildren(false), mOwnsWidget(inOwnsWidget) { - XPSetWidgetProperty(mWidget, xpProperty_Object, reinterpret_cast(this)); + XPSetWidgetProperty(mWidget, xpProperty_Object, reinterpret_cast(this)); XPAddWidgetCallback(mWidget, WidgetCallback); } @@ -95,8 +95,8 @@ void XPCWidget::RemoveAttachment( int XPCWidget::HandleWidgetMessage( XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2) + intptr_t inParam1, + intptr_t inParam2) { return 0; } @@ -104,8 +104,8 @@ int XPCWidget::HandleWidgetMessage( int XPCWidget::WidgetCallback( XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2) + intptr_t inParam1, + intptr_t inParam2) { XPCWidget * me = reinterpret_cast(XPGetWidgetProperty(inWidget, xpProperty_Object, NULL)); if (me == NULL) diff --git a/xpcPlugin/SDK/CHeaders/Wrappers/XPCWidget.h b/xpcPlugin/SDK/CHeaders/Wrappers/XPCWidget.h index 6ce6a22..788b56a 100755 --- a/xpcPlugin/SDK/CHeaders/Wrappers/XPCWidget.h +++ b/xpcPlugin/SDK/CHeaders/Wrappers/XPCWidget.h @@ -14,8 +14,8 @@ public: XPCWidget * inObject, XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2)=0; + intptr_t inParam1, + intptr_t inParam2)=0; }; @@ -56,16 +56,16 @@ public: virtual int HandleWidgetMessage( XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2); + intptr_t inParam1, + intptr_t inParam2); private: static int WidgetCallback( XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2); + intptr_t inParam1, + intptr_t inParam2); typedef std::pair AttachmentInfo; typedef std::vector AttachmentVector; diff --git a/xpcPlugin/SDK/CHeaders/Wrappers/XPCWidgetAttachments.cpp b/xpcPlugin/SDK/CHeaders/Wrappers/XPCWidgetAttachments.cpp index 3e13775..d87f105 100755 --- a/xpcPlugin/SDK/CHeaders/Wrappers/XPCWidgetAttachments.cpp +++ b/xpcPlugin/SDK/CHeaders/Wrappers/XPCWidgetAttachments.cpp @@ -22,8 +22,8 @@ int XPCKeyFilterAttachment::HandleWidgetMessage( XPCWidget * inObject, XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2) + intptr_t inParam1, + intptr_t inParam2) { if (inMessage == xpMsg_KeyPress) { @@ -42,7 +42,7 @@ int XPCKeyFilterAttachment::HandleWidgetMessage( XPCKeyMessageAttachment::XPCKeyMessageAttachment( char inKey, - long inMessage, + int inMessage, void * inParam, bool inConsume, bool inVkey, @@ -62,8 +62,8 @@ int XPCKeyMessageAttachment::HandleWidgetMessage( XPCWidget * inObject, XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2) + intptr_t inParam1, + intptr_t inParam2) { if (inMessage == xpMsg_KeyPress) { @@ -81,7 +81,7 @@ int XPCKeyMessageAttachment::HandleWidgetMessage( XPCPushButtonMessageAttachment::XPCPushButtonMessageAttachment( XPWidgetID inWidget, - long inMessage, + int inMessage, void * inParam, XPCListener * inListener) : mMsg(inMessage), mParam(inParam), mWidget(inWidget) @@ -98,8 +98,8 @@ int XPCPushButtonMessageAttachment::HandleWidgetMessage( XPCWidget * inObject, XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2) + intptr_t inParam1, + intptr_t inParam2) { if ((inMessage == xpMsg_PushButtonPressed) && ((XPWidgetID) inParam1 == mWidget)) { @@ -117,7 +117,7 @@ int XPCPushButtonMessageAttachment::HandleWidgetMessage( XPCSliderMessageAttachment::XPCSliderMessageAttachment( XPWidgetID inWidget, - long inMessage, + int inMessage, void * inParam, XPCListener * inListener) : mMsg(inMessage), mParam(inParam), mWidget(inWidget) @@ -134,8 +134,8 @@ int XPCSliderMessageAttachment::HandleWidgetMessage( XPCWidget * inObject, XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2) + intptr_t inParam1, + intptr_t inParam2) { if ((inMessage == xpMsg_ScrollBarSliderPositionChanged) && ((XPWidgetID) inParam1 == mWidget)) { @@ -149,7 +149,7 @@ int XPCSliderMessageAttachment::HandleWidgetMessage( XPCCloseButtonMessageAttachment::XPCCloseButtonMessageAttachment( XPWidgetID inWidget, - long inMessage, + int inMessage, void * inParam, XPCListener * inListener) : mMsg(inMessage), mParam(inParam), mWidget(inWidget) @@ -166,8 +166,8 @@ int XPCCloseButtonMessageAttachment::HandleWidgetMessage( XPCWidget * inObject, XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2) + intptr_t inParam1, + intptr_t inParam2) { if ((inMessage == xpMessage_CloseButtonPushed) && ((XPWidgetID) inParam1 == mWidget)) { @@ -190,8 +190,8 @@ int XPCTabGroupAttachment::HandleWidgetMessage( XPCWidget * inObject, XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2) + intptr_t inParam1, + intptr_t inParam2) { if ((inMessage == xpMsg_KeyPress) && (KEY_CHAR(inParam1) == XPLM_KEY_TAB) && ((KEY_FLAGS(inParam1) & xplm_UpFlag) == 0)) @@ -199,7 +199,7 @@ int XPCTabGroupAttachment::HandleWidgetMessage( bool backwards = (KEY_FLAGS(inParam1) & xplm_ShiftFlag) != 0; std::vector widgets; XPCGetOrderedSubWidgets(inWidget, widgets); - long n, index = 0; + int n, index = 0; XPWidgetID focusWidget = XPGetWidgetWithFocus(); std::vector::iterator iter = std::find(widgets.begin(), widgets.end(), focusWidget); if (iter != widgets.end()) @@ -254,8 +254,8 @@ static void XPCGetOrderedSubWidgets( std::vector& outChildren) { outChildren.clear(); - long count = XPCountChildWidgets(inWidget); - for (long n = 0; n < count; ++n) + int count = XPCountChildWidgets(inWidget); + for (int n = 0; n < count; ++n) { XPWidgetID child = XPGetNthChildWidget(inWidget, n); outChildren.push_back(child); diff --git a/xpcPlugin/SDK/CHeaders/Wrappers/XPCWidgetAttachments.h b/xpcPlugin/SDK/CHeaders/Wrappers/XPCWidgetAttachments.h index a0a82d9..91fb587 100755 --- a/xpcPlugin/SDK/CHeaders/Wrappers/XPCWidgetAttachments.h +++ b/xpcPlugin/SDK/CHeaders/Wrappers/XPCWidgetAttachments.h @@ -18,8 +18,8 @@ public: XPCWidget * inObject, XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2); + intptr_t inParam1, + intptr_t inParam2); private: @@ -34,7 +34,7 @@ public: XPCKeyMessageAttachment( char inKey, - long inMessage, + int inMessage, void * inParam, bool inConsume, bool inVkey, @@ -45,14 +45,14 @@ public: XPCWidget * inObject, XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2); + intptr_t inParam1, + intptr_t inParam2); private: char mKey; bool mVkey; - long mMsg; + int mMsg; void * mParam; bool mConsume; @@ -63,7 +63,7 @@ public: XPCPushButtonMessageAttachment( XPWidgetID inWidget, - long inMessage, + int inMessage, void * inParam, XPCListener * inListener); virtual ~XPCPushButtonMessageAttachment(); @@ -72,12 +72,12 @@ public: XPCWidget * inObject, XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2); + intptr_t inParam1, + intptr_t inParam2); private: XPWidgetID mWidget; - long mMsg; + int mMsg; void * mParam; }; @@ -86,7 +86,7 @@ public: XPCSliderMessageAttachment( XPWidgetID inWidget, - long inMessage, + int inMessage, void * inParam, XPCListener * inListener); virtual ~XPCSliderMessageAttachment(); @@ -95,12 +95,12 @@ public: XPCWidget * inObject, XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2); + intptr_t inParam1, + intptr_t inParam2); private: XPWidgetID mWidget; - long mMsg; + int mMsg; void * mParam; }; @@ -110,7 +110,7 @@ public: XPCCloseButtonMessageAttachment( XPWidgetID inWidget, - long inMessage, + int inMessage, void * inParam, XPCListener * inListener); virtual ~XPCCloseButtonMessageAttachment(); @@ -119,12 +119,12 @@ public: XPCWidget * inObject, XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2); + intptr_t inParam1, + intptr_t inParam2); private: XPWidgetID mWidget; - long mMsg; + int mMsg; void * mParam; }; @@ -138,8 +138,8 @@ public: XPCWidget * inObject, XPWidgetMessage inMessage, XPWidgetID inWidget, - long inParam1, - long inParam2); + intptr_t inParam1, + intptr_t inParam2); }; diff --git a/xpcPlugin/SDK/CHeaders/XPLM/XPLMDefs.h b/xpcPlugin/SDK/CHeaders/XPLM/XPLMDefs.h index acd5f2c..e1909c4 100755 --- a/xpcPlugin/SDK/CHeaders/XPLM/XPLMDefs.h +++ b/xpcPlugin/SDK/CHeaders/XPLM/XPLMDefs.h @@ -27,7 +27,7 @@ extern "C" { #endif -#ifdef _WIN32 +#if IBM #include #else #include @@ -49,7 +49,7 @@ extern "C" { #ifdef __cplusplus - #ifdef APL + #if APL #if __GNUC__ >= 4 #define PLUGIN_API extern "C" __attribute__((visibility("default"))) #elif __MACH__ @@ -57,16 +57,16 @@ extern "C" { #else #define PLUGIN_API extern "C" __declspec(dllexport) #endif - #endif - #ifdef _WIN32 + #elif IBM #define PLUGIN_API extern "C" __declspec(dllexport) - #endif - #ifdef LIN + #elif LIN #if __GNUC__ >= 4 #define PLUGIN_API extern "C" __attribute__((visibility("default"))) #else #define PLUGIN_API extern "C" #endif + #else + #error "Platform not defined!" #endif #else #if APL @@ -90,7 +90,7 @@ extern "C" { #endif #endif -#ifdef APL +#if APL #if XPLM #if __GNUC__ >= 4 #define XPLM_API __attribute__((visibility("default"))) @@ -102,15 +102,13 @@ extern "C" { #else #define XPLM_API #endif -#endif -#ifdef _WIN32 +#elif IBM #if XPLM #define XPLM_API __declspec(dllexport) #else #define XPLM_API __declspec(dllimport) #endif -#endif -#ifdef LIN +#elif LIN #if XPLM #if __GNUC__ >= 4 #define XPLM_API __attribute__((visibility("default"))) @@ -120,6 +118,8 @@ extern "C" { #else #define XPLM_API #endif +#else + #error "Platform not defined!" #endif /*************************************************************************** diff --git a/xpcPlugin/SDK/README.txt b/xpcPlugin/SDK/README.txt index 2773a35..2316eb5 100755 --- a/xpcPlugin/SDK/README.txt +++ b/xpcPlugin/SDK/README.txt @@ -51,6 +51,11 @@ Mach-O if you want to use 2.0 features. This section contains per-release notes for the history of the X-Plane SDK. +X-Plane SDK Release 2.1.3 11/14/13 + +Fixed XPC Wrappers to use int and intptr_t instead of long. This fixes +crashes for plugins on 64-bit Windows. + X-Plane SDK Release 2.1.2 RC2 1/15/13 Removed headers from frameworks, as they don't work; updated README.