gtkframe: Don't queue a redraw on the entire widget every size allocate
authorJasper St. Pierre <jstpierre@mecheye.net>
Wed, 15 Jul 2015 01:24:42 +0000 (18:24 -0700)
committerJasper St. Pierre <jstpierre@mecheye.net>
Wed, 15 Jul 2015 01:32:45 +0000 (18:32 -0700)
commit18dbe181fb13571ecbc76ce7f7f28c36c557a3d6
tree2129fca10da0abae10ca8bbd6e6ec48ac29d3ad6
parent2dda89cbd52e09cfbc24a9139caa7a65a5f73f2c
gtkframe: Don't queue a redraw on the entire widget every size allocate

Lots of applications often use GtkFrame as a giant toplevel container,
and that means that they get size allocated often. When frames get size
allocated, they invalidate their entire widget tree, even if they
haven't changed size or anything like that happens at all. This is
because the shadow / label needs to be redrawn if the child changes
size. We can optimize this out and only mark ourselves for a redraw if
the child has actually changed its size.
gtk/gtkframe.c