(svn r21619) -Fix [FS#4327]: Don't copy direction bits when restarting a rail selection.

This commit is contained in:
alberth 2010-12-24 14:48:38 +00:00
parent c5ce84267a
commit cdae336feb

View File

@ -2176,7 +2176,7 @@ void VpStartPlaceSizing(TileIndex tile, ViewportPlaceMethod method, ViewportDrag
_thd.selstart.y += TILE_SIZE / 2; _thd.selstart.y += TILE_SIZE / 2;
} }
HighLightStyle others = _thd.place_mode & ~HT_DRAG_MASK; HighLightStyle others = _thd.place_mode & ~(HT_DRAG_MASK | HT_DIR_MASK);
if ((_thd.place_mode & HT_DRAG_MASK) == HT_RECT) { if ((_thd.place_mode & HT_DRAG_MASK) == HT_RECT) {
_thd.place_mode = HT_SPECIAL | others; _thd.place_mode = HT_SPECIAL | others;
_thd.next_drawstyle = HT_RECT | others; _thd.next_drawstyle = HT_RECT | others;
@ -2813,7 +2813,7 @@ EventState VpHandlePlaceSizingDrag()
/* mouse button released.. /* mouse button released..
* keep the selected tool, but reset it to the original mode. */ * keep the selected tool, but reset it to the original mode. */
_special_mouse_mode = WSM_NONE; _special_mouse_mode = WSM_NONE;
HighLightStyle others = _thd.next_drawstyle & ~HT_DRAG_MASK; HighLightStyle others = _thd.place_mode & ~(HT_DRAG_MASK | HT_DIR_MASK);
if ((_thd.next_drawstyle & HT_DRAG_MASK) == HT_RECT) { if ((_thd.next_drawstyle & HT_DRAG_MASK) == HT_RECT) {
_thd.place_mode = HT_RECT | others; _thd.place_mode = HT_RECT | others;
} else if (_thd.select_method & VPM_SIGNALDIRS) { } else if (_thd.select_method & VPM_SIGNALDIRS) {