milli0n / rainmeter

Automatically exported from code.google.com/p/rainmeter
0 stars 0 forks source link

Negative coordinates are snapped back to zero on "Click through" #115

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Steps to reproduce:
1. Activate Enigma\Sidebar\Clock (or any other widget) and deselect Keep on
Screeen and Snap to Edges
2. Move it a bit beyond the top of the screen, to create a negative WindowsY
3. Confirm that WindowsY is negative in the settings
4. Right-click the widget and select "Click through". The widget moves back
down; WindowsY is now 0 in the settings.

Expected behaviour:
I would expect the widget to remain where it is. This is a regression bug;
the 0.2x version supports negative coordinates.

Reported in version:
I was able to reproduce this in the 1.0 stable version, as well as in the
1.1 rev 256 (64bit). I am running Win x64 SP3, with dual monitors. I was
able to reproduce this behaviour on both monitors.

Original issue reported on code.google.com by lauren...@gmail.com on 13 Oct 2009 at 11:17

GoogleCodeExporter commented 8 years ago
Looking at it with Winspector, I get this:

Start WM_WINDOWPOSCHANGING (1464, -57)
End   WM_WINDOWPOSCHANGING 
Start WM_WINDOWPOSCHANGED (1464, -57)
Start WM_MOVE(1464, 65479) 
End   WM_MOVE
End   WM_WINDOWPOSCHANGED 
Start WM_LBUTTONUP   <== move should be finished, right?
Start WM_MOVING (RECT 1464, -57, 1690, 60) 
End   WM_MOVING 
Start WM_WINDOWPOSCHANGING (1464, -57)
End   WM_WINDOWPOSCHANGING 
Start WM_WINDOWPOSCHANGING (1464, -15) <== where did that -15 came from?
End   WM_WINDOWPOSCHANGING 
Start WM_WINDOWPOSCHANGED (1464, -15)
Start WM_MOVE(1464, 65521) 
End   WM_MOVE
End   WM_WINDOWPOSCHANGED

Confirmed thus also on a single monitor, XP x86 SP3 machine.

Also, funnily enough, if I run this in debug and set a breakpoint in OnMove, 
the bug
doesn't happen. It seems to be related to the order in which OnMove and
OnWindowPosChanging are processed. Also, I don't see a return for WM_LBUTTONUP, 
but I
don't know whether that's important.

Original comment by lauren...@gmail.com on 14 Oct 2009 at 11:33

GoogleCodeExporter commented 8 years ago
I've reproduced this bug in this version: Rainmeter-0.14.1-r133-32bit-beta.exe 
. The
latest official 0.14 version doesn't have it. 

Original comment by lauren...@gmail.com on 18 Oct 2009 at 10:44

GoogleCodeExporter commented 8 years ago
Fixed. (r313, r317)

Original comment by spx268 on 29 Jan 2010 at 12:13