Carl,<br><br>Thanks!  I appreciate the help.  I should have posted here a few months ago when I first found the problem!<br><br>Your solution worked perfect.<br><br>To fix, I replaced these lines:<br><br>  cairo_scale  (cr, width, height);<br>

  cairo_set_source_surface (cr, widget-&gt;bg_image_surface, 0, 0);<br>  cairo_paint (cr);<br><br><br>With these lines:<br><br>  cairo_scale  (cr, width, height);<br>  cairo_set_source_surface (cr, widget-&gt;bg_image_surface, 0, 0);<br>

  cairo_pattern_set_extend(cairo_get_source(cr), CAIRO_EXTEND_PAD);<br>  cairo_rectangle(cr, 0, 0, width, height);<br>  cairo_fill(cr);<br><br><br>One thing to note, in my particular case, using cairo_paint worked fine.  I figured I would add the cairo_rectangle &amp; cairo_fill calls anyway, just to be safe.<br>

<br><br>If I can be of more help in tracking down this bug I&#39;ll lend my assistance.  I&#39;m personally out of ideas except for tracking down the issue to a block of code based on two versions of the intel drivers, which seems extremely painful.<br>

<br><br><br>Thanks,<br>Mike<br><br>--<br><div class="gmail_quote">On Thu, Jul 30, 2009 at 2:06 PM, Carl Worth <span dir="ltr">&lt;<a href="mailto:cworth@cworth.org">cworth@cworth.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div class="im">On Thu, 2009-07-30 at 10:54 -0700, Bill Spitzak wrote:<br>
&gt; Hate to be a pain about this, but I want to point out that this is yet<br>
&gt; ANOTHER example that this is in fact NOT what any user expects or wants.<br>
&gt; They think the driver is broken, in no way do they think it is doing the<br>
&gt; correct thing!<br>
<br>
</div>Yes, Bill. We know that this is a common cause of confusion. I probably<br>
made a mistake in making EXTEND_NONE the default for surface-based<br>
patterns, (compare with gradient patterns where EXTEND_PAD is the<br>
default). If we had EXTEND_PAD as the default, then it would be that<br>
much easier for people to understand what cairo_paint() does and they<br>
would be forced to fix their code to do things like<br>
cairo_rectangle()cairo_fill() even before usiong a non-identity<br>
transformation.<br>
<div class="im"><br>
&gt; I still think Cairo could be changed to do EXTEND_REPEAT and clip with<br>
&gt; an antialiased polygon and everybody would be happier.<br>
<br>
</div>Certainly you mean EXTEND_PAD here, not EXTEND_REPEAT, (since<br>
EXTEND_REPEAT will give you discontinuities unless your image happens to<br>
be periodic).<br>
<br>
But still, adding an additional stage of compositing to all operations<br>
would not make me happy at all, (nor anybody else who cares about<br>
performance).<br>
<br>
The operation that people want is available in cairo, it just takes a<br>
little more typing, (set_extend;rectangle;fill rather than paint), but<br>
it&#39;s the kind of thing that&#39;s easy to wrap up as a &quot;draw_image&quot; function<br>
in whatever environment is calling into cairo.<br>
<font color="#888888"><br>
-Carl<br>
<br>
</font><br>_______________________________________________<br>
cairo mailing list<br>
<a href="mailto:cairo@cairographics.org">cairo@cairographics.org</a><br>
<a href="http://lists.cairographics.org/mailman/listinfo/cairo" target="_blank">http://lists.cairographics.org/mailman/listinfo/cairo</a><br></blockquote></div><br>