Sometimes the compiler cannot save you…
When I was trying to understand why the matchbox-keyboard always presents window decoration under E (it doesn’t do it under Gnome and KDE), I found this code and noticed a strange thing…
if (!cfdata->border->remember)
cfdata->border->remember = e_remember_new();
{
if (cfdata->border->remember)
e_remember_use(cfdata->border->remember);
}
(e17/apps/e/src/modules/conf_borders/e_int_config_borders.c function _basic_apply_border)
The second and third lines are switched, "cfdata->border->remember = e_remember_new();" should be inside the next context created ( {} ).
This small mistake couldn’t be noticed by the compiler as the syntax is actually right (you can create new contexts anytime). Functionally speaking, it sounds the the e_remember_use function should be called just when the new “remember” is created instead of every time.
This bug won’t be noticed because the code is already patched ![]()