Changes between Initial Version and Version 2 of Ticket #1540


Ignore:
Timestamp:
Mar 30, 2007, 12:04:25 PM (17 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 lowestlow
    • Property Version unspecified1.4.0
    • Property Milestone1.5.0
    • Property Owner changed from warmerdam to Mateusz Łoskot
  • 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.