aerc/widgets
Tim Culverhouse 9cf69747eb compose: don't lock call to composer.grid.MouseEvent
The MouseEvent method of the composer passes on the mouse event to it's
underlying grid while the composer is locked. The underlying grid then
passes on the mouse event to child objects of the grid, which are
referenced via fields of the composer (c.editor is a field in composer
but a child of c.grid, for example). When the grid attempts to pass on
the mouse event, it is referencing a pointer which is locked, and a
deadlock occurs due to the original lock in composer.MouseEvent.

Unlock before calling the grid.MouseEvent, and lock the composer again
after it is called.

Signed-off-by: Tim Culverhouse <tim@timculverhouse.com>
Acked-by: Robin Jarry <robin@jarry.cc>
2022-10-12 22:16:48 +02:00
..
account-wizard.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
account.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
aerc.go mailto: allow attaching of files 2022-10-12 22:16:45 +02:00
authinfo.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
compose.go compose: don't lock call to composer.grid.MouseEvent 2022-10-12 22:16:48 +02:00
dialog.go widgets: add dialog interface 2022-08-22 09:30:37 +02:00
dirlist.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
dirtree.go dirtree: fix build errors 2022-08-22 09:57:23 +02:00
exline.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
getpasswd.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
headerlayout.go go.mod: change base git url 2021-11-05 10:21:45 +01:00
listbox.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
msglist.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
msgviewer.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
pgpinfo.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
providesmessage.go msgviewer: open http links from messages 2022-06-14 22:12:48 +02:00
scrollable.go lint: apply new formatting rules 2022-08-01 10:44:52 +02:00
selector.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
spinner.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
status.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00
tabhost.go Implement style configuration. 2020-08-06 21:42:06 +02:00
terminal.go invalidatable: cleanup dead code 2022-10-12 22:16:40 +02:00