On Tue, 1 Oct 2024 18:07:02 GMT, Andy Goryachev <ango...@openjdk.org> wrote:
>> modules/jfx.incubator.richtext/src/main/java/jfx/incubator/scene/control/richtext/RichTextArea.java >> line 1166: >> >>> 1164: * This method does nothing if the model or the caret position is >>> {@code null}. >>> 1165: * The default implementation will attempt to copy the >>> information first, then delete the selected text. >>> 1166: * Any failures, such as the control being not editable, or out >>> of memory condition, will be silently ignored. >> >> I see what you are getting at, but I might recommend separating normal state >> conditions, such as "the control not being editable" from an error >> condition, such as OOM. >> >> Btw, the implementation of `cut` currently throws an exception if not >> editable, so needs to be fixed. > > no, it does not - RichTextAreaBehavior.cut() L1232 > > > } catch(Exception | OutOfMemoryError e) { > RichUtils.provideErrorFeedback(control, e); > } > > > one may question whether we should be handling OOME here and providing a > feedback (which currently dumps the stack trace to stderr which is not the > best idea). To follow up on an offline discussion, all of the key-input-mapped methods that modify become no-ops if not editable and writable. So "cut" does nothing (i.e., does not do a copy) if the model is read-only or the control is not editable. This will be more consistent with TextArea and is easier to document. ------------- PR Review Comment: https://git.openjdk.org/jfx/pull/1524#discussion_r1788257173