https://bugs.kde.org/show_bug.cgi?id=495259

--- Comment #6 from Matthew Woehlke <[email protected]> ---
Created attachment 197616
  --> https://bugs.kde.org/attachment.cgi?id=197616&action=edit
patch that fixes the bug

Success! I have identified the cause *and I have a patch*.

What goes sideways... `ColorCache::m_defaultColors` gets initialized with a
fixed set of colors that are only appropriate for dark-on-light color schemes.
And... it never gets reset like it is supposed to. The reason it never gets
reset is due to a broken optimization in `ColorCache::updateColorsFromView`,
which checks to see if the view's foreground and/or background colors differ
from the cached `m_foreground`, `m_background`. Those members, however, are
initialized from the system color scheme. When using the 'follow system' syntax
highlighting scheme, that check is false, which results in KDevelop skipping
updating `m_defaultColors`, *even though it has never been initialized from the
color scheme*.

There appear to be two ways to fix this. One is to ensure that the first call
to `updateColorsFromView` *always* updates the default colors, whether or not
the forground/background have "changed". That is what this patch does. I'll add
the other approach as a different patch.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to