Correction d'une fuite mémoire
This commit is contained in:
parent
e72f6eacbe
commit
16fd531218
|
@ -18,15 +18,15 @@ ResourceManager::~ResourceManager() {
|
||||||
*/
|
*/
|
||||||
std::string getCurrentDirectory() {
|
std::string getCurrentDirectory() {
|
||||||
int length = wai_getExecutablePath(NULL, 0, NULL), dirname_length;
|
int length = wai_getExecutablePath(NULL, 0, NULL), dirname_length;
|
||||||
char* buffer = new char[length + 1];
|
std::unique_ptr<char> buffer = std::unique_ptr<char>(new char[length + 1]);
|
||||||
wai_getExecutablePath(buffer, length, &dirname_length);
|
wai_getExecutablePath(buffer.get(), length, &dirname_length);
|
||||||
|
|
||||||
if (dirname_length == 0) {
|
if (dirname_length == 0) {
|
||||||
throw std::runtime_error("Impossible de déterminer le chemin actuel");
|
throw std::runtime_error("Impossible de déterminer le chemin actuel");
|
||||||
}
|
}
|
||||||
|
|
||||||
buffer[length] = '\0';
|
buffer.get()[length] = '\0';
|
||||||
return std::string(buffer).substr(0, dirname_length);
|
return std::string(buffer.get()).substr(0, dirname_length);
|
||||||
}
|
}
|
||||||
|
|
||||||
sf::Texture& ResourceManager::getTexture(std::string name) {
|
sf::Texture& ResourceManager::getTexture(std::string name) {
|
||||||
|
|
Loading…
Reference in New Issue