When the screen saver mode is set to single, but the screen saver is empty, the problem of segfault

This commit is contained in:
tanyulong2021 2021-11-01 17:28:13 +08:00
parent c857cef8ed
commit 7ccda6a03d
3 changed files with 36 additions and 40 deletions

View File

@ -1,37 +0,0 @@
From 5e78ddb24d5b562d724282243617d115b5800fe6 Mon Sep 17 00:00:00 2001
From: tanyulong <tanyulong@kylinos.cn>
Date: Sat, 30 Oct 2021 14:57:31 +0800
Subject: [PATCH] Add fractional scaling parameters
---
src/ukui-screensaver-dialog.cpp | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/ukui-screensaver-dialog.cpp b/src/ukui-screensaver-dialog.cpp
index 237b377..c6b2d3a 100755
--- a/src/ukui-screensaver-dialog.cpp
+++ b/src/ukui-screensaver-dialog.cpp
@@ -124,11 +124,17 @@ int main(int argc, char *argv[])
checkIsRunning();
checkIslivecd();
-#if(QT_VERSION>=QT_VERSION_CHECK(5,6,0))
- QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
- QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
+#if (QT_VERSION >= QT_VERSION_CHECK(5, 12, 0))
+ QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
+ QApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
#endif
+#if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0))
+ QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
+#endif
+
+
+
qunsetenv("QT_IM_MODULE");
// signal(SIGTERM,handler);
QApplication a(argc, argv);
--
2.30.0

View File

@ -0,0 +1,28 @@
From 53c17d4f9cf4a85f662b2ebdbb97610cb91ed237 Mon Sep 17 00:00:00 2001
From: tanyulong <tanyulong@kylinos.cn>
Date: Mon, 1 Nov 2021 11:08:30 +0800
Subject: [PATCH] screen saver mode is set to single and the problem of
segfault
---
src/configuration.cpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/configuration.cpp b/src/configuration.cpp
index 6590172..f67f844 100755
--- a/src/configuration.cpp
+++ b/src/configuration.cpp
@@ -141,6 +141,10 @@ ScreenSaver *Configuration::getScreensaver()
break;
}
case SAVER_SINGLE:
+ if(themes.count()==0){
+ saver->path = "/usr/lib/ukui-screensaver/ukui-screensaver-default";
+ break;
+ }
saver->path = getXScreensaverPath(themes[0]);
break;
case SAVER_IMAGE:
--
2.30.0

View File

@ -1,6 +1,6 @@
Name: ukui-screensaver
Version: 3.0.1
Release: 7
Release: 8
Summary: parallels toolbox for UKUI
License: GPL-3+ GPL-2+
URL: http://www.ukui.org
@ -31,7 +31,8 @@ patch1: 0002-fix-ukui-screensaver-dialog-lock.patch
patch2: 0003-Fix-a-return-type-error.patch
patch3: 0004-remove-in-debian-copyright-file.patch
patch4: 0005-Add-sentence-author-info.patch
patch5: 0006-Add-fractional-scaling-parameters.patch
#patch5: 0006-Add-fractional-scaling-parameters.patch
patch6: 0007-screen-saver-mode-is-set-to-single-and-the-problem-of-segfault.patch
%description
The ukui-sidebar is mainly used in the desktop operating system.
@ -46,7 +47,8 @@ patch5: 0006-Add-fractional-scaling-parameters.patch
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
#%patch5 -p1
%patch6 -p1
%build
cmake .
@ -75,6 +77,9 @@ rm -rf $RPM_BUILD_ROOT
#%%{_datadir}/ukui-screensaver/screensaver-en.ini
%changelog
* Mon Nov 1 2021 tanyulong <tanyulong@kylinos.cn> - 3.0.1-8
- When the screen saver mode is set to single, but the screen saver is empty, the problem of segfault
* Sat Oct 30 2021 tanyulong <tanyulong@kylinos.cn> - 3.0.1-7
- Add fractional scaling parameters