WindowInfo::~WindowInfo() { FinishStressTest(this); CrashIf(watcher); // release our copy of UIA provider // the UI automation still might have a copy somewhere if (uia_provider) { if (AsFixed()) uia_provider->OnDocumentUnload(); uia_provider->Release(); } delete linkHandler; delete buffer; delete selectionOnPage; delete linkOnLastButtonDown; delete tocRoot; delete notifications; delete tabSelectionHistory; delete caption; // delete DisplayModel/BaseEngine last, as e.g. // DocTocItem or PageElement might still need the // BaseEngine in their destructors delete ctrl; // cbHandler is passed into Controller and // must be deleted afterwards delete cbHandler; DeleteFrameRateWnd(frameRateWnd); free(sidebarSplitter); free(favSplitter); free(tocLabelWithClose); free(favLabelWithClose); free(loadedFilePath); }
WindowInfo::~WindowInfo() { FinishStressTest(this); CrashIf(tabs.Count() > 0); CrashIf(ctrl || linkOnLastButtonDown); // release our copy of UIA provider // the UI automation still might have a copy somewhere if (uia_provider) { if (AsFixed()) uia_provider->OnDocumentUnload(); uia_provider->Release(); } delete linkHandler; delete buffer; delete notifications; delete tabSelectionHistory; delete caption; DeleteVecMembers(tabs); // cbHandler is passed into Controller and must be deleted afterwards // (all controllers should have been deleted prior to WindowInfo, though) delete cbHandler; DeleteFrameRateWnd(frameRateWnd); free(sidebarSplitter); free(favSplitter); free(tocLabelWithClose); free(favLabelWithClose); }