From 0c7b5addba4d936fd37b111dafda94e873437647 Mon Sep 17 00:00:00 2001 From: kijai <40791699+kijai@users.noreply.github.com> Date: Wed, 15 Apr 2026 00:47:25 +0300 Subject: [PATCH] Edge case fixes --- comfy/ldm/sam3/tracker.py | 3 +-- comfy/text_encoders/sam3_clip.py | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/comfy/ldm/sam3/tracker.py b/comfy/ldm/sam3/tracker.py index 84f2a3e4c..6ff6369d1 100644 --- a/comfy/ldm/sam3/tracker.py +++ b/comfy/ldm/sam3/tracker.py @@ -1640,7 +1640,6 @@ class SAM31Tracker(nn.Module): output_dict = {"cond_frame_outputs": {}, "non_cond_frame_outputs": {}} all_masks = [] idev = comfy.model_management.intermediate_device() - empty = lambda: torch.zeros(0, self.image_size, self.image_size, device=idev, dtype=dt) mux_state = None if initial_masks is not None: mux_state = MultiplexState(initial_masks.shape[0], self.num_multiplex, device, dt) @@ -1710,7 +1709,7 @@ class SAM31Tracker(nn.Module): for i in range(mux_state.total_valid_entries): keep_alive[i] = 1 else: - all_masks.append(empty()) + all_masks.append(None) if pbar is not None: pbar.update(1) # Skip to backbone advance at end of loop diff --git a/comfy/text_encoders/sam3_clip.py b/comfy/text_encoders/sam3_clip.py index 0e4249ece..11cb7d9db 100644 --- a/comfy/text_encoders/sam3_clip.py +++ b/comfy/text_encoders/sam3_clip.py @@ -50,7 +50,7 @@ class SAM3TokenizerWrapper(sd1_clip.SD1Tokenizer): def tokenize_with_weights(self, text: str, return_word_ids=False, **kwargs): parsed = _parse_prompts(text) - if len(parsed) <= 1 and parsed[0][1] == 1: + if len(parsed) <= 1 and (not parsed or parsed[0][1] == 1): return super().tokenize_with_weights(text, return_word_ids, **kwargs) # Tokenize each prompt part separately, store per-part batches and metadata inner = getattr(self, self.clip)