symbology_read_error_fix.diff

Chris Crook, 2011-03-08 04:30 PM

Download (1.11 KB)

View differences:

src/core/qgsvectorlayer.cpp (working copy)
2678 2678
  QString errorMsg;
2679 2679
  if ( !readSymbology( layer_node, errorMsg ) )
2680 2680
  {
2681
    return false;
2681
      // Originally just returned false, meaning layer fails to load. This is
2682
      // very confusing for users if symbology fails to load - bad layer handler assumes 
2683
      // that this must be due to missing file, so keeps prompting for filename.
2684
      //
2685
      // Would be better to provide user with information from errorMsg about why this
2686
      // has failed - but in the meantime this is a start.
2687

  
2688
      // Set a default renderer if symbology fails to load (eg missing renderer plugin)
2689
      if ( mUsingRendererV2 )
2690
      {
2691
        setRendererV2( QgsFeatureRendererV2::defaultRenderer( geometryType() ) );
2692
      }
2693
      else
2694
      {
2695
        QgsSingleSymbolRenderer *renderer = new QgsSingleSymbolRenderer( geometryType() );
2696
        setRenderer( renderer );
2697
      }
2682 2698
  }
2683 2699

  
2684 2700
  updateFieldMap();