diff options
author | Konstantin Lopyrev <klopyrev@google.com> | 2010-08-25 17:37:45 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-08-25 17:37:45 -0700 |
commit | 5a54e98022d640900f94102c077d8dff447f3c76 (patch) | |
tree | 9f67389d43875744005b2a9d8d83fb647a368a53 /services | |
parent | d72c1172f669d0a50a5164672c354ec7fb4ac9aa (diff) | |
parent | 6947cc594276df899a0c4662224455f40846bd0a (diff) | |
download | frameworks_base-5a54e98022d640900f94102c077d8dff447f3c76.zip frameworks_base-5a54e98022d640900f94102c077d8dff447f3c76.tar.gz frameworks_base-5a54e98022d640900f94102c077d8dff447f3c76.tar.bz2 |
am 6947cc59: Merge "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." into gingerbread
Merge commit '6947cc594276df899a0c4662224455f40846bd0a' into gingerbread-plus-aosp
* commit '6947cc594276df899a0c4662224455f40846bd0a':
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.
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; |