diff -Nru drkonqi-5.18.3+p19.10+git20200328.1643/CMakeLists.txt drkonqi-5.18.5+p19.10+git20200511.1330/CMakeLists.txt --- drkonqi-5.18.3+p19.10+git20200328.1643/CMakeLists.txt 2020-03-28 16:43:40.000000000 +0000 +++ drkonqi-5.18.5+p19.10+git20200511.1330/CMakeLists.txt 2020-05-11 13:30:20.000000000 +0000 @@ -4,7 +4,7 @@ set(PROJECT_VERSION "5.18.80") set(PROJECT_VERSION_MAJOR 5) -set(QT_MIN_VERSION "5.12.0") +set(QT_MIN_VERSION "5.14.0") set(KF5_MIN_VERSION "5.69.0") find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE) @@ -75,9 +75,6 @@ include_directories("${CMAKE_CURRENT_BINARY_DIR}") -if (EXISTS "${CMAKE_SOURCE_DIR}/.git") - add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x060000) -endif() add_subdirectory(src) # add clang-format target for all our real source files diff -Nru drkonqi-5.18.3+p19.10+git20200328.1643/debian/changelog drkonqi-5.18.5+p19.10+git20200511.1330/debian/changelog --- drkonqi-5.18.3+p19.10+git20200328.1643/debian/changelog 2020-03-28 16:43:41.000000000 +0000 +++ drkonqi-5.18.5+p19.10+git20200511.1330/debian/changelog 2020-05-11 13:30:21.000000000 +0000 @@ -1,8 +1,20 @@ -drkonqi (5.18.3+p19.10+git20200328.1643-0) eoan; urgency=high +drkonqi (5.18.5+p19.10+git20200511.1330-0) eoan; urgency=high * Automatic Ubuntu CI Build - -- Kubuntu CI Sat, 28 Mar 2020 16:43:41 +0000 + -- Kubuntu CI Mon, 11 May 2020 13:30:21 +0000 + +drkonqi (5.18.5-0ubuntu1) groovy; urgency=medium + + * New upstream release (5.18.5) + + -- Rik Mills Tue, 05 May 2020 23:39:05 +0100 + +drkonqi (5.18.4.1-0ubuntu1) focal; urgency=medium + + * New upstream release (5.18.4.1) + + -- Rik Mills Thu, 02 Apr 2020 19:45:37 +0100 drkonqi (5.18.3-0ubuntu1) focal; urgency=medium diff -Nru drkonqi-5.18.3+p19.10+git20200328.1643/src/bugzillaintegration/libbugzilla/apijob.cpp drkonqi-5.18.5+p19.10+git20200511.1330/src/bugzillaintegration/libbugzilla/apijob.cpp --- drkonqi-5.18.3+p19.10+git20200328.1643/src/bugzillaintegration/libbugzilla/apijob.cpp 2020-03-28 16:43:40.000000000 +0000 +++ drkonqi-5.18.5+p19.10+git20200511.1330/src/bugzillaintegration/libbugzilla/apijob.cpp 2020-05-11 13:30:20.000000000 +0000 @@ -40,6 +40,10 @@ addMetaData(QStringLiteral("UserAgent"), QStringLiteral("DrKonqi")); // We don't want HTML blobs but proper job errors + text! addMetaData(QStringLiteral("errorPage"), QStringLiteral("false")); + // Disable automatic cookie injection. We don't need cookies but they + // can mess up requests (supposedly by being unexpected or invalid or outdated ...) + // https://bugs.kde.org/show_bug.cgi?id=419646 + addMetaData(QStringLiteral("cookies"), QStringLiteral("none")); connect(m_transferJob, &KIO::TransferJob::data, this, [this](KIO::Job *, const QByteArray &data) { diff -Nru drkonqi-5.18.3+p19.10+git20200328.1643/src/bugzillaintegration/libbugzilla/exceptions.cpp drkonqi-5.18.5+p19.10+git20200511.1330/src/bugzillaintegration/libbugzilla/exceptions.cpp --- drkonqi-5.18.3+p19.10+git20200328.1643/src/bugzillaintegration/libbugzilla/exceptions.cpp 2020-03-28 16:43:40.000000000 +0000 +++ drkonqi-5.18.5+p19.10+git20200511.1330/src/bugzillaintegration/libbugzilla/exceptions.cpp 2020-05-11 13:30:20.000000000 +0000 @@ -76,7 +76,7 @@ : Exception() , m_job(job) { - qCWarning(BUGZILLA_LOG) << "ProtocolException:" << whatString(); + qCWarning(BUGZILLA_LOG) << "ProtocolException:" << whatString() << job->error() << job->errorText() << job->errorString(); } ProtocolException::ProtocolException(const ProtocolException &other) diff -Nru drkonqi-5.18.3+p19.10+git20200328.1643/src/bugzillaintegration/reportassistantpages_base.cpp drkonqi-5.18.5+p19.10+git20200511.1330/src/bugzillaintegration/reportassistantpages_base.cpp --- drkonqi-5.18.3+p19.10+git20200328.1643/src/bugzillaintegration/reportassistantpages_base.cpp 2020-03-28 16:43:40.000000000 +0000 +++ drkonqi-5.18.5+p19.10+git20200511.1330/src/bugzillaintegration/reportassistantpages_base.cpp 2020-05-11 13:30:20.000000000 +0000 @@ -146,15 +146,9 @@ "What I was doing when the application \"%1\" crashed", DrKonqi::crashedApplication()->name())); -#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0) connect(ui.m_rememberGroup, static_cast(&QButtonGroup::buttonClicked), this, &BugAwarenessPage::updateCheckBoxes); // Also listen to toggle so radio buttons are covered. connect(ui.m_rememberGroup, static_cast(&QButtonGroup::buttonToggled), this, &BugAwarenessPage::updateCheckBoxes); -#else - connect(ui.m_rememberGroup, &QButtonGroup::buttonClicked, this, &BugAwarenessPage::updateCheckBoxes); - // Also listen to toggle so radio buttons are covered. - connect(ui.m_rememberGroup, &QButtonGroup::buttonToggled, this, &BugAwarenessPage::updateCheckBoxes); -#endif ui.m_appSpecificDetailsExamplesWidget->setVisible( reportInterface()->appDetailsExamples()->hasExamples()); diff -Nru drkonqi-5.18.3+p19.10+git20200328.1643/src/bugzillaintegration/reportassistantpages_bugzilla.cpp drkonqi-5.18.5+p19.10+git20200511.1330/src/bugzillaintegration/reportassistantpages_bugzilla.cpp --- drkonqi-5.18.3+p19.10+git20200328.1643/src/bugzillaintegration/reportassistantpages_bugzilla.cpp 2020-03-28 16:43:40.000000000 +0000 +++ drkonqi-5.18.5+p19.10+git20200511.1330/src/bugzillaintegration/reportassistantpages_bugzilla.cpp 2020-05-11 13:30:20.000000000 +0000 @@ -30,6 +30,7 @@ #include #include #include +#include #include "drkonqi_debug.h" #include @@ -170,9 +171,16 @@ { //Store if the wallet was previously opened so we can know if we should close it later m_walletWasOpenedBefore = KWallet::Wallet::isOpen(KWallet::Wallet::NetworkWallet()); + //Request open the wallet - m_wallet = KWallet::Wallet::openWallet(KWallet::Wallet::NetworkWallet(), - static_cast(this->parent())->winId()); + WId windowId = 0; + const auto *widget = qobject_cast(this->parent()); + QWindow *window = widget->windowHandle(); + if (window) { + windowId = window->winId(); + } + + m_wallet = KWallet::Wallet::openWallet(KWallet::Wallet::NetworkWallet(), windowId); } void BugzillaLoginPage::walletLogin() diff -Nru drkonqi-5.18.3+p19.10+git20200328.1643/src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.cpp drkonqi-5.18.5+p19.10+git20200511.1330/src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.cpp --- drkonqi-5.18.3+p19.10+git20200328.1643/src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.cpp 2020-03-28 16:43:40.000000000 +0000 +++ drkonqi-5.18.5+p19.10+git20200511.1330/src/bugzillaintegration/reportassistantpages_bugzilla_duplicates.cpp 2020-05-11 13:30:20.000000000 +0000 @@ -1009,20 +1009,11 @@ connect(ui.buttonGroupProceed, SIGNAL(buttonClicked(int)), this, SLOT(checkProceed())); connect(ui.buttonGroupProceedQuestion, SIGNAL(buttonClicked(int)), this, SLOT(checkProceed())); -#if QT_VERSION < QT_VERSION_CHECK(5, 15, 0) // Also listen to toggle so radio buttons are covered. connect(ui.buttonGroupProceed, static_cast(&QButtonGroup::buttonToggled), this, &BugzillaReportConfirmationDialog::checkProceed); connect(ui.buttonGroupProceedQuestion, static_cast(&QButtonGroup::buttonToggled), this, &BugzillaReportConfirmationDialog::checkProceed); -#else - // Also listen to toggle so radio buttons are covered. - connect(ui.buttonGroupProceed, &QButtonGroup::buttonToggled, - this, &BugzillaReportConfirmationDialog::checkProceed); - connect(ui.buttonGroupProceedQuestion, &QButtonGroup::buttonToggled, - this, &BugzillaReportConfirmationDialog::checkProceed); -#endif - if (!m_showProceedQuestion) { ui.proceedLabel->setEnabled(false); diff -Nru drkonqi-5.18.3+p19.10+git20200328.1643/src/main.cpp drkonqi-5.18.5+p19.10+git20200511.1330/src/main.cpp --- drkonqi-5.18.3+p19.10+git20200328.1643/src/main.cpp 2020-03-28 16:43:40.000000000 +0000 +++ drkonqi-5.18.5+p19.10+git20200511.1330/src/main.cpp 2020-05-11 13:30:20.000000000 +0000 @@ -65,6 +65,7 @@ namespace { void openDrKonqiDialog () { DrKonqiDialog *w = new DrKonqiDialog(); + QObject::connect(qApp, &QCoreApplication::aboutToQuit, w, &QObject::deleteLater); QObject::connect(w, &DrKonqiDialog::rejected, qApp, &QApplication::quit); w->show(); #ifdef Q_OS_MACOS diff -Nru drkonqi-5.18.3+p19.10+git20200328.1643/src/parser/backtraceparsergdb.cpp drkonqi-5.18.5+p19.10+git20200511.1330/src/parser/backtraceparsergdb.cpp --- drkonqi-5.18.3+p19.10+git20200328.1643/src/parser/backtraceparsergdb.cpp 2020-03-28 16:43:40.000000000 +0000 +++ drkonqi-5.18.5+p19.10+git20200511.1330/src/parser/backtraceparsergdb.cpp 2020-05-11 13:30:20.000000000 +0000 @@ -86,7 +86,11 @@ // sometimes the stack can resolve to a library even when it uses the 'at' key word. // This specifically seems to happen when a frame has no function name. const QString path = match.captured(5); - file = file && !QFileInfo(path).completeSuffix().contains(QLatin1String(".so")); + const auto completeSuffix = QFileInfo(path).completeSuffix(); + file = file + && completeSuffix != QLatin1String("so") /* libf.so (so) */ + && !completeSuffix.startsWith(QLatin1String("so.")) /* libf.so.1 (so.1) */ + && !completeSuffix.contains(QLatin1String(".so") /* libf-1.0.so.1 (0.so.1)*/); if (file) { d->m_file = match.captured(5); } else { //'from' means we have a library @@ -140,13 +144,13 @@ if (!fileName().isEmpty()) { r = Good; } else if (!libraryName().isEmpty()) { - if (functionName() == QLatin1String("??")) { + if (functionName() == QLatin1String("??") || functionName().isEmpty()) { r = MissingFunction; } else { r = MissingSourceFile; } } else { - if (functionName() == QLatin1String("??")) { + if (functionName() == QLatin1String("??") || functionName().isEmpty()) { r = MissingEverything; } else { r = MissingLibrary; diff -Nru drkonqi-5.18.3+p19.10+git20200328.1643/src/tests/gdbbacktracelinetest.cpp drkonqi-5.18.5+p19.10+git20200511.1330/src/tests/gdbbacktracelinetest.cpp --- drkonqi-5.18.3+p19.10+git20200328.1643/src/tests/gdbbacktracelinetest.cpp 2020-03-28 16:43:40.000000000 +0000 +++ drkonqi-5.18.5+p19.10+git20200511.1330/src/tests/gdbbacktracelinetest.cpp 2020-05-11 13:30:20.000000000 +0000 @@ -65,13 +65,43 @@ // couldn't deal with the function name being missing entirely. // As a result this line used to rate as 'Good' -.- // https://bugs.kde.org/show_bug.cgi?id=416923 - BacktraceLineGdb line("#13 0x00007fe6059971b1 in () at /usr/lib/libglib-2.0.so.0\n"); - QCOMPARE(line.type(), BacktraceLine::StackFrame); - QCOMPARE(line.frameNumber(), 13); - QCOMPARE(line.functionName(), ""); - QCOMPARE(line.fileName(), ""); - QCOMPARE(line.libraryName(), "/usr/lib/libglib-2.0.so.0"); - QCOMPARE(line.rating(), BacktraceLine::MissingSourceFile); + // https://bugs.kde.org/show_bug.cgi?id=418538 + { // glib + BacktraceLineGdb line("#13 0x00007fe6059971b1 in () at /usr/lib/libglib-2.0.so.0\n"); + QCOMPARE(line.type(), BacktraceLine::StackFrame); + QCOMPARE(line.frameNumber(), 13); + QCOMPARE(line.functionName(), ""); + QCOMPARE(line.fileName(), ""); + QCOMPARE(line.libraryName(), "/usr/lib/libglib-2.0.so.0"); + QCOMPARE(line.rating(), BacktraceLine::MissingFunction); + } + { // library without -2.0 (trips up suffix detection) + BacktraceLineGdb line("#13 0x00007fe6059971b1 in () at /usr/lib/libpackagekit-qt.so.12\n"); + QCOMPARE(line.type(), BacktraceLine::StackFrame); + QCOMPARE(line.frameNumber(), 13); + QCOMPARE(line.functionName(), ""); + QCOMPARE(line.fileName(), ""); + QCOMPARE(line.libraryName(), "/usr/lib/libpackagekit-qt.so.12"); + QCOMPARE(line.rating(), BacktraceLine::MissingFunction); + } + { // library without any soversion + BacktraceLineGdb line("#13 0x00007fe6059971b1 in () at /usr/lib/libpackagekit-qt.so\n"); + QCOMPARE(line.type(), BacktraceLine::StackFrame); + QCOMPARE(line.frameNumber(), 13); + QCOMPARE(line.functionName(), ""); + QCOMPARE(line.fileName(), ""); + QCOMPARE(line.libraryName(), "/usr/lib/libpackagekit-qt.so"); + QCOMPARE(line.rating(), BacktraceLine::MissingFunction); + } + { // library without any soversion but name suffix + BacktraceLineGdb line("#13 0x00007fe6059971b1 in () at /usr/lib/libpackagekit-1.0.so\n"); + QCOMPARE(line.type(), BacktraceLine::StackFrame); + QCOMPARE(line.frameNumber(), 13); + QCOMPARE(line.functionName(), ""); + QCOMPARE(line.fileName(), ""); + QCOMPARE(line.libraryName(), "/usr/lib/libpackagekit-1.0.so"); + QCOMPARE(line.rating(), BacktraceLine::MissingFunction); + } } void testOnlyFunctionNofile()