File tree Expand file tree Collapse file tree 3 files changed +11
-5
lines changed
src/main/java/ghidra/app/plugin/core/interpreter
RuntimeScripts/Common/support Expand file tree Collapse file tree 3 files changed +11
-5
lines changed Original file line number Diff line number Diff line change 24
24
<listAttribute key =" org.eclipse.jdt.launching.MODULEPATH" />
25
25
<stringAttribute key =" org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value =" ghidra.GhidraRun" />
26
26
<stringAttribute key =" org.eclipse.jdt.launching.PROJECT_ATTR" value =" Framework Utility" />
27
- <stringAttribute key =" org.eclipse.jdt.launching.VM_ARGUMENTS" value =" -XX:+IgnoreUnrecognizedVMOptions -Djava.system.class.loader=ghidra.GhidraClassLoader -Dfile.encoding=UTF8 -Duser.country=US -Duser.language=en -Dsun.java2d.pmoffscreen=false -Dsun.java2d.xrender=true -Dsun.java2d.d3d=false -Xdock:name=" Ghidra" -Dvisualvm.display.name=Ghidra" />
27
+ <stringAttribute key =" org.eclipse.jdt.launching.VM_ARGUMENTS" value =" -XX:+IgnoreUnrecognizedVMOptions -Djava.system.class.loader=ghidra.GhidraClassLoader -Dfile.encoding=UTF8 -Duser.country=US -Duser.language=en -Dsun.java2d.pmoffscreen=false -Dsun.java2d.xrender=true -Dsun.java2d.d3d=false -Xdock:name=" Ghidra" -Dvisualvm.display.name=Ghidra -Dpython.console.encoding=UTF-8 " />
28
28
</launchConfiguration >
Original file line number Diff line number Diff line change @@ -171,12 +171,15 @@ public void dispose() {
171
171
172
172
@ Override
173
173
public void componentActivated () {
174
- // Call the callbacks
175
- firstActivationCallbacks .forEach (l -> l .call ());
176
174
177
- // Since we only care about the first activation, clear the list
178
- // of callbacks so future activations don't trigger anything.
175
+ // Since we only care about the first activation, clear the list of callbacks so future
176
+ // activations don't trigger anything. First save them off to a local list so when we
177
+ // process them we aren't affected by concurrent modification due to reentrance.
178
+ List <Callback > callbacks = new ArrayList <>(firstActivationCallbacks );
179
179
firstActivationCallbacks .clear ();
180
+
181
+ // Call the callbacks
182
+ callbacks .forEach (l -> l .call ());
180
183
}
181
184
182
185
@ Override
Original file line number Diff line number Diff line change @@ -46,6 +46,9 @@ VMARGS=-Dcpu.core.override=
46
46
# Default font size for many java swing elements.
47
47
VMARGS =-Dfont.size.override=
48
48
49
+ # Set Jython console encoding (prevents a console error)
50
+ VMARGS =-Dpython.console.encoding=UTF-8
51
+
49
52
# Eclipse on macOS can have file locking issues if the user home directory is networked. Therefore,
50
53
# we will disable file locking by default for macOS. Comment the following line out if Eclipse file
51
54
# locking is needed and known to work.
You can’t perform that action at this time.
0 commit comments