aboutsummaryrefslogtreecommitdiff
path: root/externals/grill/flext/source
diff options
context:
space:
mode:
authorThomas Grill <xovo@users.sourceforge.net>2003-05-05 02:42:43 +0000
committerThomas Grill <xovo@users.sourceforge.net>2003-05-05 02:42:43 +0000
commit1f6c586abd0b9af7f6a8ace1b75056b89bde84f0 (patch)
tree798407c0926727b77133d37b1ceb70b021d9ec8d /externals/grill/flext/source
parent31701ad8cc9f95347f0c9f18875c9bf7418b8208 (diff)
""
svn path=/trunk/; revision=608
Diffstat (limited to 'externals/grill/flext/source')
-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
3 files changed, 23 insertions, 6 deletions
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)