From 500bd4d23f821ae235dc6a99e850b40ff49d2327 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Fri, 20 Mar 2015 23:33:52 +0000 Subject: Gem 136832db9e7bc7721b329539d6756e51b5f02abe osx/x86_64 built 'master:136832db9e7bc7721b329539d6756e51b5f02abe' for osx/x86_64 --- Gem/Gem.pd_darwin | Bin 5071996 -> 5092328 bytes Gem/develop/include/Gem/Base/CPPExtern.h | 10 +++++++++- Gem/develop/include/Gem/Base/GemBase.h | 2 ++ Gem/develop/include/Gem/Base/GemWindow.h | 7 +++++++ Gem/gem_filmAVFoundation.so | Bin 71568 -> 71568 bytes Gem/gem_imageJPEG.so | Bin 52404 -> 52404 bytes Gem/gem_imageMAGICK.so | Bin 55740 -> 55740 bytes Gem/gem_imageSGI.so | Bin 59652 -> 59652 bytes Gem/gem_imageTIFF.so | Bin 68628 -> 68628 bytes Gem/gem_modelOBJ.so | Bin 86308 -> 86308 bytes Gem/gemcocoawindow.pd_darwin | Bin 36772 -> 36876 bytes Gem/gemglfw2window.pd_darwin | Bin 28732 -> 28836 bytes Gem/gemglfw3window.pd_darwin | Bin 38512 -> 38608 bytes Gem/gemglutwindow.pd_darwin | Bin 44660 -> 44764 bytes Gem/gemsdlwindow.pd_darwin | Bin 41608 -> 41704 bytes Gem/pix_drum.pd_darwin | Bin 26232 -> 26328 bytes Gem/pix_fiducialtrack.pd_darwin | Bin 76140 -> 76236 bytes Gem/pix_hit.pd_darwin | Bin 24408 -> 28592 bytes Gem/pix_mano.pd_darwin | Bin 40472 -> 40568 bytes 19 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Gem/Gem.pd_darwin b/Gem/Gem.pd_darwin index bf93c79..7ddeeed 100755 Binary files a/Gem/Gem.pd_darwin and b/Gem/Gem.pd_darwin differ diff --git a/Gem/develop/include/Gem/Base/CPPExtern.h b/Gem/develop/include/Gem/Base/CPPExtern.h index 0350681..ddacc54 100644 --- a/Gem/develop/include/Gem/Base/CPPExtern.h +++ b/Gem/develop/include/Gem/Base/CPPExtern.h @@ -122,6 +122,12 @@ class GEM_EXTERN CPPExtern // Creation callback static void real_obj_setupCallback(t_class *) {} + /////////// + // called directly before the destructor + // normally you should not override this (use the dtor!) + // if you do override this, make sure that you call the parent as well + virtual void beforeDeletion(); + private: ////////// @@ -157,7 +163,9 @@ class GEM_EXTERN CPPExtern #define CPPEXTERN_HEADER(NEW_CLASS, PARENT_CLASS) \ public: \ static void obj_freeCallback(void *data) \ -{ CPPExtern *mydata = ((Obj_header *)data)->data; delete mydata; \ +{ CPPExtern *mydata = ((Obj_header *)data)->data; \ + GetMyClass(data)->beforeDeletion(); \ + delete mydata; \ ((Obj_header *)data)->Obj_header::~Obj_header(); } \ static void real_obj_setupCallback(t_class *classPtr) \ { PARENT_CLASS::real_obj_setupCallback(classPtr); \ diff --git a/Gem/develop/include/Gem/Base/GemBase.h b/Gem/develop/include/Gem/Base/GemBase.h index 09e6a8f..9b0d362 100644 --- a/Gem/develop/include/Gem/Base/GemBase.h +++ b/Gem/develop/include/Gem/Base/GemBase.h @@ -128,6 +128,8 @@ class GEM_EXTERN GemBase : public CPPExtern protected: enum RenderState getState(void); + + virtual void beforeDeletion(void); }; #endif // for header file diff --git a/Gem/develop/include/Gem/Base/GemWindow.h b/Gem/develop/include/Gem/Base/GemWindow.h index c5105c4..18ad28f 100644 --- a/Gem/develop/include/Gem/Base/GemWindow.h +++ b/Gem/develop/include/Gem/Base/GemWindow.h @@ -30,6 +30,7 @@ DESCRIPTION namespace gem { class Context; }; +class GemBase; class GEM_EXTERN GemWindow : public CPPExtern { @@ -86,6 +87,12 @@ class GEM_EXTERN GemWindow : public CPPExtern */ static gem::Context*destroyContext(gem::Context*); + /* + * call stopRendering() of a given objects for all valid contexts + * (this will make each context current, call obj->stopRendering and switch back to the original context) + */ + static void stopInAllContexts(GemBase*obj); + /* this MUST be called from the derived classes * as it will eventually establish a new GemContext (if m_context is non-NULL) * if you want to share GemContext's you MUST call diff --git a/Gem/gem_filmAVFoundation.so b/Gem/gem_filmAVFoundation.so index 4b17cae..448929c 100755 Binary files a/Gem/gem_filmAVFoundation.so and b/Gem/gem_filmAVFoundation.so differ diff --git a/Gem/gem_imageJPEG.so b/Gem/gem_imageJPEG.so index e965983..f3b899e 100755 Binary files a/Gem/gem_imageJPEG.so and b/Gem/gem_imageJPEG.so differ diff --git a/Gem/gem_imageMAGICK.so b/Gem/gem_imageMAGICK.so index 76d53f9..147eca4 100755 Binary files a/Gem/gem_imageMAGICK.so and b/Gem/gem_imageMAGICK.so differ diff --git a/Gem/gem_imageSGI.so b/Gem/gem_imageSGI.so index a272c77..4fb12fd 100755 Binary files a/Gem/gem_imageSGI.so and b/Gem/gem_imageSGI.so differ diff --git a/Gem/gem_imageTIFF.so b/Gem/gem_imageTIFF.so index e5adbc8..2193e80 100755 Binary files a/Gem/gem_imageTIFF.so and b/Gem/gem_imageTIFF.so differ diff --git a/Gem/gem_modelOBJ.so b/Gem/gem_modelOBJ.so index 622de1e..f5ce607 100755 Binary files a/Gem/gem_modelOBJ.so and b/Gem/gem_modelOBJ.so differ diff --git a/Gem/gemcocoawindow.pd_darwin b/Gem/gemcocoawindow.pd_darwin index 7ff85f5..e5eac2c 100755 Binary files a/Gem/gemcocoawindow.pd_darwin and b/Gem/gemcocoawindow.pd_darwin differ diff --git a/Gem/gemglfw2window.pd_darwin b/Gem/gemglfw2window.pd_darwin index 0192a9e..408f706 100755 Binary files a/Gem/gemglfw2window.pd_darwin and b/Gem/gemglfw2window.pd_darwin differ diff --git a/Gem/gemglfw3window.pd_darwin b/Gem/gemglfw3window.pd_darwin index b7d6f7b..227036b 100755 Binary files a/Gem/gemglfw3window.pd_darwin and b/Gem/gemglfw3window.pd_darwin differ diff --git a/Gem/gemglutwindow.pd_darwin b/Gem/gemglutwindow.pd_darwin index 0c99f42..b13c2fc 100755 Binary files a/Gem/gemglutwindow.pd_darwin and b/Gem/gemglutwindow.pd_darwin differ diff --git a/Gem/gemsdlwindow.pd_darwin b/Gem/gemsdlwindow.pd_darwin index 7ca36ba..88456e8 100755 Binary files a/Gem/gemsdlwindow.pd_darwin and b/Gem/gemsdlwindow.pd_darwin differ diff --git a/Gem/pix_drum.pd_darwin b/Gem/pix_drum.pd_darwin index 07e8b76..29d04aa 100755 Binary files a/Gem/pix_drum.pd_darwin and b/Gem/pix_drum.pd_darwin differ diff --git a/Gem/pix_fiducialtrack.pd_darwin b/Gem/pix_fiducialtrack.pd_darwin index 4fc3984..b788411 100755 Binary files a/Gem/pix_fiducialtrack.pd_darwin and b/Gem/pix_fiducialtrack.pd_darwin differ diff --git a/Gem/pix_hit.pd_darwin b/Gem/pix_hit.pd_darwin index 99596e7..59f57f3 100755 Binary files a/Gem/pix_hit.pd_darwin and b/Gem/pix_hit.pd_darwin differ diff --git a/Gem/pix_mano.pd_darwin b/Gem/pix_mano.pd_darwin index f99fc68..4ec5150 100755 Binary files a/Gem/pix_mano.pd_darwin and b/Gem/pix_mano.pd_darwin differ -- cgit v1.2.1