https://bugs.winehq.org/show_bug.cgi?id=40273
Bug ID: 40273 Summary: Call from 0x7b83d9b2 to unimplemented function windowscodecs.dll.WICCreateBitmapFromSection Product: Wine Version: 1.9.5 Hardware: x86 OS: Linux Status: NEW Severity: normal Priority: P2 Component: windowscodecs Assignee: wine-bugs@winehq.org Reporter: xerox_xerox2000@yahoo.co.uk Distribution: ---
a user reported problems with this app https://paprikaapp.com/windows/ on the forum. After winetricks dotnet45 corefonts and working around https://bugs.winehq.org/show_bug.cgi?id=15670 by adding registrykey like wine-staging does** the app crashes with Call from 0x7b83d9b2 to unimplemented function windowscodecs.dll.WICCreateBitmapFromSection
When i use native windowscodecs it also crashes with: Unhandled Exception: System.NotSupportedException: No imaging component suitable to complete this operation was found. ---> System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x88982F50
**: (see https://github.com/wine-compholio/wine-staging/blob/master/patches/wine.inf-...)
https://bugs.winehq.org/show_bug.cgi?id=40273
Louis Lenders xerox_xerox2000@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |https://paprikaapp.com/wind | |ows/
https://bugs.winehq.org/show_bug.cgi?id=40273
--- Comment #1 from Dmitry Timoshkov dmitry@baikal.ru --- Created attachment 53916 --> https://bugs.winehq.org/attachment.cgi?id=53916 patch
Does this patch help?
https://bugs.winehq.org/show_bug.cgi?id=40273
--- Comment #2 from Louis Lenders xerox_xerox2000@yahoo.co.uk --- (In reply to Dmitry Timoshkov from comment #1)
Created attachment 53916 [details] patch
Does this patch help?
Hi Dmitry, the patch fixes the crash and the application starts fine now. Thanks for this very quick fix Dmitry!
https://bugs.winehq.org/show_bug.cgi?id=40273
--- Comment #3 from Hans Leidekker hans@meelstraat.net --- (In reply to Dmitry Timoshkov from comment #1)
Created attachment 53916 [details] patch
Does this patch help?
I recently worked on an application that needs WICCreateBitmapFromSection and tried the same approach, but it didn't work. The app embeds chromium which renders a web page to a section and keeps updating the section. Another thread periodically reads from the bitmap object and displays it on the screen.
So instead creating a copy of the section data we should store the view and use that for reads and writes.
https://bugs.winehq.org/show_bug.cgi?id=40273
--- Comment #4 from Dmitry Timoshkov dmitry@baikal.ru --- Created attachment 53921 --> https://bugs.winehq.org/attachment.cgi?id=53921 patch v2
Something like the attached patch should take care of the modifications to the section data made by an application.
https://bugs.winehq.org/show_bug.cgi?id=40273
--- Comment #5 from Hans Leidekker hans@meelstraat.net --- (In reply to Dmitry Timoshkov from comment #4)
Created attachment 53921 [details] patch v2
Something like the attached patch should take care of the modifications to the section data made by an application.
Yep. I'm not sure you can pass the offset straight into MapViewOfFile. The documentation for MapViewOfFile says it should be a multiple of the allocation granularity but no such restriction is mentioned for WICCreateBitmapFromSection.
An alternative would be to map the view at the base and store it separately. The data pointer would then point at the offset into the view.
https://bugs.winehq.org/show_bug.cgi?id=40273
--- Comment #6 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Hans Leidekker from comment #5)
Yep. I'm not sure you can pass the offset straight into MapViewOfFile. The documentation for MapViewOfFile says it should be a multiple of the allocation granularity but no such restriction is mentioned for WICCreateBitmapFromSection.
An alternative would be to map the view at the base and store it separately. The data pointer would then point at the offset into the view.
Of course this would need some tests to figure out how it's supposed to behave in such cases, and if passing a not page aligned offset should work.
Also it would be interesting to test what happens when a read-only section is passed, and somebody attempts to write to a bitmap using WIC APIs.
https://bugs.winehq.org/show_bug.cgi?id=40273
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |STAGED CC| |dmitry@baikal.ru, | |erich.e.hoover@wine-staging | |.com, michael@fds-team.de, | |sebastian@fds-team.de Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/windowscodecs- | |WICCreateBitmapFromSection
https://bugs.winehq.org/show_bug.cgi?id=40273
Robert Walker bob.mt.wya@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bob.mt.wya@gmail.com
--- Comment #7 from Robert Walker bob.mt.wya@gmail.com --- Created attachment 53992 --> https://bugs.winehq.org/attachment.cgi?id=53992 Paprika Recipe Manager console output
Console log and backtrace from Paprika Recipe Manager running on Wine Staging (git commit: 8d7c66f500718f2e52816e77f8d685f891f9cc0c).
Still appears to fail as before... Or perhaps I've done something else wrong :-)
https://bugs.winehq.org/show_bug.cgi?id=40273
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Call from 0x7b83d9b2 to |Paprika Recipe Manager |unimplemented function |needs |windowscodecs.dll.WICCreate |windowscodecs.dll.WICCreate |BitmapFromSection |BitmapFromSection
https://bugs.winehq.org/show_bug.cgi?id=40273
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
https://bugs.winehq.org/show_bug.cgi?id=40273
Andy P pembertona@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pembertona@gmail.com
--- Comment #8 from Andy P pembertona@gmail.com --- Dmitry: any chance to get this patch packaged into an official Wine release? I see the status marked as STAGED but not sure what that means. I had the same issue (with a different app, not Paprika) and patch_v2 did indeed fix it so hoping to get it released!
https://bugs.winehq.org/show_bug.cgi?id=40273
--- Comment #9 from Andy P pembertona@gmail.com --- Just confirming I think I learned this patch is available in 2.21-staging but not 2.22-devel or any of the 3.x branches. Any chance to move this forward to 3.x?
https://bugs.winehq.org/show_bug.cgi?id=40273
Dmitry Timoshkov dmitry@baikal.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |1184f9d969c247b455df34d4955 | |f3b8789cb5afa Resolution|--- |FIXED Status|STAGED |RESOLVED
--- Comment #10 from Dmitry Timoshkov dmitry@baikal.ru --- Committed as 1184f9d969c247b455df34d4955f3b8789cb5afa.
https://bugs.winehq.org/show_bug.cgi?id=40273
--- Comment #11 from Andy P pembertona@gmail.com --- Dmitry: thanks! Confirming this patch did not make 3.4-devel? If that's right, any idea when 3.5 may be available?
https://bugs.winehq.org/show_bug.cgi?id=40273
--- Comment #12 from Dmitry Timoshkov dmitry@baikal.ru --- (In reply to Andy P from comment #11)
Dmitry: thanks! Confirming this patch did not make 3.4-devel?
That's correct.
If that's right, any idea when 3.5 may be available?
wine-3.5 should be released next friday.
https://bugs.winehq.org/show_bug.cgi?id=40273
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #13 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 3.5.
https://bugs.winehq.org/show_bug.cgi?id=40273
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |3.0.x
https://bugs.winehq.org/show_bug.cgi?id=40273
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|3.0.x |---
--- Comment #14 from Michael Stefaniuc mstefani@winehq.org --- Drop 3.0.x tag for bug fixes that won't make it into wine-3.0.x.