From ad1cccdd27e270b1f3eff894a366aa3e4e18fce9 Mon Sep 17 00:00:00 2001 From: wmayer Date: Tue, 29 Nov 2022 10:36:02 +0100 Subject: [PATCH] Gui/Mod: handle several compiler warnings: * ignore -Wfree-nonheap-object for generated code * replace 0 with Qt::NoModifier when creating a QKeyEvent * in Qt 5.14 QCombobox::activated(QString) is deprecated, use textActivated * don't mix QCheckBox::setChecked() with tristate API --- src/App/Expression.cpp | 18 ++++++++----- src/Base/Quantity.cpp | 27 +++++++++---------- src/Gui/CommandCompleter.cpp | 4 +-- src/Gui/DlgDisplayPropertiesImp.cpp | 7 ++++- .../Sketcher/Gui/TaskSketcherConstraints.cpp | 4 +-- 5 files changed, 33 insertions(+), 27 deletions(-) diff --git a/src/App/Expression.cpp b/src/App/Expression.cpp index 9c7fe6bf8c..8a298c1c62 100644 --- a/src/App/Expression.cpp +++ b/src/App/Expression.cpp @@ -3193,12 +3193,6 @@ static int column; #define yylex ExpressionParserlex int ExpressionParserlex(); -// Parser, defined in ExpressionParser.y -# define YYTOKENTYPE -#include "ExpressionParser.tab.c" - -#ifndef DOXYGEN_SHOULD_SKIP_THIS -// Scanner, defined in ExpressionParser.l #if defined(__clang__) # pragma clang diagnostic push # pragma clang diagnostic ignored "-Wsign-compare" @@ -3206,14 +3200,24 @@ int ExpressionParserlex(); #elif defined (__GNUC__) # pragma GCC diagnostic push # pragma GCC diagnostic ignored "-Wsign-compare" +# pragma GCC diagnostic ignored "-Wfree-nonheap-object" #endif + +// Parser, defined in ExpressionParser.y +# define YYTOKENTYPE +#include "ExpressionParser.tab.c" + +#ifndef DOXYGEN_SHOULD_SKIP_THIS +// Scanner, defined in ExpressionParser.l #include "lex.ExpressionParser.c" +#endif // DOXYGEN_SHOULD_SKIP_THIS + #if defined(__clang__) # pragma clang diagnostic pop #elif defined (__GNUC__) # pragma GCC diagnostic pop #endif -#endif // DOXYGEN_SHOULD_SKIP_THIS + #ifdef _MSC_VER # define strdup _strdup #endif diff --git a/src/Base/Quantity.cpp b/src/Base/Quantity.cpp index e16e036c62..4af035e99f 100644 --- a/src/Base/Quantity.cpp +++ b/src/Base/Quantity.cpp @@ -461,11 +461,15 @@ void Quantity_yyerror(char *errorinfo) #endif -// for VC9 (isatty and fileno not supported anymore) -//#ifdef _MSC_VER -//int isatty (int i) {return _isatty(i);} -//int fileno(FILE *stream) {return _fileno(stream);} -//#endif +#if defined(__clang__) +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Wsign-compare" +# pragma clang diagnostic ignored "-Wunneeded-internal-declaration" +#elif defined (__GNUC__) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wsign-compare" +# pragma GCC diagnostic ignored "-Wfree-nonheap-object" +#endif namespace QuantityParser { @@ -479,22 +483,15 @@ int QuantityLexer(); #ifndef DOXYGEN_SHOULD_SKIP_THIS // Scanner, defined in QuantityParser.l -#if defined(__clang__) -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wsign-compare" -# pragma clang diagnostic ignored "-Wunneeded-internal-declaration" -#elif defined (__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wsign-compare" -#endif #include "QuantityLexer.c" +#endif // DOXYGEN_SHOULD_SKIP_THIS +} + #if defined(__clang__) # pragma clang diagnostic pop #elif defined (__GNUC__) # pragma GCC diagnostic pop #endif -#endif // DOXYGEN_SHOULD_SKIP_THIS -} Quantity Quantity::parse(const QString &string) { diff --git a/src/Gui/CommandCompleter.cpp b/src/Gui/CommandCompleter.cpp index 212744a8b0..ede6c11fe4 100644 --- a/src/Gui/CommandCompleter.cpp +++ b/src/Gui/CommandCompleter.cpp @@ -184,7 +184,7 @@ bool CommandCompleter::eventFilter(QObject *o, QEvent *ev) } case Qt::Key_Tab: { if (this->popup()->isVisible()) { - QKeyEvent kevent(ke->type(),Qt::Key_Down,0); + QKeyEvent kevent(ke->type(), Qt::Key_Down, Qt::NoModifier); qApp->sendEvent(this->popup(), &kevent); return true; } @@ -192,7 +192,7 @@ bool CommandCompleter::eventFilter(QObject *o, QEvent *ev) } case Qt::Key_Backtab: { if (this->popup()->isVisible()) { - QKeyEvent kevent(ke->type(),Qt::Key_Up,0); + QKeyEvent kevent(ke->type(), Qt::Key_Up, Qt::NoModifier); qApp->sendEvent(this->popup(), &kevent); return true; } diff --git a/src/Gui/DlgDisplayPropertiesImp.cpp b/src/Gui/DlgDisplayPropertiesImp.cpp index e05269ce45..a6d9f87e49 100644 --- a/src/Gui/DlgDisplayPropertiesImp.cpp +++ b/src/Gui/DlgDisplayPropertiesImp.cpp @@ -173,9 +173,14 @@ DlgDisplayPropertiesImp::~DlgDisplayPropertiesImp() void DlgDisplayPropertiesImp::setupConnections() { - connect(d->ui.changeMaterial, qOverload(&QComboBox::activated), this, &DlgDisplayPropertiesImp::onChangeMaterialActivated); +#if QT_VERSION < QT_VERSION_CHECK(5,14,0) connect(d->ui.changeMode, qOverload(&QComboBox::activated), this, &DlgDisplayPropertiesImp::onChangeModeActivated); connect(d->ui.changePlot, qOverload(&QComboBox::activated), this, &DlgDisplayPropertiesImp::onChangePlotActivated); +#else + connect(d->ui.changeMode, &QComboBox::textActivated, this, &DlgDisplayPropertiesImp::onChangeModeActivated); + connect(d->ui.changePlot, &QComboBox::textActivated, this, &DlgDisplayPropertiesImp::onChangePlotActivated); +#endif + connect(d->ui.changeMaterial, qOverload(&QComboBox::activated), this, &DlgDisplayPropertiesImp::onChangeMaterialActivated); connect(d->ui.buttonColor, &ColorButton::changed, this, &DlgDisplayPropertiesImp::onButtonColorChanged); connect(d->ui.spinTransparency, qOverload(&QSpinBox::valueChanged), this, &DlgDisplayPropertiesImp::onSpinTransparencyValueChanged); connect(d->ui.spinPointSize, qOverload(&QSpinBox::valueChanged), this, &DlgDisplayPropertiesImp::onSpinPointSizeValueChanged); diff --git a/src/Mod/Sketcher/Gui/TaskSketcherConstraints.cpp b/src/Mod/Sketcher/Gui/TaskSketcherConstraints.cpp index 8d7d47df17..33d6d6cb11 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherConstraints.cpp +++ b/src/Mod/Sketcher/Gui/TaskSketcherConstraints.cpp @@ -748,8 +748,8 @@ TaskSketcherConstraints::TaskSketcherConstraints(ViewProviderSketch *sketchView) //QMetaObject::connectSlotsByName(this); ParameterGrp::handle hGrp = App::GetApplication().GetParameterGroupByPath("User parameter:BaseApp/Preferences/Mod/Sketcher/General"); - ui->filterBox->setChecked(hGrp->GetBool("ConstraintFilterEnabled", true) ? Qt::Checked : Qt::Unchecked); - ui->filterButton->setEnabled(ui->filterBox->checkState() == Qt::Checked); + ui->filterBox->setChecked(hGrp->GetBool("ConstraintFilterEnabled", true)); + ui->filterButton->setEnabled(ui->filterBox->isChecked()); createFilterButtonActions(); createSettingButtonActions();