Index: ext/libicpf/src/callback.cpp =================================================================== diff -u -r338a33bbdb8c82416f0351408eea3243520784e5 -r79aeaf4a65732f3b3fe6ba19a80651381d6b3362 --- ext/libicpf/src/callback.cpp (.../callback.cpp) (revision 338a33bbdb8c82416f0351408eea3243520784e5) +++ ext/libicpf/src/callback.cpp (.../callback.cpp) (revision 79aeaf4a65732f3b3fe6ba19a80651381d6b3362) @@ -30,16 +30,14 @@ callback_list::callback_list() : m_lock(), - m_pStorage(NULL) + m_pStorage((void*)new std::vector) { - m_pStorage=(void*)new std::vector; } callback_list::callback_list(const callback_list& rSrc) : m_lock(), - m_pStorage(NULL) + m_pStorage((void*)new std::vector) { - m_pStorage=(void*)new std::vector; STORAGE->assign(((std::vector*)rSrc.m_pStorage)->begin(), ((std::vector*)rSrc.m_pStorage)->end()); assert(false); // we should not use the copy constructor at all !!! } Index: ext/libicpf/src/callback.h =================================================================== diff -u -r338a33bbdb8c82416f0351408eea3243520784e5 -r79aeaf4a65732f3b3fe6ba19a80651381d6b3362 --- ext/libicpf/src/callback.h (.../callback.h) (revision 338a33bbdb8c82416f0351408eea3243520784e5) +++ ext/libicpf/src/callback.h (.../callback.h) (revision 79aeaf4a65732f3b3fe6ba19a80651381d6b3362) @@ -32,10 +32,10 @@ BEGIN_ICPF_NAMESPACE /// General function definition -typedef void(*PFNFUNC)(void); +typedef void(__stdcall *PFNFUNC)(void); /// Helper structure for callback class -struct CLBDATA +struct LIBICPF_API CLBDATA { PFNFUNC pfn; ///< General function definition ptr_t param; @@ -80,12 +80,12 @@ { protected: /// Callback1-type callback function - typedef R(*PFNCALLBACKPROC1)(ptr_t, P1); + typedef R(__stdcall *PFNCALLBACKPROC1)(ptr_t, P1); public: /** \name Construction/destruction */ /**@{*/ - callback1() { }; ///< Standard constructor + callback1() : callback_list() { }; ///< Standard constructor virtual ~callback1() { }; ///< Standard destructor /**@}*/ @@ -137,12 +137,12 @@ { protected: /// Callback2-type callback function - typedef R(*PFNCALLBACKPROC2)(ptr_t, P1, P2); + typedef R(__stdcall *PFNCALLBACKPROC2)(ptr_t, P1, P2); public: /** \name Construction/destruction */ /**@{*/ - callback2() { }; ///< Standard constructor + callback2() : callback_list() { }; ///< Standard constructor virtual ~callback2() { }; ///< Standard destructor /**@}*/ @@ -195,12 +195,12 @@ { protected: /// Callback2-type callback function - typedef R(*PFNCALLBACKPROC3)(ptr_t, P1, P2, P3); + typedef R(__stdcall *PFNCALLBACKPROC3)(ptr_t, P1, P2, P3); public: /** \name Construction/destruction */ /**@{*/ - callback3() { }; ///< Standard constructor + callback3() : callback_list() { }; ///< Standard constructor virtual ~callback3() { }; ///< Standard destructor /**@}*/