diff options
author | Tor Arne Vestbø <tor.arne.vestbo@qt.io> | 2024-05-26 20:05:40 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2024-05-27 18:35:30 +0000 |
commit | 075bf7a5d2486ff4ce53e21e0164cabcebaa87c0 (patch) | |
tree | 7906c57e7b87621dd466953b8166e84ef38b0420 /examples/network/rsslisting | |
parent | 316946089d565a640ecfa62d093a1cca3e65c448 (diff) |
Emit QPrintDialog::accepted(QPrinter*) before QDialog::finished6.7
As part of d8bbb5ee0e60d44a70d29306e607a59caf7fe5bc the order of
QDialog::accepted/rejected and QDialog::finished was changed so
that the latter came last. This has been the behavior now for
the entire Qt 6 series.
QPrintDialog didn't pick up on this new behavior, and was emitting
the QPrintDialog::accepted(QPrinter*) signal after calling the
dialog's done() method, which resulted in emitting finished before
the QPrintDialog printer-specific accepted signal. Clients such as
the textedit example, who would "clean up" in finished() would then
crash when processing the accepted signal.
We now emit QPrintDialog::accepted(QPrinter*) at the same time as
the dialog's accepted signal. The natural place to do this would be
the QPrintDialog constructor, but that's spread out and duplicated
between all the platform specific print dialog implementations, so
we do it via a single shot connect instead in QPrintDialog::done.
[ChangeLog[Print support] QPrintDialog::accepted(QPrinter*) is now
emitted before QDialog::finished, in line with QDialog::accepted.
Pick-to: 6.5
Change-Id: Idade32b667bdf7b81845025b8d83f08a551d32bb
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
(cherry picked from commit 73a11c9d6a684e25cf4feca402ff3a1d7141af9d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'examples/network/rsslisting')
0 files changed, 0 insertions, 0 deletions