summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/PluginUpdater/src/DlgUpdate.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/plugins/PluginUpdater/src/DlgUpdate.cpp b/plugins/PluginUpdater/src/DlgUpdate.cpp
index 28ab893c4b..a8d2d99eeb 100644
--- a/plugins/PluginUpdater/src/DlgUpdate.cpp
+++ b/plugins/PluginUpdater/src/DlgUpdate.cpp
@@ -46,11 +46,14 @@ static void ApplyUpdates(void *param)
Thread_SetName("PluginUpdater: ApplyUpdates");
HWND hDlg = (HWND)param;
- OBJLIST<FILEINFO> &todo = *(OBJLIST<FILEINFO> *)GetWindowLongPtr(hDlg, GWLP_USERDATA);
- if (todo.getCount() == 0) {
+ OBJLIST<FILEINFO> &fileList = *(OBJLIST<FILEINFO> *)GetWindowLongPtr(hDlg, GWLP_USERDATA);
+ if (fileList.getCount() == 0) {
return;
}
+ // make a local copy not to crash if a window was closed
+ OBJLIST<FILEINFO> todo(fileList);
+
// 1) If we need to escalate priviledges, launch a stub
if (!PrepareEscalation()) {
PostMessage(hDlg, WM_CLOSE, 0, 0);