Compare commits

..
Author SHA1 Message Date
dependabot[bot] f42ece0a4f ci: bump flatpak/shared-modules from a58e654 to d1ab132
Bumps [flatpak/shared-modules](https://github.com/flathub/shared-modules) from `a58e654` to `d1ab132`.
- [Commits](https://github.com/flathub/shared-modules/compare/a58e654b9113feffaee113cc7167ebbbdb406bee...d1ab132e6480acefc5c510ee13d8d586d36cab19)

---
updated-dependencies:
- dependency-name: flatpak/shared-modules
  dependency-version: d1ab132e6480acefc5c510ee13d8d586d36cab19
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
2026-10-26 18:41:43 +00:00
2 changed files with 15 additions and 51 deletions

No files matched your search

+14 -50
View File
@@ -264,8 +264,6 @@ typedef struct
{ {
PangoAttrList *attr_lists[4]; PangoAttrList *attr_lists[4];
int fontwidths[4][128]; int fontwidths[4][128];
/* True only for a real drag into the separate timestamp column. */
gboolean stamp_column_dragged;
} GtkXTextPrivate; } GtkXTextPrivate;
static GQuark xtext_private_quark; static GQuark xtext_private_quark;
@@ -2121,27 +2119,8 @@ static gboolean
gtk_xtext_check_mark_stamp (GtkXText *xtext, GdkModifierType mask) gtk_xtext_check_mark_stamp (GtkXText *xtext, GdkModifierType mask)
{ {
gboolean redraw = FALSE; gboolean redraw = FALSE;
gboolean selecting_stamp = FALSE;
/* A drag into the timestamp column deliberately includes the stamp. if ((mask & STATE_SHIFT || prefs.hex_text_autocopy_stamp)
Ordinary message selection does not. Only indented views have a
separate timestamp column; inline stamps are part of the text. */
if (xtext->button_down && xtext->buffer->time_stamp && xtext->auto_indent)
{
selecting_stamp =
(xtext->select_start_x >= 0 && xtext->select_start_x < xtext->stamp_width) ||
(xtext->select_end_x >= 0 && xtext->select_end_x < xtext->stamp_width);
}
/* A zero-byte message selection is not necessarily a selected stamp.
Remember an actual gutter drag rather than inferring it from offsets. */
if (xtext->button_down)
gtk_xtext_get_private (xtext)->stamp_column_dragged =
selecting_stamp &&
(xtext->select_start_x != xtext->select_end_x ||
xtext->select_start_y != xtext->select_end_y);
if ((mask & STATE_SHIFT || prefs.hex_text_autocopy_stamp || selecting_stamp)
&& (!prefs.hex_stamp_text || prefs.hex_text_indent)) && (!prefs.hex_stamp_text || prefs.hex_text_indent))
{ {
if (!xtext->mark_stamp) if (!xtext->mark_stamp)
@@ -2275,15 +2254,13 @@ gtk_xtext_motion_notify (GtkWidget * widget, GdkEventMotion * event)
if (xtext->button_down) if (xtext->button_down)
{ {
/* Update the pointer position before deciding whether this drag
explicitly includes the timestamp column. */
xtext->select_end_x = x;
xtext->select_end_y = y;
redraw = gtk_xtext_check_mark_stamp (xtext, mask); redraw = gtk_xtext_check_mark_stamp (xtext, mask);
gtk_grab_add (widget); gtk_grab_add (widget);
xtext->select_end_x = x;
xtext->select_end_y = y;
gtk_xtext_selection_update (xtext, event, y, !redraw); gtk_xtext_selection_update (xtext, event, y, !redraw);
/* SHIFT or timestamp inclusion changed: redraw the full selection. */ /* user has pressed or released SHIFT, must redraw entire selection */
if (redraw) if (redraw)
{ {
xtext->force_stamp = TRUE; xtext->force_stamp = TRUE;
@@ -2454,7 +2431,6 @@ gtk_xtext_unselect (GtkXText *xtext)
gtk_xtext_selection_clear (xtext->buffer); gtk_xtext_selection_clear (xtext->buffer);
xtext->buffer->last_ent_start = NULL; xtext->buffer->last_ent_start = NULL;
xtext->buffer->last_ent_end = NULL; xtext->buffer->last_ent_end = NULL;
gtk_xtext_get_private (xtext)->stamp_column_dragged = FALSE;
gtk_widget_queue_draw (GTK_WIDGET (xtext)); gtk_widget_queue_draw (GTK_WIDGET (xtext));
} }
@@ -2662,7 +2638,6 @@ gtk_xtext_button_press (GtkWidget * widget, GdkEventButton * event)
} }
} }
gtk_xtext_get_private (xtext)->stamp_column_dragged = FALSE;
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;
@@ -2706,10 +2681,7 @@ gtk_xtext_is_selecting (GtkXText *xtext)
for (ent = buf->last_ent_start; ent; ent = ent->next) for (ent = buf->last_ent_start; ent; ent = ent->next)
{ {
if (ent->mark_start != -1 && if (ent->mark_start != -1 && ent->mark_end - ent->mark_start > 0)
(ent->mark_end > ent->mark_start ||
(ent->mark_start == 0 && xtext->mark_stamp &&
gtk_xtext_get_private (xtext)->stamp_column_dragged)))
return TRUE; return TRUE;
if (ent == buf->last_ent_end) if (ent == buf->last_ent_end)
@@ -2739,20 +2711,18 @@ gtk_xtext_selection_get_text (GtkXText *xtext, int *len_ret)
if (!first) if (!first)
g_string_append_c (text, '\n'); g_string_append_c (text, '\n');
first = FALSE; first = FALSE;
/* Preserve empty selected lines. Only a real timestamp-column
drag should copy a stamp with no message bytes selected. */
if (ent->mark_start == 0 && xtext->mark_stamp && ent->stamp_len == 0 &&
(ent->mark_end > ent->mark_start ||
gtk_xtext_get_private (xtext)->stamp_column_dragged))
{
char *stamp;
int len = xtext_get_stamp_str (ent->stamp, &stamp);
g_string_append_len (text, stamp, len);
g_free (stamp);
}
if (ent->mark_end > ent->mark_start) if (ent->mark_end > ent->mark_start)
{
if (ent->mark_start == 0 && xtext->mark_stamp && ent->stamp_len == 0)
{
char *stamp;
int len = xtext_get_stamp_str (ent->stamp, &stamp);
g_string_append_len (text, stamp, len);
g_free (stamp);
}
g_string_append_len (text, (char *)ent->str + ent->mark_start, g_string_append_len (text, (char *)ent->str + ent->mark_start,
ent->mark_end - ent->mark_start); ent->mark_end - ent->mark_start);
}
} }
if (ent == buf->last_ent_end) if (ent == buf->last_ent_end)
break; break;
@@ -4004,12 +3974,6 @@ gtk_xtext_render_stamp (GtkXText * xtext, textentry * ent,
ent->mark_end = -1; ent->mark_end = -1;
} }
} }
else
{
/* Message selection offsets must not select unrelated stamp bytes. */
ent->mark_start = -1;
ent->mark_end = -1;
}
y = (xtext->fontsize * line) + xtext->font->ascent - xtext->pixel_offset; y = (xtext->fontsize * line) + xtext->font->ascent - xtext->pixel_offset;
gtk_xtext_render_str (xtext, y, ent, text, len, gtk_xtext_render_str (xtext, y, ent, text, len,