aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext
diff options
context:
space:
mode:
Diffstat (limited to 'externals/grill/flext')
-rw-r--r--externals/grill/flext/changes.txt1
-rw-r--r--externals/grill/flext/flext.cwbin572771 -> 572771 bytes
-rw-r--r--externals/grill/flext/source/flbase.cpp4
-rw-r--r--externals/grill/flext/source/fldsp.cpp7
-rw-r--r--externals/grill/flext/source/flstdc.h18
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
index 80912ff9..ba92d4ea 100644
--- a/externals/grill/flext/flext.cw
+++ b/externals/grill/flext/flext.cw
Binary files differ
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)