Skip to content

Commit 064dc29

Browse files
dsarnoclaude
andcommitted
fix: Implement CodeRabbit resource management and type safety improvements
- Move RenderTexture cleanup to finally block to ensure proper disposal - Add PNG data validation before Base64 conversion - Add explicit TextureFormat.RGB24 specification - Add bool() coercion for prefer_last parameter to handle non-boolean JSON values 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 264b585 commit 064dc29

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

UnityMcpBridge/Editor/Tools/ManageAsset.cs

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1279,21 +1279,24 @@ private static object GetAssetData(string path, bool generatePreview = false)
12791279
rt = RenderTexture.GetTemporary(preview.width, preview.height);
12801280
Graphics.Blit(preview, rt);
12811281
RenderTexture.active = rt;
1282-
readablePreview = new Texture2D(preview.width, preview.height);
1282+
readablePreview = new Texture2D(preview.width, preview.height, TextureFormat.RGB24, false);
12831283
readablePreview.ReadPixels(new Rect(0, 0, rt.width, rt.height), 0, 0);
12841284
readablePreview.Apply();
1285+
1286+
var pngData = readablePreview.EncodeToPNG();
1287+
if (pngData != null && pngData.Length > 0)
1288+
{
1289+
previewBase64 = Convert.ToBase64String(pngData);
1290+
previewWidth = readablePreview.width;
1291+
previewHeight = readablePreview.height;
1292+
}
12851293
}
12861294
finally
12871295
{
12881296
RenderTexture.active = previous;
12891297
if (rt != null) RenderTexture.ReleaseTemporary(rt);
1298+
if (readablePreview != null) UnityEngine.Object.DestroyImmediate(readablePreview);
12901299
}
1291-
1292-
var pngData = readablePreview.EncodeToPNG();
1293-
previewBase64 = Convert.ToBase64String(pngData);
1294-
previewWidth = readablePreview.width;
1295-
previewHeight = readablePreview.height;
1296-
UnityEngine.Object.DestroyImmediate(readablePreview);
12971300
}
12981301
catch (Exception ex)
12991302
{

UnityMcpBridge/UnityMcpServer~/src/tools/manage_script_edits.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ def _apply_edits_locally(original_text: str, edits: List[Dict[str, Any]]) -> str
4242
flags = re.MULTILINE | (re.IGNORECASE if edit.get("ignore_case") else 0)
4343

4444
# Find the best match using improved heuristics
45-
match = _find_best_anchor_match(anchor, text, flags, edit.get("prefer_last", True))
45+
match = _find_best_anchor_match(anchor, text, flags, bool(edit.get("prefer_last", True)))
4646
if not match:
4747
if edit.get("allow_noop", True):
4848
continue

0 commit comments

Comments
 (0)