Здравствуйте, столкнулся с проблемой выставления позиции скролла в GtkScrolledWindow, в котором в качестве потомка сидит GtkTextView с огромной кучей текста внутри.
Изначально GtkTextView пустой. И потом за раз в него впихивается два-три мегабайта текста не считая картинок. Сразу после вставки текста пытаюсь выставить позицию скролла через такой код:
gtk_text_buffer_get_iter_at_line_offset(text_buff, &iter, line, offset);
GtkTextMark* line_mark = gtk_text_buffer_create_mark(text_buff, NULL, &iter, TRUE);
gtk_text_view_scroll_to_mark(text_view, line_mark, 0.0, TRUE, 0.0, 0.0);
/*можно использовать gtk_text_view_scroll_to_iter*/
gtk_text_buffer_delete_mark(text_buff, line_mark);
Пытался вещать выставление скролла на g_timeout_add и на кнопку. Работает отлично. Но не то. Нужно автоматом.
Думается мне, нужно блокировать GtkScrolledWindow на время вставки текста и его отрисовки. Но вот как найти это время? Возможно существует некий сигнал, который оповещает приложение о том, что текст отрисовался полностью? Если что код тут