gtkmm Gtk::TreeModel утечка памяти или чтото неправильно в коде?

Модератор: Модераторы разделов

Виктор
Сообщения: 1

gtkmm Gtk::TreeModel утечка памяти или чтото неправильно в коде?

Сообщение Виктор »

Люди!
Помогите разобратся и найти истину если ктото программировал изпользуя 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);
}
}
Спасибо сказали: