diff --git a/src/xenia/ui/imgui_drawer.cc b/src/xenia/ui/imgui_drawer.cc index 756f63710..9fc1aa90e 100644 --- a/src/xenia/ui/imgui_drawer.cc +++ b/src/xenia/ui/imgui_drawer.cc @@ -289,9 +289,13 @@ std::unique_ptr ImGuiDrawer::LoadImGuiIcon( return {}; } - return immediate_drawer_->CreateTexture( + auto texture = immediate_drawer_->CreateTexture( width, height, ImmediateTextureFilter::kLinear, true, reinterpret_cast(image_data)); + + stbi_image_free(image_data); + + return texture; } std::map> ImGuiDrawer::LoadIcons( @@ -328,6 +332,8 @@ void ImGuiDrawer::SetupNotificationTextures() { notification_icon_textures_.push_back(immediate_drawer_->CreateTexture( width, height, ImmediateTextureFilter::kLinear, true, reinterpret_cast(image_data))); + + stbi_image_free(image_data); } } @@ -568,6 +574,8 @@ void ImGuiDrawer::SetImmediateDrawer(ImmediateDrawer* new_immediate_drawer) { locked_achievement_icon_ = immediate_drawer_->CreateTexture( width, height, ImmediateTextureFilter::kLinear, true, reinterpret_cast(image_data)); + + stbi_image_free(image_data); } }