Skip to content

Commit 917c310

Browse files
vogellaclaude
andcommitted
Fix SubMonitor.convert() usage in Policy.subMonitorFor() methods
The previous implementation used SubMonitor.convert(monitor, ticks) which internally calls beginTask(), causing "beginTask may only be called once" errors when the returned monitor is passed to code that also calls beginTask(). The correct pattern is SubMonitor.convert(monitor).split(ticks), which creates a child monitor without calling beginTask on it, allowing the caller to call beginTask as needed. This fixes test failures where FussyProgressMonitor detected multiple beginTask calls (e.g., "beginTask may only be called once (old name=Opening 'MyProject'.)"). Files changed: - resources/bundles/org.eclipse.core.resources/.../Policy.java - team/bundles/org.eclipse.team.core/.../Policy.java - team/bundles/org.eclipse.team.ui/.../Policy.java - team/bundles/org.eclipse.jsch.core/.../Policy.java 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 403841b commit 917c310

File tree

4 files changed

+4
-4
lines changed
  • resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/utils
  • team/bundles
    • org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core
    • org.eclipse.team.core/src/org/eclipse/team/internal/core
    • org.eclipse.team.ui/src/org/eclipse/team/internal/ui

4 files changed

+4
-4
lines changed

resources/bundles/org.eclipse.core.resources/src/org/eclipse/core/internal/utils/Policy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,6 @@ public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks
189189
if (monitor instanceof NullProgressMonitor) {
190190
return monitor;
191191
}
192-
return new SubProgressMonitor(monitor, ticks);
192+
return SubMonitor.convert(monitor).split(ticks);
193193
}
194194
}

team/bundles/org.eclipse.jsch.core/src/org/eclipse/jsch/internal/core/Policy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public static IProgressMonitor subMonitorFor(IProgressMonitor monitor,
3838
if(monitor instanceof NullProgressMonitor){
3939
return monitor;
4040
}
41-
return SubMonitor.convert(monitor, ticks);
41+
return SubMonitor.convert(monitor).split(ticks);
4242
}
4343

4444
}

team/bundles/org.eclipse.team.core/src/org/eclipse/team/internal/core/Policy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks
5757
if (monitor instanceof NullProgressMonitor) {
5858
return monitor;
5959
}
60-
return SubMonitor.convert(monitor, ticks);
60+
return SubMonitor.convert(monitor).split(ticks);
6161
}
6262

6363
public static IProgressMonitor infiniteSubMonitorFor(IProgressMonitor monitor, int ticks) {

team/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/Policy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks
7272
if (monitor instanceof NullProgressMonitor) {
7373
return monitor;
7474
}
75-
return SubMonitor.convert(monitor, ticks);
75+
return SubMonitor.convert(monitor).split(ticks);
7676
}
7777

7878
public static IProgressMonitor monitorFor(IProgressMonitor monitor) {

0 commit comments

Comments
 (0)