From 7ef11714a9a0ac96f523fcd85f64c671a8cee26f Mon Sep 17 00:00:00 2001 From: "Kevin M. Rosenberg" Date: Sun, 28 Jan 2001 21:57:09 +0000 Subject: [PATCH] r464: no message --- msvc/ctsim/ctsim.plg | 99 +++----------------------------------------- src/ctsim.cpp | 84 ++++++++++++++++++------------------- src/views.cpp | 73 ++++++++++++++++++-------------- 3 files changed, 90 insertions(+), 166 deletions(-) diff --git a/msvc/ctsim/ctsim.plg b/msvc/ctsim/ctsim.plg index c717696..833213a 100644 --- a/msvc/ctsim/ctsim.plg +++ b/msvc/ctsim/ctsim.plg @@ -3,100 +3,16 @@
 

Build Log

---------------------Configuration: libctsim - Win32 Debug-------------------- -

-

Command Lines

-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP1490.tmp" with contents -[ -/nologo /G6 /MTd /W3 /Gm /GR /GX /Zi /Od /I "..\..\..\zlib" /I "..\..\INCLUDE" /I "..\..\getopt" /I "..\..\..\lpng108" /I "..\..\..\fftw-2.1.3\fftw" /I "..\..\..\fftw-2.1.3\rfftw" /I "..\..\..\wx2\include" /D "_DEBUG" /D "HAVE_WXWIN" /D "HAVE_STRING_H" /D "HAVE_GETOPT_H" /D "WIN32" /D "_MBCS" /D "_LIB" /D "MSVC" /D "HAVE_FFTW" /D "HAVE_PNG" /D "HAVE_SGP" /D "HAVE_WXWINDOWS" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /FR"Debug/" /Fp"Debug/libctsim.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c -"D:\ctsim\libctsim\backprojectors.cpp" -"D:\ctsim\libctgraphics\dlgezplot.cpp" -"D:\ctsim\libctsim\filter.cpp" -"D:\ctsim\libctsim\fourier.cpp" -"D:\ctsim\libctsim\globalvars.cpp" -"D:\ctsim\libctsupport\hashtable.cpp" -"D:\ctsim\libctsim\imagefile.cpp" -"D:\ctsim\libctsim\phantom.cpp" -"D:\ctsim\libctsupport\plotfile.cpp" -"D:\ctsim\libctgraphics\pol.cpp" -"D:\ctsim\libctsim\procsignal.cpp" -"D:\ctsim\libctsim\projections.cpp" -"D:\ctsim\libctsim\reconstruct.cpp" -"D:\ctsim\libctsim\scanner.cpp" -"D:\ctsim\libctsupport\syserror.cpp" -"D:\ctsim\libctsim\trace.cpp" -] -Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP1490.tmp" -Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP1491.tmp" with contents -[ -/nologo /out:"Debug\libctsim.lib" -.\Debug\array2dfile.obj -.\Debug\backprojectors.obj -.\Debug\clip.obj -.\Debug\consoleio.obj -.\Debug\dlgezplot.obj -.\Debug\ezplot.obj -.\Debug\ezset.obj -.\Debug\ezsupport.obj -.\Debug\filter.obj -.\Debug\fnetorderstream.obj -.\Debug\fourier.obj -.\Debug\getopt.obj -.\Debug\getopt1.obj -.\Debug\globalvars.obj -.\Debug\hashtable.obj -.\Debug\imagefile.obj -.\Debug\mathfuncs.obj -.\Debug\phantom.obj -.\Debug\plotfile.obj -.\Debug\pol.obj -.\Debug\procsignal.obj -.\Debug\projections.obj -.\Debug\reconstruct.obj -.\Debug\scanner.obj -.\Debug\sgp.obj -.\Debug\strfuncs.obj -.\Debug\syserror.obj -.\Debug\trace.obj -.\Debug\transformmatrix.obj -.\Debug\xform.obj -] -Creating command line "link.exe -lib @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP1491.tmp" -

Output Window

