From 4b7da208ea31ff10e6e0d74cede06d1eb9e8071e Mon Sep 17 00:00:00 2001
From: Pietro Incardona <incardon@mpi-cbg.de>
Date: Sat, 12 Nov 2016 13:05:33 +0100
Subject: [PATCH] Fixing ghost get

---
 src/Vector/vector_dist_comm.hpp | 31 +++++++++++++++++--------------
 1 file changed, 17 insertions(+), 14 deletions(-)

diff --git a/src/Vector/vector_dist_comm.hpp b/src/Vector/vector_dist_comm.hpp
index 6b536af0a..f6ec2e4b5 100644
--- a/src/Vector/vector_dist_comm.hpp
+++ b/src/Vector/vector_dist_comm.hpp
@@ -845,16 +845,16 @@ public:
 		// if there are no properties skip
 		// SSendRecvP send everything when we do not give properties
 
-		if (sizeof...(prp) != 0)
-		{
-			if (opt & SKIP_LABELLING)
-			{
-					op_ssend_gg_recv_merge opm(g_m);
-					v_cl.SSendRecvP_op<op_ssend_gg_recv_merge,send_vector,decltype(v_prp),prp...>(g_send_prp,v_prp,prc_g_opart,opm,prc_recv_get,recv_sz_get);
-			}
-			else
-				v_cl.SSendRecvP<send_vector,decltype(v_prp),prp...>(g_send_prp,v_prp,prc_g_opart,prc_recv_get,recv_sz_get);
-		}
+        if (sizeof...(prp) != 0)
+        {
+                if (opt & SKIP_LABELLING)
+                {
+                                op_ssend_gg_recv_merge opm(g_m);
+                                v_cl.SSendRecvP_op<op_ssend_gg_recv_merge,send_vector,decltype(v_prp),prp...>(g_send_prp,v_prp,prc_g_opart,opm,prc_recv_get,recv_sz_get);
+                }
+                else
+                        v_cl.SSendRecvP<send_vector,decltype(v_prp),prp...>(g_send_prp,v_prp,prc_g_opart,prc_recv_get,recv_sz_get);
+        }
 
 		if (!(opt & NO_POSITION))
 		{
@@ -863,10 +863,13 @@ public:
 			v_cl.SSendRecv(g_pos_send,v_pos,prc_g_opart,prc_recv_get,recv_sz_get);
 		}
 
-		// Important to ensure that the number of particles in v_prp must be equal to v_pos
-		// Note that if we do not give properties sizeof...(prp) == 0 in general at this point
-		// v_prp.size() != v_pos.size()
-		v_prp.resize(v_pos.size());
+        // Important to ensure that the number of particles in v_prp must be equal to v_pos
+        // Note that if we do not give properties sizeof...(prp) == 0 in general at this point
+        // v_prp.size() != v_pos.size()
+        if (!(opt & SKIP_LABELLING))
+        {
+                v_prp.resize(v_pos.size());
+        }
 
 		add_loc_particles_bc(v_pos,v_prp,g_m,opt);
 	}
-- 
GitLab