Actions
Bug #14473
openWDialog positioned aside widget incompletely handles focus
Status:
New
Priority:
High
Assignee:
-
Target version:
-
Start date:
04/15/2026
Due date:
% Done:
0%
Estimated time:
Description
Affected: WDialog::positionAt(WWidget*, Orientation) of Wt 4.13.0 (and former versions, checked down to 4.11.4)
Keyboard events still go to the main application (to both the global handlers and to the previously focused widget)
As long as the dialog is popped up using WDialog::positionAt(const WMouseEvent&), it works well - but only until WDialog::positionAt(WWidget*, Orientation).
A WFormWidget like WLineEdit can always be focused and used. But keyboard input does not invoke the connected handlers.
Files
Updated by Michael Seibt about 1 month ago
"But keyboard input does not invoke the connected handlers."
Correction: This last statement was incorrect. Actually, two widgets receive the keyboard events.
STR:
- run attached main.cpp
- hold
Ctrland right click into a table cell of the firstWTableView--> AWDialogpops up at the mouse position as intended. - press
Escape--> "ed.keyWentDown 27 focused" is traced and popup is closed as intended. - press
Space--> AWDialogpops up below the cell as intended. - press
Escape--> "ed.keyWentDown 27 focused" is traced and popup is closed as intended. But also "tv.keyWentDown 27" is traced. Wrong. - hold
Ctrland right click into a table cell --> AWDialogpops up at the mouse position as intended. - press keys --> Each time both "ed.keyWentDown focused" and "tv.keyWentDown " is traced. Broken. Does not recover.
Updated by Romain Mardulyn 19 days ago
- Related to Improvements #14494: Use css anchor for WWidget::positionAt() added
Actions