From: MarkuBu <markus.burrer@gmail.com>
Date: Thu, 13 Apr 2017 11:58:34 +0000 (+0200)
Subject: Pointed thing to face pos: Fix crash if opening door with slab or stair
X-Git-Tag: 0.4.16~228
X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=efd509f796a4870243ce97012aa27940993f4a79;p=oweals%2Fminetest.git

Pointed thing to face pos: Fix crash if opening door with slab or stair

Avoids crash caused when 'pointed thing -under' and '-above' are not
face-neighbours, for example in the case of pointing to the top half
of a door.
---

diff --git a/builtin/common/misc_helpers.lua b/builtin/common/misc_helpers.lua
index 1c7ff3958..fc284c843 100644
--- a/builtin/common/misc_helpers.lua
+++ b/builtin/common/misc_helpers.lua
@@ -706,13 +706,14 @@ function core.pointed_thing_to_face_pos(placer, pointed_thing)
 	local oc = {}
 
 	for c, v in pairs(pos_off) do
-		if v == 0 then
+		if nc or v == 0 then
 			oc[#oc + 1] = c
 		else
 			offset = v
 			nc = c
 		end
 	end
+
 	local fine_pos = {[nc] = node_pos[nc] + offset}
 	camera_pos.y = camera_pos.y + 1.625 + eye_offset_first.y / 10
 	local f = (node_pos[nc] + offset - camera_pos[nc]) / look_dir[nc]
@@ -722,4 +723,3 @@ function core.pointed_thing_to_face_pos(placer, pointed_thing)
 	end
 	return fine_pos
 end
-