mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 13:59:23 +02:00
Cocoa: Fix scroll bar visibility issue in TCocoaWidgetSet.GetScrollbarVisible()
if the following two conditions are met at the same time, it will cause an infinite loop: 1. in macOS system settings, set the scroll bar to always be shown. 2. NSScrollView sets Border to bsSingle (occupies two points) 3. the width of DocumentView just exceeds the visual horizontal size of ScrollView by 1-2 points
This commit is contained in:
parent
ab4727c101
commit
e7b7b114a2
@ -1571,20 +1571,22 @@ begin
|
||||
begin
|
||||
sc := NSScrollView(obj);
|
||||
case SBStyle of
|
||||
SB_Vert: Result := sc.hasVerticalScroller;
|
||||
SB_Horz: Result := sc.hasHorizontalScroller;
|
||||
SB_Vert: Result := sc.hasVerticalScroller and not sc.verticalScroller.isHidden;
|
||||
SB_Horz: Result := sc.hasHorizontalScroller and not sc.horizontalScroller.isHidden;
|
||||
else
|
||||
Result := sc.hasHorizontalScroller and sc.hasVerticalScroller;
|
||||
Result := sc.hasHorizontalScroller and not sc.horizontalScroller.isHidden
|
||||
and sc.hasVerticalScroller and not sc.verticalScroller.isHidden;
|
||||
end;
|
||||
end
|
||||
else if obj.isKindOfClass(TCocoaManualScrollView) then
|
||||
begin
|
||||
mn := TCocoaManualScrollView(obj);
|
||||
case SBStyle of
|
||||
SB_Vert: Result := mn.hasVerticalScroller;
|
||||
SB_Horz: Result := mn.hasHorizontalScroller;
|
||||
SB_Vert: Result := mn.hasVerticalScroller and not mn.verticalScroller.isHidden;
|
||||
SB_Horz: Result := mn.hasHorizontalScroller and not mn.horizontalScroller.isHidden;
|
||||
else
|
||||
Result := mn.hasHorizontalScroller and mn.hasVerticalScroller;
|
||||
Result := mn.hasHorizontalScroller and not mn.horizontalScroller.isHidden
|
||||
and mn.hasVerticalScroller and not mn.verticalScroller.isHidden;
|
||||
end;
|
||||
end
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user