[ros-diffs] [mkupfer] 39703: - implements an initial DrawMenuBar function (fixes the taskbar menu redraw bug) - sorry, may contain a potentially hackfix (SendMessage WM_NCPAINT)

mkupfer at svn.reactos.org mkupfer at svn.reactos.org
Sat Feb 21 23:35:12 CET 2009


Author: mkupfer
Date: Sun Feb 22 01:35:11 2009
New Revision: 39703

URL: http://svn.reactos.org/svn/reactos?rev=39703&view=rev
Log:
- implements an initial DrawMenuBar function (fixes the taskbar menu redraw bug)
- sorry, may contain a potentially hackfix (SendMessage WM_NCPAINT)

Modified:
    trunk/reactos/dll/win32/user32/windows/menu.c

Modified: trunk/reactos/dll/win32/user32/windows/menu.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/user32/windows/menu.c?rev=39703&r1=39702&r2=39703&view=diff
==============================================================================
--- trunk/reactos/dll/win32/user32/windows/menu.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/user32/windows/menu.c [iso-8859-1] Sun Feb 22 01:35:11 2009
@@ -4033,7 +4033,21 @@
 BOOL WINAPI
 DrawMenuBar(HWND hWnd)
 {
-  return (BOOL)NtUserCallHwndLock(hWnd, HWNDLOCK_ROUTINE_DRAWMENUBAR);
+  ROSMENUINFO MenuInfo;
+  HMENU hMenu;
+  hMenu = GetMenu(hWnd);
+  if (!hMenu)
+     return FALSE;
+  MenuGetRosMenuInfo(&MenuInfo, hMenu);
+  MenuInfo.Height = 0; // make sure to recalc size
+  MenuSetRosMenuInfo(&MenuInfo);
+  /* The wine method doesn't work and I suspect it's more effort
+     then hackfix solution 
+  SetWindowPos( hWnd, 0, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE |
+                  SWP_NOZORDER | SWP_FRAMECHANGED );
+  return TRUE;*/
+  // FIXME: hackfix
+  return SendMessage(hWnd,WM_NCPAINT,(WPARAM)1,(LPARAM)0L);
 }
 
 



More information about the Ros-diffs mailing list