forked from AuroraMiddleware/gtk
Avoid warnings in clipboard code
The a11y selection tests poke the selection on unrealized labels. Don't spew warnings in this case.
This commit is contained in:
parent
ca5db10bda
commit
c2d1e3eeb0
@ -5428,14 +5428,17 @@ gtk_label_select_region_index (GtkLabel *label,
|
|||||||
GtkClipboard *clipboard;
|
GtkClipboard *clipboard;
|
||||||
|
|
||||||
if (priv->select_info->selection_anchor == anchor_index &&
|
if (priv->select_info->selection_anchor == anchor_index &&
|
||||||
priv->select_info->selection_end == end_index)
|
priv->select_info->selection_end == end_index)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
priv->select_info->selection_anchor = anchor_index;
|
priv->select_info->selection_anchor = anchor_index;
|
||||||
priv->select_info->selection_end = end_index;
|
priv->select_info->selection_end = end_index;
|
||||||
|
|
||||||
clipboard = gtk_widget_get_clipboard (GTK_WIDGET (label),
|
if (gtk_widget_has_screen (GTK_WIDGET (label)))
|
||||||
GDK_SELECTION_PRIMARY);
|
clipboard = gtk_widget_get_clipboard (GTK_WIDGET (label),
|
||||||
|
GDK_SELECTION_PRIMARY);
|
||||||
|
else
|
||||||
|
clipboard = NULL;
|
||||||
|
|
||||||
if (anchor_index != end_index)
|
if (anchor_index != end_index)
|
||||||
{
|
{
|
||||||
@ -5447,18 +5450,20 @@ gtk_label_select_region_index (GtkLabel *label,
|
|||||||
gtk_target_list_add_text_targets (list, 0);
|
gtk_target_list_add_text_targets (list, 0);
|
||||||
targets = gtk_target_table_new_from_list (list, &n_targets);
|
targets = gtk_target_table_new_from_list (list, &n_targets);
|
||||||
|
|
||||||
gtk_clipboard_set_with_owner (clipboard,
|
if (clipboard)
|
||||||
targets, n_targets,
|
gtk_clipboard_set_with_owner (clipboard,
|
||||||
get_text_callback,
|
targets, n_targets,
|
||||||
clear_text_callback,
|
get_text_callback,
|
||||||
G_OBJECT (label));
|
clear_text_callback,
|
||||||
|
G_OBJECT (label));
|
||||||
|
|
||||||
gtk_target_table_free (targets, n_targets);
|
gtk_target_table_free (targets, n_targets);
|
||||||
gtk_target_list_unref (list);
|
gtk_target_list_unref (list);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (gtk_clipboard_get_owner (clipboard) == G_OBJECT (label))
|
if (clipboard &&
|
||||||
|
gtk_clipboard_get_owner (clipboard) == G_OBJECT (label))
|
||||||
gtk_clipboard_clear (clipboard);
|
gtk_clipboard_clear (clipboard);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user