On Fri, 14 Oct 2022 15:45:10 GMT, eduardsdv <d...@openjdk.org> wrote:
> This fixes a race condition between application and 'Print Job Thread' > threads when printing. > > The race condition occurs when application thread calls `endJob()`, which in > effect sets the `jobDone` flag to true, > and when the 'Print Job Thread' thread was in the `synchronized` block in > `waitForNextPage()` at that time. > The 'Print Job Thread' thread checks `jobDone` flag after exiting the > `synchronized` block and, if it is true, skips the last page. > > In this fix, not only the `jobDone` is checked, but also that there is no > other page to be printed. > It was also needed to introduce a new flag 'jobCanceled', to skip the page if > the printing was canceled by 'cancelJob()'. This pull request has now been integrated. Changeset: 7b3c88b5 Author: Eduard Sedov <eduard.se...@zeiss.com> Committer: Kevin Rushforth <k...@openjdk.org> URL: https://git.openjdk.org/jfx/commit/7b3c88b5aeb802c756056bc3bf9a167dc359f1ab Stats: 20 lines in 1 file changed: 8 ins; 0 del; 12 mod 8295324: JavaFX: Blank pages when printing Reviewed-by: prr, kcr ------------- PR: https://git.openjdk.org/jfx/pull/916