[mapguide-commits] r1313 - trunk/MgDev/Server/src/Services/Mapping
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Wed Mar 21 07:21:43 EDT 2007
Author: waltweltonlair
Date: 2007-03-21 07:21:43 -0400 (Wed, 21 Mar 2007)
New Revision: 1313
Modified:
trunk/MgDev/Server/src/Services/Mapping/StylizationUtil.cpp
Log:
Fix crash in StylizationUtil for line laye
Modified: trunk/MgDev/Server/src/Services/Mapping/StylizationUtil.cpp
===================================================================
--- trunk/MgDev/Server/src/Services/Mapping/StylizationUtil.cpp 2007-03-21 03:55:05 UTC (rev 1312)
+++ trunk/MgDev/Server/src/Services/Mapping/StylizationUtil.cpp 2007-03-21 11:21:43 UTC (rev 1313)
@@ -133,12 +133,12 @@
RSMgFeatureReader* MgStylizationUtil::ExecuteFeatureQuery(MgFeatureService* svcFeature,
- RS_Bounds& extent,
- MdfModel::VectorLayerDefinition* vl,
- const wchar_t* overrideFilter,
- MgCoordinateSystem* mapCs,
- MgCoordinateSystem* layerCs,
- TransformCache* cache)
+ RS_Bounds& extent,
+ MdfModel::VectorLayerDefinition* vl,
+ const wchar_t* overrideFilter,
+ MgCoordinateSystem* mapCs,
+ MgCoordinateSystem* layerCs,
+ TransformCache* cache)
{
#ifdef _DEBUG
long dwStart = GetTickCount();
@@ -672,6 +672,8 @@
//get a transform from layer coord sys to map coord sys
TransformCache* item = GetLayerToMapTransform(transformCache, vl->GetFeatureName(), featResId, dstCs, csFactory, svcFeature);
+ MgCoordinateSystem* layerCs = item? item->GetCoordSys() : NULL;
+ MgCSTrans* xformer = item? item->GetTransform() : NULL;
//extract hyperlink and tooltip info
if (!vl->GetToolTip().empty()) legendInfo.hastooltips() = true;
@@ -747,10 +749,10 @@
//we are not drawing the actual geometry
if (maxStrokes == 0)
{
- RSMgFeatureReader* rdr = ExecuteFeatureQuery(svcFeature, extent, vl, overrideFilter.c_str(), dstCs, item ? item->GetCoordSys() : NULL, item);
+ RSMgFeatureReader* rdr = ExecuteFeatureQuery(svcFeature, extent, vl, overrideFilter.c_str(), dstCs, layerCs, item);
if (rdr)
{
- ds->StylizeVectorLayer(vl, dr, rdr, item->GetTransform(), NULL, NULL);
+ ds->StylizeVectorLayer(vl, dr, rdr, xformer, NULL, NULL);
}
delete rdr;
}
@@ -781,10 +783,10 @@
syms->Adopt(syms2->GetAt(min(i, syms2->GetCount()-1)));
}
- RSMgFeatureReader* rdr = ExecuteFeatureQuery(svcFeature, extent, vl, overrideFilter.c_str(), dstCs, item ? item->GetCoordSys() : NULL, item);
+ RSMgFeatureReader* rdr = ExecuteFeatureQuery(svcFeature, extent, vl, overrideFilter.c_str(), dstCs, layerCs, item);
if (rdr)
{
- ds->StylizeVectorLayer(vl, dr, rdr, item->GetTransform(), NULL, NULL);
+ ds->StylizeVectorLayer(vl, dr, rdr, xformer, NULL, NULL);
}
delete rdr;
@@ -825,12 +827,12 @@
}
else
{
- RSMgFeatureReader* rdr = ExecuteFeatureQuery(svcFeature, extent, vl, overrideFilter.c_str(), dstCs, item ? item->GetCoordSys() : NULL, item);
+ RSMgFeatureReader* rdr = ExecuteFeatureQuery(svcFeature, extent, vl, overrideFilter.c_str(), dstCs, layerCs, item);
if (rdr)
{
//stylize into output format
dr->StartLayer(&legendInfo, &fcinfo);
- ds->StylizeVectorLayer(vl, dr, rdr, item ? item->GetTransform() : NULL, NULL, NULL);
+ ds->StylizeVectorLayer(vl, dr, rdr, xformer, NULL, NULL);
dr->EndLayer();
}
delete rdr;
@@ -874,6 +876,8 @@
//get a transform from layer coord sys to map coord sys
TransformCache* item = GetLayerToMapTransform(transformCache, gl->GetFeatureName(), featResId, dstCs, csFactory, svcFeature);
+ MgCoordinateSystem* layerCs = item? item->GetCoordSys() : NULL;
+ MgCSTrans* xformer = item? item->GetTransform() : NULL;
//grid layer does not yet have hyperlink or tooltip
//extract hyperlink and tooltip info
@@ -917,12 +921,12 @@
}
//perform the raster query
- RSMgFeatureReader* rdr = ExecuteRasterQuery(svcFeature, extent, gl, overrideFilter.c_str(), dstCs, item ? item->GetCoordSys() : NULL, width, height);
+ RSMgFeatureReader* rdr = ExecuteRasterQuery(svcFeature, extent, gl, overrideFilter.c_str(), dstCs, layerCs, width, height);
if (rdr)
{
//stylize into a dwf
dr->StartLayer(&legendInfo, &fcinfo);
- ds->StylizeGridLayer(gl, dr, rdr, item->GetTransform(), NULL, NULL);
+ ds->StylizeGridLayer(gl, dr, rdr, xformer, NULL, NULL);
dr->EndLayer();
}
delete rdr;
More information about the mapguide-commits
mailing list