Make sure surface control is really valid before giving it to client am: 7581cddf25
am: d3edf1e799
Change-Id: I25cb7bb6a3f87795af75d637bf98b682197f3627
This commit is contained in:
@@ -2908,12 +2908,11 @@ public class WindowManagerService extends IWindowManager.Stub
|
|||||||
}
|
}
|
||||||
result |= RELAYOUT_RES_SURFACE_CHANGED;
|
result |= RELAYOUT_RES_SURFACE_CHANGED;
|
||||||
}
|
}
|
||||||
final WindowSurfaceController surfaceController = winAnimator.mSurfaceController;
|
if (viewVisibility == View.VISIBLE && winAnimator.hasSurface()) {
|
||||||
if (viewVisibility == View.VISIBLE && surfaceController != null) {
|
|
||||||
// We already told the client to go invisible, but the message may not be
|
// We already told the client to go invisible, but the message may not be
|
||||||
// handled yet, or it might want to draw a last frame. If we already have a
|
// handled yet, or it might want to draw a last frame. If we already have a
|
||||||
// surface, let the client use that, but don't create new surface at this point.
|
// surface, let the client use that, but don't create new surface at this point.
|
||||||
surfaceController.getSurface(outSurface);
|
winAnimator.mSurfaceController.getSurface(outSurface);
|
||||||
} else {
|
} else {
|
||||||
if (DEBUG_VISIBILITY) Slog.i(TAG_WM, "Releasing surface in: " + win);
|
if (DEBUG_VISIBILITY) Slog.i(TAG_WM, "Releasing surface in: " + win);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user