-Compiling... -backprojectors.cpp -dlgezplot.cpp -filter.cpp -fourier.cpp -globalvars.cpp -hashtable.cpp -imagefile.cpp -phantom.cpp -plotfile.cpp -pol.cpp -procsignal.cpp -projections.cpp -reconstruct.cpp -scanner.cpp -syserror.cpp -trace.cpp -Creating library... -

--------------------Configuration: ctsim - Win32 Debug--------------------

Command Lines

-Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP1492.tmp" with contents +Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP5BC.tmp" with contents [ /nologo /G6 /MTd /W3 /Gm /GR /GX /Zi /Od /I "\wx2\include" /I "." /I "..\..\include" /I "..\..\getopt" /I "..\..\..\lpng108" /I "..\..\..\zlib" /I "..\..\..\fftw-2.1.3\fftw" /I "..\..\..\fftw-2.1.3\rfftw" /D VERSION=\"2.5.0\" /D "_DEBUG" /D "__WXMSW__" /D "HAVE_SGP" /D "HAVE_PNG" /D "HAVE_WXWINDOWS" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "HAVE_STRING_H" /D "HAVE_FFTW" /D "HAVE_RFFTW" /D "HAVE_GETOPT_H" /D "MSVC" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D CTSIMVERSION=\"3.0.0alpha5\" /FR"Debug/" /Fp"Debug/ctsim.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c -"D:\ctsim\src\ctsim.cpp" -"D:\ctsim\src\dialogs.cpp" -"D:\ctsim\src\dlgprojections.cpp" -"D:\ctsim\src\dlgreconstruct.cpp" -"D:\ctsim\src\docs.cpp" -"D:\ctsim\src\views.cpp" +"C:\ctsim\src\views.cpp" ] -Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP1492.tmp" -Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP1493.tmp" with contents +Creating command line "cl.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP5BC.tmp" +Creating temporary file "C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP5BD.tmp" with contents [ comctl32.lib winmm.lib rpcrt4.lib ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ../libctsim/Debug/libctsim.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib ..\..\..\lpng108\msvc\win32\libpng\lib_dbg\libpng.lib ..\..\..\lpng108\msvc\win32\zlib\lib_dbg\zlib.lib libcmtd.lib ..\..\..\fftw-2.1.3\Win32\FFTW2st\Debug\FFTW2st.lib ..\..\..\fftw-2.1.3\Win32\RFFTW2st\Debug\RFFTW2st.lib ../../../wx2/lib/wxd.lib xpmd.lib /nologo /subsystem:windows /incremental:yes /pdb:"Debug/ctsim.pdb" /debug /machine:I386 /out:"Debug/ctsim.exe" /pdbtype:sept /libpath:"..\..\..\lpng108\msvc\win32\libpng\lib" /libpath:"..\..\..\lpng108\msvc\win32\zlib\lib" /libpath:"..\..\..\wx2\lib" .\Debug\ctsim.obj @@ -112,15 +28,10 @@ comctl32.lib winmm.lib rpcrt4.lib ws2_32.lib kernel32.lib user32.lib gdi32.lib w \wx2\lib\wxd.lib \wx2\lib\xpmd.lib ] -Creating command line "link.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP1493.tmp" +Creating command line "link.exe @C:\DOCUME~1\kevin\LOCALS~1\Temp\RSP5BD.tmp"

Output Window

