diff options
Diffstat (limited to 'externals/grill/flext')
-rw-r--r-- | externals/grill/flext/changes.txt | 1 | ||||
-rw-r--r-- | externals/grill/flext/flext.cw | bin | 572771 -> 572771 bytes | |||
-rw-r--r-- | externals/grill/flext/source/flbase.cpp | 4 | ||||
-rw-r--r-- | externals/grill/flext/source/fldsp.cpp | 7 | ||||
-rw-r--r-- | externals/grill/flext/source/flstdc.h | 18 |
5 files changed, 24 insertions, 6 deletions
diff --git a/externals/grill/flext/changes.txt b/externals/grill/flext/changes.txt index 8d72e4b1..21777ed2 100644 --- a/externals/grill/flext/changes.txt +++ b/externals/grill/flext/changes.txt @@ -20,6 +20,7 @@ Version history: - added flext_base::ToSelf* methods for queued (deferred) self messaging - deleted flext::buffer console outputs for undefined arrays/buffer~s: should be done by externals - a few changes for the flext shared library +- tiny update for PD 0.37 header usage 0.4.3: - added forgotten flext_base::ToQueueString method diff --git a/externals/grill/flext/flext.cw b/externals/grill/flext/flext.cw Binary files differindex 80912ff9..ba92d4ea 100644 --- a/externals/grill/flext/flext.cw +++ b/externals/grill/flext/flext.cw diff --git a/externals/grill/flext/source/flbase.cpp b/externals/grill/flext/source/flbase.cpp index 516be430..aa6b66ea 100644 --- a/externals/grill/flext/source/flbase.cpp +++ b/externals/grill/flext/source/flbase.cpp @@ -55,7 +55,9 @@ flext_obj :: flext_obj() // Destructor // ///////////////////////////////////////////////////////// -flext_obj :: ~flext_obj() {} +flext_obj :: ~flext_obj() { + x_obj = NULL; +} bool flext_obj::Init() { return true; } diff --git a/externals/grill/flext/source/fldsp.cpp b/externals/grill/flext/source/fldsp.cpp index 9ee2f00c..2c33387f 100644 --- a/externals/grill/flext/source/fldsp.cpp +++ b/externals/grill/flext/source/fldsp.cpp @@ -91,6 +91,13 @@ void flext_dsp::dspmeth(fts_word_t *w) t_int *flext_dsp::dspmeth(t_int *w) { flext_dsp *obj = (flext_dsp *)w[1]; +#ifdef FLEXT_DEBUG + if(!obj->thisHdr()) { + // object is already deleted! + ERRINTERNAL(); + return w+3; + } +#endif #if FLEXT_SYS == FLEXT_SYS_MAX if(!obj->thisHdr()->z_disabled) #else diff --git a/externals/grill/flext/source/flstdc.h b/externals/grill/flext/source/flstdc.h index 8f53bb96..6c13a9c4 100644 --- a/externals/grill/flext/source/flstdc.h +++ b/externals/grill/flext/source/flstdc.h @@ -36,9 +36,17 @@ WARRANTIES, see the file, "license.txt," in this distribution. extern "C" { // Include the relevant PD header files #ifdef FLEXT_DEBUG - #include <m_imp.h> // for easier debugging - #else - #include <m_pd.h> + /* PD header file structure has changed with version 0.37 + from then on m_imp.h needs m_pd.h to be included before + on the other hand versions < 0.37 don't like that.... + (they want m_imp.h solely) + So better use the m_pd.h here also for the debug version. + Change that if really needed for debugging PD internals... + */ + #include <m_pd.h> +// #include <m_imp.h> // for easier debugging + #else + #include <m_pd.h> // for easier debugging #endif } @@ -165,7 +173,7 @@ typedef t_symbol *t_symptr; #ifdef FLEXT_LOGGING -/* If _LOG is defined implement logging */ +/* If FLEXT_LOGGING is defined implement logging */ #define FLEXT_LOG(s) post(s) #define FLEXT_LOG1(s,v1) post(s,v1) #define FLEXT_LOG2(s,v1,v2) post(s,v1,v2) @@ -176,7 +184,7 @@ typedef t_symbol *t_symptr; #else -/* If _LOG is not defined avoid logging */ +/* If FLEXT_LOGGING is not defined avoid logging */ #define FLEXT_LOG(s) ((void)0) #define FLEXT_LOG1(s,v1) ((void)0) #define FLEXT_LOG2(s,v1,v2) ((void)0) |