Check for SB_CTL before displaying a caret.
diff --git a/controls/scroll.c b/controls/scroll.c
index 477b2a1..2b8f3f4 100644
--- a/controls/scroll.c
+++ b/controls/scroll.c
@@ -816,7 +816,8 @@
(SCROLL_TrackingBar == nBar))
SCROLL_DrawMovingThumb( hdc, &rect, vertical, arrowSize, thumbSize );
- if(hwnd==GetFocus()) /* if scroll bar has focus, reposition the caret*/
+ /* if scroll bar has focus, reposition the caret*/
+ if(hwnd==GetFocus() && (nBar==SB_CTL))
{
if (!vertical)
{
@@ -1174,22 +1175,19 @@
/* Create a caret when a ScrollBar get focus*/
RECT rect;
int arrowSize, thumbSize, thumbPos, vertical;
- if(hwnd==GetFocus())
+ vertical = SCROLL_GetScrollBarRect( hwnd, SB_CTL, &rect,
+ &arrowSize, &thumbSize, &thumbPos );
+ if (!vertical)
{
- vertical = SCROLL_GetScrollBarRect( hwnd, SB_CTL, &rect,
- &arrowSize, &thumbSize, &thumbPos );
- if (!vertical)
- {
- CreateCaret(hwnd,1, thumbSize-2, rect.bottom-rect.top-2);
- SetCaretPos(thumbPos+1, rect.top+1);
- }
- else
- {
- CreateCaret(hwnd,1, rect.right-rect.left-2,thumbSize-2);
- SetCaretPos(rect.top+1, thumbPos+1);
- }
- ShowCaret(hwnd);
+ CreateCaret(hwnd,1, thumbSize-2, rect.bottom-rect.top-2);
+ SetCaretPos(thumbPos+1, rect.top+1);
}
+ else
+ {
+ CreateCaret(hwnd,1, rect.right-rect.left-2,thumbSize-2);
+ SetCaretPos(rect.top+1, thumbPos+1);
+ }
+ ShowCaret(hwnd);
}
break;