http://bugs.winehq.org/show_bug.cgi?id=2096
------- Additional Comments From carl.sopchak@cegis123.com 2004-21-04 07:26 ------- I did the regression testing that Tony pointed me to. There are three files that were updated 12/12/2003 at 00:01:20 CST: internet.c, urlcache.c and wininet.spec, all in dlls/wininet. A quick look at the changes leads me to believe they are related to implementing unicode, but (a) I could be wrong, and (b) there may be other changes unrelated to unicode. Before these changes are incorporated, Quicken 2000 Deluxe does not crash in the scenario originally posted. After integration, it does.
The changes made in this update were by no means trivial, so it is well beyond my capability to try to debug any potential problem with them in this case.
I also have to mention that I find it hard to believe that these changes are DIRECTLY causing the problem (although I don't know nearly enough to be certain!). What part of printing and/or display management uses internet related code?? (Remember, the error I'm getting is an X resource error, although I guess any memory allocation is supposed to be done through X...) Using --debugmsg +wininet shows no additional messages on stdout.
One thing I did notice during the testing is that I get the fixme message from CreateCompatibleBitmap showing huge X and Y values even prior to the 12/12 update, but for some reason (which I have not determined) Quicken does not crash. Also, the values shown in the message are not necessarily the same when trying different cvs versions of wine. (65,535 +/- seems to come up relatively frequently, as well as 2 [along with a number in the millions].)
My gut is telling me that the problem really is that bad value(s) are being passed to CreateCompatibleBitmap (or some function which calls same), perhaps due to using a wrong data type for the parameter(s), which values get changed based on the size of the wine program, or where it happens to be loaded into memory. I have no real basis for this assertion, with the exception of the fact that I have seen LONGs used where there should be INTs (see original report). (I don't know C - or wine coding - well enough to know if this is a real problem or not...)
One other thing, I think I have a reporducible scenario: Set up a Quicken file with reminders turned on, and add a transaction to a checking account dated "today" that is a check to be printed. When Quicken is started up, the reminders page is displayed. Double click on the check that needs printing. When the printing dialog is displayed, press Alt-K (select checks dated through today), Alt-O (one check on initial page), Ctrl-Enter (accept selections). Quicken will then ask if the tear-off stub is still attached. Press Space (selecting Yes). Quicken crashes hard... This seems to crash every time (for me).
Lastly, I'm trying to determine (via the regression test methodology) when the fixme messages began to appear, however I'm having difficulty trying to compile wine using dates in 2002. I'll post what I find...
HTH,
Carl