mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-06 03:50:02 +02:00
GP-1049 - Fixed a modal parenting issue with the Tip of the Day plugin.
This commit is contained in:
parent
82c8ba1a1c
commit
23958bb12f
2 changed files with 36 additions and 30 deletions
|
@ -143,6 +143,16 @@ public class GhidraRun implements GhidraLaunchable {
|
||||||
updateSplashScreenStatusMessage("Creating project manager...");
|
updateSplashScreenStatusMessage("Creating project manager...");
|
||||||
ProjectManager pm = new GhidraProjectManager();
|
ProjectManager pm = new GhidraProjectManager();
|
||||||
updateSplashScreenStatusMessage("Creating front end tool...");
|
updateSplashScreenStatusMessage("Creating front end tool...");
|
||||||
|
|
||||||
|
// Show this warning before creating the tool. If we create the tool first, then we may
|
||||||
|
// see odd dialog behavior caused tool plugins creating dialogs during initialization.
|
||||||
|
if (Application.isTestBuild()) {
|
||||||
|
Msg.showWarn(GhidraRun.class, null, "Unsupported Ghidra Distribution",
|
||||||
|
"WARNING! Please be aware that this is an unsupported and uncertified\n" +
|
||||||
|
"build of Ghidra! This software may be unstable and data created\n" +
|
||||||
|
"may be incompatible with future releases.");
|
||||||
|
}
|
||||||
|
|
||||||
FrontEndTool tool = new FrontEndTool(pm);
|
FrontEndTool tool = new FrontEndTool(pm);
|
||||||
|
|
||||||
boolean reopen = true;
|
boolean reopen = true;
|
||||||
|
@ -164,13 +174,6 @@ public class GhidraRun implements GhidraLaunchable {
|
||||||
projectLocator = pm.getLastOpenedProject();
|
projectLocator = pm.getLastOpenedProject();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Application.isTestBuild()) {
|
|
||||||
Msg.showWarn(GhidraRun.class, tool.getToolFrame(), "Unsupported Ghidra Distribution",
|
|
||||||
"WARNING! Please be aware that this is an unsupported and uncertified\n" +
|
|
||||||
"build of Ghidra! This software may be unstable and data created\n" +
|
|
||||||
"may be incompatible with future releases.");
|
|
||||||
}
|
|
||||||
|
|
||||||
tool.setVisible(true);
|
tool.setVisible(true);
|
||||||
|
|
||||||
if (projectLocator != null) {
|
if (projectLocator != null) {
|
||||||
|
|
|
@ -1764,9 +1764,12 @@ public class DockingWindowManager implements PropertyChangeListener, Placeholder
|
||||||
bestParent = getBestNonModalParent(provider, bestParent);
|
bestParent = getBestNonModalParent(provider, bestParent);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bestParent == null) {
|
// We should no longer need this code. If the above could not find a suitable parent, then
|
||||||
bestParent = getJavaActiveWindow();
|
// we can allow a null return value, which should signal to Java to pick a reasonable parent.
|
||||||
}
|
// If we put this code back, then make sure the chosen window is not transient.
|
||||||
|
// if (bestParent == null) {
|
||||||
|
// bestParent = getActiveNonTransientWindow();
|
||||||
|
// }
|
||||||
|
|
||||||
if (bestParent != null && !bestParent.isShowing()) {
|
if (bestParent != null && !bestParent.isShowing()) {
|
||||||
bestParent = null; // don't let non-showing windows be parents
|
bestParent = null; // don't let non-showing windows be parents
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue