@@ -329,16 +329,27 @@ void QgsDwgImportDialog::createGroup( QgsLayerTreeGroup *group, const QString &n
329329 l = layer ( layerGroup, layerFilter, QStringLiteral ( " polylines" ) );
330330 if ( l )
331331 {
332+ sym = new QgsLineSymbol ();
333+
332334 QgsSimpleLineSymbolLayer *sll = new QgsSimpleLineSymbolLayer ();
333335 sll->setDataDefinedProperty ( QgsSymbolLayer::PropertyStrokeColor, QgsProperty::fromField ( QStringLiteral ( " color" ) ) );
334336 sll->setPenJoinStyle ( Qt::MiterJoin );
335337 sll->setDataDefinedProperty ( QgsSymbolLayer::PropertyStrokeWidth, QgsProperty::fromField ( QStringLiteral ( " width" ) ) );
338+ sll->setDataDefinedProperty ( QgsSymbolLayer::PropertyLayerEnabled, QgsProperty::fromExpression ( QStringLiteral ( " width>0" ) ) );
339+ sll->setOutputUnit ( QgsUnitTypes::RenderMapUnits );
336340 // sll->setUseCustomDashPattern( true );
337341 // sll->setCustomDashPatternUnit( QgsSymbolV2::MapUnit );
338342 // sll->setDataDefinedProperty( QgsSymbolLayer::PropertyCustomDash, QgsProperty::fromField( "linetype" ) );
339- sym = new QgsLineSymbol ();
340343 sym->changeSymbolLayer ( 0 , sll );
341- sym->setOutputUnit ( QgsUnitTypes::RenderMapUnits );
344+
345+ sll = new QgsSimpleLineSymbolLayer ();
346+ sll->setDataDefinedProperty ( QgsSymbolLayer::PropertyStrokeColor, QgsProperty::fromField ( QStringLiteral ( " color" ) ) );
347+ sll->setPenJoinStyle ( Qt::MiterJoin );
348+ sll->setDataDefinedProperty ( QgsSymbolLayer::PropertyStrokeWidth, QgsProperty::fromField ( QStringLiteral ( " linewidth" ) ) );
349+ sll->setDataDefinedProperty ( QgsSymbolLayer::PropertyLayerEnabled, QgsProperty::fromExpression ( QStringLiteral ( " width=0" ) ) );
350+ sll->setOutputUnit ( QgsUnitTypes::RenderMillimeters );
351+ sym->appendSymbolLayer ( sll );
352+
342353 l->setRenderer ( new QgsSingleSymbolRenderer ( sym ) );
343354 }
344355
0 commit comments