<div dir="ltr">Removed in <br><pre><i>39e1cbe3211b06bca6e5d906ffb4d0582440c5cc</i></pre><div><br>I would ack it but Fabiano had some comments about it<br><br><a href="https://lists.freedesktop.org/archives/spice-devel/2015-November/024060.html">https://lists.freedesktop.org/archives/spice-devel/2015-November/024060.html</a><br><br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 24, 2016 at 12:45 PM, Victor Toso <span dir="ltr"><<a href="mailto:lists@victortoso.com" target="_blank">lists@victortoso.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<span class=""><br>
On Thu, Mar 24, 2016 at 08:53:00AM +0000, Frediano Ziglio wrote:<br>
> Support for this debugging was removed time ago.<br>
><br>
<br>
</span>Can you point it out when it was removed?<br>
Thanks,<br>
<div class="HOEnZb"><div class="h5"><br>
> Signed-off-by: Frediano Ziglio <<a href="mailto:fziglio@redhat.com">fziglio@redhat.com</a>><br>
> ---<br>
>  server/tree.c | 161 ----------------------------------------------------------<br>
>  server/tree.h |   1 -<br>
>  2 files changed, 162 deletions(-)<br>
><br>
> diff --git a/server/tree.c b/server/tree.c<br>
> index 9e5a281..3866616 100644<br>
> --- a/server/tree.c<br>
> +++ b/server/tree.c<br>
> @@ -24,167 +24,6 @@<br>
><br>
>  #include "tree.h"<br>
><br>
> -static const char *draw_type_to_str(uint8_t type)<br>
> -{<br>
> -    switch (type) {<br>
> -    case QXL_DRAW_FILL:<br>
> -        return "QXL_DRAW_FILL";<br>
> -    case QXL_DRAW_OPAQUE:<br>
> -        return "QXL_DRAW_OPAQUE";<br>
> -    case QXL_DRAW_COPY:<br>
> -        return "QXL_DRAW_COPY";<br>
> -    case QXL_DRAW_TRANSPARENT:<br>
> -        return "QXL_DRAW_TRANSPARENT";<br>
> -    case QXL_DRAW_ALPHA_BLEND:<br>
> -        return "QXL_DRAW_ALPHA_BLEND";<br>
> -    case QXL_COPY_BITS:<br>
> -        return "QXL_COPY_BITS";<br>
> -    case QXL_DRAW_BLEND:<br>
> -        return "QXL_DRAW_BLEND";<br>
> -    case QXL_DRAW_BLACKNESS:<br>
> -        return "QXL_DRAW_BLACKNESS";<br>
> -    case QXL_DRAW_WHITENESS:<br>
> -        return "QXL_DRAW_WHITENESS";<br>
> -    case QXL_DRAW_INVERS:<br>
> -        return "QXL_DRAW_INVERS";<br>
> -    case QXL_DRAW_ROP3:<br>
> -        return "QXL_DRAW_ROP3";<br>
> -    case QXL_DRAW_COMPOSITE:<br>
> -        return "QXL_DRAW_COMPOSITE";<br>
> -    case QXL_DRAW_STROKE:<br>
> -        return "QXL_DRAW_STROKE";<br>
> -    case QXL_DRAW_TEXT:<br>
> -        return "QXL_DRAW_TEXT";<br>
> -    default:<br>
> -        return "?";<br>
> -    }<br>
> -}<br>
> -<br>
> -static void show_red_drawable(RedDrawable *drawable, const char *prefix)<br>
> -{<br>
> -    if (prefix) {<br>
> -        printf("%s: ", prefix);<br>
> -    }<br>
> -<br>
> -    printf("%s effect %d bbox(%d %d %d %d)",<br>
> -           draw_type_to_str(drawable->type),<br>
> -           drawable->effect,<br>
> -           drawable->bbox.top,<br>
> -           drawable->bbox.left,<br>
> -           drawable->bbox.bottom,<br>
> -           drawable->bbox.right);<br>
> -<br>
> -    switch (drawable->type) {<br>
> -    case QXL_DRAW_FILL:<br>
> -    case QXL_DRAW_OPAQUE:<br>
> -    case QXL_DRAW_COPY:<br>
> -    case QXL_DRAW_TRANSPARENT:<br>
> -    case QXL_DRAW_ALPHA_BLEND:<br>
> -    case QXL_COPY_BITS:<br>
> -    case QXL_DRAW_BLEND:<br>
> -    case QXL_DRAW_BLACKNESS:<br>
> -    case QXL_DRAW_WHITENESS:<br>
> -    case QXL_DRAW_INVERS:<br>
> -    case QXL_DRAW_ROP3:<br>
> -    case QXL_DRAW_COMPOSITE:<br>
> -    case QXL_DRAW_STROKE:<br>
> -    case QXL_DRAW_TEXT:<br>
> -        break;<br>
> -    default:<br>
> -        spice_error("bad drawable type");<br>
> -    }<br>
> -    printf("\n");<br>
> -}<br>
> -<br>
> -static void show_draw_item(DrawItem *draw_item, const char *prefix)<br>
> -{<br>
> -    if (prefix) {<br>
> -        printf("%s: ", prefix);<br>
> -    }<br>
> -    printf("effect %d bbox(%d %d %d %d)\n",<br>
> -           draw_item->effect,<br>
> -           draw_item->base.rgn.extents.x1,<br>
> -           draw_item->base.rgn.extents.y1,<br>
> -           draw_item->base.rgn.extents.x2,<br>
> -           draw_item->base.rgn.extents.y2);<br>
> -}<br>
> -<br>
> -typedef struct DumpItem {<br>
> -    int level;<br>
> -    Container *container;<br>
> -} DumpItem;<br>
> -<br>
> -static void dump_item(TreeItem *item, void *data)<br>
> -{<br>
> -    DumpItem *di = data;<br>
> -    const char *item_prefix = "|--";<br>
> -    int i;<br>
> -<br>
> -    if (di->container) {<br>
> -        while (di->container != item->container) {<br>
> -            di->level--;<br>
> -            di->container = di->container->base.container;<br>
> -        }<br>
> -    }<br>
> -<br>
> -    switch (item->type) {<br>
> -    case TREE_ITEM_TYPE_DRAWABLE: {<br>
> -        Drawable *drawable = SPICE_CONTAINEROF(item, Drawable, tree_item.base);<br>
> -        const int max_indent = 200;<br>
> -        char indent_str[max_indent + 1];<br>
> -        int indent_str_len;<br>
> -<br>
> -        for (i = 0; i < di->level; i++) {<br>
> -            printf("  ");<br>
> -        }<br>
> -        printf(item_prefix, 0);<br>
> -        show_red_drawable(drawable->red_drawable, NULL);<br>
> -        for (i = 0; i < di->level; i++) {<br>
> -            printf("  ");<br>
> -        }<br>
> -        printf("|  ");<br>
> -        show_draw_item(&drawable->tree_item, NULL);<br>
> -        indent_str_len = MIN(max_indent, strlen(item_prefix) + di->level * 2);<br>
> -        memset(indent_str, ' ', indent_str_len);<br>
> -        indent_str[indent_str_len] = 0;<br>
> -        region_dump(&item->rgn, indent_str);<br>
> -        printf("\n");<br>
> -        break;<br>
> -    }<br>
> -    case TREE_ITEM_TYPE_CONTAINER:<br>
> -        di->level++;<br>
> -        di->container = (Container *)item;<br>
> -        break;<br>
> -    case TREE_ITEM_TYPE_SHADOW:<br>
> -        break;<br>
> -    }<br>
> -}<br>
> -<br>
> -static void tree_foreach(TreeItem *item, void (*f)(TreeItem *, void *), void * data)<br>
> -{<br>
> -    if (!item)<br>
> -        return;<br>
> -<br>
> -    f(item, data);<br>
> -<br>
> -    if (item->type == TREE_ITEM_TYPE_CONTAINER) {<br>
> -        Container *container = (Container*)item;<br>
> -        RingItem *it;<br>
> -<br>
> -        RING_FOREACH(it, &container->items) {<br>
> -            tree_foreach(SPICE_CONTAINEROF(it, TreeItem, siblings_link), f, data);<br>
> -        }<br>
> -    }<br>
> -}<br>
> -<br>
> -void tree_item_dump(TreeItem *item)<br>
> -{<br>
> -    DumpItem di = { 0, };<br>
> -<br>
> -    spice_return_if_fail(item != NULL);<br>
> -    tree_foreach(item, dump_item, &di);<br>
> -}<br>
> -<br>
>  Shadow* shadow_new(DrawItem *item, const SpicePoint *delta)<br>
>  {<br>
>      spice_return_val_if_fail(item->shadow == NULL, NULL);<br>
> diff --git a/server/tree.h b/server/tree.h<br>
> index 8b9c6ba..4cfe177 100644<br>
> --- a/server/tree.h<br>
> +++ b/server/tree.h<br>
> @@ -79,7 +79,6 @@ static inline int is_opaque_item(TreeItem *item)<br>
>          (IS_DRAW_ITEM(item) && ((DrawItem *)item)->effect == QXL_EFFECT_OPAQUE);<br>
>  }<br>
><br>
> -void       tree_item_dump                           (TreeItem *item);<br>
>  Shadow*    tree_item_find_shadow                    (TreeItem *item);<br>
>  int        tree_item_contained_by                   (TreeItem *item, Ring *ring);<br>
>  Ring*      tree_item_container_items                (TreeItem *item, Ring *ring);<br>
> --<br>
> 2.5.5<br>
><br>
> _______________________________________________<br>
> Spice-devel mailing list<br>
> <a href="mailto:Spice-devel@lists.freedesktop.org">Spice-devel@lists.freedesktop.org</a><br>
> <a href="https://lists.freedesktop.org/mailman/listinfo/spice-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/spice-devel</a><br>
_______________________________________________<br>
Spice-devel mailing list<br>
<a href="mailto:Spice-devel@lists.freedesktop.org">Spice-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/spice-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/spice-devel</a><br>
</div></div></blockquote></div><br></div>