[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#985541: unblock: dtkcore/5.2.2.5-3



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
X-Debbugs-CC: pkg-deepin-devel@lists.alioth.debian.org

Please unblock package dtkcore

[ Reason ]
Current version of dtkcore would cause all Deepin applications to crash
when clicking the "About" menu. The new dtkcore/5.2.2.5-3 provides a
targeted patch coming from Deepin upstream to solve this bug.

The bug is documented as https://bugs.debian.org/985480 .

[ Impact ]
If the bug is not fixed, all deepin applications (deepin-*) will crash
when the user clicks the "About" menu.

[ Tests ]
Click the "About" menu with different versions of libdtkcore5
installed. The new version will not crash.

All buildd build in Debian sid on release architectures have succeeded.

[ Risks ]
The risk of introducing regression should be minimal according to my
understanding to the patch.

[ Checklist ]
  [X] all changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in testing

unblock dtkcore/5.2.2.5-3
diff -Nru dtkcore-5.2.2.5/debian/changelog dtkcore-5.2.2.5/debian/changelog
--- dtkcore-5.2.2.5/debian/changelog	2020-12-21 04:20:28.000000000 -0500
+++ dtkcore-5.2.2.5/debian/changelog	2021-03-18 22:57:38.000000000 -0400
@@ -1,3 +1,11 @@
+dtkcore (5.2.2.5-3) unstable; urgency=high
+
+  * debian/patches/0001-fix-access-null-pointer.patch: Apply upstream
+    patch to avoid program crash when clicking "About" menu in Deepin
+    Applications. (Closes: #985480)
+
+ -- Boyuan Yang <byang@debian.org>  Thu, 18 Mar 2021 22:57:38 -0400
+
 dtkcore (5.2.2.5-2) unstable; urgency=medium
 
   * debian/libdtkcore5.symbols:
diff -Nru dtkcore-5.2.2.5/debian/libdtkcore5.symbols dtkcore-5.2.2.5/debian/libdtkcore5.symbols
--- dtkcore-5.2.2.5/debian/libdtkcore5.symbols	2020-12-21 04:20:28.000000000 -0500
+++ dtkcore-5.2.2.5/debian/libdtkcore5.symbols	2021-03-18 22:44:46.000000000 -0400
@@ -199,6 +199,7 @@
  _ZN3Dtk4Core15DSysInfoPrivate16ensureDeepinInfoEv@Base 5.2.2
  _ZN3Dtk4Core15DSysInfoPrivate17ensureReleaseInfoEv@Base 5.2.2
  _ZN3Dtk4Core15DSysInfoPrivate18ensureComputerInfoEv@Base 5.2.2
+ _ZN3Dtk4Core15DSysInfoPrivate22ensureDistributionInfoEv@Base 5.2.2
  _ZN3Dtk4Core15DSysInfoPrivateC1Ev@Base 5.2.2
  _ZN3Dtk4Core15DSysInfoPrivateC2Ev@Base 5.2.2
  _ZN3Dtk4Core15QSettingBackend11doSetOptionERK7QStringRK8QVariant@Base 5.2.2
diff -Nru dtkcore-5.2.2.5/debian/patches/0001-fix-access-null-pointer.patch dtkcore-5.2.2.5/debian/patches/0001-fix-access-null-pointer.patch
--- dtkcore-5.2.2.5/debian/patches/0001-fix-access-null-pointer.patch	1969-12-31 19:00:00.000000000 -0500
+++ dtkcore-5.2.2.5/debian/patches/0001-fix-access-null-pointer.patch	2021-03-18 22:57:38.000000000 -0400
@@ -0,0 +1,65 @@
+Description: fix access null pointer
+ TODO: fix access null pointer
+Author: Hu Feng <hufeng@uniontech.com>
+
+Forwarded: not-needed
+Reviewed-By: Boyuan Yang <byang@debian.org>
+Last-Update: 2021-03-02
+
+--- dtkcore-5.4.0.orig/src/dsysinfo.cpp
++++ dtkcore-5.4.0/src/dsysinfo.cpp
+@@ -48,6 +48,7 @@ public:
+ #ifdef Q_OS_LINUX
+     void ensureDeepinInfo();
+     bool ensureOsVersion();
++    void ensureDistributionInfo();
+ #endif
+     void ensureReleaseInfo();
+     void ensureComputerInfo();
+@@ -97,6 +98,16 @@ DSysInfoPrivate::DSysInfoPrivate()
+ }
+ 
+ #ifdef Q_OS_LINUX
++void DSysInfoPrivate::ensureDistributionInfo()
++{
++    if (distributionInfo)
++        return;
++
++    const QString distributionInfoFile(DSysInfo::distributionInfoPath());
++    // Generic DDE distribution info
++    distributionInfo.reset(new DDesktopEntry(distributionInfoFile));
++}
++
+ void DSysInfoPrivate::ensureDeepinInfo()
+ {
+     if (static_cast<int>(deepinType) >= 0)
+@@ -168,11 +179,6 @@ void DSysInfoPrivate::ensureDeepinInfo()
+     } else {
+         deepinType = DSysInfo::UnknownDeepin;
+     }
+-
+-    const QString distributionInfoFile(DSysInfo::distributionInfoPath());
+-    // Generic DDE distribution info
+-    distributionInfo.reset(new DDesktopEntry(distributionInfoFile));
+-    QSettings distributionInfo(distributionInfoFile, QSettings::IniFormat); // TODO: treat as `.desktop` format instead of `.ini`
+ }
+ 
+ bool DSysInfoPrivate::ensureOsVersion()
+@@ -734,7 +740,7 @@ QString DSysInfo::distributionInfoSectio
+ QString DSysInfo::distributionOrgName(DSysInfo::OrgType type, const QLocale &locale)
+ {
+ #ifdef Q_OS_LINUX
+-    siGlobal->ensureDeepinInfo();
++	siGlobal->ensureDistributionInfo();
+ #endif
+ 
+     QString fallback = type == Distribution ? QStringLiteral("Deepin") : QString();
+@@ -757,7 +763,7 @@ QString DSysInfo::deepinDistributorName(
+ QPair<QString, QString> DSysInfo::distributionOrgWebsite(DSysInfo::OrgType type)
+ {
+ #ifdef Q_OS_LINUX
+-    siGlobal->ensureDeepinInfo();
++	siGlobal->ensureDistributionInfo();
+ #endif
+ 
+     QString fallbackSiteName = type == Distribution ? QStringLiteral("www.deepin.org") : QString();
diff -Nru dtkcore-5.2.2.5/debian/patches/series dtkcore-5.2.2.5/debian/patches/series
--- dtkcore-5.2.2.5/debian/patches/series	1969-12-31 19:00:00.000000000 -0500
+++ dtkcore-5.2.2.5/debian/patches/series	2021-03-18 22:44:25.000000000 -0400
@@ -0,0 +1 @@
+0001-fix-access-null-pointer.patch

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: