parent
bbb81af550
commit
8ca96d7ea3
@ -1878,6 +1878,9 @@ gtk_xtext_unselect (GtkXText *xtext)
|
|||||||
{
|
{
|
||||||
xtext_buffer *buf = xtext->buffer;
|
xtext_buffer *buf = xtext->buffer;
|
||||||
|
|
||||||
|
if (buf->last_ent_start == NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
xtext->skip_border_fills = TRUE;
|
xtext->skip_border_fills = TRUE;
|
||||||
xtext->skip_stamp = TRUE;
|
xtext->skip_stamp = TRUE;
|
||||||
|
|
||||||
@ -1898,6 +1901,7 @@ gtk_xtext_unselect (GtkXText *xtext)
|
|||||||
|
|
||||||
xtext->skip_border_fills = FALSE;
|
xtext->skip_border_fills = FALSE;
|
||||||
xtext->skip_stamp = FALSE;
|
xtext->skip_stamp = FALSE;
|
||||||
|
xtext->mark_stamp = FALSE;
|
||||||
|
|
||||||
xtext->buffer->last_ent_start = NULL;
|
xtext->buffer->last_ent_start = NULL;
|
||||||
xtext->buffer->last_ent_end = NULL;
|
xtext->buffer->last_ent_end = NULL;
|
||||||
@ -1959,11 +1963,8 @@ gtk_xtext_button_release (GtkWidget * widget, GdkEventButton * event)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (xtext->select_start_x == event->x &&
|
if (xtext->select_start_x == event->x &&
|
||||||
xtext->select_start_y == event->y &&
|
xtext->select_start_y == event->y)
|
||||||
xtext->buffer->last_ent_start)
|
|
||||||
{
|
{
|
||||||
gtk_xtext_unselect (xtext);
|
|
||||||
xtext->mark_stamp = FALSE;
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2014,7 +2015,7 @@ gtk_xtext_button_press (GtkWidget * widget, GdkEventButton * event)
|
|||||||
{
|
{
|
||||||
if (len == 0)
|
if (len == 0)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
gtk_xtext_selection_clear (xtext->buffer);
|
gtk_xtext_unselect(xtext);
|
||||||
ent->mark_start = offset;
|
ent->mark_start = offset;
|
||||||
ent->mark_end = offset + len;
|
ent->mark_end = offset + len;
|
||||||
gtk_xtext_selection_render (xtext, ent, ent);
|
gtk_xtext_selection_render (xtext, ent, ent);
|
||||||
@ -2029,7 +2030,7 @@ gtk_xtext_button_press (GtkWidget * widget, GdkEventButton * event)
|
|||||||
gtk_xtext_check_mark_stamp (xtext, mask);
|
gtk_xtext_check_mark_stamp (xtext, mask);
|
||||||
if (gtk_xtext_get_word (xtext, x, y, &ent, 0, 0, 0))
|
if (gtk_xtext_get_word (xtext, x, y, &ent, 0, 0, 0))
|
||||||
{
|
{
|
||||||
gtk_xtext_selection_clear (xtext->buffer);
|
gtk_xtext_unselect (xtext);
|
||||||
ent->mark_start = 0;
|
ent->mark_start = 0;
|
||||||
ent->mark_end = ent->str_len;
|
ent->mark_end = ent->str_len;
|
||||||
gtk_xtext_selection_render (xtext, ent, ent);
|
gtk_xtext_selection_render (xtext, ent, ent);
|
||||||
@ -2052,6 +2053,7 @@ gtk_xtext_button_press (GtkWidget * widget, GdkEventButton * event)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gtk_xtext_unselect (xtext);
|
||||||
xtext->button_down = TRUE;
|
xtext->button_down = TRUE;
|
||||||
xtext->select_start_x = x;
|
xtext->select_start_x = x;
|
||||||
xtext->select_start_y = y;
|
xtext->select_start_y = y;
|
||||||
@ -2065,10 +2067,7 @@ gtk_xtext_button_press (GtkWidget * widget, GdkEventButton * event)
|
|||||||
static gboolean
|
static gboolean
|
||||||
gtk_xtext_selection_kill (GtkXText *xtext, GdkEventSelection *event)
|
gtk_xtext_selection_kill (GtkXText *xtext, GdkEventSelection *event)
|
||||||
{
|
{
|
||||||
#ifndef WIN32
|
gtk_xtext_unselect (xtext);
|
||||||
if (xtext->buffer->last_ent_start)
|
|
||||||
gtk_xtext_unselect (xtext);
|
|
||||||
#endif
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user