Предупреждения GLib о модификации записей Gtkmm ListStore - PullRequest
0 голосов
/ 31 марта 2020

Я использую gtkmm3 в Ubuntu для написания GUI приложений.

Окно моего приложения состоит из TreeView со связанной моделью ListStore. Один столбец TreeView содержит комбинированные списки с использованием CellRendererCombo. Я связал следующий обратный вызов с сигналом CellRenderCombo.edited ().

void MainWindow::on_combo_choice_changed(const Glib::ustring& path, const  Gtk::TreeModel::iterator &iter)
    {
        //The selected comboBox-entry 
        Gtk::TreeModel::Row row = *iter;
        //The selected string from the comoBoxes' valueSet
        Glib::ustring selectedVal = row[m_comboBoxSet_record.m_col_vals];

        //Convert path to iterator from Glib::RefPtr(Gtk::ListStore)
        Gtk::TreeModel::iterator iterMdl = m_refTreeModel->get_iter(path);

        //Row in model from iterator
        Gtk::TreeModel::Row rowMdl = *iterMdl;

        //updating entry in model (emitting warnings)
        rowMdl[m_columns.m_col_eval] = selectedVal;

    }

Модель обновлена ​​корректно, но я получаю следующие предупреждения при исключении обратного вызова:

    GLib-GObject-CRITICAL **: 07:31:10.671: g_object_notify: assertion 'G_IS_OBJECT (object)' failed
    GLib-GObject-CRITICAL **: 07:31:10.671: g_object_set: assertion 'G_IS_OBJECT (object)' failed

Что я делаю не так?

...