diff --git a/win32ss/user/ntuser/scrollbar.c b/win32ss/user/ntuser/scrollbar.c index 52d5f38c37..d55ff0ce55 100644 --- a/win32ss/user/ntuser/scrollbar.c +++ b/win32ss/user/ntuser/scrollbar.c @@ -495,6 +495,7 @@ co_IntSetScrollInfo(PWND Window, INT nBar, LPCSCROLLINFO lpsi, BOOL bRedraw) /* [0] = HORZ, [1] = VERT */ static PWND PrevHwnd[2] = { 0 }; static DWORD PrevPos[2] = { 0 }; + static INT PrevAction[2] = { 0 }; ASSERT_REFS_CO(Window); @@ -637,6 +638,16 @@ co_IntSetScrollInfo(PWND Window, INT nBar, LPCSCROLLINFO lpsi, BOOL bRedraw) } //done: + if ((Window != PrevHwnd[nBar]) || (action != PrevAction[nBar])) + { + if ((action == SA_SSI_SHOW) && (PrevAction[nBar] == SA_SSI_HIDE)) + { + co_UserShowScrollBar(Window, nBar, TRUE, TRUE); + } + } + if ((action != PrevAction[nBar]) && action != 0) + PrevAction[nBar] = action; + if ( action & SA_SSI_HIDE ) { co_UserShowScrollBar(Window, nBar, FALSE, FALSE);