diff options
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.cpp')
| -rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index 38d9f109dc..e308c80b37 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -4571,7 +4571,7 @@ status_t SurfaceFlinger::mirrorLayer(const LayerCreationArgs& args, args.name, mirrorFrom->sequence); } return addClientLayer(args.client, *outHandle, mirrorLayer /* layer */, nullptr /* parent */, - false /* addAsRoot */, nullptr /* outTransformHint */); + false /* addToRoot */, nullptr /* outTransformHint */); } status_t SurfaceFlinger::createLayer(LayerCreationArgs& args, sp<IBinder>* outHandle, @@ -4611,7 +4611,7 @@ status_t SurfaceFlinger::createLayer(LayerCreationArgs& args, sp<IBinder>* outHa return result; } - bool addToRoot = callingThreadHasUnscopedSurfaceFlingerAccess(); + bool addToRoot = args.addToRoot && callingThreadHasUnscopedSurfaceFlingerAccess(); wp<Layer> parent(parentHandle != nullptr ? fromHandle(parentHandle) : parentLayer); if (parentHandle != nullptr && parent == nullptr) { ALOGE("Invalid parent handle %p.", parentHandle.get()); |