Recent CVS update causes Quicken popup problem/Help please

Carl Sopchak carl.sopchak at cegis123.com
Thu Feb 10 13:59:41 CST 2005


I recently did a CVS update after a fairly long time without one.  Afterwards, 
Quicken 2000 Deluxe has had a problem:  When in an account register, as you 
type the description into a new record, Quicken will pop-up a window showing 
prior transactions that match what you type.  (Quicken calls this Quick Fill.  
If you press Enter, the transaction is copied into the new record.  A VERY 
nice feature!)

The problem is that the pop-up never "goes away", which it should do if (a) 
your typing causes no prior transaction matches, or (b) you accept the match 
that is suggested.

I have found in the wine debug log that Quicken tries to "get rid" of the 
popup by setting the popup's rectangle to {0,0;0,0}, which causes the server 
call to set_window_pos to return with "INVALID_PARAMETER 
{new_style=00000000}".  After adding debug TRACE messages to 
dlls/x11drv/winpos.c, I have confirmed that the window style just prior to 
the server call is 94800007 (WS_POPUP | WS_VISIBLE | WS_CLIPSIBLINGS | 
WS_BORDER | WS_DLGMODALFRAME | WS_DRAGDETECT | WS_NOPARENTNOTIFY). After 
adding further debugging statements to server/window.c, I have found that the 
server handler for set_window_pos calls validate_window_rectangles().  
Validate_window_rectangles fails because {0,0;0,0} is not within the client's 
rectangle ({1,1;479,20}), so set_window_pos never gets called.

Now, I assume that using a rectangle size of {0,0;0,0} is a valid way to 
pop-down the popup.  Even if not, that appears to be the way Quicken is doing 
it.

I guess my problem is that I have NO CLUE as to how this SHOULD be handled.  
Should the style be set to (style & ~WS_VISIBLE) when the rectangle is 
{0,0;0,0}?  Should {0,0;0,0} be considered a valid rectangle in 
validate_window_rectangles()?  Should validate_window_rectangles() only get 
called if the rectangle is not {0,0;0,0}?  Or, very possibly, is there 
something else that should happen?  Just to see what happened, I commented 
out the call to validate_window_rectangles, and the popup disappeared as it 
should.

If anyone has any hints as to what should be done here, I could implement and 
test this, and send a patch along...

As an aside, I noticed on the winehq.org web site that the debugging "quick 
start" page specifically states that the Debug Channels are not used for the 
server but the developer's guide does not.  And neither suggest how to add 
debugging messages to the server.  Perhaps this could be explained in more 
detail somewhere?  (I could add a section, if the sources of the manual is in 
CVS, and I knew where they were...)

Thanks for the help,

Carl



More information about the wine-devel mailing list