This bug:

Was present in the Bugzilla for a long time now. It was reported because the 
Frosty Logo script did not render correctly. Kevin Cozens discovered it was 
due to the Sparkle Plug-in. Eventually, I decided to resolve it. I did that 
by comparing the code (portion by portion and line by line) to the code in 
GIMP 1.2. As a result of this process, I found four regression bugs[1] that 
were fixed in this patch:

However, there were still problems apparent. I temporarily hacked the code to 
settle both plug-ins on the same identical pseudo-random number generator, 
with the same seed, and compared the results. They were very different.

So I decided to add traces in the code to see where they were different. As I 
went to add some traces, I discovered another regression bug, very similar to 
another one I discovered previously, which I fixed. This seems to have 
corrected the problem altogether, but the results were still not identical.

I added more traces, enough to cause both dumps to become a 1.5 GB (no typo 
here) file, and then I discovered that a parameter passed to a function was 
different in the plug-ins. I found out that it was a bug, because the 4th 
byte (possibly alpha) of a color was not initialized. This bug was still 
present in gimp 1.2.x. I fixed this bug too, and afterwards the results were 

The patch with both of the newer fixes is this:

In any case, I still noticed a problem. In the upper part of the image, the 
shadows had completely horizontal edges. I noticed that this problem still 
existed in GIMP 1.0.x (!), but it was still disturbing. After a lot of 
investigation, and trying to reduce the script to a minimum that still 
exhibits this problem, I found out the problem was because:

I discovered that the problem with the shadow was due to the fact that the
shadow was generated within the image boundaries and then the shadow layer was
moved (= translated) by an offset which caused it to have horizontal edges at
the top of the resultant image.

I prepared a patch to fix it. Sven told me to commit it to the CVS, which I 
did. I forgot to commit it to the GIMP 2.2 branch, which Sven was gracious 
enough to do late last night.

So now the sparkle plug-in is hopefully fully bug-free, and the Frosty logo is 
back in action. Happy sparkling!


        Shlomi Fish

[1] - Well, one of them was just a swapped order for fetching two consecutive 
random numbers from the random number generator, but that was revised too.

Shlomi Fish      [EMAIL PROTECTED]

Knuth is not God! It took him two days to build the Roman Empire.
Gimp-developer mailing list

Reply via email to