После захвата сигнала "insert_text" с помощью этого обработчика:
void completeQuotation(GtkTextBuffer *buffer, GtkTextIter *arg1, gchar *arg2, gint arg3, gpointer data)
{
if(*arg2 == '"')
completeQuote(buffer, arg1);
}
Функция completeQuote () вызывается для того, чтобы иметь пару кавычек "":
void completeQuote(GtkTextBuffer *buffer, GtkTextIter *arg)
{
const char *text = "\"";
gtk_text_buffer_insert(buffer, arg, text, -1);
}
Однако это приводит к ошибке сегментации. Я попробовал glib-функцию g_strescape ()
и даже восьмеричную escape-последовательность "\ x22" безуспешно.
Что странно, это работает, если вы заменяете escape-последовательность "\" "другим символом ...
Итак, есть ли решение этой проблемы?