[gtk+] widget: Queue redraw on gtk_widget_queue_allocate()
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] widget: Queue redraw on gtk_widget_queue_allocate()
- Date: Fri, 30 Oct 2015 01:10:06 +0000 (UTC)
commit e39b8611bd20e602102a7e1b8e06e34c1b85cfe5
Author: Benjamin Otte <otte redhat com>
Date: Fri Oct 30 02:06:01 2015 +0100
widget: Queue redraw on gtk_widget_queue_allocate()
Mirror the behavior of gtk_widget_queue_resize() and always queue a
redraw. If we ever want to cause allocates without redraws we can add
gtk_widget_queue_allocate_no_redraw() then.
I had initially assumed gtk_widget_size_allocate() would take care of
queueing redraws, but it does not do that when neither size nor position
change. And that is obviously what's happening after
gtk_widget_queue_allocate().
Fixes buttons sometimes not redrawing (the record button in
widget-factory after locking it, all buttons when switching to the dark
theme).
gtk/gtkwidget.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 2c03f72..fd53f58 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -5602,6 +5602,9 @@ gtk_widget_queue_allocate (GtkWidget *widget)
{
g_return_if_fail (GTK_IS_WIDGET (widget));
+ if (_gtk_widget_get_realized (widget))
+ gtk_widget_queue_draw (widget);
+
gtk_widget_set_alloc_needed (widget);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]