From aadc50f3b6d953ce0eaff75dec029aaf3a93324a Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Tue, 23 Aug 2022 09:40:48 -0700 Subject: allow buttons to interrupt events Most button onpress1 handlers will want to return true. --- edit.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'edit.lua') diff --git a/edit.lua b/edit.lua index 9a7674d..5bc8bad 100644 --- a/edit.lua +++ b/edit.lua @@ -162,6 +162,7 @@ function edit.draw(State) end schedule_save(State) record_undo_event(State, {before=Drawing.before, after=snapshot(State, line_index-1, line_index+1)}) + return true -- don't handle any other events with this mouse button press end, }) end @@ -207,7 +208,10 @@ end function edit.mouse_pressed(State, x,y, mouse_button) if State.search_term then return end --? print('press', State.selection1.line, State.selection1.pos) - propagate_to_button_handlers(x,y, mouse_button) + if propagate_to_button_handlers(x,y, mouse_button) then + -- press on a button and it returned 'true' to short-circuit + return + end for line_index,line in ipairs(State.lines) do if line.mode == 'text' then -- cgit 1.4.1-2-gfad0