From 0a408e4992b7dbce2a1cb64267c98297b5282010 Mon Sep 17 00:00:00 2001 From: Alex Wilson Date: Wed, 1 Feb 2012 09:52:55 +1300 Subject: [PATCH] Make it possible to have a Variable not belonging to any LinearSpec. --- src/libs/linprog/LinearSpec.cpp | 3 +++ src/libs/linprog/Variable.cpp | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libs/linprog/LinearSpec.cpp b/src/libs/linprog/LinearSpec.cpp index 8c1ca32ede..fa3e8d5af5 100644 --- a/src/libs/linprog/LinearSpec.cpp +++ b/src/libs/linprog/LinearSpec.cpp @@ -93,6 +93,9 @@ LinearSpec::AddVariable(Variable* variable) if (!fVariables.AddItem(variable)) return false; + if (variable->fLS == NULL) + variable->fLS = this; + if (!fSolver->VariableAdded(variable)) { fVariables.RemoveItem(variable); return false; diff --git a/src/libs/linprog/Variable.cpp b/src/libs/linprog/Variable.cpp index 82594494a6..47cb5d099b 100644 --- a/src/libs/linprog/Variable.cpp +++ b/src/libs/linprog/Variable.cpp @@ -325,6 +325,7 @@ Variable::RemoveReference() */ Variable::~Variable() { - fLS->RemoveVariable(this, false); + if (fLS) + fLS->RemoveVariable(this, false); }