diff --git a/WINGs/wtextfield.c b/WINGs/wtextfield.c index 59d8a99..fd60b08 100644 --- a/WINGs/wtextfield.c +++ b/WINGs/wtextfield.c @@ -1541,12 +1541,13 @@ static void handleTextFieldActionEvents(WMEvent * event, void *data) } paintTextField(tPtr); - if (!tPtr->flags.ownsSelection) { - tPtr->flags.ownsSelection = - WMCreateSelectionHandler(tPtr->view, - XA_PRIMARY, - event->u.button.time, &selectionHandler, NULL); - } + /* Always re-acquire on double-click so fresh data is + * pushed on Wayland (selectionLost never fires there). + * Safe on X11 — re-claiming your own selection is a no-op. */ + tPtr->flags.ownsSelection = + WMCreateSelectionHandler(tPtr->view, + XA_PRIMARY, + event->u.button.time, &selectionHandler, NULL); } else if (!tPtr->flags.secure && tPtr->selection.count != 0 && !tPtr->flags.ownsSelection) { tPtr->flags.ownsSelection = WMCreateSelectionHandler(tPtr->view,