@@ -224,8 +224,10 @@ output_picture (DisplayHandle d t s) pic = do
224224 + required_bytes d initial_attr diffs ops
225225 + case pic_cursor pic of
226226 NoCursor -> 0
227− Cursor x y -> show_cursor_required_bytes d
228− + move_cursor_required_bytes d x y
227+ Cursor x y -> let m = cursor_output_map ops $ pic_cursor pic
228+ ( ox, oy ) = char_to_output_pos m ( x, y )
229+ in show_cursor_required_bytes d
230+ + move_cursor_required_bytes d ox oy
229231
230232 -- ... then serialize
231233 liftIO $ allocaBytes (fromEnum total) $ \start_ptr -> do