def _do_move():
global _screen, _client, _cx, _cy, _dx, _dy
- x = _cx + _dx
- y = _cy + _dy
+ # get destination x/y for the *frame*
+ x = _cx + _dx + _client.frame.rect().x() - _client.area().x()
+ y = _cy + _dy + _client.frame.rect().y() - _client.area().y()
- global edge_resistance, _last_x, _last_y
+ global edge_resistance
+ global _last_x, _last_y
if edge_resistance:
fs = _client.frame.size()
w = _client.area().width() + fs.left + fs.right
if _last_y < y and y > b and y <= b + edge_resistance:
y = b
- _last_x = x
- _last_y = y
+ global _inmove
+ if not _inmove:
+ _last_x = 0
+ _last_y = 0
+ else:
+ _last_x = x
+ _last_y = y
global move_rubberband
if move_rubberband: