The issue was initially observed in Vip10.
I have now checked its status in Vip11, and the problem persists.
Steps to Reproduce
Open the attached test project.
Run the project.
Press the rightmost button on the ribbon.
A dialog appears. Close the dialog.
Observed Behavior
After closing the dialog, the ribbon becomes unresponsive to mouse hover or clicks on its buttons.
Clicking in the message area restores the ribbon's activity.
Suspected Cause
It appears that the main loop does not return to its normal state after the dialog is closed.
Code Snippet for the Main Loop
Code: Select all
class predicates
loop : (gui_native::msg Msg).
clauses
loop(Msg) :-
WM_QUIT = getMessage_update(Msg),
if true = WM_QUIT then
gui_native::msg(:WParam = WParam | _) = Msg,
programControl::setApplicationExitCode(getUnsigned(WParam))
else
try
if not(tryTranslateAccelerator(Msg)) and not(isDialogMessage(vpi_native::getActiveDialog(), Msg)) then
_ = gui_native::translateMessage(Msg),
_ = gui_native::dispatchMessage(Msg)
end if
catch TraceId do
mainExe::dumpException(TraceId)
end try,
loop(Msg)
end if.