Opened 12 years ago

Closed 12 years ago

#1947 closed defect (fixed)

Atil Raster Provider doesn't work on Linux

Reported by: wuma Owned by: wuma
Priority: high Milestone: 2.4
Component: Server Version:
Severity: major Keywords:
Cc: External ID: 1443634

Description

It's reported by Autodesk QA: The Raster File Provider implemented based on Autodesk ATIL library cannot render map image. Steps to recreate:

  1. Create one connection to Raster data
  2. Create one layer.
  3. Refresh the layer

Results: Nothing displays.

Expected results: The layer should display correctly.

Attachments (1)

raster_linux.patch (775 bytes ) - added by wuma 12 years ago.

Download all attachments as: .zip

Change History (3)

by wuma, 12 years ago

Attachment: raster_linux.patch added

comment:1 by wuma, 12 years ago

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.

comment:2 by wuma, 12 years ago

Resolution: fixed
Status: newclosed

r6481 to adsk/2.4j branch. r6482 to trunk.

Note: See TracTickets for help on using tickets.