SelectionGranularity granularity;
GtkTextMark *orig_start;
GtkTextMark *orig_end;
+ GtkTextBuffer *buffer;
} SelectionData;
static void
selection_data_free (SelectionData *data)
{
if (data->orig_start != NULL)
- gtk_text_buffer_delete_mark (gtk_text_mark_get_buffer (data->orig_start),
- data->orig_start);
+ gtk_text_buffer_delete_mark (data->buffer, data->orig_start);
+
if (data->orig_end != NULL)
- gtk_text_buffer_delete_mark (gtk_text_mark_get_buffer (data->orig_end),
- data->orig_end);
+ gtk_text_buffer_delete_mark (data->buffer, data->orig_end);
+
+ g_object_unref (data->buffer);
+
g_slice_free (SelectionData, data);
}
&orig_start, TRUE);
data->orig_end = gtk_text_buffer_create_mark (buffer, NULL,
&orig_end, TRUE);
+ data->buffer = g_object_ref (buffer);
gtk_text_view_check_cursor_blink (text_view);
g_object_set_qdata_full (G_OBJECT (priv->drag_gesture),