<div dir="ltr">I resent it, I'm not sure why it didn't reply to this one though because I set the Message-ID field for the reply. I'm new to submitting patches to mailing lists so I appreciate the help.<br></div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jan 14, 2014 at 5:03 PM, Alex Deucher <span dir="ltr"><<a href="mailto:alexdeucher@gmail.com" target="_blank">alexdeucher@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Tue, Jan 14, 2014 at 3:28 PM, Anthony Waters <<a href="mailto:awaters1@gmail.com">awaters1@gmail.com</a>> wrote:<br>

> This patch fixes the issue as described in <a href="https://bugs.freedesktop.org/show_bug.cgi?id=64738" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=64738</a> details about the fix can be seen in comment 17<br>

><br>
<br>
</div>It would be good if you could include the information from comment 17<br>
in the commit message followed by a link to the bug.  e.g.,<br>
<br>
glamor: Fix coordinates handling for composite source/mask pictures<br>
<br>
There were actually two issues with the original code I believe, the<br>
first is that the call to glamor_convert_gradient_picture wasn't<br>
properly referencing the coordinates of the source/mask pictures.  The<br>
second, was that the updated references (x_temp/y_temp) were also<br>
improperly set, they should always be 0 because the temp pictures are<br>
new ones that start at (0, 0).  The reason it worked in certain cases<br>
and it didn't in others (notably the tray icons) was due to the<br>
numbers working out based on the call to glamor_composite.  In the<br>
cases that it did work extent->x1 would equal x_dest and extent->y1<br>
would equal y_dest, making it so what was actually passed into<br>
glamor_convert_gradient_picture and the settings for x_temp/y_temp<br>
were correct.  However, for the case when extent->x1 wouldn't equal<br>
x_dest and extent->y1 wouldn't equal y_dest (for example with the tray<br>
icons) then the wrong parameters get passed into<br>
glamor_convert_gradient_picture and x_temp/y_temp are set improperly.<br>
<br>
Fixes issues with tray icons not appearing properly in certain cases.<br>
<br>
Bug:<br>
<a href="https://bugs.freedesktop.org/show_bug.cgi?id=64738" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=64738</a><br>
<br>
Signed-Off-by: ...<br>
<br>
<br>
Alex<br>
<div><div class="h5"><br>
<br>
<br>
> ---<br>
>  src/glamor_render.c | 16 ++++++++--------<br>
>  1 file changed, 8 insertions(+), 8 deletions(-)<br>
><br>
> diff --git a/src/glamor_render.c b/src/glamor_render.c<br>
> index 76a571f..21b8085 100644<br>
> --- a/src/glamor_render.c<br>
> +++ b/src/glamor_render.c<br>
> @@ -1590,16 +1590,16 @@ glamor_composite_clipped_region(CARD8 op,<br>
>                     || source_pixmap->drawable.height != height)))) {<br>
>                 temp_src =<br>
>                     glamor_convert_gradient_picture(screen, source,<br>
> -                                                   extent->x1 + x_source - x_dest,<br>
> -                                                   extent->y1 + y_source - y_dest,<br>
> +                                                   x_source,<br>
> +                                                   y_source,<br>
>                                                     width, height);<br>
>                 if (!temp_src) {<br>
>                         temp_src = source;<br>
>                         goto out;<br>
>                 }<br>
>                 temp_src_priv = glamor_get_pixmap_private((PixmapPtr)(temp_src->pDrawable));<br>
> -               x_temp_src = - extent->x1 + x_dest;<br>
> -               y_temp_src = - extent->y1 + y_dest;<br>
> +               x_temp_src = 0;<br>
> +               y_temp_src = 0;<br>
>         }<br>
><br>
>         if (mask<br>
> @@ -1614,16 +1614,16 @@ glamor_composite_clipped_region(CARD8 op,<br>
>                  * to do reduce one convertion. */<br>
>                 temp_mask =<br>
>                     glamor_convert_gradient_picture(screen, mask,<br>
> -                                                   extent->x1 + x_mask - x_dest,<br>
> -                                                   extent->y1 + y_mask - y_dest,<br>
> +                                                   x_mask,<br>
> +                                                   y_mask,<br>
>                                                     width, height);<br>
>                 if (!temp_mask) {<br>
>                         temp_mask = mask;<br>
>                         goto out;<br>
>                 }<br>
>                 temp_mask_priv = glamor_get_pixmap_private((PixmapPtr)(temp_mask->pDrawable));<br>
> -               x_temp_mask = - extent->x1 + x_dest;<br>
> -               y_temp_mask = - extent->y1 + y_dest;<br>
> +               x_temp_mask = 0;<br>
> +               y_temp_mask = 0;<br>
>         }<br>
>         /* Do two-pass PictOpOver componentAlpha, until we enable<br>
>          * dual source color blending.<br>
> --<br>
> 1.8.5.2<br>
><br>
</div></div>> _______________________________________________<br>
> Glamor mailing list<br>
> <a href="mailto:Glamor@lists.freedesktop.org">Glamor@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/glamor" target="_blank">http://lists.freedesktop.org/mailman/listinfo/glamor</a><br>
</blockquote></div><br></div>