Try to execute remaining works only on not being active.
MessageLoopWorker posts a WM_SCHEDULE_CEF_WORK message to execute remaining works if re-entrancy is detected. If WM_SCHEDULE_CEF_WORK messages on re-entrancy are posted while message loop is active, a lot of WM_SCHEDULE_CEF_WORK messages are posted while active. As a result, executing message loop is prevented by those messages. These behavior causes a bug that Chronos hungs after displaying system dialog for printing.
This patch resolve that bug.
How to verify the fixed issue:
The steps to verify:
Display [印刷]->[詳細設定]->[システムダイアログを使用して印刷]
Select a printer
Click [印刷]
[x] Confirm that printer works immediately and Chronos doesn't freeze.
Which issue(s) this PR fixes:
https://github.com/ThinBridge/Chronos/issues/204
This is a same patch as https://github.com/ThinBridge/Chronos/pull/205 for the v14.1.119.1-maintenance branch.
What this PR does / why we need it:
Try to execute remaining works only on not being active.
MessageLoopWorker posts a WM_SCHEDULE_CEF_WORK message to execute remaining works if re-entrancy is detected. If WM_SCHEDULE_CEF_WORK messages on re-entrancy are posted while message loop is active, a lot of WM_SCHEDULE_CEF_WORK messages are posted while active. As a result, executing message loop is prevented by those messages. These behavior causes a bug that Chronos hungs after displaying system dialog for printing.
This patch resolve that bug.
How to verify the fixed issue:
The steps to verify:
Regression tests
155