diff --git a/src/wx/guiinit.cpp b/src/wx/guiinit.cpp index fbc4ca99..654df8ba 100644 --- a/src/wx/guiinit.cpp +++ b/src/wx/guiinit.cpp @@ -2804,10 +2804,8 @@ bool MainFrame::InitMore(void) getcbb("VSync", gopts.vsync); // FIXME: make cb disabled when not GL or d3d int mthr = wxThread::GetCPUCount(); - if(mthr > 8) - mthr = 8; - if(mthr < 0) - mthr = 2; + if(mthr < 1 ) + mthr = 1; cb=SafeXRCCTRL(d, "Multithread"); cb->SetValidator(wxBoolIntValidator(&gopts.max_threads, mthr)); if(mthr <= 1) diff --git a/src/wx/panel.cpp b/src/wx/panel.cpp index 863bd7d2..ad3301bd 100644 --- a/src/wx/panel.cpp +++ b/src/wx/panel.cpp @@ -1083,7 +1083,7 @@ DrawingPanel::DrawingPanel(int _width, int _height) : // Create and start up new threads nthreads = gopts.max_threads; - if(nthreads > 1) { + if(nthreads) { threads = new FilterThread[nthreads]; for(int i = 0; i < nthreads; i++) { threads[i].threadno = i; @@ -1133,7 +1133,7 @@ void DrawingPanel::DrawArea(u8 **data) int horiz_bytes_out = width * bytes_per_pixel * scale; // First, apply filters, if applicable, in parallel, if enabled - if(myFilter->exists() || iFilter->exists() ) + if(nthreads) { for(int i = 0; i < nthreads; i++) { threads[i].lock.Lock();