Fixed history
This commit is contained in:
parent
3fa801e9b1
commit
3f321ee924
|
@ -72,9 +72,15 @@ gm_world_input_view_set_text(GmWorldInputView *view, gchar *text, gint len) {
|
||||||
GtkTextIter end;
|
GtkTextIter end;
|
||||||
GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view));
|
GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view));
|
||||||
|
|
||||||
|
g_signal_handlers_block_by_func(buffer, on_gm_world_input_view_changed,
|
||||||
|
view);
|
||||||
|
|
||||||
gtk_text_buffer_set_text(buffer, text, len);
|
gtk_text_buffer_set_text(buffer, text, len);
|
||||||
gtk_text_buffer_get_end_iter(buffer, &end);
|
gtk_text_buffer_get_end_iter(buffer, &end);
|
||||||
gtk_text_buffer_place_cursor(buffer, &end);
|
gtk_text_buffer_place_cursor(buffer, &end);
|
||||||
|
|
||||||
|
g_signal_handlers_unblock_by_func(buffer, on_gm_world_input_view_changed,
|
||||||
|
view);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -129,7 +135,7 @@ gm_world_input_view_key_press_event(GtkWidget *widget, GdkEventKey *event) {
|
||||||
if ((isUp && !view->priv->position->prev)
|
if ((isUp && !view->priv->position->prev)
|
||||||
|| (!isUp && !view->priv->position->next)) {
|
|| (!isUp && !view->priv->position->next)) {
|
||||||
result = TRUE;
|
result = TRUE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the current prefix is NULL then we set the new prefix to
|
// If the current prefix is NULL then we set the new prefix to
|
||||||
|
@ -451,7 +457,7 @@ on_gm_world_input_view_changed(GtkTextBuffer *buffer,
|
||||||
|
|
||||||
if (view->priv->prefix) {
|
if (view->priv->prefix) {
|
||||||
gtk_text_buffer_get_bounds(buffer, &start, &end);
|
gtk_text_buffer_get_bounds(buffer, &start, &end);
|
||||||
|
|
||||||
if (gtk_text_iter_equal(&start, &end)) {
|
if (gtk_text_iter_equal(&start, &end)) {
|
||||||
// Reset position to the last item in the history
|
// Reset position to the last item in the history
|
||||||
view->priv->position = g_list_last(*view->priv->history);
|
view->priv->position = g_list_last(*view->priv->history);
|
||||||
|
|
Reference in New Issue