Compiling... views.cpp -ctsim.cpp -dialogs.cpp -dlgprojections.cpp -dlgreconstruct.cpp -docs.cpp Linking... diff --git a/src/ctsim.cpp b/src/ctsim.cpp index fe95867..f18a0ee 100644 --- a/src/ctsim.cpp +++ b/src/ctsim.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: ctsim.cpp,v 1.54 2001/01/28 19:10:18 kevin Exp $ +** $Id: ctsim.cpp,v 1.55 2001/01/28 21:57:09 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 @@ -70,7 +70,7 @@ #endif #endif -static const char* rcsindent = "$Id: ctsim.cpp,v 1.54 2001/01/28 19:10:18 kevin Exp $"; +static const char* rcsindent = "$Id: ctsim.cpp,v 1.55 2001/01/28 21:57:09 kevin Exp $"; struct option CTSimApp::ctsimOptions[] = { @@ -101,10 +101,10 @@ CTSimApp::OnInit() #ifdef HAVE_SETPRIORITY setpriority (PRIO_PROCESS, 0, 15); // set to low scheduling priority #endif - + m_pConfig = new wxConfig("ctsim"); wxConfigBase::Set(m_pConfig); - + g_bRunningWXWindows = true; // process options while (1) { @@ -157,7 +157,7 @@ CTSimApp::OnInit() m_pFrame->Centre(wxBOTH); m_pFrame->Show(true); SetTopWindow (m_pFrame); - + for (int i = optind + 1; i <= argc; i++) { wxString filename = argv [i - 1]; m_docManager->CreateDocument (filename, wxDOC_SILENT); @@ -165,7 +165,7 @@ CTSimApp::OnInit() if (m_pConfig) m_docManager->FileHistoryLoad(*m_pConfig); - + #ifdef CTSIM_MDI TextFileDocument* pLogDoc = newTextDoc(); if (pLogDoc) { @@ -177,20 +177,20 @@ CTSimApp::OnInit() m_pFrame->GetClientSize(&xSize, &ySize); int yLogSize = ySize / 3; pLogDoc->getView()->getFrame()->SetSize (0, ySize - yLogSize, xSize, yLogSize); - pLogDoc->getView()->getFrame()->Show (true); + pLogDoc->getView()->getFrame()->Show (true); } else #else m_pLog = new wxTextCtrl (m_pFrame, -1, "Log Window\n", wxPoint(0, 0), wxSize(0,0), wxTE_MULTILINE | wxTE_READONLY); #endif wxLog::SetActiveTarget (new wxLogTextCtrl(m_pLog)); - + #ifdef CTSIM_WINHELP if (! m_pFrame->getWinHelpController().Initialize("ctsim")) *m_pLog << "Cannot initialize the Windows Help system" << "\n"; #endif if (! m_pFrame->getHtmlHelpController().Initialize(::wxGetCwd() + "/ctsim")) *m_pLog << "Cannot initialize the HTML Help system" << "\n"; - + return true; } @@ -306,12 +306,12 @@ MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const // history of files visited theApp->getDocManager()->FileHistoryAddFilesToMenu(file_menu); theApp->getDocManager()->FileHistoryUseMenu(file_menu); - + #ifndef CTSIM_MDI m_pWindowMenu = new wxMenu; m_pWindowMenu->UpdateUI (this); #endif - + wxMenu* help_menu = new wxMenu; help_menu->Append(MAINMENU_HELP_CONTENTS, "&Contents\tF1"); help_menu->Append(MAINMENU_HELP_TOPICS, "&Topics\tCtrl-T"); @@ -338,7 +338,7 @@ MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const m_pWindowMenu->Enable (MAINMENU_WINDOW_BASE+i, false); } #endif - + m_iDefaultPhantomID = Phantom::PHM_HERMAN; m_iDefaultFilterID = SignalFilter::FILTER_BANDLIMIT; m_iDefaultFilterDomainID = SignalFilter::DOMAIN_FREQUENCY; @@ -362,16 +362,16 @@ MainFrame::MainFrame(wxDocManager *manager, wxFrame *frame, wxWindowID id, const #else wxAcceleratorTable accelTable (4, accelEntries); #endif - + SetAcceleratorTable (accelTable); } MainFrame::~MainFrame() { - if (theApp->getConfig()) - theApp->getDocManager()->FileHistorySave (*theApp->getConfig()); - delete theApp->getDocManager(); - + if (theApp->getConfig()) + theApp->getDocManager()->FileHistorySave (*theApp->getConfig()); + delete theApp->getDocManager(); + } void @@ -394,9 +394,9 @@ MainFrame::OnSize (wxSizeEvent& event) } sizeClient.x -= sizeLog.x; sizeClient.y -= sizeLog.y; -// m_pLog->SetSize (0, sizeClient.y, sizeLog.x, sizeLog.y); -// GetClientWindow()->SetSize (0, 0, sizeClient.x, sizeClient.y); -// GetClientWindow()->Refresh(); + // m_pLog->SetSize (0, sizeClient.y, sizeLog.x, sizeLog.y); + // GetClientWindow()->SetSize (0, 0, sizeClient.x, sizeClient.y); + // GetClientWindow()->Refresh(); #if CTSIM_MDI wxDocMDIParentFrame::OnSize (event); #else @@ -455,8 +455,8 @@ MainFrame::OnCreateFilter (wxCommandEvent& WXUNUSED(event)) pFilterDoc->Modify (true); pFilterDoc->UpdateAllViews(); pFilterDoc->GetFirstView()->OnUpdate (NULL, NULL); - pFilterDoc->getView()->getFrame()->SetClientSize(m_iDefaultFilterXSize, m_iDefaultFilterYSize); - pFilterDoc->getView()->getFrame()->Show(true); + pFilterDoc->getView()->getFrame()->SetClientSize(m_iDefaultFilterXSize, m_iDefaultFilterYSize); + pFilterDoc->getView()->getFrame()->Show(true); } } @@ -494,7 +494,7 @@ MainFrame::OnHelpContents (wxCommandEvent& event) void MainFrame::OnHelpSecondary (wxCommandEvent& event) { - m_htmlHelp.DisplayContents(); + m_htmlHelp.DisplayContents(); } #endif @@ -508,7 +508,7 @@ MainFrame::showHelp (int commandID) #endif switch (commandID) { - + case MAINMENU_HELP_CONTENTS: #ifdef CTSIM_WINHELP m_winHelp.DisplayContents (); @@ -516,7 +516,7 @@ MainFrame::showHelp (int commandID) m_htmlHelp.DisplayContents (); #endif break; - + case MAINMENU_HELP_TOPICS: #ifdef CTSIM_WINHELP m_winHelp.DisplaySection (introduction); @@ -524,7 +524,7 @@ MainFrame::showHelp (int commandID) m_htmlHelp.DisplayIndex(); #endif break; - + default: *theApp->getLog() << "Unknown help command # " << commandID << "\n"; break; @@ -568,9 +568,9 @@ MainFrame::OnUpdateUI (wxUpdateUIEvent& rEvent) void MainFrame::OnMRUFile (wxCommandEvent& event) { - wxString fileName (theApp->getDocManager()->GetHistoryFile(event.GetId() - wxID_FILE1)); - if (fileName != "") - theApp->getDocManager()->CreateDocument(fileName, wxDOC_SILENT); + wxString fileName (theApp->getDocManager()->GetHistoryFile(event.GetId() - wxID_FILE1)); + if (fileName != "") + theApp->getDocManager()->CreateDocument(fileName, wxDOC_SILENT); } #endif @@ -784,7 +784,7 @@ CTSimApp::newProjectionDoc() } newDoc->OnNewDocument(); } - + return newDoc; } @@ -803,7 +803,7 @@ CTSimApp::newImageDoc() } newDoc->OnNewDocument(); } - + return newDoc; } @@ -816,14 +816,14 @@ CTSimApp::newPlotDoc() if (pView) { wxFrame* pFrame = pView->getFrame(); if (pFrame) { - wxSize size; - m_pFrame->GetClientSize (&size.x, &size.y); + wxSize size; + m_pFrame->GetClientSize (&size.x, &size.y); pFrame->SetSize (size.x / 2, size.y / 2); - } + } } newDoc->OnNewDocument(); } - + return newDoc; } @@ -833,22 +833,22 @@ CTSimApp::newTextDoc() { wxString strFilename (getUntitledFilename()); strFilename += ".txt"; - + TextFileDocument* newDoc = dynamic_cast(m_pDocTemplText->CreateDocument ("")); if (newDoc) { TextFileView* pView = newDoc->getView(); if (pView) { wxFrame* pFrame = pView->getFrame(); if (pFrame) { - wxSize size; - m_pFrame->GetClientSize (&size.x, &size.y);; + wxSize size; + m_pFrame->GetClientSize (&size.x, &size.y);; pFrame->SetSize (size.x / 2, size.y / 2); - pFrame->Show (false); - } + pFrame->Show (false); + } } newDoc->OnNewDocument(); } - + return newDoc; } @@ -866,6 +866,6 @@ CTSimApp::newPhantomDoc() } newDoc->OnNewDocument(); } - + return newDoc; } diff --git a/src/views.cpp b/src/views.cpp index 3a6db53..12eaf54 100644 --- a/src/views.cpp +++ b/src/views.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: views.cpp,v 1.85 2001/01/28 20:05:17 kevin Exp $ +** $Id: views.cpp,v 1.86 2001/01/28 21:57:09 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 @@ -912,7 +912,7 @@ bool ImageFileView::OnCreate (wxDocument *doc, long WXUNUSED(flags) ) { m_pFrame = CreateChildFrame(doc, this); - (m_pFrame); + (m_pFrame); m_bMinSpecified = false; m_bMaxSpecified = false; @@ -1000,7 +1000,7 @@ ImageFileView::OnClose (bool deleteWindow) return false; if (m_pCanvas) { - m_pCanvas->Show(false); + m_pCanvas->Show(false); m_pCanvas->setView(NULL); m_pCanvas = NULL; } @@ -1010,10 +1010,9 @@ ImageFileView::OnClose (bool deleteWindow) SetFrame(NULL); Activate(false); - + if (deleteWindow) { m_pFrame->Show(false); - ::wxYield(); m_pFrame->Destroy(); m_pFrame = NULL; } @@ -1822,7 +1821,13 @@ PhantomFileView::OnProjections (wxCommandEvent& event) for (int iView = 0; iView < rProj.nView(); iView++) { ::wxYield(); if (dialogProjections.isCancelled() || ! dialogProjections.projectView (iView)) { - pProjectionDoc->getView()->getFrame()->Close(true); + pProjectionDoc->getView()->getFrame()->Show(true); + GetDocumentManager()->ActivateView (pProjectionDoc->getView(), true, false); + pProjectionDoc->getView()->getFrame()->SetFocus(); + wxCommandEvent event; + GetDocumentManager()->OnFileClose (event); + GetDocumentManager()->ActivateView (this, true, false); + getFrame()->SetFocus(); return; } ::wxYield(); @@ -1836,8 +1841,13 @@ PhantomFileView::OnProjections (wxCommandEvent& event) for (int i = 0; i < rProj.nView(); i++) { theScanner.collectProjections (rProj, rPhantom, i, 1, true, m_iDefaultTrace); if (! dlgProgress.Update (i+1)) { - pProjectionDoc->getView()->OnClose(true); - delete pProjectionDoc; + pProjectionDoc->getView()->getFrame()->Show(true); + GetDocumentManager()->ActivateView (pProjectionDoc->getView(), true, false); + pProjectionDoc->getView()->getFrame()->SetFocus(); + wxCommandEvent event; + GetDocumentManager()->OnFileClose (event); + GetDocumentManager()->ActivateView (this, true, false); + getFrame()->SetFocus(); return; } } @@ -1853,7 +1863,7 @@ PhantomFileView::OnProjections (wxCommandEvent& event) ProjectionFileView* projView = pProjectionDoc->getView(); if (projView) { projView->OnUpdate (projView, NULL); - if (projView->getCanvas()) + if (projView->getCanvas()) projView->getCanvas()->SetClientSize (m_iDefaultNDet, m_iDefaultNView); if (wxFrame* pFrame = projView->getFrame()) { pFrame->Show(true); @@ -1897,9 +1907,12 @@ PhantomFileView::OnRasterize (wxCommandEvent& event) for (unsigned int i = 0; i < imageFile.nx(); i++) { rPhantom.convertToImagefile (imageFile, m_iDefaultRasterNSamples, Trace::TRACE_NONE, i, 1, true); if (! dlgProgress.Update (i+1)) { - pRasterDoc->Close(); - pRasterDoc->getView()->OnClose(true); - delete pRasterDoc; + GetDocumentManager()->ActivateView (pRasterDoc->getView(), true, true); + pRasterDoc->getView()->getFrame()->SetFocus(); + wxCommandEvent event; + GetDocumentManager()->OnFileClose (event); + GetDocumentManager()->ActivateView (this, true, false); + getFrame()->SetFocus(); return; } } @@ -2045,7 +2058,7 @@ PhantomFileView::OnClose (bool deleteWindow) return false; if (m_pCanvas) { - m_pCanvas->Show(false); + m_pCanvas->Show(false); m_pCanvas->setView(NULL); m_pCanvas = NULL; } @@ -2057,9 +2070,8 @@ PhantomFileView::OnClose (bool deleteWindow) Activate(false); if (deleteWindow) { - m_pFrame->Show(false); - ::wxYield(); - m_pFrame->Destroy(); + m_pFrame->Show(false); + m_pFrame->Destroy(); m_pFrame = NULL; } @@ -2132,7 +2144,7 @@ ProjectionFileView::ProjectionFileView() m_iDefaultNX = 256; m_iDefaultNY = 256; #endif - + m_iDefaultFilter = SignalFilter::FILTER_ABS_BANDLIMIT; m_dDefaultFilterParam = 1.; #if HAVE_FFTW @@ -2308,8 +2320,12 @@ ProjectionFileView::OnReconstructFBP (wxCommandEvent& event) pReconstruct->reconstructView (i, 1); if (! dlgProgress.Update (i + 1)) { delete pReconstruct; - pReconDoc->getView()->OnClose(true); - delete pReconDoc; + GetDocumentManager()->ActivateView (pReconDoc->getView(), true, true); + pReconDoc->getView()->getFrame()->SetFocus(); + wxCommandEvent event; + GetDocumentManager()->OnFileClose (event); + GetDocumentManager()->ActivateView (this, true, false); + getFrame()->SetFocus(); return; } } @@ -2521,7 +2537,7 @@ ProjectionFileView::OnClose (bool deleteWindow) return false; if (m_pCanvas) { - m_pCanvas->Show(false); + m_pCanvas->Show(false); m_pCanvas->setView(NULL); m_pCanvas = NULL; } @@ -2534,7 +2550,6 @@ ProjectionFileView::OnClose (bool deleteWindow) if (deleteWindow) { m_pFrame->Show(false); - ::wxYield(); m_pFrame->Destroy(); m_pFrame = NULL; } @@ -2850,7 +2865,7 @@ PlotFileView::OnClose (bool deleteWindow) return false; if (m_pCanvas) { - m_pCanvas->Show(false); + m_pCanvas->Show(false); m_pCanvas->setView (NULL); m_pCanvas = NULL; } @@ -2861,11 +2876,10 @@ PlotFileView::OnClose (bool deleteWindow) Activate(false); m_pFrame->SetView(NULL); - SetFrame(NULL); + SetFrame(NULL); if (deleteWindow) { m_pFrame->Show(false); - ::wxYield(); - m_pFrame->Destroy(); + m_pFrame->Destroy(); m_pFrame = NULL; } return true; @@ -2919,21 +2933,20 @@ void TextFileView::OnUpdate (wxView *WXUNUSED(sender), wxObject *WXUNUSED(hint) bool TextFileView::OnClose (bool deleteWindow) { - // if (m_pFrame && m_pFrame->GetTitle() == "Log") - return false; + // if (m_pFrame && m_pFrame->GetTitle() == "Log") + return false; if (! GetDocument() || ! GetDocument()->Close()) return false; m_pCanvas->Show(false); Activate(false); - + SetFrame(NULL); m_pFrame->SetView(NULL); if (deleteWindow) { m_pFrame->Show(false); - ::wxYield(); - m_pFrame->Destroy(); + m_pFrame->Destroy(); m_pFrame = NULL; } -- 2.34.1