diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/PluginUpdater/src/DlgUpdate.cpp | 7 |
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);
|