** This is part of the CTSim program
** Copyright (C) 1983-2001 Kevin Rosenberg
**
-** $Id: threadproj.cpp,v 1.6 2001/03/01 07:30:49 kevin Exp $
+** $Id: threadproj.cpp,v 1.7 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
#include "wx/wx.h"
#endif
+#if defined(HAVE_CONFIG_H)
+#include "config.h"
+#endif
+
#include "ct.h"
#include "ctsim.h"
#include "docs.h"
#include "backgroundmgr.h"
#include "backgroundsupr.h"
-#if defined(HAVE_CONFIG_H)
-#include "config.h"
-#endif
+#ifdef HAVE_WXTHREADS
+
wxCriticalSection doneSection;
wxCriticalSectionLocker critsect (doneSection);
+ Projections* pProjections = getProjections();
+
+ wxMutexGuiEnter();
ProjectionFileDocument* pProjDoc = theApp->newProjectionDoc();
if (! pProjDoc) {
sys_error (ERR_SEVERE, "Unable to create projection file");
return;
- }
-
- Projections* pProjections = getProjections();
+ }
pProjDoc->setProjections (pProjections);
- if (theApp->getAskDeleteNewDocs())
- pProjDoc->Modify (true);
pProjDoc->UpdateAllViews (NULL);
if (ProjectionFileView* projView = pProjDoc->getView()) {
projView->OnUpdate (projView, NULL);
projView->getFrame()->Show(true);
}
*theApp->getLog() << m_pszLabel << "\n";
+ wxMutexGuiLeave();
+
+ if (theApp->getAskDeleteNewDocs())
+ pProjDoc->Modify (true);
pProjections->setRemark (m_pszLabel);
pProjections->setCalcTime (getTimerEnd());
ProjectorWorker::OnExit ()
{
}
+
+#endif // HAVE_WXTHREADS