From e43891459ff4640cdc97ca7cb71891a54c0d1989 Mon Sep 17 00:00:00 2001 From: Jaakko Keränen Date: Sun, 30 Aug 2020 17:32:39 +0300 Subject: InputWidget: Undo, copy/cut, select all --- src/ui/documentwidget.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/ui/documentwidget.c') diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c index b954040a..676c94bd 100644 --- a/src/ui/documentwidget.c +++ b/src/ui/documentwidget.c @@ -1097,7 +1097,7 @@ static iBool handleCommand_DocumentWidget_(iDocumentWidget *d, const char *cmd) : "Not trusted")); return iTrue; } - else if (equal_Command(cmd, "copy") && document_App() == d) { + else if (equal_Command(cmd, "copy") && document_App() == d && !focus_Widget()) { iString *copied; if (d->selectMark.start) { iRangecc mark = d->selectMark; @@ -1441,6 +1441,7 @@ static iBool processEvent_DocumentWidget_(iDocumentWidget *d, const SDL_Event *e case drag_ClickResult: { /* Begin selecting a range of text. */ if (!d->selecting) { + setFocus_Widget(NULL); /* TODO: Focus this document? */ d->selecting = iTrue; d->selectMark.start = d->selectMark.end = sourceLoc_DocumentWidget_(d, d->click.startPos); -- cgit v1.2.3