http://bugs.freedesktop.org/show_bug.cgi?id=7205





------- Comment #37 from [EMAIL PROTECTED]  2007-03-16 07:02 PST -------
(In reply to comment #35)
> I just tried a test case and confirmed that the fix in #33 is incorrect.  I'll
> have to double-check my !rb->Data changes from Mar 15 as well.
> Checking rb->Data != NULL isn't the correct way to tell if a renderbuffer is
> valid since some renderbuffer types may never use the rb->Data pointer.  An

Ok. Yes, I see, I missed one indirect function call, and moved up too far in
the stack.

Basically,

diff --git a/src/mesa/main/renderbuffer.c b/src/mesa/main/renderbuffer.c
index 1cc95a7..736c8e8 100644
--- a/src/mesa/main/renderbuffer.c
+++ b/src/mesa/main/renderbuffer.c
@@ -1374,6 +1374,8 @@ put_mono_row_alpha8(GLcontext *ctx, stru
    ASSERT(arb->DataType == GL_UNSIGNED_BYTE);
    /* first, pass the call to the wrapped RGB buffer */
    arb->Wrapped->PutMonoRow(ctx, arb->Wrapped, count, x, y, value, mask);
+   if (!arb->Data)
+      return;
    /* second, store alpha in our buffer */
    if (mask) {
       GLuint i;

will have the right effect, but it still might obscure a bug in a layer above.

> In this code:
> 
>     for (i = 0; i < ctx->DrawBuffer->_NumColorDrawBuffers[0]; i++) {
>        struct gl_renderbuffer *rb = ctx->DrawBuffer->_ColorDrawBuffers[0][i];
> +      if (!rb || !rb->Data)
> +         continue;
> 
> can you tell me if rb or rb->Data is null?

The backtrace already indicated:

#3  0x00002b556c244591 in clear_rgba_buffer (ctx=0xb17520, rb=0x1028b30) at
s_buffers.c:189

rb is not null, but rb->Data is.

> If rb is non-null, can you print *rb in gdb?  Also, what is the value of the
> array index 'i'?

Will do. i, AFAIR, was 0.


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to