Hi, I posted this last week, but had no reaction (nor any updates on the bug).
Since I don't know how soon the next release is to be, I just wanted to make sure it didn't get lost.
I updated info on the bug report, indicating where it was introduced.
Martin
Earlier message 97 lines
-------- Original Message --------
Subject: [Lazarus] double win scroll [Re: Dear developers, we need your
help before releasing 0.9.26]
Date: Fri, 05 Sep 2008 19:52:56 +0100
From: Martin Friebe
Reply-To: General mailing list
To: General mailing list
References:
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
>
> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
>
