diff --git a/edit.lua b/edit.lua index f9eb076..82d9542 100644 --- a/edit.lua +++ b/edit.lua @@ -249,7 +249,7 @@ function edit.mouse_press(State, x,y, mouse_button) line=line_index, pos=Text.to_pos_on_line(State, line_index, x, y), } - print_and_log(('edit.mouse_press: selection now %d,%d'):format(State.selection1.line, State.selection1.pos)) + State.recent_mouse = {time=Current_time, line=State.selection1.line, pos=State.selection1.pos} break end elseif line.mode == 'drawing' then @@ -286,6 +286,7 @@ function edit.mouse_release(State, x,y, mouse_button) pos=Text.to_pos_on_line(State, line_index, x, y), } print_and_log(('edit.mouse_release: cursor now %d,%d'):format(State.cursor1.line, State.cursor1.pos)) + State.recent_mouse = {time=Current_time, line=State.cursor1.line, pos=State.cursor1.pos} if State.mousepress_shift then if State.old_selection1.line == nil then State.selection1 = State.old_cursor1 diff --git a/select.lua b/select.lua index 3b36b52..d0509ef 100644 --- a/select.lua +++ b/select.lua @@ -69,12 +69,11 @@ end -- inefficient for some reason, so don't do it on every frame function Text.mouse_pos(State) - local time = love.timer.getTime() - if State.recent_mouse.time and State.recent_mouse.time > time-0.1 then + if State.recent_mouse.time and State.recent_mouse.time > Current_time-0.1 then print_and_log(('text.mouse_pos: returning recent value %d,%d'):format(State.recent_mouse.line, State.recent_mouse.pos)) return State.recent_mouse.line, State.recent_mouse.pos end - State.recent_mouse.time = time + State.recent_mouse.time = Current_time local line,pos = Text.to_pos(State, App.mouse_x(), App.mouse_y()) if line then State.recent_mouse.line = line