Люди! Помогите разобратся и найти истину если ктото программировал изпользуя gtkmm. Проблема при работе с Gtk::TreeView. При добавлении и удалении сторчек из Gtk::TreeModel программа медленно но верно кушает всё больше памяти.
Задача простая: надо в списке держать заданое число последних сообщений (например 20). 1) добавляем сторку 2) смотрим количество. если > 20 удаляем самую старую ... и так несколько раз чтобы заметить рост используемой памяти Код который я описываю добавлен ниже. Написаная программа работает и визуально всё в полном порядке (отображаются последние 20 добавленых строчек). Если закоментировать содержимое процедуры, проблем с ростом памяти не наблюдается (следовательно засада наверно в этой процедуре).
Немогу понять где проблема, неправильно нписан код или утечка памяти в gtkmm (или gtk).
void CAppWindow::events_treeview_add() { // append row Gtk::TreeModel::Row row = *(m_ref_events_treeview_model->append());
row[m_events_treeview_columns.m_col_description] = "test"; //event_text;
if (m_ref_events_treeview_model->children().size() > 20) { // get first_row Gtk::TreeModel::iterator first_row = m_ref_events_treeview_model->children().begin(); if (first_row) m_ref_events_treeview_model->erase(first_row); } }