Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Plasma
Activity manager service
Commits
02f92d56
Commit
02f92d56
authored
Oct 14, 2020
by
Ivan Čukić
👁
Browse files
Explicit lambda captures to avoid future dangling reference bugs
parent
847c1dbe
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/service/plugins/sqlite/Database.cpp
View file @
02f92d56
...
...
@@ -112,28 +112,28 @@ void ResourcesDatabaseInitializer::initDatabase(bool retryOnFail)
const
QDir
databaseTestBackupDirectory
(
databaseTestBackupDirectoryPath
);
const
QDir
databaseWorkingBackupDirectory
(
databaseWorkingBackupDirectoryPath
);
auto
removeDatabaseFiles
=
[
&
]
(
const
QDir
&
dir
)
{
auto
removeDatabaseFiles
=
[]
(
const
QDir
&
dir
)
{
return
std
::
all_of
(
databaseFiles
.
begin
(),
databaseFiles
.
cend
(),
[
&
]
(
const
QString
&
fileName
)
{
[
&
dir
]
(
const
QString
&
fileName
)
{
const
auto
filePath
=
dir
.
filePath
(
fileName
);
return
!
QFile
::
exists
(
filePath
)
||
QFile
::
remove
(
filePath
);
});
};
auto
copyDatabaseFiles
=
[
&
]
(
const
QDir
&
fromDir
,
const
QDir
&
toDir
)
{
auto
copyDatabaseFiles
=
[
removeDatabaseFiles
]
(
const
QDir
&
fromDir
,
const
QDir
&
toDir
)
{
return
removeDatabaseFiles
(
toDir
)
&&
std
::
all_of
(
databaseFiles
.
begin
(),
databaseFiles
.
cend
(),
[
&
]
(
const
QString
&
fileName
)
{
[
&
fromDir
,
&
toDir
]
(
const
QString
&
fileName
)
{
const
auto
fromFilePath
=
fromDir
.
filePath
(
fileName
);
const
auto
toFilePath
=
toDir
.
filePath
(
fileName
);
return
QFile
::
copy
(
fromFilePath
,
toFilePath
);
});
};
auto
databaseFilesExistIn
=
[
&
]
(
const
QDir
&
dir
)
{
auto
databaseFilesExistIn
=
[]
(
const
QDir
&
dir
)
{
return
dir
.
exists
()
&&
std
::
all_of
(
databaseFiles
.
begin
(),
databaseFiles
.
cend
(),
[
&
]
(
const
QString
&
fileName
)
{
[
&
dir
]
(
const
QString
&
fileName
)
{
const
auto
filePath
=
dir
.
filePath
(
fileName
);
return
QFile
::
exists
(
filePath
);
});
...
...
@@ -168,7 +168,7 @@ void ResourcesDatabaseInitializer::initDatabase(bool retryOnFail)
if
(
d
->
database
)
{
qCDebug
(
KAMD_LOG_RESOURCES
)
<<
"Database opened successfully"
;
QObject
::
connect
(
d
->
database
.
get
(),
&
Common
::
Database
::
error
,
[
=
]
(
const
QSqlError
&
error
)
{
[
databaseTestBackupDirectory
,
removeDatabaseFiles
]
(
const
QSqlError
&
error
)
{
const
QString
errorLog
=
QStandardPaths
::
writableLocation
(
QStandardPaths
::
GenericDataLocation
)
+
QStringLiteral
(
"/kactivitymanagerd/resources/errors.log"
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment