mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2025-02-16 20:15:38 +00:00
Fixed multiple memory leaks in GuiThemeDownloader
This commit is contained in:
parent
e4e58f036b
commit
584ed7fce2
|
@ -305,6 +305,8 @@ bool GuiThemeDownloader::fetchRepository(const std::string& repositoryName, bool
|
||||||
mMessage = "THEME ALREADY UP TO DATE";
|
mMessage = "THEME ALREADY UP TO DATE";
|
||||||
git_annotated_commit_free(annotated);
|
git_annotated_commit_free(annotated);
|
||||||
git_object_free(object);
|
git_object_free(object);
|
||||||
|
git_remote_free(gitRemote);
|
||||||
|
git_repository_free(repository);
|
||||||
mPromise.set_value(true);
|
mPromise.set_value(true);
|
||||||
if (isThemesList)
|
if (isThemesList)
|
||||||
mLatestThemesList = true;
|
mLatestThemesList = true;
|
||||||
|
@ -337,6 +339,8 @@ bool GuiThemeDownloader::fetchRepository(const std::string& repositoryName, bool
|
||||||
git_reference_free(oldTargetRef);
|
git_reference_free(oldTargetRef);
|
||||||
git_reference_free(newTargetRef);
|
git_reference_free(newTargetRef);
|
||||||
git_annotated_commit_free(annotated);
|
git_annotated_commit_free(annotated);
|
||||||
|
// Not sure why you need to run this twice, but if you don't there will be a memory leak.
|
||||||
|
git_object_free(object);
|
||||||
git_object_free(object);
|
git_object_free(object);
|
||||||
|
|
||||||
if (errorCode != 0)
|
if (errorCode != 0)
|
||||||
|
@ -344,9 +348,6 @@ bool GuiThemeDownloader::fetchRepository(const std::string& repositoryName, bool
|
||||||
|
|
||||||
if (isThemesList)
|
if (isThemesList)
|
||||||
mLatestThemesList = true;
|
mLatestThemesList = true;
|
||||||
|
|
||||||
if (gitRemote != nullptr)
|
|
||||||
git_remote_disconnect(gitRemote);
|
|
||||||
}
|
}
|
||||||
catch (std::runtime_error& runtimeError) {
|
catch (std::runtime_error& runtimeError) {
|
||||||
const git_error* gitError {git_error_last()};
|
const git_error* gitError {git_error_last()};
|
||||||
|
@ -354,8 +355,8 @@ bool GuiThemeDownloader::fetchRepository(const std::string& repositoryName, bool
|
||||||
mRepositoryError = RepositoryError::FETCH_ERROR;
|
mRepositoryError = RepositoryError::FETCH_ERROR;
|
||||||
mMessage = gitError->message;
|
mMessage = gitError->message;
|
||||||
git_error_clear();
|
git_error_clear();
|
||||||
if (gitRemote != nullptr)
|
git_remote_free(gitRemote);
|
||||||
git_remote_disconnect(gitRemote);
|
git_repository_free(repository);
|
||||||
mPromise.set_value(true);
|
mPromise.set_value(true);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -365,6 +366,8 @@ bool GuiThemeDownloader::fetchRepository(const std::string& repositoryName, bool
|
||||||
mHasThemeUpdates = true;
|
mHasThemeUpdates = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
git_remote_free(gitRemote);
|
||||||
|
git_repository_free(repository);
|
||||||
mPromise.set_value(true);
|
mPromise.set_value(true);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -1091,8 +1094,6 @@ bool GuiThemeDownloader::fetchThemesList()
|
||||||
(mRenderer->getIsVerticalOrientation() ?
|
(mRenderer->getIsVerticalOrientation() ?
|
||||||
0.85f :
|
0.85f :
|
||||||
0.54f * (1.778f / mRenderer->getScreenAspectRatio()))));
|
0.54f * (1.778f / mRenderer->getScreenAspectRatio()))));
|
||||||
|
|
||||||
std::string teststring;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|
Loading…
Reference in a new issue