diff --git a/src/Mod/Fem/Gui/DlgSettingsFemCcxImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemCcxImp.cpp index 68ed8742cc..74e7a443ec 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemCcxImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemCcxImp.cpp @@ -25,7 +25,7 @@ #include "PreCompiled.h" #ifndef _PreComp_ -# include +# include # include #endif @@ -46,10 +46,8 @@ DlgSettingsFemCcxImp::DlgSettingsFemCcxImp(QWidget* parent) ui->dsb_ccx_analysis_time->setMaximum(FLOAT_MAX); ui->dsb_ccx_initial_time_step->setMaximum(FLOAT_MAX); // determine number of CPU cores - auto processor_count = std::thread::hardware_concurrency(); - // hardware check might fail and then returns 0 - if (processor_count > 0) - ui->sb_ccx_numcpu->setMaximum(processor_count); + int processor_count = QThread::idealThreadCount(); + ui->sb_ccx_numcpu->setMaximum(processor_count); connect(ui->fc_ccx_binary_path, &Gui::PrefFileChooser::fileNameChanged, this, &DlgSettingsFemCcxImp::onfileNameChanged); diff --git a/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.cpp index 201bbe3f24..20126e56b2 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.cpp +++ b/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.cpp @@ -24,7 +24,7 @@ #include "PreCompiled.h" #ifndef _PreComp_ -# include +# include # include #endif @@ -41,10 +41,8 @@ DlgSettingsFemElmerImp::DlgSettingsFemElmerImp(QWidget* parent) ui->setupUi(this); // determine number of CPU cores - processor_count = std::thread::hardware_concurrency(); - // hardware check might fail and then returns 0 - if (processor_count > 0) - ui->sb_elmer_num_cores->setMaximum(processor_count); + processor_count = QThread::idealThreadCount(); + ui->sb_elmer_num_cores->setMaximum(processor_count); connect(ui->fc_grid_binary_path, &Gui::PrefFileChooser::fileNameChanged, this, &DlgSettingsFemElmerImp::onfileNameChanged); @@ -109,10 +107,7 @@ void DlgSettingsFemElmerImp::onfileNameChanged(QString FileName) void DlgSettingsFemElmerImp::onfileNameChangedMT(QString FileName) { - // reset in case it was previously set to 1 - // (hardware check might fail and then returns 0) - if (processor_count > 0) - ui->sb_elmer_num_cores->setMaximum(processor_count); + ui->sb_elmer_num_cores->setMaximum(processor_count); if (ui->sb_elmer_num_cores->value() == 1) return; diff --git a/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.h b/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.h index e42b65e82b..ed089d3ffe 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.h +++ b/src/Mod/Fem/Gui/DlgSettingsFemElmerImp.h @@ -51,7 +51,7 @@ protected: private: std::unique_ptr ui; - unsigned int processor_count; + int processor_count; }; } // namespace FemGui