Ticket #42232: mrsiddataset.cpp.rej

File mrsiddataset.cpp.rej, 3.5 KB (added by jlisic@…, 10 years ago)
Line 
1***************
2*** 1,5 ****
3  /******************************************************************************
4-  * $Id: mrsiddataset.cpp 12686 2007-11-09 19:31:29Z warmerdam $
5   *
6   * Project:  Multi-resolution Seamless Image Database (MrSID)
7   * Purpose:  Read/write LizardTech's MrSID file format - Version 4+ SDK.
8--- 1,5 ----
9  /******************************************************************************
10+  * $Id$
11   *
12   * Project:  Multi-resolution Seamless Image Database (MrSID)
13   * Purpose:  Read/write LizardTech's MrSID file format - Version 4+ SDK.
14***************
15*** 37,43 ****
16  #include <geo_normalize.h>
17  #include <geovalues.h>
18 
19- CPL_CVSID("$Id: mrsiddataset.cpp 12686 2007-11-09 19:31:29Z warmerdam $");
20 
21  CPL_C_START
22  double GTIFAngleToDD( double dfAngle, int nUOMAngle );
23--- 37,43 ----
24  #include <geo_normalize.h>
25  #include <geovalues.h>
26 
27+ CPL_CVSID("$Id$");
28 
29  CPL_C_START
30  double GTIFAngleToDD( double dfAngle, int nUOMAngle );
31***************
32*** 161,167 ****
33  {
34      friend class MrSIDRasterBand;
35 
36      LTIImageReader      *poImageReader;
37 
38  #ifdef MRSID_ESDK
39      LTIGeoFileImageWriter *poImageWriter;
40--- 161,171 ----
41  {
42      friend class MrSIDRasterBand;
43 
44+ #if defined(LTI_SDK_MAJOR) && LTI_SDK_MAJOR >= 7
45+     MrSIDImageReader    *poImageReader;
46+ #else
47      LTIImageReader      *poImageReader;
48+ #endif
49 
50  #ifdef MRSID_ESDK
51      LTIGeoFileImageWriter *poImageWriter;
52***************
53*** 690,696 ****
54      if ( poLTINav )
55          delete poLTINav;
56      if ( poImageReader && !bIsOverview )
57          delete poImageReader;
58 
59      if ( pszProjection )
60          CPLFree( pszProjection );
61--- 694,707 ----
62      if ( poLTINav )
63          delete poLTINav;
64      if ( poImageReader && !bIsOverview )
65+ #if defined(LTI_SDK_MAJOR) && LTI_SDK_MAJOR >= 7
66+     {
67+         poImageReader->release();
68+         poImageReader = NULL;
69+     }
70+ #else
71          delete poImageReader;
72+ #endif
73 
74      if ( pszProjection )
75          CPLFree( pszProjection );
76***************
77*** 1250,1255 ****
78  /* -------------------------------------------------------------------- */
79      MrSIDDataset        *poDS;
80      const LTFileSpec    oFileSpec( poOpenInfo->pszFilename );
81 
82      poDS = new MrSIDDataset();
83  #ifdef MRSID_J2K
84--- 1261,1267 ----
85  /* -------------------------------------------------------------------- */
86      MrSIDDataset        *poDS;
87      const LTFileSpec    oFileSpec( poOpenInfo->pszFilename );
88+     LT_STATUS           eStat;
89 
90      poDS = new MrSIDDataset();
91  #ifdef MRSID_J2K
92***************
93*** 1257,1265 ****
94          poDS->poImageReader = new LTIDLLReader<J2KImageReader>( oFileSpec, true );
95      else
96  #endif
97          poDS->poImageReader = new LTIDLLReader<MrSIDImageReader>( oFileSpec, false );
98 
99-     if ( !LT_SUCCESS( poDS->poImageReader->initialize() ) )
100      {
101          delete poDS;
102          CPLError( CE_Failure, CPLE_AppDefined,
103--- 1269,1289 ----
104          poDS->poImageReader = new LTIDLLReader<J2KImageReader>( oFileSpec, true );
105      else
106  #endif
107+ #if defined(LTI_SDK_MAJOR) && LTI_SDK_MAJOR >= 7
108+     {
109+         poDS->poImageReader = MrSIDImageReader::create();
110+     }
111+
112+     eStat = poDS->poImageReader->initialize( oFileSpec, true );
113+ #else
114+     {
115          poDS->poImageReader = new LTIDLLReader<MrSIDImageReader>( oFileSpec, false );
116+     }
117+
118+     eStat = poDS->poImageReader->initialize();
119+ #endif
120 
121+     if ( !LT_SUCCESS(eStat) )
122      {
123          delete poDS;
124          CPLError( CE_Failure, CPLE_AppDefined,