diff options
| -rw-r--r-- | services/core/java/com/android/server/display/DisplayManagerService.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/display/DisplayManagerService.java b/services/core/java/com/android/server/display/DisplayManagerService.java index 45a96441e57e..971989b21219 100644 --- a/services/core/java/com/android/server/display/DisplayManagerService.java +++ b/services/core/java/com/android/server/display/DisplayManagerService.java @@ -1402,7 +1402,7 @@ public final class DisplayManagerService extends SystemService { throw new IllegalArgumentException("width, height, and densityDpi must be " + "greater than 0"); } - if (surface.isSingleBuffered()) { + if (surface != null && surface.isSingleBuffered()) { throw new IllegalArgumentException("Surface can't be single-buffered"); } @@ -1463,6 +1463,9 @@ public final class DisplayManagerService extends SystemService { @Override // Binder call public void setVirtualDisplaySurface(IVirtualDisplayCallback callback, Surface surface) { + if (surface != null && surface.isSingleBuffered()) { + throw new IllegalArgumentException("Surface can't be single-buffered"); + } final long token = Binder.clearCallingIdentity(); try { setVirtualDisplaySurfaceInternal(callback.asBinder(), surface); |