View Issue Details

IDProjectCategoryView StatusLast Update
0036048LazarusWidgetsetpublic2019-09-13 21:38
ReporterDavid JenkinsAssigned To 
Status newResolutionopen 
Product Version2.0.4Product Build 
Target VersionFixed in Version 
Summary0036048: Since addition of TCocoaManualScrollHost, TPanel in TScrollBox will not mouse wheel scroll
DescriptionWith a TPanel inside a TScrollBox, the TCocoaManualScrollHost swallows mouse wheel scrolling instead of passing it up to parent and TPanel will not scroll.
Steps To ReproduceBuild attached project with Cocoa widgetset. Place mouse over panel. Scroll with mouse wheel. ScrollBox does not respond.
Additional InformationThe expected result is that NSView.scrollwheel associated with TPanel is called, doesn't cause any response, and then the parent.scrollWheel is called. TCocoaManualScrollHost is a NSScrollView. It swallows the scrollWheel event and does not pass it up to the parent.

My initial patch for this was to override TCocoaManualScrollHost.scrollWheel and call superview.scrollWheel instead of inherited. However, the change to TCocoaManualScrollWheel. scrollWheel (SVN 61771 / Mantis 36001) means that TCocoaManualScrollHost.scrollWheel is not called and an override of scrollWheel at that level can't be used to pass the event up to the parent.

Is it possible that overriding TCocoaManualScrollHost.scrollWheel and passing the event up to superview instead of calling inherited could solve 36001 and this bug?
TagsNo tags attached.
Fixed in Revision
Attached Files


David Jenkins

2019-09-05 21:59

reporter (110,519 bytes)

David Jenkins

2019-09-13 21:38

reporter   ~0118067

The attached patch does not solve 36001. So the scroll message needs to be passed up in some other fashion.

Issue History

Date Modified Username Field Change
2019-09-05 21:59 David Jenkins New Issue
2019-09-05 21:59 David Jenkins File Added:
2019-09-13 21:38 David Jenkins Note Added: 0118067