diff --git a/source/app/ModulesHandle.cpp b/source/app/ModulesHandle.cpp index a57a43f..ce4b41f 100644 --- a/source/app/ModulesHandle.cpp +++ b/source/app/ModulesHandle.cpp @@ -153,7 +153,7 @@ SubWindowHandle* ModulesHandle::enableModuleIf( PlaYUVerModuleIf *pcCurrModuleIf pcCurrModuleIf->m_pcDisplaySubWindow->setModule( pcCurrModuleIf ); } } - if( pcCurrModuleIf->m_cModuleDef.m_iModuleType == FRAME_MEASUREMENT_MODULE ) + else if( pcCurrModuleIf->m_cModuleDef.m_iModuleType == FRAME_MEASUREMENT_MODULE ) { if( pcCurrModuleIf->m_cModuleDef.m_uiModuleRequirements & MODULE_REQUIRES_SIDEBAR ) { @@ -370,10 +370,10 @@ Void ModulesHandle::customEvent( QEvent *event ) switch( eventData->m_pcModule->m_cModuleDef.m_iModuleType ) { case FRAME_PROCESSING_MODULE: - showModuleIf( eventData->m_pcModule, eventData->m_pcProcessedFrame ); + showModuleIf( eventData->m_pcModule, eventData->m_pcModule->m_pcProcessedFrame ); break; case FRAME_MEASUREMENT_MODULE: - showModuleIf( eventData->m_pcModule, eventData->m_dMeasurementResult ); + showModuleIf( eventData->m_pcModule, eventData->m_pcModule->m_dMeasurementResult ); break; } } diff --git a/source/app/PlaYUVerModuleIf.cpp b/source/app/PlaYUVerModuleIf.cpp index f212863..3c3172b 100644 --- a/source/app/PlaYUVerModuleIf.cpp +++ b/source/app/PlaYUVerModuleIf.cpp @@ -77,17 +77,18 @@ void PlaYUVerModuleIf::run() break; } } - postProgress( true, m_pcProcessedFrame, m_dMeasurementResult ); + else + { + return; + } + postProgress( true ); + return; } -Void PlaYUVerModuleIf::postProgress( Bool success, PlaYUVerFrame* pcProcessedFrame, Double moduleResult ) +Void PlaYUVerModuleIf::postProgress( Bool success ) { - EventData *eventData = new EventData(); - eventData->m_bSuccess = success; - eventData->m_pcProcessedFrame = pcProcessedFrame; - eventData->m_dMeasurementResult = moduleResult; - eventData->m_pcModule = this; - if( parent() && ( pcProcessedFrame || moduleResult ) ) + EventData *eventData = new EventData( success, this ); + if( parent() ) QCoreApplication::postEvent( parent(), eventData ); } diff --git a/source/app/PlaYUVerModuleIf.h b/source/app/PlaYUVerModuleIf.h index f897527..12c8656 100644 --- a/source/app/PlaYUVerModuleIf.h +++ b/source/app/PlaYUVerModuleIf.h @@ -108,22 +108,18 @@ private: PlaYUVerFrame* m_pcProcessedFrame; Double m_dMeasurementResult; - Void postProgress( Bool success, PlaYUVerFrame* pcProcessedFrame, Double moduleResult ); + Void postProgress( Bool success ); public: class EventData: public QEvent { public: - EventData() : + EventData( bool success = false, PlaYUVerModuleIf* module = NULL ) : QEvent( QEvent::User ) { - m_bSuccess = false; - m_pcProcessedFrame = NULL; - m_dMeasurementResult = 0; - m_pcModule = NULL; + m_bSuccess = success; + m_pcModule = module; } Bool m_bSuccess; - PlaYUVerFrame* m_pcProcessedFrame; - Double m_dMeasurementResult; PlaYUVerModuleIf* m_pcModule; }; @@ -146,6 +142,7 @@ public: Void setModuleDefinition( PlaYUVerModuleDefinition def ) { m_cModuleDef = def; } PlaYUVerModuleDefinition getModuleDefinition() { return m_cModuleDef; } + protected: virtual void run(); };