symbology_read_error_fix.diff
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(); |