diff --git a/dlls/oleaut32/olefont.c b/dlls/oleaut32/olefont.c index 3b753454967..76aa2f1a470 100644 --- a/dlls/oleaut32/olefont.c +++ b/dlls/oleaut32/olefont.c @@ -995,6 +995,7 @@ static HRESULT WINAPI OLEFontImpl_Clone( GetProcessHeap(),0, (1+strlenW(this->description.lpstrName))*2 ); + strcpyW(newObject->description.lpstrName, this->description.lpstrName); /* We need to clone the HFONT too. This is just cut & paste from above */ IFont_get_Size(iface, &cySize); @@ -1423,6 +1424,10 @@ static HRESULT WINAPI OLEFontImpl_Load( MultiByteToWideChar( CP_ACP, 0, readBuffer, bStringSize, this->description.lpstrName, len ); this->description.lpstrName[len] = 0; + /* Ensure use of this font causes a new one to be created @@@@ */ + DeleteObject(this->gdiFont); + this->gdiFont = 0; + return S_OK; }