diff --git a/src/wxwindow/src/msw/wx_gdi.cxx b/src/wxwindow/src/msw/wx_gdi.cxx index 830f8f2630..88ef6af34e 100644 --- a/src/wxwindow/src/msw/wx_gdi.cxx +++ b/src/wxwindow/src/msw/wx_gdi.cxx @@ -368,11 +368,13 @@ Bool wxFont::ScreenGlyphAvailable(int c, Bool for_label) 0, KEY_READ, &key)) { int i = 0; - nlen = 256; - vlen = 0; - while (ERROR_SUCCESS - == RegEnumValueW(key, i, value_name, &nlen, - NULL, NULL, NULL, &vlen)) { + while (1) { + nlen = 256; + vlen = 0; + if (ERROR_SUCCESS + != RegEnumValueW(key, i, value_name, &nlen, + NULL, NULL, NULL, &vlen)) + break; if (!strcmp(face, wxNARROW_STRING(value_name))) { value = (wchar_t *)(new WXGC_ATOMIC char[vlen]); vlen2 = vlen;