kwin/scripting
David Edmundson ba7aecfe53 [scripting] Avoid threading issues when loading from a file
Summary:
KWin::Script::loadScriptFromFile ran in it's own thread and accessed
member variables of KWin::Script without any guards.

Potentially script could be destroyed whilst the file is loading.

Rather than adding mutexes everywhere, this patch scopes the QFile
object to be local to the threaded function making it independent.

BUG: 403038

Test Plan: Ran a script from a file

Reviewers: #kwin, graesslin

Reviewed By: #kwin, graesslin

Subscribers: kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D18126
2019-01-09 23:37:37 +00:00
..
CMakeLists.txt -Wmissing-include-dirs 2015-03-22 22:36:26 +01:00
dbuscall.cpp New QML Type DBusCall 2013-08-13 09:57:51 +02:00
dbuscall.h New QML Type DBusCall 2013-08-13 09:57:51 +02:00
documentation-effect-global.xml export AnimationEffect::set and ::cancel to script 2013-03-28 19:47:30 +01:00
documentation-global.xml Allow configuring script's screen edges from the KCM 2016-10-07 15:20:14 +01:00
genericscriptedconfig.cpp optimize string operations 2015-11-05 14:14:06 +00:00
genericscriptedconfig.h Drop our custom KLocalizedTranslator 2014-06-18 15:02:58 +02:00
genericscriptedconfig.json [kwin] Fix genericscripted config 2014-03-19 08:00:28 +01:00
kwinscript.desktop SVN_SILENT made messages (.desktop file) - always resolve ours 2017-09-27 09:13:10 +02:00
Messages.sh Fix message extraction 2018-05-20 08:14:50 +03:00
meta.cpp Fix no cast to/from ASCII intrduced issues 2013-07-24 09:58:33 +02:00
meta.h Export Toplevel to KWin::Scripts 2013-02-14 08:16:19 +01:00
screenedgeitem.cpp Add support for new touch screen edge actions to declarative KWin scripts 2017-04-07 16:17:48 +02:00
screenedgeitem.h Add support for new touch screen edge actions to declarative KWin scripts 2017-04-07 16:17:48 +02:00
scriptedeffect.cpp [scripting] Introduce complete function 2018-11-17 13:44:20 +02:00
scriptedeffect.h [scripting] Introduce complete function 2018-11-17 13:44:20 +02:00
scripting.cpp [scripting] Avoid threading issues when loading from a file 2019-01-09 23:37:37 +00:00
scripting.h [scripting] Avoid threading issues when loading from a file 2019-01-09 23:37:37 +00:00
scripting_logging.cpp pedantic fixes 2016-07-16 13:14:44 -04:00
scripting_logging.h [scripting] Add dedicated logging category 2015-07-31 13:25:51 +02:00
scripting_model.cpp Drop cmakedefine HAVE_WAYLAND 2015-08-12 11:39:20 +02:00
scripting_model.h [scripting] ScriptingClientModel operates on AbstractClient 2015-06-06 18:53:55 +02:00
scriptingutils.cpp Asserts for KWin scripts 2012-05-10 10:00:54 +02:00
scriptingutils.h Add support for new touch screen callbacks to KWin scripts and scripted effects 2017-04-07 16:18:09 +02:00
timer.cpp Strip module path from all Qt #include <> 2013-03-06 10:26:56 +01:00
workspace_wrapper.cpp Port some displayWidth/displayHeight usages to Screens::size() 2017-09-01 17:11:10 +02:00
workspace_wrapper.h Remove Qt module declarations in includes 2018-06-05 18:07:23 +01:00