Skip to content

Commit fe947d0

Browse files
authored
Fixed focus lost on right click. (#921)
1 parent c22bb10 commit fe947d0

1 file changed

Lines changed: 8 additions & 6 deletions

File tree

richtextfx/src/main/java/org/fxmisc/richtext/GenericStyledAreaBehavior.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ class GenericStyledAreaBehavior {
260260

261261
InputMapTemplate<GenericStyledAreaBehavior, ? super ContextMenuEvent> contextMenuEventTemplate = consumeWhen(
262262
EventPattern.eventType(ContextMenuEvent.CONTEXT_MENU_REQUESTED),
263-
b -> !b.view.isDisabled() && b.view.isContextMenuPresent(),
263+
b -> !b.view.isDisabled(),
264264
GenericStyledAreaBehavior::showContextMenu
265265
);
266266

@@ -464,11 +464,13 @@ private void skipToNextWord(SelectionPolicy selectionPolicy) {
464464
* ********************************************************************** */
465465

466466
private void showContextMenu(ContextMenuEvent e) {
467-
ContextMenu menu = view.getContextMenu();
468-
double xOffset = view.getContextMenuXOffset();
469-
double yOffset = view.getContextMenuYOffset();
470-
471-
menu.show(view, e.getScreenX() + xOffset, e.getScreenY() + yOffset);
467+
view.requestFocus();
468+
if ( view.isContextMenuPresent() ) {
469+
ContextMenu menu = view.getContextMenu();
470+
double x = e.getScreenX() + view.getContextMenuXOffset();
471+
double y = e.getScreenY() + view.getContextMenuYOffset();
472+
menu.show( view, x, y );
473+
}
472474
}
473475

474476
private void handleShiftPress(MouseEvent e) {

0 commit comments

Comments
 (0)