Bug report #4132

histogram gets needlessly refreshed twice - proposed fix

Added by Etienne Tourigny almost 13 years ago. Updated over 11 years ago.

Affected QGIS version:master Regression?:No
Operating System: Easy fix?:No
Pull Request or Patch supplied:Yes Resolution:fixed
Crashes QGIS or corrupts data:No Copied to github as #:14112


If the Raster Histogram tab was previously selected in the Raster Properties dialog and the user opens the dialog again, the histogram is refreshed twice, leading to needless processing and delay.

Specifically, in file src/app/qgsrasterlayerproperties.cpp the function QgsRasterLayerProperties::refreshHistogram() function gets called twice, once by the QgsRasterLayerProperties constructor, and once by the on_tabBar_currentChanged() slot.

The histogram tab gets activated by this call
tabBar->setCurrentIndex( settings.value( "/Windows/RasterLayerProperties/row" ).toInt() );

A simple fix is to disable the call in the constructor (around line 280 in the master branch), and leave it in the on_tabBar_currentChanged() slot.

QgsRasterLayerProperties::QgsRasterLayerProperties( QgsMapLayer* lyr, QgsMapCanvas* theCanvas, QWidget *parent, Qt::WFlags fl )

  setWindowTitle( tr( "Layer Properties - %1" ).arg( lyr->name() ) );
  // int myHistogramTab = 6;
  // if ( tabBar->currentIndex() == myHistogramTab )
  // {
  //   refreshHistogram();
  // }
  tableTransparency->horizontalHeader()->setResizeMode( 0, QHeaderView::Stretch );
  tableTransparency->horizontalHeader()->setResizeMode( 1, QHeaderView::Stretch );
} // QgsRasterLayerProperties ctor


#1 Updated by Giovanni Manghi over 12 years ago

  • Target version set to Version 1.7.4

#2 Updated by Paolo Cavallini about 12 years ago

  • Crashes QGIS or corrupts data set to No
  • Affected QGIS version set to master
  • Target version changed from Version 1.7.4 to Version 1.8.0

#4 Updated by Paolo Cavallini over 11 years ago

  • Target version changed from Version 1.8.0 to Version 2.0.0

#5 Updated by Giovanni Manghi over 11 years ago

  • Resolution set to fixed
  • Status changed from Open to Closed

Also available in: Atom PDF