Date: Friday, January 25, 2019 @ 18:56:26 Author: felixonmars Revision: 427901
upgpkg: deepin-session-ui 4.8.7-2 fix the crash in https://github.com/linuxdeepin/developer-center/issues/843 Added: deepin-session-ui/trunk/fix-crash.patch Modified: deepin-session-ui/trunk/PKGBUILD -----------------+ PKGBUILD | 9 ++++++--- fix-crash.patch | 26 ++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2019-01-25 17:56:03 UTC (rev 427900) +++ PKGBUILD 2019-01-25 18:56:26 UTC (rev 427901) @@ -4,7 +4,7 @@ pkgname=deepin-session-ui pkgver=4.8.7 -pkgrel=1 +pkgrel=2 pkgdesc='Deepin desktop-environment - Session UI module' arch=('x86_64') url="https://github.com/linuxdeepin/dde-session-ui" @@ -17,11 +17,14 @@ provides=('lightdm-deepin-greeter' 'deepin-notifications') conflicts=('dde-workspace' 'dde-session-ui' 'deepin-notifications') replaces=('dde-workspace' 'dde-session-ui' 'deepin-notifications') -source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxdeepin/dde-session-ui/archive/$pkgver.tar.gz") -sha512sums=('850e436e9f5e3fdb33c97daa37d0bb724b343a87fa7536a498211298636dd5c11dccfa237bf371d7afd47bc866572554420a19dc7913ff68558da0188c40aa49') +source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxdeepin/dde-session-ui/archive/$pkgver.tar.gz" + fix-crash.patch) +sha512sums=('850e436e9f5e3fdb33c97daa37d0bb724b343a87fa7536a498211298636dd5c11dccfa237bf371d7afd47bc866572554420a19dc7913ff68558da0188c40aa49' + '31d57a89a9716de0d26e7eddb4eed3159d4a78cd24a9991e9b86426c18c74373d9f5854128d3c1031bf06516539b1e288b8c5b1cac773eed9368c1fef536a5af') prepare() { cd dde-session-ui-$pkgver + patch -p1 -i ../fix-crash.patch sed -i 's|/usr/share/backgrounds/default_background.jpg|/usr/share/backgrounds/deepin/desktop.jpg|' widgets/*.cpp boxframe/*.cpp } Added: fix-crash.patch =================================================================== --- fix-crash.patch (rev 0) +++ fix-crash.patch 2019-01-25 18:56:26 UTC (rev 427901) @@ -0,0 +1,26 @@ +commit f20ad3ec8222ffa5168eae8931edcc3f0ac87d08 +Author: Felix Yan <[email protected]> +Date: Sat Jan 26 02:45:58 2019 +0800 + + fix: crash when running lightdm-deepin-greeter + + The return value of createFrame was used and added to m_frames, so this + function must return a valid frame instead of nothing. + + This results in an immediate crash in Arch: + https://github.com/linuxdeepin/developer-center/issues/843 + + Change-Id: I9941894c72a2c6fbd7c5fc45cd1299e23b1a6b2d + +diff --git a/lightdm-deepin-greeter/main.cpp b/lightdm-deepin-greeter/main.cpp +index 95ca779..fd9914a 100644 +--- a/lightdm-deepin-greeter/main.cpp ++++ b/lightdm-deepin-greeter/main.cpp +@@ -227,6 +227,7 @@ int main(int argc, char* argv[]) + QObject::connect(worker, &LockWorker::requestUpdateBackground, loginFrame, static_cast<void (LoginWindow::*)(const QString &)>(&LoginWindow::updateBackground)); + QObject::connect(loginFrame, &LoginWindow::destroyed, property_group, &PropertyGroup::removeObject); + loginFrame->show(); ++ return loginFrame; + }; + + MultiScreenManager multi_screen_manager;
