From c8d89db529f4f59b5f369666f71c93ef15ec9bae Mon Sep 17 00:00:00 2001 From: Shawn A Date: Tue, 30 Jan 2018 14:00:39 -0600 Subject: [PATCH] oops --- WiFiManager.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/WiFiManager.cpp b/WiFiManager.cpp index cabc7b5..28d77b2 100644 --- a/WiFiManager.cpp +++ b/WiFiManager.cpp @@ -36,10 +36,6 @@ WiFiManagerParameter::WiFiManagerParameter(const char *id, const char *placehold } void WiFiManagerParameter::init(const char *id, const char *placeholder, const char *defaultValue, int length, const char *custom, int labelPlacement) { - - _max_params = WIFI_MANAGER_MAX_PARAMS; - _params = (WiFiManagerParameter**)malloc(_max_params * sizeof(WiFiManagerParameter*)); - _id = id; _placeholder = placeholder; _length = length; @@ -59,10 +55,6 @@ WiFiManagerParameter::~WiFiManagerParameter() { if (_value != NULL) { delete[] _value; } - if (_params != NULL){ - DEBUG_WM(F("freeing allocated params!")); - free(_params); - } } const char* WiFiManagerParameter::getValue() { @@ -114,12 +106,22 @@ WiFiManager::WiFiManager():_debugPort(Serial) { if(_debug) debugPlatformInfo(); _usermode = WiFi.getMode(); WiFi.persistent(false); // disable persistent so scannetworks and mode switching do not cause overwrites + + //parameters + _max_params = WIFI_MANAGER_MAX_PARAMS; + _params = (WiFiManagerParameter**)malloc(_max_params * sizeof(WiFiManagerParameter*)); } // destructor WiFiManager::~WiFiManager() { if(_userpersistent) WiFi.persistent(true); // reenable persistent, there is no getter we rely on _userpersistent WiFi.mode(_usermode); + + // parameters + if (_params != NULL){ + DEBUG_WM(F("freeing allocated params!")); + free(_params); + } DEBUG_WM(F("unloading")); }