From 7c67e3d2e111633c8ea020475672d678186ffdff Mon Sep 17 00:00:00 2001
From: Carlos Garnacho <carlos@lanedo.com>
Date: Wed, 21 Nov 2012 16:49:37 +0100
Subject: [PATCH] Ensure the insertion handle stays on fake events (eg from
IM)
Don't set handles mode to none if the event has send_event set.
For consistency with GtkEntry, also make GtkTextView keep the
handle mode on buffer changes.
---
gtk/gtkentry.c | 6 ++++--
gtk/gtktextview.c | 10 +++++++---
2 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index 0c637de..35e4afc 100644
a
|
b
|
gtk_entry_key_press (GtkWidget *widget, |
4497 | 4497 | |
4498 | 4498 | gtk_entry_reset_blink_time (entry); |
4499 | 4499 | gtk_entry_pend_cursor_blink (entry); |
4500 | | _gtk_text_handle_set_mode (priv->text_handle, |
4501 | | GTK_TEXT_HANDLE_MODE_NONE); |
| 4500 | |
| 4501 | if (!event->send_event) |
| 4502 | _gtk_text_handle_set_mode (priv->text_handle, |
| 4503 | GTK_TEXT_HANDLE_MODE_NONE); |
4502 | 4504 | |
4503 | 4505 | if (priv->editable) |
4504 | 4506 | { |
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index a63da6f..864c2d2 100644
a
|
b
|
gtk_text_view_key_press_event (GtkWidget *widget, GdkEventKey *event) |
4750 | 4750 | gtk_text_view_reset_blink_time (text_view); |
4751 | 4751 | gtk_text_view_pend_cursor_blink (text_view); |
4752 | 4752 | |
4753 | | _gtk_text_handle_set_mode (priv->text_handle, |
4754 | | GTK_TEXT_HANDLE_MODE_NONE); |
| 4753 | if (!event->send_event) |
| 4754 | _gtk_text_handle_set_mode (priv->text_handle, |
| 4755 | GTK_TEXT_HANDLE_MODE_NONE); |
4755 | 4756 | |
4756 | 4757 | return retval; |
4757 | 4758 | } |
… |
… |
gtk_text_view_buffer_changed_handler (GtkTextBuffer *buffer, |
6351 | 6352 | gpointer data) |
6352 | 6353 | { |
6353 | 6354 | GtkTextView *text_view = data; |
6354 | | gtk_text_view_update_handles (text_view, GTK_TEXT_HANDLE_MODE_NONE); |
| 6355 | GtkTextViewPrivate *priv = text_view->priv; |
| 6356 | |
| 6357 | gtk_text_view_update_handles (text_view, |
| 6358 | _gtk_text_handle_get_mode (priv->text_handle)); |
6355 | 6359 | } |
6356 | 6360 | |
6357 | 6361 | static void |