|Summary:||Don't call vgGetError()/eglGetError() repeatedly|
|Product:||WebKit||Reporter:||Jakob Petsovits <jpetsovits>|
|Version:||528+ (Nightly build)|
|OS:||OS X 10.5|
|Bug Depends on:|
|Bug Blocks:||33405, 33987|
Description Jakob Petsovits 2010-01-21 10:45:56 PST
Don't call vgGetError()/eglGetError() repeatedly
Comment 2 Jakob Petsovits 2010-01-21 10:58:23 PST
While changing the VG/EGL error macros to something that reviewer Niko liked better, I introduced a bug in there. I thought I could be smart and get rid of the temporary variable that holds the error code, and tested it with eglGetError() on the OpenVG reference implementation to make sure it works. Turns out that wasn't the best idea. On the one hand, vgGetError() turns out to be specified differently than eglGetError() so it must only be called once in any case. On the other hand, eglGetError() turns out to be so vaguely specified that implementations and even EGL patron Khronos interprets the spec inconsistently. On a more positive note, if I hadn't introduced the bug in the first place, the SurfaceOpenVG pbuffer constructor (and the related EGLDisplayOpenVG::createPbufferSurface()) would have suffered from a subtle bug which is being taken care of in this patch as well. Please read the commit message too, and review. Thanks!
Comment 3 Adam Treat 2010-01-21 12:10:13 PST
Comment on attachment 47130 [details] Patch As discussed on irc, r=me with the removal of unused 'ASSERT_VG_NO_ERROR_VALUE'