Skip to content

Commit b1d8387

Browse files
author
wonder
committed
Fixed #2379 - hang on line width set to zero (division by zero)
git-svn-id: http://svn.osgeo.org/qgis/trunk@12803 c8812cc2-4d05-0410-92ff-de0c093fc19c
1 parent 39e7009 commit b1d8387

File tree

2 files changed

+3
-18
lines changed

2 files changed

+3
-18
lines changed

src/core/symbology-ng/qgslinesymbollayerv2.cpp

+2-10
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,12 @@ QString QgsSimpleLineSymbolLayerV2::layerType() const
5656
return "SimpleLine";
5757
}
5858

59-
6059
void QgsSimpleLineSymbolLayerV2::startRender( QgsSymbolV2RenderContext& context )
6160
{
6261
mPen.setColor( mColor );
6362
double scaledWidth = context.outputLineWidth( mWidth );
6463
mPen.setWidthF( scaledWidth );
65-
if ( mUseCustomDashPattern )
64+
if ( mUseCustomDashPattern && scaledWidth != 0 )
6665
{
6766
mPen.setStyle( Qt::CustomDashLine );
6867

@@ -116,14 +115,7 @@ QgsStringMap QgsSimpleLineSymbolLayerV2::properties() const
116115
map["joinstyle"] = QgsSymbolLayerV2Utils::encodePenJoinStyle( mPenJoinStyle );
117116
map["capstyle"] = QgsSymbolLayerV2Utils::encodePenCapStyle( mPenCapStyle );
118117
map["offset"] = QString::number( mOffset );
119-
if ( mUseCustomDashPattern )
120-
{
121-
map["use_custom_dash"] = "1";
122-
}
123-
else
124-
{
125-
map["use_custom_dash"] = "0";
126-
}
118+
map["use_custom_dash"] = ( mUseCustomDashPattern ? "1" : "0" );
127119
map["customdash"] = QgsSymbolLayerV2Utils::encodeRealVector( mCustomDashVector );
128120
return map;
129121
}

src/gui/symbology-ng/qgssymbollayerv2widget.cpp

+1-8
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,7 @@ void QgsSimpleLineSymbolLayerV2Widget::setSymbolLayer( QgsSymbolLayerV2* layer )
5959
label_3->setEnabled( !useCustomDashPattern );
6060
cboPenStyle->setEnabled( !useCustomDashPattern );
6161
mCustomCheckBox->blockSignals( true );
62-
if ( useCustomDashPattern )
63-
{
64-
mCustomCheckBox->setCheckState( Qt::Checked );
65-
}
66-
else
67-
{
68-
mCustomCheckBox->setCheckState( Qt::Unchecked );
69-
}
62+
mCustomCheckBox->setCheckState( useCustomDashPattern ? Qt::Checked : Qt::Unchecked );
7063
mCustomCheckBox->blockSignals( false );
7164
updatePatternIcon();
7265
}

0 commit comments

Comments
 (0)