Skip to content

fix XcursorTheme loop regression

Tobias Stoeckmann requested to merge tstoeckmann/libxcursor:regression into master

Handle themes with multiple inherit entries. Although the previous commit keeped track of inherited themes, it only handled multiple theme entries on the highest level.

This fix unconditionally checks if the next upper level contains a line. If it does, it processes contained themes (i.e. the current theme had an inherited entry in its index file).

If the upper level has no more themes, it goes down a level and processes the next theme there. If no next theme exists, it moves down another level and so on until it reaches level 0, i.e. the initially supplied theme.

The lowest level (d = 0) is treated specially because we must not modify the supplied theme, which could happen when calling _XcursorNextPath.

Signed-off-by: Tobias Stoeckmann

Merge request reports