Hi,
I've been trying out wine with Word 2000 using builtin DLLs, both in desktop and managed mode. Mostly it works fine, but there's a few problems that detract from the "user experience". Any pointers on where to start looking for these bugs would be much appreciated -- relay is around 46 MiB before any of the problems surface :^/
1. Whenever word decides to run their help agent, on my machine C:\WINDOWS\Msagent\AGENTSVR.EXE, I get messages: fixme:hook:NotifyWinEvent( 4, <HWND 1>, -3, 0)-stub! fixme:hook:NotifyWinEvent( 5, <HWND 1>, -3, 0)-stub! fixme:hook:NotifyWinEvent( 32773, <HWND 2>, -4, 0)-stub! Word and the agent then freezes. Killing off the agent, e.g. "kill $(ps ax|grep wine.*AGEN|awk '{print $1}')" allows word to recover ...
2. Dragging a dialogue box around causes a corruption on the screen (see [1]). When I release the button, the window moves, along with any corruption. Forcing a refresh (eg hiding the desktop window behind another one), clears up the corruption.
3. Normal resizing works fine, but word has an extra resizable corner (which isn't rendered correctly under wine, see [2]). This has had variable success in the past: when it fails, the window is resized so the left edge of the window shoots off the left edge of the screen, seemingly ignoring whatever the mouse does. With current CVS it seems to always fail in this way.
4. Exiting word, it tries to save NORMAL.DOT, saying "The disk is full or too many files are open. C:\windows...\Templates\Normal.dot" causing: fixme:storage:StorageImpl_Commit (4): stub! fixme:storage:StorageImpl_Commit (4): stub! fixme:storage:StorageImpl_Commit (4): stub! fixme:ole:WriteFmtUserTypeStg (0x402b5550,17c,L"Microsoft Word Document") stub! fixme:hook:NotifyWinEvent (32774,0x00030031,52,3)-stub! fixme:hook:NotifyWinEvent (32773,0x00030031,-4,33)-stub! fixme:hook:NotifyWinEvent (32774,0x00030031,26,7)-stub! fixme:hook:NotifyWinEvent (32777,0x00030031,52,0)-stub! fixme:hook:NotifyWinEvent (32774,0x00030031,52,3)-stub! So I guess the storage is at fault.
5. Exiting Word causes wine to crash. This used to work ok (upto a few days ago). Backtrace shows a few random references to _end+0xd27f0 (etc..), followed by PE_InitDLL (pe_image.c:628 nt=1, module=1140195328, type=0, lpReserved=0x01), followed by module.c:159 .... seems to be trying to initialise winmm.dll, failing and jumping into blue yonder.
On a whim, I reversed Eric's recent always-unload-winmm patch [3]. This "fixed" the problem. So, is wine attempting (and failing) to load winmm in order to unload it?
(6. The debugger froze whilst trying to dereference the wm pointer in MODULE_InitDLL, it managed to print some of the structure before hanging ... but I think that's enough bugs for now ...)
Cheers,
Paul.
[1] - http://www.astro.gla.ac.uk/users/paulm/corner.png [2] - http://www.astro.gla.ac.uk/users/paulm/corrupt.png [3] - http://cvs.winehq.com/patch.py?id=6212 ---- Paul Millar
Exiting Word causes wine to crash. This used to work ok (upto a few days ago). Backtrace shows a few random references to _end+0xd27f0 (etc..), followed by PE_InitDLL (pe_image.c:628 nt=1, module=1140195328, type=0, lpReserved=0x01), followed by module.c:159 .... seems to be trying to initialise winmm.dll, failing and jumping into blue yonder.
On a whim, I reversed Eric's recent always-unload-winmm patch [3]. This "fixed" the problem. So, is wine attempting (and failing) to load winmm in order to unload it?
could you send me a -debugmsg +winmm,+relay trace of this one ? tia A+
Eric Pouech a écrit :
Exiting Word causes wine to crash. This used to work ok (upto a few days ago). Backtrace shows a few random references to _end+0xd27f0 (etc..), followed by PE_InitDLL (pe_image.c:628 nt=1, module=1140195328, type=0, lpReserved=0x01), followed by module.c:159 .... seems to be trying to initialise winmm.dll, failing and jumping into blue yonder.
On a whim, I reversed Eric's recent always-unload-winmm patch [3]. This "fixed" the problem. So, is wine attempting (and failing) to load winmm in order to unload it?
could you send me a -debugmsg +winmm,+relay trace of this one ?
-debugmsg +winmm,+relay,+module would be even better A+
On Tue, 12 Nov 2002, Eric Pouech wrote:
could you send me a -debugmsg +winmm,+relay trace of this one ?
-debugmsg +winmm,+relay,+module would be even better
Hi Eric,
Having consistently crashed on exit, the damn thing is working perfectly now ... I'm trying to recreate the problem right now.
BTW I tried just relay before and it was ~ 60MiB of data ... Assuming I manage to recreate the problem, do you really want all of that?
Paul.
---- Paul Millar
Having consistently crashed on exit, the damn thing is working perfectly now ... I'm trying to recreate the problem right now.
BTW I tried just relay before and it was ~ 60MiB of data ... Assuming I manage to recreate the problem, do you really want all of that?
well, if you compress it that'll be smaller if you don't have issue on sending (no dial up cnx), I don't mind A+
On Tuesday 12 November 2002 13:15, Paul Millar wrote:
- Exiting word, it tries to save NORMAL.DOT, saying "The disk is full or too many files are open. C:\windows...\Templates\Normal.dot" causing: fixme:storage:StorageImpl_Commit (4): stub! fixme:storage:StorageImpl_Commit (4): stub! fixme:storage:StorageImpl_Commit (4): stub! fixme:ole:WriteFmtUserTypeStg (0x402b5550,17c,L"Microsoft Word Document") stub! fixme:hook:NotifyWinEvent (32774,0x00030031,52,3)-stub! fixme:hook:NotifyWinEvent (32773,0x00030031,-4,33)-stub! fixme:hook:NotifyWinEvent (32774,0x00030031,26,7)-stub! fixme:hook:NotifyWinEvent (32777,0x00030031,52,0)-stub! fixme:hook:NotifyWinEvent (32774,0x00030031,52,3)-stub! So I guess the storage is at fault.
Editing WriteFmtUserTypeStg to return S_OK instead of E_NOTIMPL fixed this for me with word 97. (Using native ole32.dll fixes the issue, and that confirms that the issue is with WriteFmtUserTypeStg, it is in ole32.dll)
BTW the above happens whenever you want to save a file, not just with Normal.dot.
Regards Zsolt
On Wed, 13 Nov 2002, Zsolt Rizsanyi wrote:
Editing WriteFmtUserTypeStg to return S_OK instead of E_NOTIMPL fixed this for me with word 97.
This fixes the problem for me too.
What are the knock-on effects of doing this, though? The MSDN entry: http://msdn.microsoft.com/library/en-us/stg/stg/writefmtusertypestg.asp makes it sound like we're supposed to be doing something here, yet Word manages to save at least a simple document.
BTW the above happens whenever you want to save a file, not just with Normal.dot.
Yes, your absolutely right.
---- Paul Millar