My last PR worked fine for getting fonts to work - but it only worked if the default skin was changed rather than Panel:SetSkin. This wasn't something that broke in my PR - it never worked for text colours either. The reason why it didn't work is that Panel:SetSkin is typically called after vgui.Create which of course is after PANEL:Init and thus after the SKIN:SchemeTextEntry call.
This pull request fixes this issue by moving the call to PANEL:ApplySchemeSettings, just like it is in other Derma controls. The reason it wasn't there in the first place was based on how the skin's call to set the text colours could override the a call that's done when setting up the panel. This was fixed by doing || checks before sending the colours into Panel:DrawTextEntryText.
This slight change of behaviour shouldn't break anything but, if possible, this should be merged before the next update in case someone gets the wrong idea of using Panel:SetFont instead of Panel:SetFontInternal in SKIN:SchemeTextEntry.
Fixed SKIN:SchemeTextEntry not working with Panel:SetSkin
This PR is very terrible, but the old way is also terrible, and I have no idea what to do.
What's wrong with this method? It's consistent with the other controls.
It leaves GetTextColor & Co returning nil.
Which is why ULX is broke.
GetTextColor is supposed to be nil IMO since that should only have been used for overriding the SKIN (see DLabel).
Maybe something like DLabel's GetColor method could be implemented here but it won't address backwards compatibility.
Temporary fix for skin changes in latest update.
I've got a workaround that should suppress the error till you guys figure this out. Sorry bout the spew of issue reports! I should have caught this a few weeks ago, but I've been pretty busy as of late.
@SticklyMan They already fixed your portion with 35b990d
@Kefta Excellent, thanks for the heads up!
How does DHTMLControls have anything to do with this issue?
Fixed some backwards compatibility issues with #1141.
For those watching this issue, see #1147.