Skip to content

Commit 10a24e5

Browse files
committed
Fixing Sentry #OPENSHOT-YG: IndexError: pop index out of range when moving unselected items up/down on Add to Timeline dialog.
1 parent 8c4c769 commit 10a24e5

File tree

1 file changed

+20
-12
lines changed

1 file changed

+20
-12
lines changed

src/windows/add_to_timeline.py

+20-12
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,20 @@ def btnMoveUpClicked(self, checked):
6161
if self.treeFiles.selected:
6262
selected_index = self.treeFiles.selected.row()
6363

64-
# Ignore if empty files
64+
# Ignore if empty files or no selection
6565
if not files or selected_index is None:
6666
return
6767

68-
# New index
69-
new_index = max(selected_index - 1, 0)
70-
log.info(new_index)
68+
# Check if selected_index is within valid range
69+
if 0 <= selected_index < len(files):
70+
# New index
71+
new_index = max(selected_index - 1, 0)
7172

72-
# Remove item and move it
73-
files.insert(new_index, files.pop(selected_index))
73+
# Remove item and move it
74+
files.insert(new_index, files.pop(selected_index))
75+
else:
76+
log.warning(f"Invalid selected_index: {selected_index}, list length: {len(files)}")
77+
return
7478

7579
# Refresh tree
7680
self.treeFiles.refresh_view()
@@ -90,16 +94,20 @@ def btnMoveDownClicked(self, checked):
9094
if self.treeFiles.selected:
9195
selected_index = self.treeFiles.selected.row()
9296

93-
# Ignore if empty files
97+
# Ignore if empty files or no selection
9498
if not files or selected_index is None:
9599
return
96100

97-
# New index
98-
new_index = min(selected_index + 1, len(files) - 1)
99-
log.info(new_index)
101+
# Check if selected_index is within valid range
102+
if 0 <= selected_index < len(files):
103+
# New index
104+
new_index = min(selected_index + 1, len(files) - 1)
100105

101-
# Remove item and move it
102-
files.insert(new_index, files.pop(selected_index))
106+
# Remove item and move it
107+
files.insert(new_index, files.pop(selected_index))
108+
else:
109+
log.warning(f"Invalid selected_index: {selected_index}, list length: {len(files)}")
110+
return
103111

104112
# Refresh tree
105113
self.treeFiles.refresh_view()

0 commit comments

Comments
 (0)