Safer workflow when checking for OpenCL

This is to prevent users being locked out of the
settings when a buggy OpenCL driver that was
working before starts failing.

Related to #36078
This commit is contained in:
Alessandro Pasotti 2020-04-29 10:55:21 +02:00 committed by Nyall Dawson
parent bb621677c8
commit 4aff6b74dc

View File

@ -1153,8 +1153,13 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl, const QList<QgsOpti
{
if ( checked )
{
// Since this may crash and lock users out of the settings, let's disable opencl setting before entering
// and restore after available was successfully called
const bool openClStatus { QgsOpenClUtils::enabled() };
QgsOpenClUtils::setEnabled( false );
if ( QgsOpenClUtils::available( ) )
{
QgsOpenClUtils::setEnabled( openClStatus );
mOpenClContainerWidget->setEnabled( true );
mOpenClDevicesCombo->clear();