438b712da2a2d30f15296b4eab07a30671f06fbd
fallback was checked with the main theme, then each class fallback was checked with the base theme, and so on. Reverse this: check the class name with each theme, then check the class fallback with each theme, and so on. This is faster, since we only look up each class Fallback at most once, not once per fallback theme, and groups together theme lookups (which may allow further optimizations). More importantly, this matches the metric lookup scheme. This also makes more sense--if "ScreenWithMenuElements header" is overridden by "ScreenMenu header" in the base theme, overriding "ScreenWithMenuElements header" in a derived theme should change the same in the base theme (changing the default) but not change the specialized "ScreenMenu header".
Description
Languages
C++
85.7%
Lua
4.3%
C
4.3%
Rich Text Format
2.3%
CMake
1.1%
Other
2%