summaryrefslogtreecommitdiffstats
path: root/src/server/events/Move.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/events/Move.cpp')
-rw-r--r--src/server/events/Move.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/server/events/Move.cpp b/src/server/events/Move.cpp
index 2e006b8c..ec2f763e 100644
--- a/src/server/events/Move.cpp
+++ b/src/server/events/Move.cpp
@@ -15,15 +15,18 @@
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <glibmm/thread.h>
+
#include "raul/Path.hpp"
-#include "events/Move.hpp"
+
#include "ClientBroadcaster.hpp"
+#include "Driver.hpp"
#include "Engine.hpp"
-#include "NodeImpl.hpp"
#include "EngineStore.hpp"
+#include "NodeImpl.hpp"
#include "PatchImpl.hpp"
#include "Request.hpp"
-#include "Driver.hpp"
+#include "events/Move.hpp"
using namespace std;
using namespace Raul;
@@ -48,6 +51,8 @@ Move::~Move()
void
Move::pre_process()
{
+ Glib::RWLock::WriterLock lock(_engine.engine_store()->lock());
+
if (!_old_path.parent().is_parent_of(_new_path)) {
_error = PARENT_DIFFERS;
QueuedEvent::pre_process();