aboutsummaryrefslogtreecommitdiffstats
path: root/android/avd
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@android.com>2011-06-23 18:23:08 +0200
committerDavid 'Digit' Turner <digit@android.com>2011-08-04 13:15:35 +0200
commit41c787acecaa497b2ee5fd8297feb7be976d0f1d (patch)
tree855b110710bafb95d754a0da958fcaa1b2ea0341 /android/avd
parentfd79a9a99d1fa1b811b65db366692fee00904021 (diff)
downloadexternal_qemu-41c787acecaa497b2ee5fd8297feb7be976d0f1d.zip
external_qemu-41c787acecaa497b2ee5fd8297feb7be976d0f1d.tar.gz
external_qemu-41c787acecaa497b2ee5fd8297feb7be976d0f1d.tar.bz2
Fix -sysdir handling.
This is a back-port from master to tools_r13 This patch fixes the processing of the -sysdir option. Previously, using -sysdir <path> would imply that the -system <path>/<path>/system.img is used, which is incorrect. Also fixes the skin search for the case where we are using the emulator without a pre-existing AVD outside of platform builds (e.g. when running tests). This happens with stuff like: emulator -sysdir /path/to/known/sdk/platforms/<name>/images The patch ensures that the /path/to/known/sdk/platforms/<name>/skins directory is probed (this was the behaviour of the Tools R11 emulator). Change-Id: Ibf7ad97de8e1da375f1049600807e0b3d30bfaaa Orig-Change-Id: I32398bec0d7a28ead234f63c847d3ec95ed14b63 Orig-Change-Id: Id77ea9bdc55bb99c1bfbd2ade291ec41f31ec65d
Diffstat (limited to 'android/avd')
-rw-r--r--android/avd/info.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/android/avd/info.c b/android/avd/info.c
index a9fc711..1ab066c 100644
--- a/android/avd/info.c
+++ b/android/avd/info.c
@@ -1117,6 +1117,17 @@ avdInfo_getSkinInfo( AvdInfo* i, char** pSkinName, char** pSkinDir )
if (skinPath != NULL)
break;
}
+
+ /* or in the parent directory of the system dir */
+ {
+ char* parentDir = path_parent(i->androidOut, 1);
+ if (parentDir != NULL) {
+ skinPath = _checkSkinSkinsDir(parentDir, skinName);
+ AFREE(parentDir);
+ if (skinPath != NULL)
+ break;
+ }
+ }
}
/* look in the search paths. For each <dir> in the list,
@@ -1137,6 +1148,7 @@ avdInfo_getSkinInfo( AvdInfo* i, char** pSkinName, char** pSkinDir )
}
/* We didn't find anything ! */
+ *pSkinName = skinName;
return;
} while (0);