On Sun, 8 May 2005 11:14:52 +0200, you wrote:
This fixes bug 2764 (the scrolling issue seems to be resolved already?). Verified this behaviour on WinXP and changed the comment to reflect that.
ChangeLog: Ignore requested height for non-menubar ownerdraw popups too.
Index: menu.c
RCS file: /home/wine/wine/dlls/user/menu.c,v retrieving revision 1.26 diff -u -r1.26 menu.c --- menu.c 19 Apr 2005 09:47:02 -0000 1.26 +++ menu.c 8 May 2005 09:09:06 -0000 @@ -887,17 +887,14 @@ SendMessageW( hwndOwner, WM_MEASUREITEM, 0, (LPARAM)&mis ); lpitem->rect.right += mis.itemWidth;
- if (menuBar)
- {
lpitem->rect.right += MENU_BAR_ITEMS_SPACE;
/* under windows you are given a standard height for the
menu and the height value is ignored. delphi 7 depends
on this behaviour. */
lpitem->rect.bottom += GetSystemMetrics(SM_CYMENU)-1;
That does not seem correct on the Win2k system that I am using for testing.
Attached is the test that I am working on. It creates a non-menubar popup menu, fills it with a couple of items and traces the resulting item rectangles. It is all work in progress of course, not meant for submitting yet.
Without your patch the rectangles get the height that is returned by the WM_MEASUREITEM handler both Win2k and Wine. With your patch the Wine behavior is broken. I have a real world application too, that is affected by this brokenness.
Can you see if that is different on WinXP. If it is not, can you look what is different with your test and mine?
Rein.