94d4c26
--- common/vision.h	(révision 17882)
94d4c26
+++ common/vision.h	(copie de travail)
94d4c26
@@ -104,7 +104,21 @@
94d4c26
   }									\
94d4c26
 }
94d4c26
 
94d4c26
+/* Using vision_layer_iterate at server side is dangerous when fogging
94d4c26
+ * tiles because it iterates V_MAIN first, able to crash the clients in
94d4c26
+ * handle_tile_info() in client/packhand.c on a failed assertion if the
94d4c26
+ * tile info is received before the units on the V_INVIS layer aren't gone
94d4c26
+ * out sight yet. */
94d4c26
+#define vision_layer_reverse_iterate(vision)                                \
94d4c26
+{                                                                           \
94d4c26
+  int vision = V_COUNT - 1;                                                 \
94d4c26
+  for (; vision >= 0; vision--) {
94d4c26
 
94d4c26
+#define vision_layer_reverse_iterate_end                                    \
94d4c26
+  }                                                                         \
94d4c26
+}
94d4c26
+
94d4c26
+
94d4c26
 /* This is copied in maphand.c really_give_tile_info_from_player_to_player(),
94d4c26
  * so be careful with pointers!
94d4c26
  */