瀏覽代碼

Fixed theme image merging issue with missing elements

Brian Fiete 3 年之前
父節點
當前提交
20a932f5a7
共有 3 個文件被更改,包括 8 次插入2 次删除
  1. 3 0
      BeefTools/ImgCreate/ImgCreate.cpp
  2. 二進制
      IDE/dist/images/ImgCreate.exe
  3. 5 2
      IDE/src/Settings.bf

+ 3 - 0
BeefTools/ImgCreate/ImgCreate.cpp

@@ -248,6 +248,9 @@ int main()
 
 	auto _HasUniqueThemeImage = [&](int col, int row, int size)
 	{
+		if (!_HasImage(col, row, 1, size))
+			return false;
+
 		int scale = 1 << size;
 		auto srcImage0 = imageDatas[0][size];
 		if (srcImage0 == NULL)

二進制
IDE/dist/images/ImgCreate.exe


+ 5 - 2
IDE/src/Settings.bf

@@ -469,6 +469,9 @@ namespace IDE
 						mColors.Deserialize(sd);
 				}
 
+				String imgCreatePath = scope String(gApp.mInstallDir, "images/ImgCreate.exe");
+				let imgCreateExeTime = File.GetLastWriteTime(imgCreatePath).GetValueOrDefault();
+
 				for (let theme in mTheme)
 				{
 					String relPath = scope .()..Append(gApp.mInstallDir, "themes/");
@@ -523,12 +526,12 @@ namespace IDE
 							needsRebuild = true;
 						if (origImageTime > minDestImgTime)
 							needsRebuild = true;
+						if (imgCreateExeTime > minDestImgTime)
+							needsRebuild = true;
 					}
 
 					if (needsRebuild)
 					{
-						String imgCreatePath = scope String(absPath, "../../images/ImgCreate.exe");
-
 						ProcessStartInfo procInfo = scope ProcessStartInfo();
 						procInfo.UseShellExecute = false;
 						procInfo.RedirectStandardError = true;