diff --git a/windows/dialog.c b/windows/dialog.c index 747b5336..f65c8a61 100644 --- a/windows/dialog.c +++ b/windows/dialog.c @@ -621,11 +621,13 @@ static INT_PTR GenericMainDlgProc(HWND hwnd, UINT msg, WPARAM wParam, if (dialog_box_demo_screenshot_filename && (UINT_PTR)wParam == DEMO_SCREENSHOT_TIMER_ID) { KillTimer(hwnd, DEMO_SCREENSHOT_TIMER_ID); - const char *err = save_screenshot( + char *err = save_screenshot( hwnd, dialog_box_demo_screenshot_filename); - if (err) + if (err) { MessageBox(hwnd, err, "Demo screenshot failure", MB_OK | MB_ICONERROR); + sfree(err); + } ShinyEndDialog(hwnd, 0); } return 0; diff --git a/windows/putty.c b/windows/putty.c index 53c8b4a5..823d0a30 100644 --- a/windows/putty.c +++ b/windows/putty.c @@ -180,7 +180,11 @@ const wchar_t *get_app_user_model_id(void) static void demo_terminal_screenshot(void *ctx, unsigned long now) { HWND hwnd = (HWND)ctx; - save_screenshot(hwnd, terminal_demo_screenshot_filename); + char *err = save_screenshot(hwnd, terminal_demo_screenshot_filename); + if (err) { + MessageBox(hwnd, err, "Demo screenshot failure", MB_OK | MB_ICONERROR); + sfree(err); + } cleanup_exit(0); } diff --git a/windows/puttygen.c b/windows/puttygen.c index 5beaed12..ea3557b0 100644 --- a/windows/puttygen.c +++ b/windows/puttygen.c @@ -1592,10 +1592,12 @@ static INT_PTR CALLBACK MainDlgProc(HWND hwnd, UINT msg, case WM_TIMER: if ((UINT_PTR)wParam == DEMO_SCREENSHOT_TIMER_ID) { KillTimer(hwnd, DEMO_SCREENSHOT_TIMER_ID); - const char *err = save_screenshot(hwnd, demo_screenshot_filename); - if (err) + char *err = save_screenshot(hwnd, demo_screenshot_filename); + if (err) { MessageBox(hwnd, err, "Demo screenshot failure", MB_OK | MB_ICONERROR); + sfree(err); + } EndDialog(hwnd, 0); } return 0;