}
}
-static void
-DlgData_Destroy(PDLG_DATA pDlgData)
+static VOID
+DlgData_Destroy(_Inout_ HWND hwndDlg)
{
+ PDLG_DATA pDlgData;
+
+ pDlgData = (PDLG_DATA)GetWindowLongPtrW(hwndDlg, GWLP_USERDATA);
if (!pDlgData)
+ {
return;
+ }
+
+ SetWindowLongPtrW(hwndDlg, GWLP_USERDATA, (LONG_PTR)NULL);
+
+ if (pDlgData->hBarBitmap)
+ {
+ DeleteObject(pDlgData->hBarBitmap);
+ }
+
+ if (pDlgData->hLogoBitmap)
+ {
+ DeleteObject(pDlgData->hLogoBitmap);
+ }
- DeleteObject(pDlgData->hLogoBitmap);
- DeleteObject(pDlgData->hBarBitmap);
HeapFree(GetProcessHeap(), 0, pDlgData);
}
{
KillTimer(hwndDlg, IDT_BAR);
}
- DlgData_Destroy(pDlgData);
+ DlgData_Destroy(hwndDlg);
return TRUE;
}
}
}
case WM_DESTROY:
{
- DlgData_Destroy(pDlgData);
+ DlgData_Destroy(hwndDlg);
return TRUE;
}
}
}
case WM_DESTROY:
- DlgData_Destroy(pDlgData);
+ DlgData_Destroy(hwndDlg);
return TRUE;
case WM_COMMAND:
return TRUE;
}
case WM_DESTROY:
- DlgData_Destroy(pDlgData);
+ DlgData_Destroy(hwndDlg);
return TRUE;
case WM_COMMAND:
}
case WM_DESTROY:
{
- DlgData_Destroy(pDlgData);
+ DlgData_Destroy(hwndDlg);
return TRUE;
}
}