[WIN32SS] Require at least the amount of extra memory, not the exact amount
authorMark Jansen <mark.jansen@reactos.org>
Thu, 17 Jan 2019 23:07:23 +0000 (00:07 +0100)
committerMark Jansen <mark.jansen@reactos.org>
Mon, 21 Jan 2019 21:25:29 +0000 (22:25 +0100)
This fixes Civ II trying to create scrollbars based on 'native' scrollbars.

win32ss/user/ntuser/scrollbar.c
win32ss/user/user32/controls/scrollbar.c

index 582a603..325be6f 100644 (file)
@@ -90,7 +90,7 @@ IntGetSBData(PWND pwnd, INT Bar)
        case SB_VERT:
          return &pSBInfo->Vert;
        case SB_CTL:
-         if ( pwnd->cbwndExtra != (sizeof(SBWND)-sizeof(WND)) )
+         if ( pwnd->cbwndExtra < (sizeof(SBWND)-sizeof(WND)) )
          {
             ERR("IntGetSBData Wrong Extra bytes for CTL Scrollbar!\n");
             return 0;
index 0a49133..3eb0242 100644 (file)
@@ -100,7 +100,7 @@ IntGetSBData(PWND pwnd, INT Bar)
        case SB_VERT:
          return &pSBInfo->Vert;
        case SB_CTL:
-         if ( pwnd->cbwndExtra != (sizeof(SBWND)-sizeof(WND)) )
+         if ( pwnd->cbwndExtra < (sizeof(SBWND)-sizeof(WND)) )
          {
             ERR("IntGetSBData Wrong Extra bytes for CTL Scrollbar!\n");
             return 0;
@@ -1186,7 +1186,7 @@ ScrollBarWndProc_common(WNDPROC DefWindowProc, HWND Wnd, UINT Msg, WPARAM wParam
      if (!pWnd->fnid)
      {
         TRACE("ScrollBar CTL size %d\n", (sizeof(SBWND)-sizeof(WND)));
-        if ( pWnd->cbwndExtra != (sizeof(SBWND)-sizeof(WND)) )
+        if ( pWnd->cbwndExtra < (sizeof(SBWND)-sizeof(WND)) )
         {
            ERR("Wrong Extra bytes for Scrollbar!\n");
            return 0;