summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorDave Davenport <qball@gmpclient.org>2017-01-06 13:26:26 +0100
committerDave Davenport <qball@gmpclient.org>2017-01-06 13:26:26 +0100
commit0e037237f88ac6a60fd7d1ae5549e82952292755 (patch)
tree2bea57d292c979e8dafe6bb6ede870cd8ecb4e32 /source
parentf45e910a1b46d896497c9556ba2d2855b955efc0 (diff)
Only queue redraw when state actually changes
Diffstat (limited to 'source')
-rw-r--r--source/widgets/widget.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/source/widgets/widget.c b/source/widgets/widget.c
index bc77cdb0..2c227855 100644
--- a/source/widgets/widget.c
+++ b/source/widgets/widget.c
@@ -18,11 +18,13 @@ void widget_init ( widget *widget , const char *name )
void widget_set_state ( widget *widget, const char *state )
{
- widget->state = state;
- // Update border.
- widget->border = rofi_theme_get_padding ( widget, "border", widget->border);
+ if ( g_strcmp0(widget->state, state ) ){
+ widget->state = state;
+ // Update border.
+ widget->border = rofi_theme_get_padding ( widget, "border", widget->border);
- widget->need_redraw = TRUE;
+ widget_queue_redraw ( widget );
+ }
}
int widget_intersect ( const widget *widget, int x, int y )