https://git.reactos.org/?p=reactos.git;a=commitdiff;h=0f29b3faa7770c441d084e4b41ceba555d4181ab

commit 0f29b3faa7770c441d084e4b41ceba555d4181ab
Author:     jimtabor <james.ta...@reactos.org>
AuthorDate: Tue May 21 16:24:52 2019 -0500
Commit:     jimtabor <james.ta...@reactos.org>
CommitDate: Tue May 21 16:24:52 2019 -0500

    [NtUser] Fix setting screen size.
    
    Back set change size to the server information metrics.
    
    Fixes CORE-15477. Still more work is required.
    
    Patch based on reactosfanboy original patch.
---
 win32ss/user/ntuser/display.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/win32ss/user/ntuser/display.c b/win32ss/user/ntuser/display.c
index 6abe5c84a5c..25b1f947014 100644
--- a/win32ss/user/ntuser/display.c
+++ b/win32ss/user/ntuser/display.c
@@ -830,6 +830,8 @@ UserChangeDisplaySettings(
             gpsi->Planes      = ppdev->gdiinfo.cPlanes;
             gpsi->BitsPixel   = ppdev->gdiinfo.cBitsPixel;
             gpsi->BitCount    = gpsi->Planes * gpsi->BitsPixel;
+            gpsi->aiSysMet[SM_CXSCREEN] = ppdev->gdiinfo.ulHorzRes;
+            gpsi->aiSysMet[SM_CYSCREEN] = ppdev->gdiinfo.ulVertRes;
             if (ppdev->gdiinfo.flRaster & RC_PALETTE)
             {
                 gpsi->PUSIFlags |= PUSIF_PALETTEDISPLAY;
@@ -855,10 +857,13 @@ UserChangeDisplaySettings(
         //IntHideDesktop(pdesk);
 
         /* Send WM_DISPLAYCHANGE to all toplevel windows */
-        UserSendNotifyMessage(HWND_BROADCAST,
-                              WM_DISPLAYCHANGE,
-                              gpsi->BitCount,
-                              MAKELONG(gpsi->aiSysMet[SM_CXSCREEN], 
gpsi->aiSysMet[SM_CYSCREEN]));
+        co_IntSendMessageTimeout( HWND_BROADCAST,
+                                  WM_DISPLAYCHANGE,
+                                  gpsi->BitCount,
+                                  MAKELONG(gpsi->aiSysMet[SM_CXSCREEN], 
gpsi->aiSysMet[SM_CYSCREEN]),
+                                  SMTO_NORMAL,
+                                  100,
+                                  &ulResult );
 
         ERR("BitCount New %d Orig %d ChkNew 
%d\n",gpsi->BitCount,OrigBC,ppdev->gdiinfo.cBitsPixel);
 

Reply via email to