Hello
Can I propose this change in sqplus.h :
from:
// === Class Type Helper class: returns a unique number for each class type ===
template<typename T>
struct ClassType {
static SQUserPointer type(void) { return (SQUserPointer)© }
static CopyVarFunc getCopyFunc(void) { return (CopyVarFunc)© }
static void copy(T * dst,T * src) {
*dst = *src;
} // copy
};
to:
// === Class Type Helper class: returns a unique number for each class type ===
template<typename T>
struct ClassType {
static SQUserPointer type(void) __attribute__((noinline,noclone)) { return (SQUserPointer)© }
static CopyVarFunc getCopyFunc(void) __attribute__((noinline,noclone)) { return (CopyVarFunc)© }
static void copy(T * dst,T * src) __attribute__((noinline,noclone)) { *dst = *src; } // copy
};
Without it e.g. wxString instance assignment made through script calls introduced outside scripted wizard cause
INSTANCE type assignment mismatch
error in running script for release version "-O2" compiled where the compiler optimized out mentioned methods from SDK DLL
The e.g. wxString must be referred then with
extern template struct ClassType<wxString>;
in code (plugin) introducing new script features to prevent error mentioned above.