diff --git a/source/view.c b/source/view.c index fab115bf..d207a3c1 100644 --- a/source/view.c +++ b/source/view.c @@ -797,6 +797,7 @@ void rofi_view_update ( RofiViewState *state, gboolean qr ) if ( !widget_need_redraw ( WIDGET ( state->main_window ) ) && !widget_need_redraw ( WIDGET ( state->overlay ) ) ) { return; } + g_log ( LOG_DOMAIN, G_LOG_LEVEL_DEBUG, "Redraw view" ); TICK (); cairo_t *d = CacheState.edit_draw; cairo_set_operator ( d, CAIRO_OPERATOR_SOURCE ); diff --git a/source/widgets/widget.c b/source/widgets/widget.c index 7e232399..1aac0287 100644 --- a/source/widgets/widget.c +++ b/source/widgets/widget.c @@ -88,6 +88,11 @@ void widget_draw ( widget *widget, cairo_t *d ) { // Check if enabled and if draw is implemented. if ( widget && widget->enabled && widget->draw ) { + // Don't draw if there is no space. + if ( widget->h < 1 || widget->w < 1 ){ + widget->need_redraw = FALSE; + return; + } // Store current state. cairo_save ( d ); int margin_left = distance_get_pixel ( widget->margin.left, ORIENTATION_HORIZONTAL );