Bug #94648
closedGifBuilder does not recognize all changes in config when creating Hash
100%
Description
In the Feature #64158 the way hashes are created was changed. Only certain parameters are taken into consideration when trying to figure out if a picture has to be reprocessed or if the cached picture can be loaded.
On line 740 the keys of the setup array are used but not the set values.
array_keys($this->setup)
Some additional parameters like width and offset are considered as well, but when you start to configure encapsulated images, those changes are not considered. This causes the GifBuilder to give back old cached images even when a new processing would be needed.
Example - the offset parameter of the 10 = Image is not gonna be considered:
$imgConf['file.']['format'] = $fileF[1];
$imgConf['file.']['backColor'] = 'transparent';
$imgConf['file.']['10'] = 'IMAGE';
$imgConf['file.']['10.']['file'] = $filePath;
$imgConf['file.']['10.']['file.']['width'] = $settings['width'];
$imgConf['file.']['10.']['offset'] = $settings['left'] . "," . $settings['top'];
I think this should be fixed by changing the line 740 to something like:
json_encode($this->setup),
This will be somewhat slower, but will at least yield the desired result.