From 40b367479c6fe23d6f2b6d822f2d5266485619f3 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Wed, 17 Aug 2016 23:49:55 +0200 Subject: Code cleanup to use array.data() rather than &array[0]. These latter can cause MSVC debug asserts if the array is empty. With C++11 we'll be able to do this for std::vector later. This hopefully fixes an assert in the Cycles subdivision code. --- intern/cycles/subd/subd_dice.cpp | 2 +- intern/cycles/subd/subd_patch_table.cpp | 4 ++-- intern/cycles/subd/subd_patch_table.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'intern/cycles/subd') diff --git a/intern/cycles/subd/subd_dice.cpp b/intern/cycles/subd/subd_dice.cpp index 36981a20f3c..a1bd349b167 100644 --- a/intern/cycles/subd/subd_dice.cpp +++ b/intern/cycles/subd/subd_dice.cpp @@ -57,7 +57,7 @@ void EdgeDice::reserve(int num_verts) Attribute *attr_vN = mesh->attributes.add(ATTR_STD_VERTEX_NORMAL); - mesh_P = &mesh->verts[0]; + mesh_P = mesh->verts.data(); mesh_N = attr_vN->data_float3(); } diff --git a/intern/cycles/subd/subd_patch_table.cpp b/intern/cycles/subd/subd_patch_table.cpp index 68ec1b2c6a6..62572efa88a 100644 --- a/intern/cycles/subd/subd_patch_table.cpp +++ b/intern/cycles/subd/subd_patch_table.cpp @@ -214,7 +214,7 @@ void PackedPatchTable::pack(Far::PatchTable* patch_table, int offset) } table.resize(total_size()); - uint* data = &table[0]; + uint* data = table.data(); uint* array = data; uint* index = array + num_arrays * PATCH_ARRAY_SIZE; @@ -259,7 +259,7 @@ void PackedPatchTable::pack(Far::PatchTable* patch_table, int offset) void PackedPatchTable::copy_adjusting_offsets(uint* dest, int doffset) { - uint* src = &table[0]; + uint* src = table.data(); /* arrays */ for(int i = 0; i < num_arrays; i++) { diff --git a/intern/cycles/subd/subd_patch_table.h b/intern/cycles/subd/subd_patch_table.h index c8c7ecf9e47..3166a1691d8 100644 --- a/intern/cycles/subd/subd_patch_table.h +++ b/intern/cycles/subd/subd_patch_table.h @@ -43,7 +43,7 @@ namespace Far { struct PatchTable; } #define PATCH_NODE_SIZE 1 struct PackedPatchTable { - vector table; + array table; size_t num_arrays; size_t num_indices; -- cgit v1.2.3