http://bugs.winehq.org/show_bug.cgi?id=5865
--- Comment #41 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-09-05 13:40:13 --- Created an attachment (id=7964) --> (http://bugs.winehq.org/attachment.cgi?id=7964) patch
I see there was no activity in this bug lately so I tried to take the good parts from the Byeong-Sik Jeon patch. I don't try to implement RemoveFontMemResourceEx, and avoid a buffer overflow building fontdata_string. The original patch contained some code for private/non-enumerable fonts and fixed a memory leak fix - these are probably correct but I wanted to make the patch smaller and didn't include it. Another small difference is that I link the child nodes to the Face struct instead of copying the filename and index. This uses less memory and works well without the assumption that each font resides in a file. As we currently don't implement RemoveFontResource and even when we implement it we should care if the face is not referenced somewhere so I hope there are no side-effects of this change.
Apart form these changes this is more or less the Byeong-Sik Jeon patch. I hoped it could be smaller but there are many places that assumes that a font is in a file. Is there will be no one who will find something incorrect in the patch I will try to divide it into two patches (one relinking child nodes to struct Face and the other implementing memory fonts) and send it to wine-patches.