2 Commits

Author SHA1 Message Date
deepend-tildeclub
64a9c6e5d7 Merge pull request #397 from ZoiteChat/fix-issue-392
Fix Wayland text selection crash
2026-09-17 10:14:14 -07:00
66196013bc Fix Wayland text selection crash 2026-09-16 16:23:38 -06:00
2 changed files with 12 additions and 3 deletions

View File

@@ -1266,6 +1266,8 @@ attr_list_has_attrs (PangoAttrList *attrs)
static void
sexy_spell_entry_recheck_all(SexySpellEntry *entry)
{
GdkRectangle rect;
GtkAllocation allocation;
GtkWidget *widget = GTK_WIDGET(entry);
int length, i, text_len;
const char *text;
@@ -1297,8 +1299,15 @@ sexy_spell_entry_recheck_all(SexySpellEntry *entry)
gtk_entry_set_attributes (GTK_ENTRY (entry), attr_list_has_attrs (entry->priv->attr_list) ? entry->priv->attr_list : NULL);
/* GtkEntry shares its parent's GdkWindow in GTK3; redraw the widget area. */
gtk_widget_queue_draw (widget);
if (gtk_widget_get_realized (GTK_WIDGET(entry)))
{
gtk_widget_get_allocation (GTK_WIDGET(entry), &allocation);
rect.x = 0; rect.y = 0;
rect.width = allocation.width;
rect.height = allocation.height;
gdk_window_invalidate_rect(gtk_widget_get_window (widget), &rect, TRUE);
}
}
static gboolean

View File

@@ -3172,7 +3172,7 @@ gtk_xtext_selection_get (GtkWidget * widget,
if (!window || !GDK_IS_WINDOW (window))
break;
display = gdk_window_get_display (window);
if (!display)
if (!display || !GDK_IS_X11_DISPLAY (display))
break;
GdkAtom encoding;
gint format;