Skip to content

Commit d6c4411

Browse files
SergeGautherielearn-more
authored andcommitted
[MSGINA] gui: Improve 'DlgData_Destroy()'
Addendum to 623dd26.
1 parent bd593ed commit d6c4411

File tree

1 file changed

+24
-9
lines changed

1 file changed

+24
-9
lines changed

dll/win32/msgina/gui.c

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -86,14 +86,29 @@ DlgData_LoadBitmaps(_Inout_ PDLG_DATA pDlgData)
8686
}
8787
}
8888

89-
static void
90-
DlgData_Destroy(PDLG_DATA pDlgData)
89+
static VOID
90+
DlgData_Destroy(_Inout_ HWND hwndDlg)
9191
{
92+
PDLG_DATA pDlgData;
93+
94+
pDlgData = (PDLG_DATA)GetWindowLongPtrW(hwndDlg, GWLP_USERDATA);
9295
if (!pDlgData)
96+
{
9397
return;
98+
}
99+
100+
SetWindowLongPtrW(hwndDlg, GWLP_USERDATA, (LONG_PTR)NULL);
101+
102+
if (pDlgData->hBarBitmap)
103+
{
104+
DeleteObject(pDlgData->hBarBitmap);
105+
}
106+
107+
if (pDlgData->hLogoBitmap)
108+
{
109+
DeleteObject(pDlgData->hLogoBitmap);
110+
}
94111

95-
DeleteObject(pDlgData->hLogoBitmap);
96-
DeleteObject(pDlgData->hBarBitmap);
97112
HeapFree(GetProcessHeap(), 0, pDlgData);
98113
}
99114

@@ -264,7 +279,7 @@ StatusDialogProc(
264279
{
265280
KillTimer(hwndDlg, IDT_BAR);
266281
}
267-
DlgData_Destroy(pDlgData);
282+
DlgData_Destroy(hwndDlg);
268283
return TRUE;
269284
}
270285
}
@@ -434,7 +449,7 @@ WelcomeDialogProc(
434449
}
435450
case WM_DESTROY:
436451
{
437-
DlgData_Destroy(pDlgData);
452+
DlgData_Destroy(hwndDlg);
438453
return TRUE;
439454
}
440455
}
@@ -1230,7 +1245,7 @@ LogonDialogProc(
12301245
}
12311246

12321247
case WM_DESTROY:
1233-
DlgData_Destroy(pDlgData);
1248+
DlgData_Destroy(hwndDlg);
12341249
return TRUE;
12351250

12361251
case WM_COMMAND:
@@ -1489,7 +1504,7 @@ UnlockDialogProc(
14891504
return TRUE;
14901505
}
14911506
case WM_DESTROY:
1492-
DlgData_Destroy(pDlgData);
1507+
DlgData_Destroy(hwndDlg);
14931508
return TRUE;
14941509

14951510
case WM_COMMAND:
@@ -1577,7 +1592,7 @@ LockedDialogProc(
15771592
}
15781593
case WM_DESTROY:
15791594
{
1580-
DlgData_Destroy(pDlgData);
1595+
DlgData_Destroy(hwndDlg);
15811596
return TRUE;
15821597
}
15831598
}

0 commit comments

Comments
 (0)