fix: crash in home screen
Button click handlers may delete the button, so we should not touch self after calling them.
This commit is contained in:
		
							parent
							
								
									a0fa079a13
								
							
						
					
					
						commit
						932c79fb13
					
				
					 1 changed files with 2 additions and 2 deletions
				
			
		|  | @ -133,9 +133,9 @@ fn State(ctx_type: type) type { | ||||||
|                 } |                 } | ||||||
|                 return true; |                 return true; | ||||||
|             } else if (try m.match(.{ "B", input.event.release, tp.extract(&btn), tp.any, tp.extract(&x), tp.extract(&y), tp.any, tp.any })) { |             } else if (try m.match(.{ "B", input.event.release, tp.extract(&btn), tp.any, tp.extract(&x), tp.extract(&y), tp.any, tp.any })) { | ||||||
|                 self.call_click_handler(@enumFromInt(btn), self.to_rel_cursor(x, y)); |  | ||||||
|                 self.drag_anchor = null; |                 self.drag_anchor = null; | ||||||
|                 self.drag_pos = null; |                 self.drag_pos = null; | ||||||
|  |                 self.call_click_handler(@enumFromInt(btn), self.to_rel_cursor(x, y)); | ||||||
|                 tui.need_render(); |                 tui.need_render(); | ||||||
|                 return true; |                 return true; | ||||||
|             } else if (try m.match(.{ "D", input.event.press, tp.extract(&btn), tp.any, tp.extract(&x), tp.extract(&y), tp.any, tp.any })) { |             } else if (try m.match(.{ "D", input.event.press, tp.extract(&btn), tp.any, tp.extract(&x), tp.extract(&y), tp.any, tp.any })) { | ||||||
|  | @ -150,9 +150,9 @@ fn State(ctx_type: type) type { | ||||||
|                     self.active = false; |                     self.active = false; | ||||||
|                     h.send(from, m) catch {}; |                     h.send(from, m) catch {}; | ||||||
|                 } |                 } | ||||||
|                 self.call_click_handler(@enumFromInt(btn), self.to_rel_cursor(x, y)); |  | ||||||
|                 self.drag_anchor = null; |                 self.drag_anchor = null; | ||||||
|                 self.drag_pos = null; |                 self.drag_pos = null; | ||||||
|  |                 self.call_click_handler(@enumFromInt(btn), self.to_rel_cursor(x, y)); | ||||||
|                 tui.need_render(); |                 tui.need_render(); | ||||||
|                 return true; |                 return true; | ||||||
|             } else if (try m.match(.{ "H", tp.extract(&self.hover) })) { |             } else if (try m.match(.{ "H", tp.extract(&self.hover) })) { | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue