View Issue Details

IDProjectCategoryView StatusLast Update
0036048LazarusWidgetsetpublic2020-01-13 03:04
ReporterDavid Jenkins Assigned ToDmitry Boyarintsev  
Status resolvedResolutionfixed 
Product Version2.0.4 
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 Revision62540
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.

Dmitry Boyarintsev

2020-01-13 03:04

developer   ~0120391

please test and close if ok

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
2020-01-12 06:28 Dmitry Boyarintsev Assigned To => Dmitry Boyarintsev
2020-01-12 06:28 Dmitry Boyarintsev Status new => assigned
2020-01-13 03:04 Dmitry Boyarintsev Status assigned => resolved
2020-01-13 03:04 Dmitry Boyarintsev Resolution open => fixed
2020-01-13 03:04 Dmitry Boyarintsev Fixed in Revision => 62540
2020-01-13 03:04 Dmitry Boyarintsev LazTarget => -
2020-01-13 03:04 Dmitry Boyarintsev Widgetset Cocoa => Cocoa
2020-01-13 03:04 Dmitry Boyarintsev Note Added: 0120391