[mapguide-commits] r7610 - branches/2.4/MgDev/Server/src/Services/Mapping
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Tue Jun 11 07:36:47 PDT 2013
Author: jng
Date: 2013-06-11 07:36:47 -0700 (Tue, 11 Jun 2013)
New Revision: 7610
Modified:
branches/2.4/MgDev/Server/src/Services/Mapping/MappingUtil.cpp
Log:
#1981: Backport to 2.4
Modified: branches/2.4/MgDev/Server/src/Services/Mapping/MappingUtil.cpp
===================================================================
--- branches/2.4/MgDev/Server/src/Services/Mapping/MappingUtil.cpp 2013-06-11 14:23:44 UTC (rev 7609)
+++ branches/2.4/MgDev/Server/src/Services/Mapping/MappingUtil.cpp 2013-06-11 14:36:47 UTC (rev 7610)
@@ -468,14 +468,28 @@
if (vl) //############################################################################ vector layer
{
+ // Tweaking this logic for #1981:
+ //
+ // We first try to find a valid scale range, only when we can't find a valid scale range do we
+ // coerce the first one to [0 - Infinity]
+
+ MdfModel::VectorScaleRangeCollection* scaleRanges = vl->GetScaleRanges();
+ MdfModel::VectorScaleRange* scaleRange = NULL;
+ if (scaleRanges)
+ {
+ // make sure we have a valid scale range
+ scaleRange = Stylizer::FindScaleRange(*scaleRanges, scale);
+ }
+
+ // We have a selection but no applicable scale range
+ //
// Modify the layer scale range to also support infinite
// Need to apply default style as one will not be defined
- if (selection)
+ if (selection && !scaleRange)
{
- MdfModel::VectorScaleRangeCollection* scaleRanges = vl->GetScaleRanges();
if (scaleRanges)
{
- MdfModel::VectorScaleRange* scaleRange = scaleRanges->GetAt(0);
+ scaleRange = scaleRanges->GetAt(0);
if (scaleRange)
{
scaleRange->SetMinScale(0.0);
@@ -484,9 +498,6 @@
}
}
- // make sure we have a valid scale range
- MdfModel::VectorScaleRange* scaleRange = Stylizer::FindScaleRange(*vl->GetScaleRanges(), scale);
-
if (scaleRange)
{
minScale_Profile = scaleRange->GetMinScale();
More information about the mapguide-commits
mailing list