The problem is fixed by setting JUCE_USE_DIRECTWRITE to 0
I traced the problem to the DirectWriteTypeLayout layout. If it gets text containing multiple lines it will lay out the lines correctly, except for the vertical placement. All lines will have the Y-coordinate for the baseline set to 0.0. This is affecting alert windows, tool tips and the code editor.
The problem doesn't occur in the IntroJucer or the JuceDemo.
Has anyone seen this problem before? Or does anyone knows if using DirectWrite requires some special build settings?
When I last investigated this, I'm pretty sure that it was a DirectWrite bug, because calling the same DWrite function the first time failed, but then calling it again it work. I agree that it smells like an uninitialised value, but couldn't find any such problem in my code..
We have the same issue. The first AlertWindow we show seems to be wrong, we show one at startup if no registration is found. The second time we show an AlertWindow, when app is running, it shows fine.
I'm remembering debugging this issue problem, even with changed compiled settings, it was pure random if the text renders correct. The only reliable solution was to disable DirectWrite.
Jules, do you hear me? The current situation is unsatisfaying, if its not working 100%, DirectWrite shouldn't be used for text-aligning.
Yeah, we hear you! It's on our list, but being a bug in DirectWrite, we're pretty stumped as to what other workarounds we could try. It's not forgotten though, we'll nail it eventually..
I reproduced this in the Windows 10 techincal preview (64 bit with a 32 bit application), but after an update it disappeared again. It might be that in the final version of Windows 10 this won't be an issue.
Can you confirm the build of Windows 10 the issue occured in?