[Bug 54563] New: The gif is displaying wrongly, with weird backgrounds of various colors
https://bugs.winehq.org/show_bug.cgi?id=54563 Bug ID: 54563 Summary: The gif is displaying wrongly, with weird backgrounds of various colors Product: Wine Version: 8.2 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: gdiplus Assignee: wine-bugs(a)winehq.org Reporter: 399989567(a)qq.com Distribution: --- First of all, you can understand the cause and effect of things through this URL:https://bugs.winehq.org/show_bug.cgi?id=54526 I found a new bug, this gif file "1_background_fail.gif" will have wrong background color. "1_background_pick.gif":Another problem, maybe not the same problem as 1_background_fail.gif (I personally don't think it's the same problem) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54563 --- Comment #1 from 399989567(a)qq.com --- Created attachment 74103 --> https://bugs.winehq.org/attachment.cgi?id=74103 GDI_gif.exe The demo is for windows 10, and the content of the demo is to play a file named "1.gif". So you need to rename the file to "1.gif" and put it in the compiled . /wine in the same directory. This will allow the demo to run correctly. "1_ok.gif" is a gif file that can be parsed normally, "1_fail.gif" is a gif file that can't be parsed normally. I hope my demo is helpful to solve this problem.
get source code from # bug 54526
-- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54563 --- Comment #2 from 399989567(a)qq.com --- Created attachment 74104 --> https://bugs.winehq.org/attachment.cgi?id=74104 1_background_fail.gif Running this gif with my demo produces the wrong background color (black) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54563 --- Comment #3 from 399989567(a)qq.com --- Created attachment 74105 --> https://bugs.winehq.org/attachment.cgi?id=74105 pick.gif -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54563 --- Comment #4 from Dmitry Timoshkov <dmitry(a)baikal.ru> --- Created attachment 74118 --> https://bugs.winehq.org/attachment.cgi?id=74118 patch Thanks for the detailed bug report. Attached patch does fix the background of the problematic GIF image, however I'm not sure that it's the proper solution. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54563 --- Comment #5 from 399989567(a)qq.com --- (In reply to Dmitry Timoshkov from comment #4)
Created attachment 74118 [details] patch
Thanks for the detailed bug report.
Attached patch does fix the background of the problematic GIF image, however I'm not sure that it's the proper solution.
Your modification can indeed solve the problem, I have tried to modify it in this way before, if I remember correctly, this modification can only solve the pink background problem, can not solve the black background problem (I can test it again later) The essence of this modification is to adjust the transparency of the background color to zero, I think this modification is not correct, the essence of the problem should still be in the parsing of the gif when there is a problem. I seem to have found something that might be causing a problem, in the function "copypixels_to_32bppBGRA" I output. " FIXME("source_format:%d %d %d\n",source_format,format_32bppRGB,format_32bppBGRA); " When I use the official gdiplus.dll (native than buildin) , the problem does not arise and the output here is always: source_format=3; when I use wine's own code, the problem occurs and the output here is alternately "source_format=3 ; source_format=17 " -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54563 Piotr Caban <piotr.caban(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |piotr.caban(a)gmail.com --- Comment #6 from Piotr Caban <piotr.caban(a)gmail.com> --- I've sent a patch that should fix it: https://gitlab.winehq.org/wine/wine/-/merge_requests/2323 I've also created another MR that affects how attached GIFs are displayed: https://gitlab.winehq.org/wine/wine/-/merge_requests/2321 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54563 --- Comment #7 from 399989567(a)qq.com --- (In reply to Piotr Caban from comment #6)
I've sent a patch that should fix it: https://gitlab.winehq.org/wine/wine/-/merge_requests/2323
I have two questions about this submission. 1. This commit seems to fail on "test-64" 2. I know "New code is written to match tests and fix real applications." But I have a question when "a transparent index set", why do we return null on line 3887, instead of the transparent color value, i.e.
else if(bitmap->prop_item[i].id == PropertyTagIndexTransparent) { return *(BYTE*)bitmap->prop_item[i].value; }
Am I misunderstanding somewhere? Thanks for replay. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54563 --- Comment #8 from Piotr Caban <piotr.caban(a)gmail.com> --- (In reply to 399989567 from comment #7)
I have two questions about this submission. 1. This commit seems to fail on "test-64"
This failure is not related to the patch. The test is sometimes, randomly, failing.
else if(bitmap->prop_item[i].id == PropertyTagIndexTransparent) { return *(BYTE*)bitmap->prop_item[i].value; }
The function is returning color not the index in color palette. 0 represents transparent color. There's more info in the MR. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54563 --- Comment #9 from 399989567(a)qq.com --- (In reply to Piotr Caban from comment #8)
(In reply to 399989567 from comment #7)
I have two questions about this submission. 1. This commit seems to fail on "test-64"
This failure is not related to the patch. The test is sometimes, randomly, failing.
else if(bitmap->prop_item[i].id == PropertyTagIndexTransparent) { return *(BYTE*)bitmap->prop_item[i].value; }
The function is returning color not the index in color palette. 0 represents transparent color.
There's more info in the MR.
Thanks,I got it. Maybe if you have time for bug54271 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54563 Dmitry Timoshkov <dmitry(a)baikal.ru> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |333a63c456fec24f249a7096b1d | |858252c9a6bf4 Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #10 from Dmitry Timoshkov <dmitry(a)baikal.ru> --- Fixed by 333a63c456fec24f249a7096b1d858252c9a6bf4. Thanks Piotr. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54563 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #11 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 8.4. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54563 Michael Stefaniuc <mstefani(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |8.0.x -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54563 Michael Stefaniuc <mstefani(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|8.0.x |--- --- Comment #12 from Michael Stefaniuc <mstefani(a)winehq.org> --- Removing the 8.0.x milestone from bug fixes included in 8.0.1. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54563 --- Comment #13 from 399989567(a)qq.com --- (In reply to Michael Stefaniuc from comment #12)
Removing the 8.0.x milestone from bug fixes included in 8.0.1.
What is the meaning of this sentence?I didn't quite understand it Thanks for you help -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54563 Olivier F. R. Dierick <o.dierick(a)piezo-forte.be> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |o.dierick(a)piezo-forte.be --- Comment #14 from Olivier F. R. Dierick <o.dierick(a)piezo-forte.be> --- (In reply to 399989567 from comment #13)
(In reply to Michael Stefaniuc from comment #12)
Removing the 8.0.x milestone from bug fixes included in 8.0.1.
What is the meaning of this sentence?I didn't quite understand it Thanks for you help
Hello, When a fix for a bug is deemed appropriate for inclusion in the next stable branch of Wine (not development or experimental), the bug is marked with the 'Target Milestone' field. When that stable branch of wine is released, the mark is removed (the target milestone has been reached). In this case, the bug was fixed in wine 8.4 (development branch), then marked for inclusion in wine-stable 8.0.x. wine-stable 8.0.x has been released yesterday, so the mark has been removed. Regards. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=54563 --- Comment #15 from 399989567(a)qq.com --- (In reply to Olivier F. R. Dierick from comment #14)
(In reply to 399989567 from comment #13)
(In reply to Michael Stefaniuc from comment #12)
Removing the 8.0.x milestone from bug fixes included in 8.0.1.
What is the meaning of this sentence?I didn't quite understand it Thanks for you help
Hello,
When a fix for a bug is deemed appropriate for inclusion in the next stable branch of Wine (not development or experimental), the bug is marked with the 'Target Milestone' field. When that stable branch of wine is released, the mark is removed (the target milestone has been reached).
In this case, the bug was fixed in wine 8.4 (development branch), then marked for inclusion in wine-stable 8.0.x. wine-stable 8.0.x has been released yesterday, so the mark has been removed.
Regards.
I get it ,thanks! -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla