Товарищи. Есть приложение (Эйр, соответственно). Апдейт приложения происходит через ApplicationUpdaterUI.
Работает он всего в одном месте, в одной функции, имея за спиной 3 эвента:
Код AS3:
this.app_updater.updateURL = "http://microsoft.com";
this.app_updater.isCheckForUpdateVisible = false;
this.app_updater.initialize();
this.app_updater.addEventListener(UpdateEvent.INITIALIZED, onUpdateApplicationInit);
this.app_updater.addEventListener(ErrorEvent.ERROR, onUpdateApplicationError);
this.app_updater.addEventListener(StatusUpdateEvent.UPDATE_STATUS, onUpdateChecked);
Обработчики простые:
Код AS3:
private function onUpdateApplicationInit(event:UpdateEvent):void {
this.app_updater.checkNow();
}
private function onUpdateChecked(event:StatusUpdateEvent):void {
if(!event.available) {
this.app_updater.cancelUpdate();
this.app_updater.removeEventListener(UpdateEvent.INITIALIZED, onUpdateApplicationInit);
this.app_updater.removeEventListener(ErrorEvent.ERROR, onUpdateApplicationError);
this.app_updater.removeEventListener(StatusUpdateEvent.UPDATE_STATUS, onUpdateChecked);
this.app_updater = null;
}
}
private function onUpdateApplicationError(event:ErrorEvent):void {
this.app_updater.cancelUpdate();
}
Оказывается этот гад создаёт невидимое окно (checkForUpdateVisible = false) и оно висит бесконечно, кушая память, не смотря на то, что делаю cancelUpdate() и зануляю апдейтер.
В ветку if(!event.available) заходит, проверял.
Как мне избавиться от этого окна и грохнуть его безвозвратно, если апдейта не требуется?