main: initialize scale to '1'

This ensures we always have a valid (but possibly incorrect) scaling
value. This allows us to simplify code that uses the scale - it
doesn't have to verify the scale if valid.

Furthermore, since render_resize() is the function that actually
updates term->scale, make sure to call it *before* updating the
cursor (otherwise, the cursor will use the old scaling value).
This commit is contained in:
Daniel Eklöf 2019-09-26 18:39:49 +02:00
parent 7323f18859
commit 2d6369482e
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
3 changed files with 7 additions and 22 deletions

View file

@ -404,9 +404,8 @@ wl_pointer_motion(void *data, struct wl_pointer *wl_pointer,
{
struct terminal *term = data;
const int scale = term->scale >= 1 ? term->scale : 1;
int x = wl_fixed_to_int(surface_x) * scale;
int y = wl_fixed_to_int(surface_y) * scale;
int x = wl_fixed_to_int(surface_x) * term->scale;
int y = wl_fixed_to_int(surface_y) * term->scale;
int col = (x - term->x_margin) / term->cell_width;
int row = (y - term->y_margin) / term->cell_height;