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.