summaryrefslogtreecommitdiffstats
path: root/libs/surfaceflinger/SurfaceFlinger.cpp
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-04-29 13:35:37 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2009-04-29 13:35:37 -0700
commita73b41ae601b391ae67a4c603d07f8949cd666ac (patch)
tree6796599b363bad3c1c722107fc60a7e8cd94026e /libs/surfaceflinger/SurfaceFlinger.cpp
parent2f7e0447ac746e940db753178d513df914c20334 (diff)
parent0124a150157d69a9f0ea109be2390afb5399b8a7 (diff)
downloadframeworks_base-a73b41ae601b391ae67a4c603d07f8949cd666ac.zip
frameworks_base-a73b41ae601b391ae67a4c603d07f8949cd666ac.tar.gz
frameworks_base-a73b41ae601b391ae67a4c603d07f8949cd666ac.tar.bz2
am 0124a15: Merge change 626 into donut
Merge commit '0124a150157d69a9f0ea109be2390afb5399b8a7' * commit '0124a150157d69a9f0ea109be2390afb5399b8a7': fix 1803886 android15 Translucent GLSurfaceView demo does not display properly
Diffstat (limited to 'libs/surfaceflinger/SurfaceFlinger.cpp')
-rw-r--r--libs/surfaceflinger/SurfaceFlinger.cpp14
1 files changed, 12 insertions, 2 deletions
diff --git a/libs/surfaceflinger/SurfaceFlinger.cpp b/libs/surfaceflinger/SurfaceFlinger.cpp
index c2adf07..54b33ce 100644
--- a/libs/surfaceflinger/SurfaceFlinger.cpp
+++ b/libs/surfaceflinger/SurfaceFlinger.cpp
@@ -242,6 +242,9 @@ sp<IMemory> SurfaceFlinger::getCblk() const
status_t SurfaceFlinger::requestGPU(const sp<IGPUCallback>& callback,
gpu_info_t* gpu)
{
+ if (mGPU == 0)
+ return INVALID_OPERATION;
+
IPCThreadState* ipc = IPCThreadState::self();
const int pid = ipc->getCallingPid();
status_t err = mGPU->request(pid, callback, gpu);
@@ -250,6 +253,9 @@ status_t SurfaceFlinger::requestGPU(const sp<IGPUCallback>& callback,
status_t SurfaceFlinger::revokeGPU()
{
+ if (mGPU == 0)
+ return INVALID_OPERATION;
+
return mGPU->friendlyRevoke();
}
@@ -1601,10 +1607,14 @@ status_t SurfaceFlinger::onTransact(
}
return NO_ERROR;
case 1005: // ask GPU revoke
- mGPU->friendlyRevoke();
+ if (mGPU != 0) {
+ mGPU->friendlyRevoke();
+ }
return NO_ERROR;
case 1006: // revoke GPU
- mGPU->unconditionalRevoke();
+ if (mGPU != 0) {
+ mGPU->unconditionalRevoke();
+ }
return NO_ERROR;
case 1007: // set mFreezeCount
mFreezeCount = data.readInt32();