From 0574d19c6576a977a7c238925e062dfca4a2bd40 Mon Sep 17 00:00:00 2001 From: Ged Murphy Date: Thu, 6 Apr 2006 16:23:35 +0000 Subject: [PATCH] store license on heap and add some error checking svn path=/trunk/; revision=21481 --- reactos/base/applications/wordpad/dialogs.c | 29 ++++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/reactos/base/applications/wordpad/dialogs.c b/reactos/base/applications/wordpad/dialogs.c index ff61502959a..163ba0576aa 100644 --- a/reactos/base/applications/wordpad/dialogs.c +++ b/reactos/base/applications/wordpad/dialogs.c @@ -84,7 +84,7 @@ AboutDialogProc(HWND hDlg, { HWND hLicenseEditWnd; HICON hIcon = NULL; - TCHAR strLicense[700]; + static LPTSTR lpLicense = NULL; switch (message) { @@ -96,27 +96,30 @@ AboutDialogProc(HWND hDlg, 16, 16, 0); - - SendMessage(hDlg, - WM_SETICON, - ICON_SMALL, - (LPARAM)hIcon); + if (hIcon != NULL) + { + SendMessage(hDlg, + WM_SETICON, + ICON_SMALL, + (LPARAM)hIcon); + } hLicenseEditWnd = GetDlgItem(hDlg, IDC_LICENSE_EDIT); - LoadString(hInstance, - IDS_LICENSE, - strLicense, - sizeof(strLicense) / sizeof(TCHAR)); - - SetWindowText(hLicenseEditWnd, - strLicense); + if (AllocAndLoadString(&lpLicense, + hInstance, + IDS_LICENSE)) + { + SetWindowText(hLicenseEditWnd, + lpLicense); + } return TRUE; case WM_COMMAND: if ((LOWORD(wParam) == IDOK) || (LOWORD(wParam) == IDCANCEL)) { + LocalFree((HLOCAL)lpLicense); DestroyIcon(hIcon); EndDialog(hDlg, LOWORD(wParam));