[DEV] correction some internal memory leek
This commit is contained in:
@@ -218,18 +218,21 @@ void BufferView::onReceiveMessage(const ewol::object::Message& _msg) {
|
||||
}
|
||||
}
|
||||
|
||||
void BufferView::onObjectRemove(const ewol::object::Shared<ewol::Object>& _removeObject) {
|
||||
ewol::widget::List::onObjectRemove(_removeObject);
|
||||
for (int32_t iii=0; iii<m_list.size(); iii++) {
|
||||
if (m_list[iii] == NULL) {
|
||||
continue;
|
||||
void BufferView::onObjectRemove(const ewol::object::Shared<ewol::Object>& _object) {
|
||||
ewol::widget::List::onObjectRemove(_object);
|
||||
auto it(m_list.begin());
|
||||
while (it != m_list.end()) {
|
||||
if ( *it != nullptr
|
||||
&& (*it)->m_buffer == _object) {
|
||||
m_list.erase(it);
|
||||
markToRedraw();
|
||||
it = m_list.begin();
|
||||
} else {
|
||||
++it;
|
||||
}
|
||||
if (m_list[iii]->m_buffer != _removeObject) {
|
||||
continue;
|
||||
}
|
||||
m_list.erase(m_list.begin()+iii);
|
||||
markToRedraw();
|
||||
return;
|
||||
}
|
||||
if (m_bufferManager == _object) {
|
||||
m_bufferManager.reset();
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -54,7 +54,7 @@ class BufferView : public ewol::widget::List {
|
||||
~BufferView();
|
||||
// Derived function
|
||||
virtual void onReceiveMessage(const ewol::object::Message& _msg);
|
||||
virtual void onObjectRemove(const ewol::object::Shared<ewol::Object>& _removeObject);
|
||||
virtual void onObjectRemove(const ewol::object::Shared<ewol::Object>& _object);
|
||||
private:
|
||||
bool m_openOrderMode; //!< true if the order is the opening order mode, otherwise, Alphabetic order
|
||||
protected:
|
||||
|
@@ -133,18 +133,21 @@ MainWindows::MainWindows() {
|
||||
m_bufferManager = appl::BufferManager::keep();
|
||||
|
||||
mySizerVert = ewol::object::makeShared(new ewol::widget::Sizer(ewol::widget::Sizer::modeVert));
|
||||
mySizerVert->setName("plop 1111111");
|
||||
setSubWidget(mySizerVert);
|
||||
|
||||
mySizerHori = ewol::object::makeShared(new ewol::widget::Sizer(ewol::widget::Sizer::modeHori));
|
||||
mySizerHori->setName("plop 222222222");
|
||||
mySizerVert->subWidgetAdd(mySizerHori);
|
||||
myBufferView = ewol::object::makeShared(new BufferView());
|
||||
myBufferView->setName("plop 3333333");
|
||||
myBufferView->setExpand(bvec2(false,true));
|
||||
myBufferView->setFill(bvec2(true,true));
|
||||
mySizerHori->subWidgetAdd(myBufferView);
|
||||
|
||||
mySizerVert2 = ewol::object::makeShared(new ewol::widget::Sizer(ewol::widget::Sizer::modeVert));
|
||||
mySizerHori->subWidgetAdd(mySizerVert2);
|
||||
|
||||
mySizerVert2->setName("plop 4444444");
|
||||
// main buffer Area :
|
||||
#if defined(__TARGET_OS__Android)
|
||||
myTextView = ewol::object::makeShared(new appl::TextViewer("FreeMono;DejaVuSansMono;FreeSerif", 16));
|
||||
@@ -166,6 +169,7 @@ MainWindows::MainWindows() {
|
||||
mySizerVert2->subWidgetAdd(mySearch);
|
||||
|
||||
mySizerHori = ewol::object::makeShared(new ewol::widget::Sizer(ewol::widget::Sizer::modeHori));
|
||||
mySizerHori->setName("plop 555555");
|
||||
mySizerVert->subWidgetAdd(mySizerHori);
|
||||
|
||||
myMenu = ewol::object::makeShared(new ewol::widget::Menu());
|
||||
|
@@ -162,15 +162,15 @@ void Search::onReceiveMessage(const ewol::object::Message& _msg) {
|
||||
}
|
||||
}
|
||||
|
||||
void Search::onObjectRemove(const ewol::object::Shared<ewol::Object> _removeObject) {
|
||||
ewol::widget::Composer::onObjectRemove(_removeObject);
|
||||
if (_removeObject == m_searchEntry) {
|
||||
void Search::onObjectRemove(const ewol::object::Shared<ewol::Object> _object) {
|
||||
ewol::widget::Composer::onObjectRemove(_object);
|
||||
if (_object == m_searchEntry) {
|
||||
m_searchEntry.reset();
|
||||
}
|
||||
if (_removeObject == m_replaceEntry) {
|
||||
if (_object == m_replaceEntry) {
|
||||
m_replaceEntry.reset();
|
||||
}
|
||||
if (_removeObject == m_viewerManager) {
|
||||
if (_object == m_viewerManager) {
|
||||
m_viewerManager.reset();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user