Do not use round_to_int with cursor coordinates
round_to_int() transforms a value in [0.5, 1.0] into a 1.0 value. But when you scale-up an image and if the cursor is between the half of one image pixel and the right (or bottom) side of the same pixel the cursor fraction coordinate is between [0.5, 1.0] and the rounding operation causes the cursor to virtualy moved on the next pixel. The typical bad effect is to give the wrong pixel value in the status text line.