diff --git a/Sources/libetk/etk/Vector.h b/Sources/libetk/etk/Vector.h index 9a215f3a..ac873b93 100644 --- a/Sources/libetk/etk/Vector.h +++ b/Sources/libetk/etk/Vector.h @@ -657,6 +657,7 @@ namespace etk if (requestSize == m_allocated) { return; } + //TK_INFO("Change vector allocation : " << m_allocated << "==>" << requestSize); // check if something is allocated : if (NULL == m_data) { // no data allocated ==> request an allocation (might be the first) diff --git a/Sources/libewol/ewol/Resource.h b/Sources/libewol/ewol/Resource.h index 4a127915..1e18591e 100644 --- a/Sources/libewol/ewol/Resource.h +++ b/Sources/libewol/ewol/Resource.h @@ -41,7 +41,7 @@ namespace ewol virtual ~Resource(void) { }; virtual bool HasName(etk::UString& fileName) { - EWOL_DEBUG("check : " << fileName << " ?= " << m_name << " = " << (fileName==m_name) ); + EWOL_VERBOSE("G : check : " << fileName << " ?= " << m_name << " = " << (fileName==m_name) ); return fileName==m_name; }; virtual etk::UString GetName(void) { return m_name; }; diff --git a/Sources/libewol/ewol/ResourceManager.cpp b/Sources/libewol/ewol/ResourceManager.cpp index ace35f0c..e556a39c 100644 --- a/Sources/libewol/ewol/ResourceManager.cpp +++ b/Sources/libewol/ewol/ResourceManager.cpp @@ -56,8 +56,7 @@ void ewol::resource::UnInit(void) // internal generic keeper ... static ewol::Resource* LocalKeep(etk::UString& filename) { - EWOL_DEBUG("KEEP : DEFAULT : file : \"" << filename << "\""); - //for (int32_t iii=l_resourceList.Size()-1; iii>=0; iii--) { + EWOL_VERBOSE("KEEP (DEFAULT) : file : \"" << filename << "\""); for (int32_t iii=0; iiiHasName(filename)) { @@ -70,11 +69,23 @@ static ewol::Resource* LocalKeep(etk::UString& filename) return NULL; } +// internal generic keeper ... +static void LocalAdd(ewol::Resource* object) +{ + EWOL_VERBOSE("Add ... find empty slot"); + for (int32_t iii=0; iii(LocalKeep(filename)); if (NULL != object) { return true; @@ -85,14 +96,14 @@ bool ewol::resource::Keep(etk::UString& filename, ewol::TexturedFont*& object) EWOL_ERROR("allocation error of a resource : " << filename); return false; } - l_resourceList.PushBack(object); + LocalAdd(object); return true; } bool ewol::resource::Keep(etk::UString& filename, ewol::Font*& object) { - EWOL_DEBUG("KEEP : Font : file : \"" << filename << "\""); + EWOL_VERBOSE("KEEP : Font : file : \"" << filename << "\""); object = static_cast(LocalKeep(filename)); if (NULL != object) { return true; @@ -103,14 +114,14 @@ bool ewol::resource::Keep(etk::UString& filename, ewol::Font*& object) EWOL_ERROR("allocation error of a resource : " << filename); return false; } - l_resourceList.PushBack(object); + LocalAdd(object); return true; } bool ewol::resource::Keep(etk::UString& filename, ewol::Program*& object) { - EWOL_DEBUG("KEEP : Program : file : \"" << filename << "\""); + EWOL_VERBOSE("KEEP : Program : file : \"" << filename << "\""); object = static_cast(LocalKeep(filename)); if (NULL != object) { return true; @@ -121,14 +132,14 @@ bool ewol::resource::Keep(etk::UString& filename, ewol::Program*& object) EWOL_ERROR("allocation error of a resource : " << filename); return false; } - l_resourceList.PushBack(object); + LocalAdd(object); return true; } bool ewol::resource::Keep(etk::UString& filename, ewol::Shader*& object) { - EWOL_DEBUG("KEEP : Shader : file : \"" << filename << "\""); + EWOL_VERBOSE("KEEP : Shader : file : \"" << filename << "\""); object = static_cast(LocalKeep(filename)); if (NULL != object) { return true; @@ -139,7 +150,7 @@ bool ewol::resource::Keep(etk::UString& filename, ewol::Shader*& object) EWOL_ERROR("allocation error of a resource : " << filename); return false; } - l_resourceList.PushBack(object); + LocalAdd(object); return true; } @@ -150,6 +161,7 @@ void ewol::resource::Release(ewol::Resource*& object) EWOL_ERROR("Try to remove a resource that have null pointer ..."); return; } + EWOL_VERBOSE("RELEASE (default) : file : \"" << object->GetName() << "\""); for (int32_t iii=l_resourceList.Size()-1; iii>=0; iii--) { if (l_resourceList[iii] != NULL) { if(l_resourceList[iii] == object) { @@ -157,7 +169,7 @@ void ewol::resource::Release(ewol::Resource*& object) // delete element delete(l_resourceList[iii]); // remove element from the list : - l_resourceList.Erase(iii); + l_resourceList[iii] = NULL; } // insidiously remove the pointer for the caller ... object = NULL; diff --git a/Sources/libewol/ewol/font/TexturedFont.cpp b/Sources/libewol/ewol/font/TexturedFont.cpp index 3612605b..4f90a04a 100644 --- a/Sources/libewol/ewol/font/TexturedFont.cpp +++ b/Sources/libewol/ewol/font/TexturedFont.cpp @@ -77,10 +77,9 @@ ewol::TexturedFont::TexturedFont(etk::UString fontName) : EWOL_CRITICAL("Can not parse the font name : \"" << fontName << "\" ==> size ???"); return; } - *tmpPos = '\0'; } + m_name = fontName.Extract(0, (tmpPos - tmpData)); m_size = tmpSize; - m_name = tmpData; //EWOL_CRITICAL("Load FONT name : \"" << m_name << "\" ==> size=" << m_size); ewol::resource::Keep(m_name, m_font); if (NULL == m_font) { @@ -214,8 +213,8 @@ bool ewol::TexturedFont::HasName(etk::UString& fileName) etk::UString tmpName = m_name; tmpName += ":"; tmpName += m_size; - EWOL_DEBUG("check : " << fileName << " ?= " << tmpName << " = " << (fileName==tmpName) ); - return fileName==tmpName; + EWOL_VERBOSE("S : check : " << fileName << " ?= " << tmpName << " = " << (fileName==tmpName) ); + return (fileName==tmpName); }