From eeac5818573f8350e812044cd5103d0ca4c4e64e Mon Sep 17 00:00:00 2001 From: ceeac Date: Fri, 26 May 2017 10:24:22 +0200 Subject: [PATCH] Fix memory leak when closing Title Sequence handle. The handle is now invalid after calling TitleSequenceCloseParkHandle(). --- src/openrct2/title/TitleSequence.cpp | 1 + src/openrct2/title/TitleSequence.h | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/openrct2/title/TitleSequence.cpp b/src/openrct2/title/TitleSequence.cpp index 887b0dff8c..0c82dae072 100644 --- a/src/openrct2/title/TitleSequence.cpp +++ b/src/openrct2/title/TitleSequence.cpp @@ -166,6 +166,7 @@ extern "C" { Memory::Free(handle->HintPath); delete ((IStream *)handle->Stream); + Memory::Free(handle); } } diff --git a/src/openrct2/title/TitleSequence.h b/src/openrct2/title/TitleSequence.h index 259d2354fd..6c1ed64858 100644 --- a/src/openrct2/title/TitleSequence.h +++ b/src/openrct2/title/TitleSequence.h @@ -88,6 +88,11 @@ extern "C" void FreeTitleSequence(TitleSequence * seq); TitleSequenceParkHandle * TitleSequenceGetParkHandle(TitleSequence * seq, size_t index); + + /** + * Close a title sequence park handle. + * The pointer to the handle is invalid after calling this function. + */ void TitleSequenceCloseParkHandle(TitleSequenceParkHandle * handle); bool TileSequenceSave(TitleSequence * seq); bool TileSequenceAddPark(TitleSequence * seq, const utf8 * path, const utf8 * name);