Patch from James H providing lots more paranoid casting. Also one

actual behaviour change: Untangle now permits dragging with the
right mouse button, which has exactly the same effect as it does
with the left. (Harmless on desktop platforms, but helpful when
"right-click" is achieved by press-and-hold; now the drag takes
place even if you hesitate first.)

[originally from svn r8177]
This commit is contained in:
Simon Tatham
2008-09-13 18:29:20 +00:00
parent 5ead207060
commit 1d661ec46b
9 changed files with 37 additions and 36 deletions

9
cube.c
View File

@ -1115,8 +1115,8 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds,
int cx, cy;
double angle;
cx = state->squares[state->current].x * GRID_SCALE + ds->ox;
cy = state->squares[state->current].y * GRID_SCALE + ds->oy;
cx = (int)(state->squares[state->current].x * GRID_SCALE) + ds->ox;
cy = (int)(state->squares[state->current].y * GRID_SCALE) + ds->oy;
if (x == cx && y == cy)
return NULL; /* clicked in exact centre! */
@ -1476,7 +1476,7 @@ static void game_set_size(drawing *dr, game_drawstate *ds,
{
struct bbox bb = find_bbox(params);
ds->gridscale = tilesize;
ds->gridscale = (float)tilesize;
ds->ox = (int)(-(bb.l - solids[params->solid]->border) * ds->gridscale);
ds->oy = (int)(-(bb.u - solids[params->solid]->border) * ds->gridscale);
}
@ -1503,7 +1503,8 @@ static game_drawstate *game_new_drawstate(drawing *dr, game_state *state)
{
struct game_drawstate *ds = snew(struct game_drawstate);
ds->ox = ds->oy = ds->gridscale = 0.0F;/* not decided yet */
ds->ox = ds->oy = 0;
ds->gridscale = 0.0F; /* not decided yet */
return ds;
}