From 92479ed9b76fed17afd138d2222b8df86163cd6c Mon Sep 17 00:00:00 2001 From: Giuseppe D'Angelo Date: Mon, 13 May 2019 21:59:06 +0200 Subject: QPrintSupport: do not bypass a base class' virtual QAbstractPrintDialog (a QDialog subclass) has an interesting override of exec(): a pure virtual, without a body. The UNIX subclass was therefore forced to override it, but since it did not need to do anything with it, it had to call QDialog::exec (bypassing the direct base, otherwise it would cause a pure virtual call). Eliminate the pure virtual override. This should be BC; the layout of the vtable does not change, merely its contents. Change-Id: I84ac23c938f1934f699df032ef1bde0d6df77784 Reviewed-by: Thiago Macieira Reviewed-by: Lars Knoll --- src/printsupport/dialogs/qabstractprintdialog.h | 2 -- src/printsupport/dialogs/qprintdialog_unix.cpp | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) (limited to 'src/printsupport/dialogs') diff --git a/src/printsupport/dialogs/qabstractprintdialog.h b/src/printsupport/dialogs/qabstractprintdialog.h index 3cc89890fc..9817810c61 100644 --- a/src/printsupport/dialogs/qabstractprintdialog.h +++ b/src/printsupport/dialogs/qabstractprintdialog.h @@ -84,8 +84,6 @@ public: explicit QAbstractPrintDialog(QPrinter *printer, QWidget *parent = nullptr); ~QAbstractPrintDialog(); - int exec() override = 0; - // obsolete void addEnabledOption(PrintDialogOption option); void setEnabledOptions(PrintDialogOptions options); diff --git a/src/printsupport/dialogs/qprintdialog_unix.cpp b/src/printsupport/dialogs/qprintdialog_unix.cpp index 6eaf24adf9..5136ba13e5 100644 --- a/src/printsupport/dialogs/qprintdialog_unix.cpp +++ b/src/printsupport/dialogs/qprintdialog_unix.cpp @@ -1082,7 +1082,7 @@ void QPrintDialog::setVisible(bool visible) int QPrintDialog::exec() { - return QDialog::exec(); + return QAbstractPrintDialog::exec(); } void QPrintDialog::accept() -- cgit v1.2.3