Author: fireball Date: Tue Dec 29 15:57:54 2009 New Revision: 44800
URL: http://svn.reactos.org/svn/reactos?rev=44800&view=rev Log: - Always sync whole window position with SWM (winex11.drv does this way too). The only thing hacked for now is avoiding pos sync when SWP_NOREDRAW flag is passed (otherwise explorer's start menu is drawn cropped). Fixes FF3.5 start up in maximized mode.
Modified: branches/arwinss/reactos/dll/win32/winent.drv/userdrv.c
Modified: branches/arwinss/reactos/dll/win32/winent.drv/userdrv.c URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/dll/win32/winent... ============================================================================== --- branches/arwinss/reactos/dll/win32/winent.drv/userdrv.c [iso-8859-1] (original) +++ branches/arwinss/reactos/dll/win32/winent.drv/userdrv.c [iso-8859-1] Tue Dec 29 15:57:54 2009 @@ -899,8 +899,8 @@
if (!data) return;
- //TRACE( "win %x pos changed. new vis rect %s, old whole rect %s, swp_flags %x insert_after %x\n", - // hwnd, wine_dbgstr_rect(visible_rect), wine_dbgstr_rect(&data->whole_rect), swp_flags, insert_after ); + TRACE( "win %x pos changed. new vis rect %s, old whole rect %s, swp_flags %x insert_after %x\n", + hwnd, wine_dbgstr_rect(visible_rect), wine_dbgstr_rect(&data->whole_rect), swp_flags, insert_after );
old_whole_rect = data->whole_rect; old_client_rect = data->client_rect; @@ -926,19 +926,20 @@ /* if we have an SWM window the bits will be moved by the SWM */ if (!data->whole_window) ;//move_window_bits( data, &old_whole_rect, &data->whole_rect, &old_client_rect ); - else - SwmPosChanged(hwnd, &data->whole_rect, &old_whole_rect); //FIXME("change1\n"); } else { //move_window_bits( data, &valid_rects[1], &valid_rects[0], &old_client_rect ); - //FIXME("change2\n"); - SwmPosChanged(hwnd, &data->whole_rect, &old_whole_rect); + //FIXME("change2, vrects[0] %s, vrects[1] %s\n", wine_dbgstr_rect(&valid_rects[0]), wine_dbgstr_rect(&valid_rects[1])); } }
if (!data->whole_window) return; + + /* Sync position change */ + if (!(swp_flags & SWP_NOREDRAW)) // HACK: When removing this explorer's start menu start to appear partially. Investigate! + SwmPosChanged(hwnd, &data->whole_rect, &old_whole_rect);
/* Pass show/hide information to the window manager */ if (swp_flags & SWP_SHOWWINDOW)