+2002-12-24 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtktextbuffer.c (paste_from_buffer):
+ (clipboard_text_received): Let the user action span the insertion
+ and the deletion of the old selection. (#82844)
+
2002-12-23 Matthias Clasen <maclas@gmx.de>
* gtk/gtktextiter.c (gtk_text_iter_backward_sentence_starts):
* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Call
move_cursor() even if the cursor hasn't moved, since it has the
- side effect of canceling the selection. (#81395, #98537, #9833)
+ side effect of canceling the selection. (#81395, #98537, #98333)
2002-12-22 Matthias Clasen <maclas@gmx.de>
+2002-12-24 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtktextbuffer.c (paste_from_buffer):
+ (clipboard_text_received): Let the user action span the insertion
+ and the deletion of the old selection. (#82844)
+
2002-12-23 Matthias Clasen <maclas@gmx.de>
* gtk/gtktextiter.c (gtk_text_iter_backward_sentence_starts):
* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Call
move_cursor() even if the cursor hasn't moved, since it has the
- side effect of canceling the selection. (#81395, #98537, #9833)
+ side effect of canceling the selection. (#81395, #98537, #98333)
2002-12-22 Matthias Clasen <maclas@gmx.de>
+2002-12-24 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtktextbuffer.c (paste_from_buffer):
+ (clipboard_text_received): Let the user action span the insertion
+ and the deletion of the old selection. (#82844)
+
2002-12-23 Matthias Clasen <maclas@gmx.de>
* gtk/gtktextiter.c (gtk_text_iter_backward_sentence_starts):
* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Call
move_cursor() even if the cursor hasn't moved, since it has the
- side effect of canceling the selection. (#81395, #98537, #9833)
+ side effect of canceling the selection. (#81395, #98537, #98333)
2002-12-22 Matthias Clasen <maclas@gmx.de>
+2002-12-24 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtktextbuffer.c (paste_from_buffer):
+ (clipboard_text_received): Let the user action span the insertion
+ and the deletion of the old selection. (#82844)
+
2002-12-23 Matthias Clasen <maclas@gmx.de>
* gtk/gtktextiter.c (gtk_text_iter_backward_sentence_starts):
* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Call
move_cursor() even if the cursor hasn't moved, since it has the
- side effect of canceling the selection. (#81395, #98537, #9833)
+ side effect of canceling the selection. (#81395, #98537, #98333)
2002-12-22 Matthias Clasen <maclas@gmx.de>
+2002-12-24 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtktextbuffer.c (paste_from_buffer):
+ (clipboard_text_received): Let the user action span the insertion
+ and the deletion of the old selection. (#82844)
+
2002-12-23 Matthias Clasen <maclas@gmx.de>
* gtk/gtktextiter.c (gtk_text_iter_backward_sentence_starts):
* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Call
move_cursor() even if the cursor hasn't moved, since it has the
- side effect of canceling the selection. (#81395, #98537, #9833)
+ side effect of canceling the selection. (#81395, #98537, #98333)
2002-12-22 Matthias Clasen <maclas@gmx.de>
+2002-12-24 Matthias Clasen <maclas@gmx.de>
+
+ * gtk/gtktextbuffer.c (paste_from_buffer):
+ (clipboard_text_received): Let the user action span the insertion
+ and the deletion of the old selection. (#82844)
+
2002-12-23 Matthias Clasen <maclas@gmx.de>
* gtk/gtktextiter.c (gtk_text_iter_backward_sentence_starts):
* gtk/gtktextview.c (gtk_text_view_move_cursor_internal): Call
move_cursor() even if the cursor hasn't moved, since it has the
- side effect of canceling the selection. (#81395, #98537, #9833)
+ side effect of canceling the selection. (#81395, #98537, #98333)
2002-12-22 Matthias Clasen <maclas@gmx.de>
if (str)
{
GtkTextIter insert_point;
+
+ if (request_data->interactive)
+ gtk_text_buffer_begin_user_action (buffer);
pre_paste_prep (request_data, &insert_point);
- if (request_data->interactive)
- gtk_text_buffer_insert_interactive (buffer, &insert_point,
- str, -1, request_data->default_editable);
+ if (request_data->interactive)
+ gtk_text_buffer_insert_interactive (buffer, &insert_point,
+ str, -1, request_data->default_editable);
else
gtk_text_buffer_insert (buffer, &insert_point,
str, -1);
post_paste_cleanup (request_data);
+
+ if (request_data->interactive)
+ gtk_text_buffer_end_user_action (buffer);
}
g_object_unref (buffer);
const GtkTextIter *end)
{
GtkTextIter insert_point;
+ GtkTextBuffer *buffer = request_data->buffer;
/* We're about to emit a bunch of signals, so be safe */
g_object_ref (src_buffer);
pre_paste_prep (request_data, &insert_point);
+ if (request_data->interactive)
+ gtk_text_buffer_begin_user_action (buffer);
+
if (!gtk_text_iter_equal (start, end))
{
if (!request_data->interactive ||
(gtk_text_iter_can_insert (&insert_point,
request_data->default_editable)))
- gtk_text_buffer_real_insert_range (request_data->buffer,
+ gtk_text_buffer_real_insert_range (buffer,
&insert_point,
start,
end,
post_paste_cleanup (request_data);
+ if (request_data->interactive)
+ gtk_text_buffer_end_user_action (buffer);
+
g_object_unref (src_buffer);
g_free (request_data);
}