From: Jeremy Kolb Date: Mon, 20 Jun 2005 03:12:35 +0000 (+0000) Subject: Fixed some issues where XCB replies were being freed and data was not being copied. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4378dee78ce08a66a0d81cc603abe5d64895093f;p=mesa.git Fixed some issues where XCB replies were being freed and data was not being copied. --- diff --git a/src/mesa/glapi/glX_proto_send.py b/src/mesa/glapi/glX_proto_send.py index ef47edd42a4..94c096e686d 100644 --- a/src/mesa/glapi/glX_proto_send.py +++ b/src/mesa/glapi/glX_proto_send.py @@ -453,11 +453,9 @@ generic_%u_byte( GLint rop, const void * ptr ) elif f.output and not f.reply_always_array: if not f.image and not f.name == "GenQueriesARB": print ' if (%sDataLength(reply) == 0)' % (xcb_name) - print ' %s = (%s *) &reply->datum;' % (f.output.name, f.output.p_type.name) + print ' (void)memcpy(%s, &reply->datum, sizeof(reply->datum));' % (f.output.name) print ' else' - print ' %s = (%s *)%sData(reply);' % (f.output.name, f.output.p_type.name, xcb_name) - else: - print ' %s = (%s *)%sData(reply);' % (f.output.name, f.output.p_type.name, xcb_name) + print ' (void)memcpy(%s, %sData(reply), %sDataLength(reply) * sizeof(%s));' % (f.output.name, xcb_name, xcb_name, f.output.p_type.name) if f.fn_return_type != 'void':