-
Chris Sherlock yazdı
pImplSVData->maGDIData.mnAppFontX is *not* a flag to determine if application font dimensions should be reset. The way it currently works is: 1. Application::SetSettings() is called to reset Window settings, etc. 2. Settings are updated on all windows - but at the same time pImplSVData->maGDIData.mnAppFontX is set to zero as a way of indicating to the global function ImplCalMapResolution that we need to get the font from the first window, or if this isn't available then create a new dummy WorkWindow and use this to get the font data, and set the application font to this. This is very odd. What we really should be doing is calling on ImplInitAppFontData directly from within SetSettings() instead of making ImplCalcMapResolution detect that mnAppFontX is zero and there is a valid first frame window. Ultimately, this was found when I commited f76026a4 to move ImplInitAppFontData from Window to Application. Somehow I entirely missed that the font and style dropdowns in writer died, and I also somehow a whole bunch of tests failed but I again didn't notice this either. With this fix, I should be able to recommit the previous change. Change-Id: Ib526954962fdc397fb3ddd3c21ae947d939db9e5
ef31acfd