[Lazarus] double win scroll [Re: Dear developers, we need your help before releasing 0.9.26]
Martin Friebe
lazarus at mfriebe.de
Fri Sep 5 20:52:56 CEST 2008
http://bugs.freepascal.org/view.php?id=11768
Scrolling with the mouse wheel can affect more than one window.
From short testing this seems to be a regression too. I can reproduce
this, but only with SVN.
0.9.24 is not affected.
I have found some more info.
Assume the following layout: (O Object inspector / S Synedit / M MainBar)
MMMMMMMM
OO SSSSSSS
OO SSSSSSS
OO SSSSSSS
OO SSSSSSS
If the mouse is over the Synedit (relative X=50 y=90)
and the absolute screen coordinate (50/90) is over the objInspector (a
scrollable part of the oi, like the grid)
then the grid will scroll together with synedit.
in C:\lazarus_latest\lcl\interfaces\win32\win32callback.inc line 1803 ++
WM_MOUSEWHEEL:
begin
...
with LMMouseEvent Do
begin
X := GET_X_LPARAM(LParam);
Y := GET_Y_LPARAM(LParam);
// check if mouse cursor within this window, otherwise send
message to window the mouse is hovering over
P.X := X;
P.Y := Y;
.......
Windows.ScreenToClient(TargetWindow, P);
This last line seems to somehow be guilty
I observed the following, (with a breakpoint on this code)
- first entry:
X/Y GET_X_LPARAM are the screen coordinates
- 2nd entry
X/Y GET_X_LPARAM are the relative coordinates, as after the last
Windows.ScreenToClient(TargetWindow, P);
I'll see if I can find more, but maybe someone more closer to the code,
can use the above to more quickly find the issue
Paul Ishenin wrote:
> Hello, General mailing list.
>
> Lazarus 0.9.26 is coming. We have made all the main changes we wanted to
> make. We spent the last couple of days on bug fixing. We have fixed many
> issues, but we are not sure we have fixed all regressions. It would be
> sad to release a version, that you cannot use.
>
> Thus we kindly ask you to test our latest snapshots at
> http://www.hu.freepascal.org/lazarus/ or (better) the svn version.
> Please, check your work projects, run tests, play with the IDE, do crazy
> things. And if you find a regression, let us know through the bug
> tracker at http://bugs.freepascal.org/ .
>
> Lazarus 0.9.26 will not be released with regressions (new errors, things
> that worked in 0.9.24), *if* we know about them. If there are no more
> regressions, we will release in one or two weeks. After the release it
> will be too late to bash us for regressions. So grab this opportunity.
>
> The Lazarus team.
>
> _______________________________________________
> Lazarus mailing list
> Lazarus at lazarus.freepascal.org
> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
>
More information about the Lazarus
mailing list