Dear friends,
I managed to run CorelDraw4 at home. Without any Windows already installed from which to "borrow" DLL's. Just what I've got from MS website. OK, I have a valid CorelDraw4 license and I want to use it.
CorelDraw crash when I want to click on menus. Specifically it crash when it encounter to access
OLEGETCLIPBOARD from ole2.dll and/or DLLGETCLASSOBJECT
This are wine_stubs.
Is someone kind enough to implement them just as little stubs, just to not have CorelDraw crashed? This functions need aditional functionality to be implemented or these are "standalone"?
I dont' have programming expertise, but I promise to be a good betatester.
kind regards,
On January 4, 2003 09:20 am, Claudiu Costin wrote:
Is someone kind enough to implement them just as little stubs, just to not have CorelDraw crashed? This functions need aditional functionality to be implemented or these are "standalone"?
Give this a try, and let me know if it helps:
Index: dlls/ole32/ole2.spec =================================================================== RCS file: /var/cvs/wine/dlls/ole32/ole2.spec,v retrieving revision 1.5 diff -u -r1.5 ole2.spec --- dlls/ole32/ole2.spec 5 Jan 2003 01:04:34 -0000 1.5 +++ dlls/ole32/ole2.spec 5 Jan 2003 16:12:47 -0000 @@ -1,7 +1,7 @@ 1 pascal OleBuildVersion() OleBuildVersion 2 pascal OleInitialize(ptr) OleInitialize 3 pascal OleUninitialize() OleUninitialize -4 stub DLLGETCLASSOBJECT +4 pascal DllGetClassObject(ptr ptr ptr) OLE32_DllGetClassObject #5 WEP 6 stub OLEQUERYLINKFROMDATA 7 stub OLEQUERYCREATEFROMDATA @@ -46,8 +46,8 @@ 46 stub MONIKERRELATIVEPATHTO 47 stub MONIKERCOMMONPREFIXWITH 48 stub ISACCELERATOR -49 stub OLESETCLIPBOARD -50 stub OLEGETCLIPBOARD +49 pascal OleSetClipboard(ptr) OleSetClipboard +50 pascal OleGetClipboard(ptr) OleGetClipboard 51 stub OLEDUPLICATEDATA 52 stub OLEGETICONOFFILE 53 stub OLEGETICONOFCLASS
On Sun, Jan 05, 2003 at 11:17:33AM -0500, Dimitrie O. Paun wrote:
On January 4, 2003 09:20 am, Claudiu Costin wrote:
Is someone kind enough to implement them just as little stubs, just to not have CorelDraw crashed? This functions need aditional functionality to be implemented or these are "standalone"?
Give this a try, and let me know if it helps:
It won't...
-4 stub DLLGETCLASSOBJECT +4 pascal DllGetClassObject(ptr ptr ptr) OLE32_DllGetClassObject
No, the function should return a 16bit interface, not a 32bit one.
-49 stub OLESETCLIPBOARD -50 stub OLEGETCLIPBOARD +49 pascal OleSetClipboard(ptr) OleSetClipboard +50 pascal OleGetClipboard(ptr) OleGetClipboard
These are getting passed pointers to 32bit interfaces, but need 16bit ones.
Ciao, Marcus
On January 5, 2003 12:32 pm, Marcus Meissner wrote:
These are getting passed pointers to 32bit interfaces, but need 16bit ones.
Darn! :) I knew I was missing something... What about this one:
Index: dlls/ole32/ole2.spec =================================================================== RCS file: /var/cvs/wine/dlls/ole32/ole2.spec,v retrieving revision 1.5 diff -u -r1.5 ole2.spec --- dlls/ole32/ole2.spec 5 Jan 2003 01:04:34 -0000 1.5 +++ dlls/ole32/ole2.spec 5 Jan 2003 17:13:16 -0000 @@ -1,7 +1,7 @@ 1 pascal OleBuildVersion() OleBuildVersion 2 pascal OleInitialize(ptr) OleInitialize 3 pascal OleUninitialize() OleUninitialize -4 stub DLLGETCLASSOBJECT +4 pascal DllGetClassObject(ptr ptr ptr) DllGetClassObject16 #5 WEP 6 stub OLEQUERYLINKFROMDATA 7 stub OLEQUERYCREATEFROMDATA @@ -46,8 +46,8 @@ 46 stub MONIKERRELATIVEPATHTO 47 stub MONIKERCOMMONPREFIXWITH 48 stub ISACCELERATOR -49 stub OLESETCLIPBOARD -50 stub OLEGETCLIPBOARD +49 pascal OleSetClipboard(ptr) OleSetClipboard16 +50 pascal OleGetClipboard(ptr) OleGetClipboard16 51 stub OLEDUPLICATEDATA 52 stub OLEGETICONOFFILE 53 stub OLEGETICONOFCLASS Index: dlls/ole32/ole2stubs.c =================================================================== RCS file: /var/cvs/wine/dlls/ole32/ole2stubs.c,v retrieving revision 1.26 diff -u -r1.26 ole2stubs.c --- dlls/ole32/ole2stubs.c 2 Dec 2002 18:10:58 -0000 1.26 +++ dlls/ole32/ole2stubs.c 5 Jan 2003 17:18:55 -0000 @@ -262,3 +262,22 @@ FIXME("%s\n", debugstr_guid(clsid)); return FALSE; } + +HRESULT WINAPI DllGetClassObject16(REFCLSID rclsid, REFIID iid, LPVOID *ppv) +{ + FIXME("(%s, %s, %p): stub\n", debugstr_guid(rclsid), debugstr_guid(iid), ppv); + return E_NOTIMPL; +} + +HRESULT WINAPI OleSetClipboard16(IDataObject* pDataObj) +{ + FIXME("(%p): stub\n", pDataObj); + return E_NOTIMPL; +} + +HRESULT WINAPI OleGetClipboard16(IDataObject** ppDataObj) +{ + FIXME("(%p): stub\n", ppDataObj); + return E_NOTIMPL; +} +
Hi Dimitri,
Thank's for your patch. Applied, show it's stub, but CORELDRW.EXE crash on something strange. Is Wine missing something simple or require lot of work to fix? Attached: wine-coreldrw-crash.txt.gz
I executed CORELPNT.EXE many times (even some months ago) and it crash on "stricmp" in NTDLL.DLL. I know this is a very important function. In ntdll.spec is declared as: @ cdecl _stricmp(str str) strcasecmp mapped on the libc.
Attached: wine-corelpnt-crash.txt.gz
Here is my output from console :
clau@clauc:PROGRAMS$ wine CORELPNT.EXE err:module:PE_fixup_imports Module (file) tsd32.dll (which is needed by C:\Windows\System\TSSOFT32.ACM) not found err:win32:PE_LoadLibraryExA can't load C:\Windows\System\TSSOFT32.ACM err:win32:_EnterSysLevel (0x400dbac8, level 1): Holding 0x40866f24, level 3. Expect deadlock! err:win32:_EnterSysLevel (0x400dbac8, level 1): Holding 0x40866f24, level 3. Expect deadlock! err:win32:_EnterSysLevel (0x400dbac8, level 1): Holding 0x40866f24, level 3. Expect deadlock! err:win32:_EnterSysLevel (0x400dbac8, level 1): Holding 0x40866f24, level 3. Expect deadlock! err:win32:_EnterSysLevel (0x400dbac8, level 1): Holding 0x40866f24, level 3. Expect deadlock! err:win32:_EnterSysLevel (0x400dbac8, level 1): Holding 0x40866f24, level 3. Expect deadlock! err:win32:_EnterSysLevel (0x400dbac8, level 1): Holding 0x40866f24, level 3. Expect deadlock! err:win32:_EnterSysLevel (0x400dbac8, level 1): Holding 0x40866f24, level 3. Expect deadlock! err:win32:_EnterSysLevel (0x400dbac8, level 1): Holding 0x40866f24, level 3. Expect deadlock! wine: Unhandled exception, starting debugger...
On Dum 05 Ian 2003 19:20, Dimitrie O. Paun wrote:
On January 5, 2003 12:32 pm, Marcus Meissner wrote:
These are getting passed pointers to 32bit interfaces, but need 16bit ones.
Darn! :) I knew I was missing something... What about this one:
kind regards,
On January 5, 2003 04:43 pm, Claudiu Costin wrote:
Hi Dimitri,
It's Dimitrie dude, you should know, we speak the same mother tongue! :)
Thank's for your patch. Applied, show it's stub, but CORELDRW.EXE crash on something strange. Is Wine missing something simple or require lot of work to fix?
Wine is missing lots of stuff! ;)
For the life of me I don't understand how you you got this files. Why are there different instance one beside the other?
Anyway, don't get your hopes up -- these are complex apps, it takes a lot of effort to get them running.