Commit 3f458c6e authored by Pierre-Emmanuel Viel's avatar Pierre-Emmanuel Viel

Fix: freeing previous elements has to be done before loading new parameters to…

Fix: freeing previous elements has to be done before loading new parameters to avoid trying to delete unexisting objects if arrays size was modified
parent 92fc7639
...@@ -414,12 +414,6 @@ public: ...@@ -414,12 +414,6 @@ public:
void loadIndex(FILE* stream) void loadIndex(FILE* stream)
{ {
load_value(stream, branching_);
load_value(stream, trees_);
load_value(stream, centers_init_);
load_value(stream, leaf_size_);
load_value(stream, memoryCounter);
free_elements(); free_elements();
if (root!=NULL) { if (root!=NULL) {
...@@ -430,6 +424,12 @@ public: ...@@ -430,6 +424,12 @@ public:
delete[] indices; delete[] indices;
} }
load_value(stream, branching_);
load_value(stream, trees_);
load_value(stream, centers_init_);
load_value(stream, leaf_size_);
load_value(stream, memoryCounter);
indices = new int*[trees_]; indices = new int*[trees_];
root = new NodePtr[trees_]; root = new NodePtr[trees_];
for (int i=0; i<trees_; ++i) { for (int i=0; i<trees_; ++i) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment