Ticket #96 (closed defect: fixed)

Opened 3 years ago

Last modified 2 years ago

MSVC builds crash as soon as a window closes

Reported by: knowknowledge Owned by:
Priority: critical Milestone: 0.6.0
Component: Source Version:
Keywords: Cc:

Description

This issue has only been seen on MSVC builds of Epiar, but it may be a hidden issue on other compilers.

Most of the game will run fine until a window is closed, the heap becomes corrupt and Epiar crashes.

We proved that this wasn't an issue with the game logic by turning on autoload and removing the pause during the introduction screen.

We were able to prevent Epiar from crashing by commenting out the line:

delete (*i);

from the UIContainer::DelChild?( Widget *widget ) function.

We made all of the Widgets use virtual destructors, and cleaned them up by adding X=NULL to all pointers that should never get deleted.

Change History

comment:1 Changed 3 years ago by chris

  • Component changed from UI to Source

comment:2 Changed 2 years ago by knowknowledge

The workaround is in place, but if somebody has a working MSVC, I would like to confirm that the root cause issue has been fixed.

The current implementation leaks memory as the Container Widget does not properly delete it's children.

comment:3 Changed 2 years ago by knowknowledge

  • Status changed from new to closed
  • Resolution set to fixed

I think that this has been fixed for a while. No complaints from windows users recently.

Note: See TracTickets for help on using tickets.