http://bugs.winehq.org/show_bug.cgi?id=31596
Bug #: 31596 Summary: Microsoft SQL Server Management Studio Express 2005: cannot create database because of exception Product: Wine Version: 1.5.12 Platform: x86 URL: http://www.microsoft.com/download/en/details.aspx?id=8 961 OS/Version: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: gdiplus AssignedTo: wine-bugs@winehq.org ReportedBy: djelinski1@gmail.com Classification: Unclassified
Created attachment 41550 --> http://bugs.winehq.org/attachment.cgi?id=41550 log of ssmsee.exe - steps as described.
When attempting to create a database, an error message is displayed: Property cannot be found. (System.Drawing). Also a red X is displayed in place of an animation.
With native gdiplus everything works as expected.
To reproduce this bug you need a running instance of sql server. Then - start the application - connect to the server - select New database from context menu on Databases - type a name for the database - click Ok
winetricks dotnet20 win7 is required to run this application.
http://bugs.winehq.org/show_bug.cgi?id=31596
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download
http://bugs.winehq.org/show_bug.cgi?id=31596
--- Comment #1 from Daniel Jelinski djelinski1@gmail.com 2012-09-05 14:06:26 CDT --- Creating databases used to work prior to this commit: commit eeee536ad6027086302b18bfc628c00c1894fccb Author: Dmitry Timoshkov dmitry@baikal.ru Date: Wed May 16 23:33:55 2012 +0900
gdiplus: Implement GdipImageGetFrameCount.
That version displayed only the first frame of animation.
http://bugs.winehq.org/show_bug.cgi?id=31596
--- Comment #2 from Daniel Jelinski djelinski1@gmail.com 2012-09-05 14:38:27 CDT --- A fragment from +relay,+tid,+seh log seems to indicate that the failing function is GdipGetPropertyItemSize:
... 0052:Call gdiplus.GdipImageGetFrameCount(0409d8f8,0613d91c,013a60a4) ret=00f38b24 0052:Ret gdiplus.GdipImageGetFrameCount() retval=00000000 ret=00f38b24 0052:Call KERNEL32.GetLastError() ret=00f38b2a 0052:Ret KERNEL32.GetLastError() retval=000003eb ret=00f38b2a 0052:Call gdiplus.GdipImageGetFrameCount(0409d8f8,0613d964,013a60b4) ret=00f38b24 0052:Ret gdiplus.GdipImageGetFrameCount() retval=00000000 ret=00f38b24 0052:Call KERNEL32.GetLastError() ret=00f38b2a 0052:Ret KERNEL32.GetLastError() retval=000003eb ret=00f38b2a 0052:Call gdiplus.GdipGetPropertyItemSize(0409d8f8,00005100,0613d960) ret=00f31080 0052:Ret gdiplus.GdipGetPropertyItemSize() retval=00000013 ret=00f31080 0052:Call KERNEL32.GetLastError() ret=00f31086 0052:Ret KERNEL32.GetLastError() retval=000003eb ret=00f31086 0052:Call KERNEL32.RaiseException(e0434f4d,00000001,00000001,0613d854) ret=79f97065 0052:trace:seh:raise_exception code=e0434f4d flags=1 addr=0x7b83abd2 ip=7b83abd2 tid=0052 ...
Return value of 0x13 does indeed translate to Property not found.
http://bugs.winehq.org/show_bug.cgi?id=31596
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression Regression SHA1| |eeee536ad6027086302b18bfc62 | |8c00c1894fccb
http://bugs.winehq.org/show_bug.cgi?id=31596
Dmitry Timoshkov dmitry@baikal.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords|regression | Component|gdiplus |windowscodecs Regression SHA1|eeee536ad6027086302b18bfc62 | |8c00c1894fccb |
--- Comment #3 from Dmitry Timoshkov dmitry@baikal.ru 2012-09-05 20:10:28 CDT --- The problem is in windowscodecs.dll, support for image properties is not implemented in PNG decoder.
http://bugs.winehq.org/show_bug.cgi?id=31596
--- Comment #4 from Daniel Jelinski djelinski1@gmail.com 2012-09-06 13:13:19 CDT --- Created attachment 41594 --> http://bugs.winehq.org/attachment.cgi?id=41594 Sample C# application with source that can be used to reproduce the bug
Actually it's a problem with decoding animated Gif files. If an application detects that the image has more than one frame, it tries to get PropertyTagFrameDelay, which determines exactly how long each frame should be visible.
Attached application contains a PictureBox, which displays animated Gif under Windows and throws exception under Wine.
Sample C++ code for decoding Gif files using GDI+ can be found here: http://www.codeproject.com/Articles/27387/Play-GIF-using-GDI
Gif files specify delay for every frame in graphic control extension, as described in paragraph 23 here: http://www.w3.org/Graphics/GIF/spec-gif89a.txt
GifLib used by Wine does not recognize extensions, so there's quite some work to do.
Also, when Gdi+ reports that the image contains only one frame, PictureBox does not attempt to read frame delay and does not throw, which makes several applications behave better, so technically this is a regression (definition: "bugs relating to programs that were working at one time but stoped working for some reason")
http://bugs.winehq.org/show_bug.cgi?id=31596
Daniel Jelinski djelinski1@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet, source, testcase
http://bugs.winehq.org/show_bug.cgi?id=31596
Daniel Jelinski djelinski1@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Microsoft SQL Server |Microsoft SQL Server |Management Studio Express |Management Studio Express |2005: cannot create |2005: cannot create |database because of |database because of |exception |exception (GDI+ cannot read | |display times of animated | |GIF frames)
http://bugs.winehq.org/show_bug.cgi?id=31596
--- Comment #5 from Daniel Jelinski djelinski1@gmail.com 2012-09-26 14:08:25 CDT --- Created attachment 41846 --> http://bugs.winehq.org/attachment.cgi?id=41846 Screenshot of the attached application
Hello Dmitry, Thank you for your work on this issue. I expected animations to work after commit 3bb4974dd45b8030afd64948e20f616f8a6cc8b3. Unfortunately, after this commit when an application tries to display animated gif image, everything GDI+ related in the entire application (text, icons, buttons etc.) is replaced by red X'es. See attached screenshot.
http://bugs.winehq.org/show_bug.cgi?id=31596
--- Comment #6 from Daniel Jelinski djelinski1@gmail.com 2012-09-27 13:29:57 CDT --- Patch http://source.winehq.org/patches/data/90340 finally makes animated GIFs work. The rendering is still not perfect - only the first frame is rendered correctly, others are missing some pieces.
For reference - the animation I used in the attached application is available here: http://en.wikipedia.org/wiki/Graphics_Interchange_Format as you may see, in application the stars are visible only in the first frame, while on the page they are visible in all frames.
Should I file a separate bug for this issue?
http://bugs.winehq.org/show_bug.cgi?id=31596
Daniel Jelinski djelinski1@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |31819
http://bugs.winehq.org/show_bug.cgi?id=31596
Daniel Jelinski djelinski1@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |896d1047f3e925c37bb9a3008f4 | |1072c48a12527 Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #7 from Daniel Jelinski djelinski1@gmail.com 2012-09-28 13:22:34 CDT --- Animated GIF images work in current git. Filed bug 31819 for the rendering problem.
http://bugs.winehq.org/show_bug.cgi?id=31596
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Alexandre Julliard julliard@winehq.org 2012-09-28 13:43:25 CDT --- Closing bugs fixed in 1.5.14.