Comment 5 for bug 1428597

Revision history for this message
Andre Novellino GouvĂȘa (andre-ng) wrote :

Changes in ui.cpp (CleanUserInterface()):

void CleanUserInterface()
{
 // Filler
 for (int i = 0; i < (int)UI.Fillers.size(); ++i) {
  CGraphic::Free(UI.Fillers[i].G);
 }
 UI.Fillers.clear();

 // Resource Icons
 for (int i = 0; i <= FreeWorkersCount; ++i) {
  CGraphic::Free(UI.Resources[i].G);
 }

 // Info Panel
 CGraphic::Free(UI.InfoPanel.G);
 for (std::vector<CUnitInfoPanel *>::iterator panel = UI.InfoPanelContents.begin();
   panel != UI.InfoPanelContents.end(); ++panel) {
  delete *panel;
 }
 UI.InfoPanelContents.clear();

 //Wyrmgus start
 CGraphic::Free(Preference.IconFrameG);
 CGraphic::Free(Preference.PressedIconFrameG);
 //Wyrmgus end

 // Button Popups
 for (std::vector<CPopup *>::iterator popup = UI.ButtonPopups.begin();
   popup != UI.ButtonPopups.end(); ++popup) {
  delete *popup;
 }
 UI.ButtonPopups.clear();

 delete UI.SingleSelectedButton;
 UI.SelectedButtons.clear();
 delete UI.SingleTrainingButton;
 UI.SingleTrainingText.clear();
 UI.TrainingButtons.clear();
 UI.TrainingText.clear();
 delete UI.UpgradingButton;
 delete UI.ResearchingButton;
 UI.TransportingButtons.clear();
 UI.UserButtons.clear();

 // Button Panel
 CGraphic::Free(UI.ButtonPanel.G);

 // Pie Menu
 CGraphic::Free(UI.PieMenu.G);

 // Backgrounds
 CGraphic::Free(UI.VictoryBackgroundG);
 CGraphic::Free(UI.DefeatBackgroundG);

 // Title Screens
 if (TitleScreens) {
  for (int i = 0; TitleScreens[i]; ++i) {
   delete TitleScreens[i];
  }
  delete[] TitleScreens;
  TitleScreens = NULL;
 }
}