talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 5bc18bd17971d63ab220ac09470af139406ad295
parent 988db71a2abe0c451d48fe61268cd581171bef4b
Author: Andrej Kacian <ticho@claws-mail.org>
Date:   Thu, 29 Nov 2018 18:18:30 +0100

Fix improper GTK API usage in sourceview's "select all".

GtkTextView does not implement GtkEditable interface.

Diffstat:
Msrc/sourcewindow.c | 14+++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/sourcewindow.c b/src/sourcewindow.c @@ -203,14 +203,22 @@ static gint source_window_delete_cb(GtkWidget *widget, GdkEventAny *event, static gboolean key_pressed(GtkWidget *widget, GdkEventKey *event, SourceWindow *sourcewin) { + GtkTextBuffer *buffer; + GtkTextIter start, end; if (!event || !sourcewin) return FALSE; - + + buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(sourcewin->text)); + if (!buffer) return FALSE; + switch (event->keyval) { case GDK_KEY_A: case GDK_KEY_a: - if ((event->state & GDK_CONTROL_MASK) != 0) - gtk_editable_select_region(GTK_EDITABLE(sourcewin->text), 0, -1); + if ((event->state & GDK_CONTROL_MASK) != 0) { + gtk_text_buffer_get_start_iter(buffer, &start); + gtk_text_buffer_get_end_iter(buffer, &end); + gtk_text_buffer_select_range(buffer, &start, &end); + } break; case GDK_KEY_W: case GDK_KEY_w: