X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fthreadrecon.cpp;h=c075fb426118ba04081c9bdaa4e95b82d99b4419;hb=52f2fdc3424cd6b5b77ad1497243e1e06739ffe6;hp=dba08273bb2580683a8e31f2ce52866abe56e73c;hpb=a97f1819c4f24321ba8d54a16f6534ee94404d26;p=ctsim.git diff --git a/src/threadrecon.cpp b/src/threadrecon.cpp index dba0827..c075fb4 100644 --- a/src/threadrecon.cpp +++ b/src/threadrecon.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2001 Kevin Rosenberg ** -** $Id: threadrecon.cpp,v 1.13 2001/02/25 19:24:01 kevin Exp $ +** $Id: threadrecon.cpp,v 1.15 2001/03/02 21:11:50 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -25,6 +25,7 @@ ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ******************************************************************************/ + #include "wx/wxprec.h" #ifndef WX_PRECOMP @@ -39,9 +40,8 @@ #include "backgroundmgr.h" #include "backgroundsupr.h" -#if defined(HAVE_CONFIG_H) -#include "config.h" -#endif +#ifdef HAVE_WXTHREADS + @@ -117,7 +117,7 @@ ReconstructorSupervisor::ReconstructorSupervisor (SupervisorThread* pThread, Pro { m_vecpChildImageFile.reserve (getNumWorkers()); for (unsigned int iThread = 0; iThread < getNumWorkers(); iThread++) { - m_vecpChildImageFile[iThread] = new ImageFile (iImageNX, iImageNY); + m_vecpChildImageFile[iThread] = new ImageFile (m_iImageNX, m_iImageNY); } } @@ -147,16 +147,15 @@ ReconstructorSupervisor::onDone() wxCriticalSection doneSection; wxCriticalSectionLocker critsect (doneSection); + ImageFile* pImageFile = getImageFile(); + + wxMutexGuiEnter(); ImageFileDocument* pReconDoc = theApp->newImageDoc(); if (! pReconDoc) { sys_error (ERR_SEVERE, "Unable to create image file"); return; - } - - ImageFile* pImageFile = getImageFile(); + } pReconDoc->setImageFile (pImageFile); - if (theApp->getAskDeleteNewDocs()) - pReconDoc->Modify (true); pReconDoc->UpdateAllViews (m_pProjView); if (ImageFileView* rasterView = pReconDoc->getView()) { rasterView->OnUpdate (rasterView, NULL); @@ -164,6 +163,10 @@ ReconstructorSupervisor::onDone() rasterView->getFrame()->Show(true); } *theApp->getLog() << m_pszLabel << "\n"; + wxMutexGuiLeave(); + + if (theApp->getAskDeleteNewDocs()) + pReconDoc->Modify (true); pImageFile->labelAdd (m_pProjView->GetDocument()->getProjections().getLabel()); pImageFile->labelAdd (m_pszLabel, getTimerEnd()); @@ -274,3 +277,5 @@ void ReconstructorWorker::OnExit () { } + +#endif // HAVE_WXTHREADS