From 6693f236544b767f1c22b08a48d70428a3ce4ec9 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Thu, 6 Aug 2009 20:46:44 -0700 Subject: better error handling --- libs/ui/EGLUtils.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'libs/ui/EGLUtils.cpp') diff --git a/libs/ui/EGLUtils.cpp b/libs/ui/EGLUtils.cpp index 80bfdfd5c799..b8034783812e 100644 --- a/libs/ui/EGLUtils.cpp +++ b/libs/ui/EGLUtils.cpp @@ -37,6 +37,9 @@ status_t EGLUtils::selectConfigForPixelFormat( { EGLint numConfigs = -1, n=0; + if (!attrs) + return BAD_VALUE; + if (outConfig == NULL) return BAD_VALUE; @@ -93,6 +96,10 @@ status_t EGLUtils::selectConfigForNativeWindow( { int err; int format; + + if (!window) + return BAD_VALUE; + if ((err = window->query(window, NATIVE_WINDOW_FORMAT, &format)) < 0) { return err; } -- cgit v1.2.3-59-g8ed1b From 509dae53c54437eebd5291226e76c5456646f560 Mon Sep 17 00:00:00 2001 From: Mathias Agopian Date: Fri, 7 Aug 2009 16:37:21 -0700 Subject: added EGLUtils::strerror --- include/ui/EGLUtils.h | 2 ++ libs/ui/EGLUtils.cpp | 34 +++++++++++++++++++++++++++++----- 2 files changed, 31 insertions(+), 5 deletions(-) (limited to 'libs/ui/EGLUtils.cpp') diff --git a/include/ui/EGLUtils.h b/include/ui/EGLUtils.h index 48777b6f8635..a5bff812399b 100644 --- a/include/ui/EGLUtils.h +++ b/include/ui/EGLUtils.h @@ -31,6 +31,8 @@ class EGLUtils { public: + static const char *strerror(EGLint err); + static status_t selectConfigForPixelFormat( EGLDisplay dpy, EGLint const* attrs, diff --git a/libs/ui/EGLUtils.cpp b/libs/ui/EGLUtils.cpp index b8034783812e..1663313f2e3f 100644 --- a/libs/ui/EGLUtils.cpp +++ b/libs/ui/EGLUtils.cpp @@ -17,6 +17,7 @@ #define LOG_TAG "EGLUtils" +#include #include #include @@ -29,6 +30,28 @@ namespace android { // ---------------------------------------------------------------------------- +const char *EGLUtils::strerror(EGLint err) +{ + switch (err){ + case EGL_SUCCESS: return "EGL_SUCCESS"; + case EGL_NOT_INITIALIZED: return "EGL_NOT_INITIALIZED"; + case EGL_BAD_ACCESS: return "EGL_BAD_ACCESS"; + case EGL_BAD_ALLOC: return "EGL_BAD_ALLOC"; + case EGL_BAD_ATTRIBUTE: return "EGL_BAD_ATTRIBUTE"; + case EGL_BAD_CONFIG: return "EGL_BAD_CONFIG"; + case EGL_BAD_CONTEXT: return "EGL_BAD_CONTEXT"; + case EGL_BAD_CURRENT_SURFACE: return "EGL_BAD_CURRENT_SURFACE"; + case EGL_BAD_DISPLAY: return "EGL_BAD_DISPLAY"; + case EGL_BAD_MATCH: return "EGL_BAD_MATCH"; + case EGL_BAD_NATIVE_PIXMAP: return "EGL_BAD_NATIVE_PIXMAP"; + case EGL_BAD_NATIVE_WINDOW: return "EGL_BAD_NATIVE_WINDOW"; + case EGL_BAD_PARAMETER: return "EGL_BAD_PARAMETER"; + case EGL_BAD_SURFACE: return "EGL_BAD_SURFACE"; + case EGL_CONTEXT_LOST: return "EGL_CONTEXT_LOST"; + default: return "UNKNOWN"; + } +} + status_t EGLUtils::selectConfigForPixelFormat( EGLDisplay dpy, EGLint const* attrs, @@ -68,12 +91,13 @@ status_t EGLUtils::selectConfigForPixelFormat( EGLConfig config = NULL; for (i=0 ; i