From 2e128baefdfd14b9614a01c11008a2efeeb2a918 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 12 Mar 2014 23:10:24 +0600 Subject: Fix T39111: Boolean assert failure on widows In fact we had this change a while ago, not sue what happened. --- extern/carve/lib/intersect_face_division.cpp | 4 +++- extern/carve/patches/msvc_fix.patch | 14 ++++++++++++++ extern/carve/patches/series | 1 + 3 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 extern/carve/patches/msvc_fix.patch (limited to 'extern/carve') diff --git a/extern/carve/lib/intersect_face_division.cpp b/extern/carve/lib/intersect_face_division.cpp index ea82b7e89a3..e826948128c 100644 --- a/extern/carve/lib/intersect_face_division.cpp +++ b/extern/carve/lib/intersect_face_division.cpp @@ -1121,7 +1121,9 @@ namespace { } // copy up to the end of the path. - std::copy(base_loop.begin() + pos, base_loop.begin() + e1_1, std::back_inserter(out)); + if (pos < e1_1) { + std::copy(base_loop.begin() + pos, base_loop.begin() + e1_1, std::back_inserter(out)); + } CARVE_ASSERT(base_loop[e1_1] == p1.back()); std::copy(p1.rbegin(), p1.rend() - 1, std::back_inserter(out)); diff --git a/extern/carve/patches/msvc_fix.patch b/extern/carve/patches/msvc_fix.patch new file mode 100644 index 00000000000..67431ecac75 --- /dev/null +++ b/extern/carve/patches/msvc_fix.patch @@ -0,0 +1,14 @@ +diff -r e82d852e4fb0 lib/intersect_face_division.cpp +--- a/lib/intersect_face_division.cpp Wed Jan 15 13:16:14 2014 +1100 ++++ b/lib/intersect_face_division.cpp Wed Mar 12 23:09:19 2014 +0600 +@@ -1121,7 +1121,9 @@ + } + + // copy up to the end of the path. +- std::copy(base_loop.begin() + pos, base_loop.begin() + e1_1, std::back_inserter(out)); ++ if (pos < e1_1) { ++ std::copy(base_loop.begin() + pos, base_loop.begin() + e1_1, std::back_inserter(out)); ++ } + + CARVE_ASSERT(base_loop[e1_1] == p1.back()); + std::copy(p1.rbegin(), p1.rend() - 1, std::back_inserter(out)); diff --git a/extern/carve/patches/series b/extern/carve/patches/series index b1254dd9a7d..62a24d9d730 100644 --- a/extern/carve/patches/series +++ b/extern/carve/patches/series @@ -8,3 +8,4 @@ strict_flags.patch interpolator_reorder.patch mesh_simplify_dissolve_edges.patch memory_leak_fix.patch +mavc_fix.patch -- cgit v1.2.3