Index: src/app/qgssinglesymboldialog.h =================================================================== --- src/app/qgssinglesymboldialog.h (revision: 11107) +++ src/app/qgssinglesymboldialog.h (copia de trabajo) @@ -74,6 +74,7 @@ /** Default constructor is private, do not use this */ QgsSingleSymbolDialog(); QString mTexturePath; + bool isEqual( double x, double y ); signals: void settingsChanged(); Index: src/app/qgssinglesymboldialog.cpp =================================================================== --- src/app/qgssinglesymboldialog.cpp (revision: 11107) +++ src/app/qgssinglesymboldialog.cpp (copia de trabajo) @@ -31,6 +31,8 @@ #include #include #include +#include #define DO_NOT_USE_STR "" @@ -439,7 +441,7 @@ if ( lstSymbols->isEnabled() && lstSymbols->currentItem()->data( Qt::UserRole ).toString() != sy->pointSymbolName() ) lstSymbols->setEnabled( false ); - if ( mPointSizeSpinBox->isEnabled() && mPointSizeSpinBox->value() != sy->pointSize() ) + if ( mPointSizeSpinBox->isEnabled() && !isEqual( mPointSizeSpinBox->value(), sy->pointSize() ) ) mPointSizeSpinBox->setEnabled( false ); if ( mRotationClassificationComboBox->isEnabled() && @@ -450,7 +452,7 @@ mScaleClassificationComboBox->itemData( mScaleClassificationComboBox->currentIndex() ).toInt() != sy->scaleClassificationField() ) mScaleClassificationComboBox->setEnabled( false ); - if ( outlinewidthspinbox->isEnabled() && outlinewidthspinbox->value() != sy->pen().widthF() ) + if ( outlinewidthspinbox->isEnabled() && !isEqual( outlinewidthspinbox->value(), sy->pen().widthF() ) ) outlinewidthspinbox->setEnabled( false ); if ( btnFillColor->isEnabled() && btnFillColor->color() != sy->brush().color() ) @@ -591,3 +593,7 @@ } +bool QgsSingleSymbolDialog::isEqual( double x, double y ) +{ + return std::fabs( x - y ) <= 0.0001; +} \ No newline at end of file