Version: (using KDE KDE 3.4.0) Konqueror 3.5 beta (and Konqueror 3.4.2 as well) seem to have problems when changing the image source from javascript. I think it to be some kind of initialization bug. Here are a couple of pages that show the problem: http://www.cirulla.net/listing/html-tests/gif-bug-test2.html http://www.cirulla.net/listing/html-tests/gif-bug-test1.html To see the problem, (on the first link), click on the first "here": an animation should be loaded (so far everything works as expected). Now click on the second "here": an animation showing a red message should be started, but it isn't. This is the problem. Now click on the third "here": you will see a flash of the red animation, and then a yellow message on a black oval. Now click again on the first link: the animation is shown correctly. Now click again on the second link: this animation too is shown correctly. From now on, the page reacts normally. I managed to test this page on Firefox 1.0.6, and on Konqueror 3.1.4, and they both behave as expected. So it seems something went wrong between konqueror 3.1 and konqueror 3.4.
Here is what I sent to kfm-devel (which is held for moderation again, I really need to figure out what addy I am subscribed with ;-) ): Actually, here is another suspect for you: in RenderImage::paint, there is a big conditional that does something like RenderImage* i = .... and chooses between oimage and image. Try putting in RenderImage* i = image; there. Quite possible that that logic is screwed up for animated gifs. (Note: this change may introduce some flicker, though :-( )
El Viernes, 14 de Octubre de 2005 15:12, Maksim Orlovich escribió: [bugs.kde.org quoted mail] That works, thank you! There seem to be a bit of flashing when changing the image, but that's minor. Actually, it looks like a border is temporarily drawn around the image. I'll look more into this later, but that's a good start. Luciano
El Viernes, 14 de Octubre de 2005 15:12, Maksim Orlovich escribió: > > Actually, here is another suspect for you: in RenderImage::paint, there > is a big conditional that does something like RenderImage* i = .... > and chooses between oimage and image. Try putting in RenderImage* i = > image; there. Quite possible that that logic is screwed up for animated > gifs. (Note: this change may introduce some flicker, though :-( ) Ah, as an aside, the trick works, but there seem to be some problem in the loader still. I have added a kdDebug() in the do_notify() function, where I print the serialNumber() of the pixmap. When I click on the second link, I see that do_notify() is called for two different pixmaps. I think one of the notifications should be halted, doesn't it? Luciano
Created attachment 13028 [details] Fixes most of the symptoms This seem to fix the problem for me too. I'm not sure what is the logic behind the oimage/image stuff, however this actually stops the "old" animation to continually update. Maybe this should be called only when oimage is known to be an animation, but I have not seen a way to tell from outside the CachedImage class.
I've tested the page on konqueror 4.0.3. The images are all loaded correctly and without flickering.
This bug is no longer present in svn trunk r803492, but it is still present in 3.5.9. It may get backported to 3.5 branch, but I will close it as it is fixed in trunk.