diff options
| author | Konstantin Lopyrev <klopyrev@google.com> | 2010-08-24 22:00:12 -0700 |
|---|---|---|
| committer | Konstantin Lopyrev <klopyrev@google.com> | 2010-08-25 13:38:27 -0700 |
| commit | 43b9b48f792e0b1b166af7f7fb6a32172e7f11c2 (patch) | |
| tree | a2b672ac91132c4e950df1a831d58b1905befca3 /services | |
| parent | b8814dce287552c1bdf13fa999296ebc7387776d (diff) | |
| download | frameworks_base-43b9b48f792e0b1b166af7f7fb6a32172e7f11c2.zip frameworks_base-43b9b48f792e0b1b166af7f7fb6a32172e7f11c2.tar.gz frameworks_base-43b9b48f792e0b1b166af7f7fb6a32172e7f11c2.tar.bz2 | |
Preventing the hierarchy viewer from getting stuck, once when trying to load the window data for SurfaceView and the Wallpaper, and in the case the captured node has disappeared.
Change-Id: Iaff6bd501a2bb3faa7a394fff740479f6a95e899
Diffstat (limited to 'services')
| -rw-r--r-- | services/java/com/android/server/WindowManagerService.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/services/java/com/android/server/WindowManagerService.java b/services/java/com/android/server/WindowManagerService.java index 421d1c4..9b9d950 100644 --- a/services/java/com/android/server/WindowManagerService.java +++ b/services/java/com/android/server/WindowManagerService.java @@ -4808,6 +4808,8 @@ public class WindowManagerService extends IWindowManager.Stub Parcel data = null; Parcel reply = null; + BufferedWriter out = null; + // Any uncaught exception will crash the system process try { // Find the hashcode of the window @@ -4845,6 +4847,12 @@ public class WindowManagerService extends IWindowManager.Stub reply.readException(); + if (!client.isOutputShutdown()) { + out = new BufferedWriter(new OutputStreamWriter(client.getOutputStream())); + out.write("DONE\n"); + out.flush(); + } + } catch (Exception e) { Slog.w(TAG, "Could not send command " + command + " with parameters " + parameters, e); success = false; @@ -4855,6 +4863,13 @@ public class WindowManagerService extends IWindowManager.Stub if (reply != null) { reply.recycle(); } + if (out != null) { + try { + out.close(); + } catch (IOException e) { + + } + } } return success; |
