Changes between Initial Version and Version 2 of Ticket #1540

Show
Ignore:
Timestamp:
03/30/07 12:04:25 (6 years ago)
Author:
warmerdam
Comment:

Mateusz,

I'd like you to review these changes and apply them if they seem appropriate.

Note, please ensure that the XMLPlatformUtils::Terminate() does not interfere with other GMLReader's that may be active at the same time. So try tests where two GML datastores are open at the same time. Close one, and then verify you can still read from the other.

I suspect the patch will have to be changed to keep track of how many GMLReader's are active, and only call the Terminate() when the last one is destroyed. Presumably that logic should also set m_bXercesInitialized to FALSE.

Since this is low priority and a bit risky as a change, I'd like to hold it to trunk, not the stable branch.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #1540

    • Property cc warmerdam added
    • Property priority changed from lowest to low
    • Property version changed from unspecified to 1.4.0
    • Property milestone changed from to 1.5.0
    • Property owner changed from warmerdam to mloskot
  • Ticket #1540 – description

    initial v2  
    1 I have fixed some minor memory leaks in gmlreader.cpp. The xerces runtime was not being cleaned up properly on exit so I have added a call to           XMLPlatformUtils::Terminate(); 
    2 in the GMLReader class destructor. Also some strings in GMLReader::SetupParser were not being freed, so I have enclosed them in std::auto_ptr(s). The relevant files modded against the 1.4.0 release are attached. 
     1I have fixed some minor memory leaks in gmlreader.cpp. The xerces runtime was not being cleaned up properly on exit so I have added a call to XMLPlatformUtils::Terminate(); in the GMLReader class destructor. Also some strings in GMLReader::SetupParser were not being freed, so I have enclosed them in std::auto_ptr(s). The relevant files modded against the 1.4.0 release are attached. 
    32These leaks are trivial but can bite someone making protracted use of the library without reloading.