[mapguide-commits] r6481 - sandbox/adsk/2.4j/Server/src/Services/Feature

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Fri Feb 3 01:44:03 EST 2012


Author: liuar
Date: 2012-02-02 22:44:03 -0800 (Thu, 02 Feb 2012)
New Revision: 6481

Modified:
   sandbox/adsk/2.4j/Server/src/Services/Feature/ServerFeatureUtil.cpp
Log:
Submit on behalf of Mars Wu
Fix ticket: http://trac.osgeo.org/mapguide/ticket/1947

It's because the dynamic_cast<> failed at below location:

\Server\src\Services\Feature\ServerFeatureUtil.cpp#569 (Method: MgByteReader* MgServerFeatureUtil::GetRaster)

if (type == FdoStreamReaderType_Byte)
{
    FdoPtr<FdoIStreamReaderTmpl<FdoByte> > byteStreamReader =
==> FDO_SAFE_ADDREF(dynamic_cast<FdoIStreamReaderTmpl<FdoByte>*>((FdoIStreamReader*)streamReader));
    CHECKNULL((FdoIStreamReaderTmpl<FdoByte>*)byteStreamReader, L"MgServerFeatureUtil.GetRaster");

    ByteSourceRasterStreamImpl* rasterStream = new ByteSourceRasterStreamImpl(byteStreamReader);
    Ptr<MgByteSource> byteSource = new MgByteSource(rasterStream);
    byteSource->SetMimeType(MgMimeType::Binary);
    byteReader = byteSource->GetReader();
}

Replace dynamic_cast with static_cast will fix this problem.


Modified: sandbox/adsk/2.4j/Server/src/Services/Feature/ServerFeatureUtil.cpp
===================================================================
--- sandbox/adsk/2.4j/Server/src/Services/Feature/ServerFeatureUtil.cpp	2012-02-03 05:10:17 UTC (rev 6480)
+++ sandbox/adsk/2.4j/Server/src/Services/Feature/ServerFeatureUtil.cpp	2012-02-03 06:44:03 UTC (rev 6481)
@@ -567,7 +567,7 @@
         if (type == FdoStreamReaderType_Byte)
         {
             FdoPtr<FdoIStreamReaderTmpl<FdoByte> > byteStreamReader =
-                FDO_SAFE_ADDREF(dynamic_cast<FdoIStreamReaderTmpl<FdoByte>*>((FdoIStreamReader*)streamReader));
+                FDO_SAFE_ADDREF(static_cast<FdoIStreamReaderTmpl<FdoByte>*>((FdoIStreamReader*)streamReader));
             CHECKNULL((FdoIStreamReaderTmpl<FdoByte>*)byteStreamReader, L"MgServerFeatureUtil.GetRaster");
 
             ByteSourceRasterStreamImpl* rasterStream = new ByteSourceRasterStreamImpl(byteStreamReader);



More information about the mapguide-commits mailing list