ICU-4689 Check return count from uscript_getCode() to detect bad script name. Don't continue if building the font map fails.
X-SVN-Rev: 18350
This commit is contained in:
parent
c899b908ff
commit
62bbc0ae15
@ -1,6 +1,6 @@
|
||||
/*
|
||||
******************************************************************************
|
||||
* Copyright (C) 1998-2003, International Business Machines Corporation and *
|
||||
* Copyright (C) 1998-2005, International Business Machines Corporation and *
|
||||
* others. All Rights Reserved. *
|
||||
******************************************************************************
|
||||
*/
|
||||
@ -66,10 +66,10 @@ FontMap::FontMap(const char *fileName, le_int16 pointSize, GUISupport *guiSuppor
|
||||
continue;
|
||||
}
|
||||
|
||||
uscript_getCode(scriptName, &scriptCode, 1, &scriptStatus);
|
||||
le_int32 fillCount = uscript_getCode(scriptName, &scriptCode, 1, &scriptStatus);
|
||||
|
||||
if (U_FAILURE(scriptStatus) || scriptStatus == U_USING_FALLBACK_WARNING ||
|
||||
scriptStatus == U_USING_DEFAULT_WARNING) {
|
||||
if (U_FAILURE(scriptStatus) || fillCount <= 0 ||
|
||||
scriptStatus == U_USING_FALLBACK_WARNING || scriptStatus == U_USING_DEFAULT_WARNING) {
|
||||
sprintf(errorMessage, "The script name %s is invalid.", line);
|
||||
fGUISupport->postErrorMessage(errorMessage, "Font Map Error");
|
||||
status = LE_ILLEGAL_ARGUMENT_ERROR;
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
*******************************************************************************
|
||||
*
|
||||
* Copyright (C) 1999-2003, International Business Machines
|
||||
* Copyright (C) 1999-2005, International Business Machines
|
||||
* Corporation and others. All Rights Reserved.
|
||||
*
|
||||
*******************************************************************************
|
||||
@ -137,7 +137,7 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
|
||||
if (LE_FAILURE(fontStatus)) {
|
||||
ReleaseDC(hwnd, hdc);
|
||||
return 0;
|
||||
return -1;
|
||||
}
|
||||
|
||||
context = new Context();
|
||||
@ -321,7 +321,7 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
|
||||
case IDM_HELP_ABOUTLAYOUTSAMPLE:
|
||||
MessageBox(hwnd, TEXT("Windows Layout Sample 0.1\n")
|
||||
TEXT("Copyright (C) 1998-2002 By International Business Machines Corporation and others.\n")
|
||||
TEXT("Copyright (C) 1998-2005 By International Business Machines Corporation and others.\n")
|
||||
TEXT("Author: Eric Mader"),
|
||||
szAppName, MB_ICONINFORMATION | MB_OK);
|
||||
return 0;
|
||||
@ -334,7 +334,7 @@ LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
context = (Context *) GetWindowLong(hwnd, 0);
|
||||
|
||||
if (context->paragraph != NULL) {
|
||||
if (context != NULL && context->paragraph != NULL) {
|
||||
delete context->paragraph;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user