Fix bug in getSkin() that could result in skins not being fully read.
This commit is contained in:
parent
c54d767b6e
commit
f889624d86
1 changed files with 13 additions and 4 deletions
|
@ -93,10 +93,19 @@ public final class Skin {
|
||||||
reader = new InputStreamReader(res.getInputStream(), encoding);
|
reader = new InputStreamReader(res.getInputStream(), encoding);
|
||||||
}
|
}
|
||||||
|
|
||||||
char[] characterBuffer = new char[(int) res.getLength()];
|
int length = (int) res.getLength();
|
||||||
int length = reader.read(characterBuffer);
|
char[] characterBuffer = new char[length];
|
||||||
|
int read = 0;
|
||||||
reader.close();
|
try {
|
||||||
|
while (read < length) {
|
||||||
|
int r = reader.read(characterBuffer, read, length - read);
|
||||||
|
if (r == -1)
|
||||||
|
break;
|
||||||
|
read += r;
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
reader.close();
|
||||||
|
}
|
||||||
return new Skin(characterBuffer, length, app);
|
return new Skin(characterBuffer, length, app);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue