diff options
author | Romain Guy <romainguy@google.com> | 2011-03-07 18:05:04 -0800 |
---|---|---|
committer | Romain Guy <romainguy@google.com> | 2011-03-07 18:05:04 -0800 |
commit | 9b7146db6d9c0586b98b062fbcdb3fac6cc54d19 (patch) | |
tree | bb07142137a690e7fe705608da0d779ea942809e /opengl/java/com | |
parent | 0aaa11ed5be45170fb2535a6ce021c92b18d8878 (diff) | |
download | frameworks_base-9b7146db6d9c0586b98b062fbcdb3fac6cc54d19.zip frameworks_base-9b7146db6d9c0586b98b062fbcdb3fac6cc54d19.tar.gz frameworks_base-9b7146db6d9c0586b98b062fbcdb3fac6cc54d19.tar.bz2 |
Fix EGL JNI bugs
Bug #3461349
Before this change, eglGetCurrent*() could not be used to compare
contexts, displays and surfaces at the Dalvik level.
Change-Id: I442037dae37bc357b64810ab10c779b5754e9153
Diffstat (limited to 'opengl/java/com')
3 files changed, 47 insertions, 0 deletions
diff --git a/opengl/java/com/google/android/gles_jni/EGLContextImpl.java b/opengl/java/com/google/android/gles_jni/EGLContextImpl.java index 9cf5de7..cd36099 100644 --- a/opengl/java/com/google/android/gles_jni/EGLContextImpl.java +++ b/opengl/java/com/google/android/gles_jni/EGLContextImpl.java @@ -32,4 +32,19 @@ public class EGLContextImpl extends EGLContext { public GL getGL() { return mGLContext; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + EGLContextImpl that = (EGLContextImpl) o; + + return mEGLContext == that.mEGLContext; + } + + @Override + public int hashCode() { + return mEGLContext; + } } diff --git a/opengl/java/com/google/android/gles_jni/EGLDisplayImpl.java b/opengl/java/com/google/android/gles_jni/EGLDisplayImpl.java index cb94888..e6c9817 100644 --- a/opengl/java/com/google/android/gles_jni/EGLDisplayImpl.java +++ b/opengl/java/com/google/android/gles_jni/EGLDisplayImpl.java @@ -24,4 +24,20 @@ public class EGLDisplayImpl extends EGLDisplay { public EGLDisplayImpl(int dpy) { mEGLDisplay = dpy; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + EGLDisplayImpl that = (EGLDisplayImpl) o; + + return mEGLDisplay == that.mEGLDisplay; + + } + + @Override + public int hashCode() { + return mEGLDisplay; + } } diff --git a/opengl/java/com/google/android/gles_jni/EGLSurfaceImpl.java b/opengl/java/com/google/android/gles_jni/EGLSurfaceImpl.java index f6b90ab..e7f15dc 100644 --- a/opengl/java/com/google/android/gles_jni/EGLSurfaceImpl.java +++ b/opengl/java/com/google/android/gles_jni/EGLSurfaceImpl.java @@ -29,4 +29,20 @@ public class EGLSurfaceImpl extends EGLSurface { mEGLSurface = surface; mNativePixelRef = 0; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + EGLSurfaceImpl that = (EGLSurfaceImpl) o; + + return mEGLSurface == that.mEGLSurface; + + } + + @Override + public int hashCode() { + return mEGLSurface; + } } |