ccmake: Free long message form before its field

free_field() refuses to free a field that is still connected to a form
and returns E_CONNECTED.  ~cmCursesLongMessageForm freed its field
before the base class destructor freed the form, so the field and its
buffer leaked every time a long message form was destroyed.
This commit is contained in:
Christoph Grüninger committed 2026-10-28 23:34:15 +01:00
1 parent cfb3000e9e
commit 1835cffe66
1 file changed
+6
@@ -30,6 +30,12 @@ cmCursesLongMessageForm::cmCursesLongMessageForm(
cmCursesLongMessageForm::~cmCursesLongMessageForm()
{
// The field cannot be freed while it is connected to the form
if (this->Form) {
unpost_form(this->Form);
free_form(this->Form);
this->Form = nullptr;
}
if (this->Fields[0]) {
free_field(this->Fields[0]);
}