From 6fab4754d7e09738aafdb9cb218f814ff3c0a71d Mon Sep 17 00:00:00 2001 From: Dylan Smith Date: Tue, 17 Jun 2008 21:19:11 -0400 Subject: [PATCH] wordpad: Fixed the font size validation for the toolbar's combobox. --- programs/wordpad/wordpad.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/programs/wordpad/wordpad.c b/programs/wordpad/wordpad.c index 04fc8785a4..29dc7556e1 100644 --- a/programs/wordpad/wordpad.c +++ b/programs/wordpad/wordpad.c @@ -219,20 +219,22 @@ static void set_caption(LPCWSTR wszNewFileName) static BOOL validate_endptr(LPCSTR endptr, BOOL units) { - if(!endptr || !*endptr) + if(!endptr) + return FALSE; + if(!*endptr) return TRUE; while(*endptr == ' ') endptr++; if(!units) - return *endptr != '\0'; + return *endptr == '\0'; /* FIXME: Allow other units and convert between them */ if(!lstrcmpA(endptr, units_cmA)) endptr += 2; - return *endptr != '\0'; + return *endptr == '\0'; } static BOOL number_from_string(LPCWSTR string, float *num, BOOL units) @@ -246,7 +248,7 @@ static BOOL number_from_string(LPCWSTR string, float *num, BOOL units) errno = 0; ret = strtod(buffer, &endptr); - if((ret == 0 && errno != 0) || endptr == buffer || validate_endptr(endptr, units)) + if((ret == 0 && errno != 0) || endptr == buffer || !validate_endptr(endptr, units)) { return FALSE; } else @@ -1795,7 +1797,8 @@ static LRESULT OnNotify( HWND hWnd, WPARAM wParam, LPARAM lParam) if(lstrcmpW(sizeBuffer, (LPWSTR)endEdit->szText)) { float size = 0; - if(number_from_string((LPWSTR)endEdit->szText, &size, FALSE)) + if(number_from_string((LPWSTR)endEdit->szText, &size, FALSE) + && size > 0) { set_size(size); } else -- 2.32.0.93.g670b81a890