From ec54f5e49b24dc57e389b7bce58f967ee69a4b01 Mon Sep 17 00:00:00 2001
From: Thomas Grill <xovo@users.sourceforge.net>
Date: Thu, 15 Dec 2005 23:04:06 +0000
Subject: new flext::CopyAtoms function fixed dangerous spot (also memory leak)
 with message queuing flext::Forward has more incarnations now added message
 bundles (flext::MsgBundle) fixes for gcc 3.3, changing FLEXT_USECMEM to
 FLEXT_USE_CMEMw fixed initialization of message bundle items

svn path=/trunk/; revision=4228
---
 externals/grill/flext/source/flqueue.cpp   | 17 +++++++++--------
 externals/grill/flext/source/flsupport.cpp | 10 +++++-----
 externals/grill/flext/source/flsupport.h   | 10 +++++-----
 3 files changed, 19 insertions(+), 18 deletions(-)

(limited to 'externals/grill/flext/source')

diff --git a/externals/grill/flext/source/flqueue.cpp b/externals/grill/flext/source/flqueue.cpp
index efd6fd51..b1adfb24 100755
--- a/externals/grill/flext/source/flqueue.cpp
+++ b/externals/grill/flext/source/flqueue.cpp
@@ -49,14 +49,8 @@ class Queue:
 {
 public:
     inline bool Empty() const { return Size() == 0; }
-
-    inline void Push(MsgBundle *m)
-    {
-        if(m) {
-            Put(m);
-            Trigger();
-        }
-    }
+    
+    inline void Push(MsgBundle *m); // defined after MsgBundle (gcc 3.3. won't take it otherwise...)
 };
 
 static Queue queue;
@@ -266,6 +260,13 @@ private:
     }
 };
 
+inline void Queue::Push(MsgBundle *m)
+{
+    if(m) {
+        Put(m);
+        Trigger();
+    }
+}
 
 #if FLEXT_QMODE == 2
 static flext::ThrCond qthrcond;
diff --git a/externals/grill/flext/source/flsupport.cpp b/externals/grill/flext/source/flsupport.cpp
index 929de35e..eaa27a60 100644
--- a/externals/grill/flext/source/flsupport.cpp
+++ b/externals/grill/flext/source/flsupport.cpp
@@ -106,7 +106,7 @@ void flext::Setup()
 
 #define LARGEALLOC 32000
 
-#ifndef FLEXT_USECMEM
+#ifndef FLEXT_USE_CMEM
 
 #ifdef FLEXT_DEBUGMEM
 static const size_t memtest = 0x12345678L;
@@ -131,7 +131,7 @@ void *flext_root::operator new(size_t bytes)
 	//! We need system locking here for secondary threads!
         SYSLOCK();
 
-#if defined(FLEXT_USECMEM)
+#if defined(FLEXT_USE_CMEM)
 	    blk = (char *)::malloc(bytes);
 #else
 	    blk = (char *)::getbytes(bytes);
@@ -175,7 +175,7 @@ void flext_root::operator delete(void *blk)
 	//! We need system locking here for secondary threads!
         SYSLOCK();
 
-#if defined(FLEXT_USECMEM)
+#if defined(FLEXT_USE_CMEM)
 	    ::free(ori);
 #else
 	    ::freebytes(ori,bytes);
@@ -217,7 +217,7 @@ void *flext_root::NewAligned(size_t bytes,int bitalign)
 	//! We need system locking here for secondary threads!
         SYSLOCK();
 
-#if defined(FLEXT_USECMEM)
+#if defined(FLEXT_USE_CMEM)
 	    blk = (char *)::malloc(bytes);
 #else
 	    blk = (char *)::getbytes(bytes);
@@ -251,7 +251,7 @@ void flext_root::FreeAligned(void *blk)
 	//! We need system locking here for secondary threads!
         SYSLOCK();
 
-#if defined(FLEXT_USECMEM)
+#if defined(FLEXT_USE_CMEM)
 	    ::free(ori);
 #else
 	    ::freebytes(ori,bytes);
diff --git a/externals/grill/flext/source/flsupport.h b/externals/grill/flext/source/flsupport.h
index 2a1b7a6d..526a60af 100644
--- a/externals/grill/flext/source/flsupport.h
+++ b/externals/grill/flext/source/flsupport.h
@@ -47,11 +47,11 @@ public:
 	*/
 
 #ifdef FLEXT_NOGLOBALNEW
-#error FLEXT_NOGLOBALNEW is deprecated, define FLEXT_USECMEM instead
-#define FLEXT_USECMEM
+#error FLEXT_NOGLOBALNEW is deprecated, define FLEXT_USE_CMEM instead
+#define FLEXT_USE_CMEM
 #endif
 
-#ifdef FLEXT_USECMEM
+#ifdef FLEXT_USE_CMEM
     inline void *operator new(size_t bytes) { return ::operator new(bytes); }
     inline void operator delete(void *blk) { ::operator delete(blk); }
 
@@ -104,7 +104,7 @@ public:
 	//!	@}  FLEXT_S_MEMORY  	
 };
 
-#ifndef FLEXT_USECMEM
+#ifndef FLEXT_USE_CMEM
 /************************************************************************/
 // MFC doesn't like global overloading of allocators
 // anyway, who likes MFC
@@ -125,7 +125,7 @@ inline void *operator new[](size_t bytes) NEWTHROW { return flext_root::operator
 inline void operator delete[](void *blk) DELTHROW { flext_root::operator delete[](blk); }
 #endif
 
-#endif // FLEXT_USECMEM
+#endif // FLEXT_USE_CMEM
 
 /************************************************************************/
 
-- 
cgit v1.2.1