From 3362b3688a6ddabbb24ddb3b7cd19eb8180bfc74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20M=C3=BCller?= Date: Sat, 21 Sep 2024 13:40:08 +0200 Subject: [PATCH] Fix editor crash when saving external RGB images after embedding Always convert image data to RGBA and dilate if enabled also for external images, as images may be embedded later and should therefore always be in RGBA format. --- src/game/editor/editor.cpp | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/game/editor/editor.cpp b/src/game/editor/editor.cpp index 3cd8faa2a..77a42d468 100644 --- a/src/game/editor/editor.cpp +++ b/src/game/editor/editor.cpp @@ -4358,13 +4358,10 @@ bool CEditor::ReplaceImage(const char *pFileName, int StorageType, bool CheckDup str_copy(pImg->m_aName, aBuf); pImg->m_External = IsVanillaImage(pImg->m_aName); - if(!pImg->m_External) + ConvertToRgba(*pImg); + if(g_Config.m_ClEditorDilate == 1) { - ConvertToRgba(*pImg); - if(g_Config.m_ClEditorDilate == 1) - { - DilateImage(*pImg); - } + DilateImage(*pImg); } pImg->m_AutoMapper.Load(pImg->m_aName); @@ -4425,13 +4422,10 @@ bool CEditor::AddImage(const char *pFileName, int StorageType, void *pUser) pImg->m_pData = ImgInfo.m_pData; pImg->m_External = IsVanillaImage(aBuf); - if(!pImg->m_External) + ConvertToRgba(*pImg); + if(g_Config.m_ClEditorDilate == 1) { - ConvertToRgba(*pImg); - if(g_Config.m_ClEditorDilate == 1) - { - DilateImage(*pImg); - } + DilateImage(*pImg); } int TextureLoadFlag = pEditor->Graphics()->Uses2DTextureArrays() ? IGraphics::TEXLOAD_TO_2D_ARRAY_TEXTURE : IGraphics::TEXLOAD_TO_3D_TEXTURE;