[virt-tools-list] [PATCH virt-viewer v2 2/3] display: Return early and remove a block

Eduardo Lima (Etrunko) etrunko at redhat.com
Wed Feb 3 10:49:42 UTC 2016


On 02/03/2016 06:08 AM, Pavel Grunt wrote:
> ---
>  src/virt-viewer-display.c | 39 ++++++++++++++++++---------------------
>  1 file changed, 18 insertions(+), 21 deletions(-)
> 
> diff --git a/src/virt-viewer-display.c b/src/virt-viewer-display.c
> index 72ec56a..4bfa29b 100644
> --- a/src/virt-viewer-display.c
> +++ b/src/virt-viewer-display.c
> @@ -511,37 +511,34 @@ virt_viewer_display_size_allocate(GtkWidget *widget,
>      g_debug("Allocated %dx%d", allocation->width, allocation->height);
>      gtk_widget_set_allocation(widget, allocation);
>  
> -    if (priv->desktopWidth == 0 ||
> -        priv->desktopHeight == 0)
> +    if (priv->desktopWidth == 0 || priv->desktopHeight == 0 ||
> +        child == NULL || !gtk_widget_get_visible(child))
>  #if !GTK_CHECK_VERSION(3, 0, 0)
>          goto end;
>  #else
>          return;
>  #endif
> +    border_width = gtk_container_get_border_width(GTK_CONTAINER(display));
>  
> -    desktopAspect = (double)priv->desktopWidth / (double)priv->desktopHeight;
> +    width  = MAX(1, allocation->width - 2 * border_width);
> +    height = MAX(1, allocation->height - 2 * border_width);
>  
> -    if (child && gtk_widget_get_visible(child)) {
> -        border_width = gtk_container_get_border_width(GTK_CONTAINER(display));
> -
> -        width  = MAX(1, allocation->width - 2 * border_width);
> -        height = MAX(1, allocation->height - 2 * border_width);
> -        actualAspect = (double)width / (double)height;
> +    desktopAspect = (double) priv->desktopWidth / (double) priv->desktopHeight;
> +    actualAspect = (double) width / (double) height;
>  
> -        if (actualAspect > desktopAspect) {
> -            child_allocation.width = round(height * desktopAspect);
> -            child_allocation.height = height;
> -        } else {
> -            child_allocation.width = width;
> -            child_allocation.height = round(width / desktopAspect);
> -        }
> +    if (actualAspect > desktopAspect) {
> +        child_allocation.width = round(height * desktopAspect);
> +        child_allocation.height = height;
> +    } else {
> +        child_allocation.width = width;
> +        child_allocation.height = round(width / desktopAspect);
> +    }
>  
> -        child_allocation.x = 0.5 * (width - child_allocation.width) + allocation->x + border_width;
> -        child_allocation.y = 0.5 * (height - child_allocation.height) + allocation->y + border_width;
> +    child_allocation.x = 0.5 * (width - child_allocation.width) + allocation->x + border_width;
> +    child_allocation.y = 0.5 * (height - child_allocation.height) + allocation->y + border_width;
>  
> -        g_debug("Child allocate %dx%d", child_allocation.width, child_allocation.height);
> -        gtk_widget_size_allocate(child, &child_allocation);
> -    }
> +    g_debug("Child allocate %dx%d", child_allocation.width, child_allocation.height);
> +    gtk_widget_size_allocate(child, &child_allocation);
>  
>  #if !GTK_CHECK_VERSION(3, 0, 0)
>  end:
> 

Acked-by: Eduardo Lima (Etrunko) <etrunko at redhat.com>


-- 
Eduardo de Barros Lima (Etrunko)
Software Engineer - RedHat
etrunko at redhat.com




More information about the virt-tools-list mailing list