http://bugs.winehq.org/show_bug.cgi?id=10050
Summary: oleaut32 and ITypeInfo::Invoke arguments Product: Wine Version: 0.9.47. Platform: Other OS/Version: other Status: UNCONFIRMED Severity: normal Priority: P2 Component: wine-ole AssignedTo: wine-bugs@winehq.org ReportedBy: gabmoa@yahoo.it
I'm trying to see an application (a cnc simulator/manager called ZFlash) in wine. It is a quite big VB6 application and I hope one day (not so distant) will run in linux. There are strange (for me :) errors:
...
ab},x=0,y=0,f=0,0x33e8b8), partially implemented. fixme:ole:OleLoadPictureEx (0x1451a0c,3134,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x33f17c), partially implemented. fixme:ole:OleLoadPictureEx (0x1460794,2110,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x33f530), partially implemented. fixme:ole:OLEPictureImpl_SaveAsFile (0x1d94008)->(0x21ed868, 0, (nil)), hacked stub. fixme:ole:OLEPictureImpl_Render type -1 not implemented fixme:ole:OLEPictureImpl_Render Not quite correct implementation of rendering icons...
HERE IS THE 'STRANGE' LINE fixme:ole:_invoke unsupported number of arguments 70 in stdcall
fixme:ole:OLEPictureImpl_Render type -1 not implemented fixme:ole:OLEPictureImpl_Render Not quite correct implementation of rendering icons... fixme:ole:OLEPictureImpl_Render Not quite correct implementation of rendering icons... fixme:ole:OLEPictureImpl_Render type -1 not implemented fixme:ole:OLEPictureImpl_Render Not quite correct implementation of rendering ... continue In the wine sources:
/dlls/oleaut32.dll, file typelib.c
/* ITypeInfo::Invoke DWORD _invoke(FARPROC func,CALLCONV callconv, int nrargs, DWORD *args) {
...
switch (callconv) { case CC_STDCALL: switch (nrargs) { case 0: res = func(); break; case 1: res = func(args[0]); break; ... case 30: ...
it finishes at 30, but the application seems to need also the 46 and 70 case. I have added the two case and seems ok (it stops for another thing after this but I think is another story)
My question is: 30 is considered only a big number or there is a reason? Seems that this application need bigger numbers...
(wine 0.9.47 clean from sources)
http://bugs.winehq.org/show_bug.cgi?id=10050
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com Target Milestone|--- |1.0.0
--- Comment #1 from Dan Kegel dank@kegel.com 2007-10-15 18:47:46 --- Heh. Every time we run into an app that blows past the limits, we increase the limit. Time to do that again. Feel free to submit a patch that adds the 50 cases 31..80.
At some point, we might want to switch to a dynamic method so we don't run into such a limit again. I think we've done that somewhere else in OLE before.
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #2 from Gabriele Moabiti gabmoa@yahoo.it 2007-10-17 17:03:17 --- (In reply to comment #1)
Heh. Every time we run into an app that blows past the limits, we increase the limit. Time to do that again. Feel free to submit a patch that adds the 50 cases 31..80.
At some point, we might want to switch to a dynamic method so we don't run into such a limit again. I think we've done that somewhere else in OLE before.
posted to wine-git
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #3 from Gabriele Moabiti gabmoa@yahoo.it 2007-10-27 09:00:57 ---
posted to wine-git
Seems not accepted... but it works and it's not so 'difficult to prove ok' patch I will re-post (it adds only many cases, the case-indipendent patch should be better...)
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #4 from Austin English austinenglish@gmail.com 2008-04-26 16:39:30 --- Is this still an issue in current (0.9.60 or newer) wine?
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #5 from Jon Griffiths jon_p_griffiths@yahoo.com 2008-06-03 10:52:49 --- Created an attachment (id=13631) --> (http://bugs.winehq.org/attachment.cgi?id=13631) Dynamic invocation for x86
http://bugs.winehq.org/show_bug.cgi?id=10050
Jon Griffiths jon_p_griffiths@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jon_p_griffiths@yahoo.com
--- Comment #6 from Jon Griffiths jon_p_griffiths@yahoo.com 2008-06-03 10:56:20 --- Hi Gabriele,
Alexandre may have wanted a more general solution. Can you verify that the attached patch works for you?
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #7 from Gabriele Moabiti gabmoa@yahoo.it 2008-06-03 14:00:29 --- (In reply to comment #6)
Tested, it seems ok, but even with this patch the application can't start
....
fixme:ole:OleLoadPictureEx (0x150a73c,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1e809d0), partially implemented. fixme:ole:OleLoadPictureEx (0x150a73c,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1e80a68), partially implemented. fixme:ole:OleLoadPictureEx (0x150a73c,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1e80b30), partially implemented. fixme:richedit:RichEditWndProc_common WM_STYLECHANGING: stub fixme:richedit:RichEditWndProc_common WM_STYLECHANGED: stub fixme:richedit:IRichEditOle_fnInPlaceDeactivate stub 0x1d01198 fixme:richedit:IRichEditOle_fnInPlaceDeactivate stub 0x1d01198 fixme:richedit:ME_StreamOutFlush Invalid returned written size *pcb: 0xdeadbeef (-559038737) instead of 0 fixme:ole:OleLoadPictureEx (0x150a73c,1086,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x33e464), partially implemented. fixme:ole:OLEPictureImpl_get_hPal unimplemented for type 3. Returning 0 palette. fixme:richedit:RichEditWndProc_common WM_STYLECHANGING: stub fixme:richedit:RichEditWndProc_common WM_STYLECHANGED: stub fixme:richedit:IRichEditOle_fnInPlaceDeactivate stub 0x1d01be0 fixme:richedit:IRichEditOle_fnInPlaceDeactivate stub 0x1d01be0 fixme:richedit:ME_StreamOutFlush Invalid returned written size *pcb: 0xdeadbeef (-559038737) instead of 0 fixme:ole:OleLoadPictureEx (0x150a73c,5702,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x33e4c4), partially implemented. fixme:ole:OLEPictureImpl_get_hPal unimplemented for type 3. Returning 0 palette. fixme:ole:OleLoadPictureEx (0x150a73c,5702,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x33e4c4), partially implemented. fixme:ole:OLEPictureImpl_get_hPal unimplemented for type 3. Returning 0 palette. fixme:ole:OleLoadPictureEx (0x150a73c,5702,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x33e4c4), partially implemented. fixme:ole:OLEPictureImpl_get_hPal unimplemented for type 3. Returning 0 palette. fixme:ole:OleLoadPictureEx (0x150a73c,5702,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x33e4c4), partially implemented. fixme:ole:OLEPictureImpl_get_hPal unimplemented for type 3. Returning 0 palette. fixme:ole:OLEPictureImpl_get_hPal unimplemented for type 3. Returning 0 palette. fixme:ole:OLEPictureImpl_get_hPal unimplemented for type 3. Returning 0 palette. fixme:richedit:IRichEditOle_fnInPlaceDeactivate stub 0x1d01be0 fixme:ole:OleLoadPictureEx (0x14db364,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1e9dd48), partially implemented. fixme:ole:OleLoadPictureEx (0x14db364,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1e9dec0), partially implemented. fixme:ole:OleLoadPictureEx (0x14db364,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1e9df78), partially implemented. fixme:ole:OleLoadPictureEx (0x14db364,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1e9dff0), partially implemented. fixme:ole:OleLoadPictureEx (0x15073c4,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1eb8280), partially implemented. fixme:ole:OleLoadPictureEx (0x15073c4,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1eb8368), partially implemented. fixme:ole:OleLoadPictureEx (0x15073c4,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1eb83e0), partially implemented. fixme:ole:OleLoadPictureEx (0x15073c4,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1eb8458), partially implemented. fixme:ole:OleLoadPictureEx (0x15073c4,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1eb84d0), partially implemented. fixme:ole:OleLoadPictureEx (0x15073c4,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1eb8548), partially implemented. fixme:ole:OleLoadPictureEx (0x15073c4,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1eb8738), partially implemented. fixme:ole:OleLoadPictureEx (0x15073c4,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1eb87d0), partially implemented. fixme:ole:OleLoadPictureEx (0x15073c4,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1eb8870), partially implemented. fixme:ole:OleLoadPictureEx (0x15073c4,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1eb89d8), partially implemented. fixme:ole:OleLoadPictureEx (0x15073c4,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1eb8a70), partially implemented. fixme:ole:OleLoadPictureEx (0x15073c4,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1eb8b08), partially implemented. fixme:ole:OleLoadPictureEx (0x15073c4,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1eb8bb0), partially implemented. fixme:ole:OleLoadPictureEx (0x15073c4,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1eb8c48), partially implemented. fixme:ole:OleLoadPictureEx (0x15073c4,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1eb8ce0), partially implemented. fixme:ole:OleLoadPictureEx (0x15073c4,0,0,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=32,y=32,f=0,0x1eb8e48), partially implemented. fixme:ole:OleLoadPictureEx (0x14ee284,3134,1,{7bf80980-bf32-101a-8bbb-00aa00300cab},x=0,y=0,f=0,0x33eccc), partially implemented. fi
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #8 from Gabriele Moabiti gabmoa@yahoo.it 2008-06-03 14:04:19 --- ..sorry i paste too many chars!!!
.... fixme:ole:OLEPictureImpl_FindConnectionPoint no connection point for {33ad4ed2-6699-11cf-b70c-00aa0060d393} fixme:ole:OLEPictureImpl_FindConnectionPoint no connection point for {33ad4ed2-6699-11cf-b70c-00aa0060d393} fixme:richedit:RichEditWndProc_common EM_FORMATRANGE: stub fixme:richedit:RichEditWndProc_common EM_FORMATRANGE: stub fixme:ole:OLEPictureImpl_Render Not quite correct implementation of rendering icons... fixme:richedit:IRichEditOle_fnInPlaceDeactivate stub 0x1d09b80
and here hangs..
To download the program: http://www.z32.it/download/setup_ZFlash.zip
This application is a *really* hard task for wine!
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #9 from Jon Griffiths jon_p_griffiths@yahoo.com 2008-06-03 14:24:44 ---
Tested, it seems ok
Good, I'll submit that in the near future.
but even with this patch the application can't start
Yes, there's obviously a few issues there. It would be interesting to see if it worked with native oleaut32 and/or richedit, in terms of figuring out which bit is making it fail.
..sorry i paste too many chars!!!
Yes, you should use the "Add an attachment" link above rather than pasting the text into the comments (it makes it hard to follow what's going on if you do that).
I'll have a look at the app. No promises though, it doesn't look like my area :-)
http://bugs.winehq.org/show_bug.cgi?id=10050
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |http://www.z32.it/download/s | |etup_ZFlash.zip Keywords| |download
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #10 from Gabriele Moabiti gabmoa@yahoo.it 2008-06-03 18:17:39 ---
I'll have a look at the app. No promises though, it doesn't look like my area :-)
In this application there is: - OpenGL - Launch of 2 or more application that compute the simulation - Richedit - Many VB custom usercontrols and so on...
If you need any info I'll glad to help you (and wine :) Last test: wine 1.0rc3
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #11 from Jon Griffiths jon_p_griffiths@yahoo.com 2008-06-06 22:34:37 ---
fixme:ole:OLEPictureImpl_get_hPal unimplemented for type 3. Returning 0 palette.
these are bogus, I've sent a patch that silences these warnings.
http://bugs.winehq.org/show_bug.cgi?id=10050
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.0.0 |1.2.0
--- Comment #12 from Alexandre Julliard julliard@winehq.org 2008-06-13 05:39:07 --- Deferring.
http://bugs.winehq.org/show_bug.cgi?id=10050
Rob Shearman robertshearman@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|ole |oleaut32
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #13 from Dan Kegel dank@kegel.com 2008-11-29 22:10:26 --- Is this still an issue? The app isn't at the given URL now.
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #14 from Gabriele Moabiti gabmoa@yahoo.it 2008-11-30 06:45:03 --- (In reply to comment #13)
Is this still an issue? The app isn't at the given URL now.
Yes, the patch really solve the problem of the invoke! (but it seems deferred to 1.2). For other problems, sorry, it was better if I had created a new bug entries (since they was not related to this bug).
I will repost another url, ZFlash is not the only application with the invoke problem.
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #15 from Gabriele Moabiti gabmoa@yahoo.it 2008-12-01 06:19:06 --- latest link http://www.delectron.it/Download/ZFlash_V3.80_19.11.2008.zip
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #16 from Gabriele Moabiti gabmoa@yahoo.it 2009-04-02 08:54:37 ---
for the latest link http://www.delectron.it/Download/ZFlash_Vxxxxxxxxxxxx.zip
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #17 from Dan Kegel dank@kegel.com 2009-04-02 08:57:21 --- You said that zflash isn't the only app with this problem. What are some others?
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #18 from Gabriele Moabiti gabmoa@yahoo.it 2009-04-02 09:08:38 --- (In reply to comment #17)
You said that zflash isn't the only app with this problem. What are some others?
http://www.delectron.it/Download/ There are many applications in this location. It's a suite of many programs and Winterm, ZFlash and a some others have the same problem. (ZFlash doesn't work due to another bug, but the other ones works more or less fine without this problem). I think is not so difficult in a VB6 application to have this problem... VB6 is a bit weird (and I am/was a fan of it!) with variant, late binding and so on... why you don't increase cases up to a very big number (like 256?) for example? I think it can solve other applications... and It doesn't break anything ;)
Thank you
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #19 from Gabriele Moabiti gabmoa@yahoo.it 2009-04-02 10:24:40 ---
... or accept the patch in wine (it works fine!)
http://bugs.winehq.org/show_bug.cgi?id=10050
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |11447
http://bugs.winehq.org/show_bug.cgi?id=10050
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #20 from Juan Lang juan_lang@yahoo.com 2009-08-14 13:24:55 --- Ping: Jon, do you have time to send this in?
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #21 from Jon Griffiths jon_p_griffiths@yahoo.com 2009-08-17 10:06:04 --- (In reply to comment #20)
Ping: Jon, do you have time to send this in?
IIRC, I already did - it was ignored without comment. Feel free to submit it again on my behalf. I'm really busy at work at the moment :-(
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #22 from Juan Lang juan_lang@yahoo.com 2009-08-21 10:28:56 --- Well, it got some feedback this time: http://www.winehq.org/pipermail/wine-devel/2009-August/078121.html
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #23 from Henri Verbeet hverbeet@gmail.com 2009-09-02 05:12:20 --- Created an attachment (id=23378) --> (http://bugs.winehq.org/attachment.cgi?id=23378) patch
Actually, does this patch work?
http://bugs.winehq.org/show_bug.cgi?id=10050
--- Comment #24 from Dan Kegel dank@kegel.com 2009-09-02 09:50:16 --- Please leave the cut-and-paste implementation for the other platforms...?
http://bugs.winehq.org/show_bug.cgi?id=10050
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #25 from Juan Lang juan_lang@yahoo.com 2009-10-06 10:41:24 --- Fixed by commit ceac768adf8edcacfcb1a0b4a0a8ba3e09fbe549, http://www.winehq.org/pipermail/wine-cvs/2009-October/060178.html
http://bugs.winehq.org/show_bug.cgi?id=10050
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #26 from Alexandre Julliard julliard@winehq.org 2009-10-09 11:13:34 --- Closing bugs fixed in 1.1.31.