From 3edb9098667fb9d78bc1b9f0eae53caa8dbdcbaa Mon Sep 17 00:00:00 2001 From: Mike Nolan Date: Thu, 27 Feb 2025 04:24:01 -0600 Subject: [PATCH] default to webcam off --- include/TessesFramework/HiddenField.hpp | 2 +- src/Threading/Mutex.cpp | 14 +++++++++++--- src/Threading/Thread.cpp | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/include/TessesFramework/HiddenField.hpp b/include/TessesFramework/HiddenField.hpp index f370c2b..9a7894b 100644 --- a/include/TessesFramework/HiddenField.hpp +++ b/include/TessesFramework/HiddenField.hpp @@ -21,7 +21,7 @@ class HiddenField { return dynamic_cast(ptr); } template - T AllocField() + T* AllocField() { auto v = new T(); SetField(v); diff --git a/src/Threading/Mutex.cpp b/src/Threading/Mutex.cpp index df0ca6b..f1d296d 100644 --- a/src/Threading/Mutex.cpp +++ b/src/Threading/Mutex.cpp @@ -11,7 +11,7 @@ namespace Tesses::Framework::Threading { - + #if defined(TESSESFRAMEWORK_ENABLE_THREADING) class MutexHiddenFieldData : public HiddenFieldData { public: @@ -35,10 +35,11 @@ namespace Tesses::Framework::Threading #endif } }; - + #endif Mutex::Mutex() { - auto md=this->data.AllocField(); + #if defined(TESSESFRAMEWORK_ENABLE_THREADING) + auto md=this->data.AllocField(); #if defined(_WIN32) md->mtx = CreateMutex(NULL,false,NULL); #elif defined(GEKKO) @@ -50,9 +51,11 @@ namespace Tesses::Framework::Threading pthread_mutex_init(&md->mtx,&md->attr); #endif + #endif } void Mutex::Lock() { + #if defined(TESSESFRAMEWORK_ENABLE_THREADING) auto md = this->data.GetField(); #if defined(_WIN32) WaitForSingleObject(md->mtx, INFINITE); @@ -61,9 +64,11 @@ namespace Tesses::Framework::Threading #else pthread_mutex_lock(&md->mtx); #endif + #endif } void Mutex::Unlock() { + #if defined(TESSESFRAMEWORK_ENABLE_THREADING) auto md = this->data.GetField(); #if defined(_WIN32) ReleaseMutex(md->mtx); @@ -72,9 +77,11 @@ namespace Tesses::Framework::Threading #else pthread_mutex_unlock(&md->mtx); #endif + #endif } bool Mutex::TryLock() { + #if defined(TESSESFRAMEWORK_ENABLE_THREADING) auto md = this->data.GetField(); #if defined(_WIN32) return WaitForSingleObject(md->mtx, 100) == WAIT_OBJECT_0; @@ -83,6 +90,7 @@ namespace Tesses::Framework::Threading #else return pthread_mutex_trylock(&md->mtx) == 0; #endif + #endif } Mutex::~Mutex() { diff --git a/src/Threading/Thread.cpp b/src/Threading/Thread.cpp index 3b1ef92..d692fe5 100644 --- a/src/Threading/Thread.cpp +++ b/src/Threading/Thread.cpp @@ -81,7 +81,7 @@ namespace Tesses::Framework::Threading void Thread::Join() { #if defined(TESSESFRAMEWORK_ENABLE_THREADING) - auto data = this->data.AllocField(); + auto data = this->data.AllocField(); #if defined(_WIN32) WaitForSingleObject(data->thrd, INFINITE); #elif defined(GEKKO)