Yes probably best to open another bug report, and mention the findings that where made until now. (Also that it is not fixed by the patch)
It will probably someone other than me, who will look at it. I picked up this thread because the editor/synedit was mentioned. SynEdit is my domain.
In any case, it may be useful to see what happens in wint32callback.
Where you added the code:
GetClassNameA(SynapticsWindow, SynapticsClassName, 50);
if SynapticsClassName = 'SynTrackCursorWindowClass' then
TargetWindow := Window;
Add the following:
GetClassNameA(SynapticsWindow, SynapticsClassName, 50);
debugln(['WHEEL ', SynapticsClassName,
' W=', dbgs(Window),
' TW=', dbgs(TargetWindow),
' MWRedir=', dbgs(InMouseWheelRedirection)
]);
if SynapticsClassName = 'SynTrackCursorWindowClass' then
TargetWindow := Window;
-----------
You can also *Always* (without condition) do
TargetWindow := Window;
This will disable the "follow mouse" behaviour, that is scroll will apply to the focused window, instead of the window below the mouse.