entry: Set a clip

Now that GtkEntry is using a text node, we were spilling
the contents out to the side when the entry is scrolling.
Avoid that by setting a clip.
This commit is contained in:
Matthias Clasen 2017-09-05 23:29:59 -04:00
parent 1b7f08171a
commit 863a9cef98

View File

@ -3280,10 +3280,17 @@ gtk_entry_snapshot (GtkWidget *widget,
GtkEntry *entry = GTK_ENTRY (widget);
GtkEntryPrivate *priv = gtk_entry_get_instance_private (entry);
int width, height;
graphene_rect_t bounds;
int i;
gtk_widget_get_content_size (widget, &width, &height);
graphene_rect_init (&bounds,
0, 0,
width, height);
gtk_snapshot_push_clip (snapshot, &bounds, "Entry Clip");
/* Draw progress */
if (priv->progress_widget && gtk_widget_get_visible (priv->progress_widget))
gtk_widget_snapshot_child (widget, priv->progress_widget, snapshot);
@ -3311,6 +3318,8 @@ gtk_entry_snapshot (GtkWidget *widget,
}
gtk_entry_draw_undershoot (entry, snapshot);
gtk_snapshot_pop (snapshot);
}
static void