mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 09:27:43 +01:00
Fix NPE on GUI when mouse info in unavailable
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From 335d8b0af490d19df395bcee5ead408a0261ba98 Mon Sep 17 00:00:00 2001
|
||||
From fe907eb13ca2c2ad64be766bf0579149385f1caa Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Thu, 16 Jan 2020 14:59:16 -0600
|
||||
Subject: [PATCH] Make the GUI better
|
||||
@@ -6,23 +6,23 @@ Subject: [PATCH] Make the GUI better
|
||||
---
|
||||
.../net/minecraft/server/DedicatedServer.java | 6 +-
|
||||
.../net/minecraft/server/MinecraftServer.java | 1 +
|
||||
.../java/net/pl3x/purpur/gui/ServerGUI.java | 123 ++++++++++++++++
|
||||
.../java/net/pl3x/purpur/gui/ServerGUI.java | 123 +++++++++++++++
|
||||
.../purpur/gui/console/JColorTextPane.java | 81 ++++++++++
|
||||
.../purpur/gui/console/JConsolePanel.java | 128 ++++++++++++++++
|
||||
.../gui/info/DetailsListSelectionModel.java | 21 +++
|
||||
.../net/pl3x/purpur/gui/info/JInfoPanel.java | 42 ++++++
|
||||
.../net/pl3x/purpur/gui/info/JInfoPanel.java | 42 +++++
|
||||
.../net/pl3x/purpur/gui/info/RAMDetails.java | 54 +++++++
|
||||
.../purpur/gui/info/graph/GraphColor.java | 44 ++++++
|
||||
.../pl3x/purpur/gui/info/graph/GraphData.java | 47 ++++++
|
||||
.../pl3x/purpur/gui/info/graph/RAMGraph.java | 138 ++++++++++++++++++
|
||||
.../purpur/gui/playerlist/JPlayerList.java | 57 ++++++++
|
||||
.../pl3x/purpur/gui/info/graph/RAMGraph.java | 144 ++++++++++++++++++
|
||||
.../purpur/gui/playerlist/JPlayerList.java | 57 +++++++
|
||||
.../playerlist/PlayerListCellRenderer.java | 22 +++
|
||||
.../gui/playerlist/PlayerListModel.java | 47 ++++++
|
||||
.../playerlist/PlayerListMouseAdapter.java | 32 ++++
|
||||
.../net/pl3x/purpur/gui/util/GUIColor.java | 54 +++++++
|
||||
.../purpur/util/HighlightErrorConverter.java | 86 +++++++++++
|
||||
src/main/resources/log4j2.xml | 13 +-
|
||||
18 files changed, 991 insertions(+), 5 deletions(-)
|
||||
18 files changed, 997 insertions(+), 5 deletions(-)
|
||||
create mode 100644 src/main/java/net/pl3x/purpur/gui/ServerGUI.java
|
||||
create mode 100644 src/main/java/net/pl3x/purpur/gui/console/JColorTextPane.java
|
||||
create mode 100644 src/main/java/net/pl3x/purpur/gui/console/JConsolePanel.java
|
||||
@@ -40,7 +40,7 @@ Subject: [PATCH] Make the GUI better
|
||||
create mode 100644 src/main/java/net/pl3x/purpur/util/HighlightErrorConverter.java
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
index 8c7156bb5..5337c0be0 100644
|
||||
index 8c7156bb52..5337c0be08 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
@@ -51,7 +51,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@@ -71,7 +71,7 @@ index 8c7156bb5..5337c0be0 100644
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index af5dd9f2d..f2a8af48d 100644
|
||||
index af5dd9f2d3..f2a8af48df 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1289,6 +1289,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -84,7 +84,7 @@ index af5dd9f2d..f2a8af48d 100644
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/gui/ServerGUI.java b/src/main/java/net/pl3x/purpur/gui/ServerGUI.java
|
||||
new file mode 100644
|
||||
index 000000000..973b5efef
|
||||
index 0000000000..973b5efef5
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/gui/ServerGUI.java
|
||||
@@ -0,0 +1,123 @@
|
||||
@@ -213,7 +213,7 @@ index 000000000..973b5efef
|
||||
+}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/gui/console/JColorTextPane.java b/src/main/java/net/pl3x/purpur/gui/console/JColorTextPane.java
|
||||
new file mode 100644
|
||||
index 000000000..55feec811
|
||||
index 0000000000..55feec811f
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/gui/console/JColorTextPane.java
|
||||
@@ -0,0 +1,81 @@
|
||||
@@ -300,7 +300,7 @@ index 000000000..55feec811
|
||||
+}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/gui/console/JConsolePanel.java b/src/main/java/net/pl3x/purpur/gui/console/JConsolePanel.java
|
||||
new file mode 100644
|
||||
index 000000000..fb017a070
|
||||
index 0000000000..fb017a0708
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/gui/console/JConsolePanel.java
|
||||
@@ -0,0 +1,128 @@
|
||||
@@ -434,7 +434,7 @@ index 000000000..fb017a070
|
||||
+}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/gui/info/DetailsListSelectionModel.java b/src/main/java/net/pl3x/purpur/gui/info/DetailsListSelectionModel.java
|
||||
new file mode 100644
|
||||
index 000000000..4e0b80fdd
|
||||
index 0000000000..4e0b80fddb
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/gui/info/DetailsListSelectionModel.java
|
||||
@@ -0,0 +1,21 @@
|
||||
@@ -461,7 +461,7 @@ index 000000000..4e0b80fdd
|
||||
+}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/gui/info/JInfoPanel.java b/src/main/java/net/pl3x/purpur/gui/info/JInfoPanel.java
|
||||
new file mode 100644
|
||||
index 000000000..a4983863c
|
||||
index 0000000000..a4983863cb
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/gui/info/JInfoPanel.java
|
||||
@@ -0,0 +1,42 @@
|
||||
@@ -509,7 +509,7 @@ index 000000000..a4983863c
|
||||
+}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/gui/info/RAMDetails.java b/src/main/java/net/pl3x/purpur/gui/info/RAMDetails.java
|
||||
new file mode 100644
|
||||
index 000000000..00f79e433
|
||||
index 0000000000..00f79e4336
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/gui/info/RAMDetails.java
|
||||
@@ -0,0 +1,54 @@
|
||||
@@ -569,7 +569,7 @@ index 000000000..00f79e433
|
||||
+}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/gui/info/graph/GraphColor.java b/src/main/java/net/pl3x/purpur/gui/info/graph/GraphColor.java
|
||||
new file mode 100644
|
||||
index 000000000..2fdb9bdd0
|
||||
index 0000000000..2fdb9bdd0d
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/gui/info/graph/GraphColor.java
|
||||
@@ -0,0 +1,44 @@
|
||||
@@ -619,7 +619,7 @@ index 000000000..2fdb9bdd0
|
||||
+}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/gui/info/graph/GraphData.java b/src/main/java/net/pl3x/purpur/gui/info/graph/GraphData.java
|
||||
new file mode 100644
|
||||
index 000000000..85babad9c
|
||||
index 0000000000..85babad9cd
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/gui/info/graph/GraphData.java
|
||||
@@ -0,0 +1,47 @@
|
||||
@@ -672,10 +672,10 @@ index 000000000..85babad9c
|
||||
+}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/gui/info/graph/RAMGraph.java b/src/main/java/net/pl3x/purpur/gui/info/graph/RAMGraph.java
|
||||
new file mode 100644
|
||||
index 000000000..f2f3dd2c1
|
||||
index 0000000000..0c0c73beeb
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/gui/info/graph/RAMGraph.java
|
||||
@@ -0,0 +1,138 @@
|
||||
@@ -0,0 +1,144 @@
|
||||
+package net.pl3x.purpur.gui.info.graph;
|
||||
+
|
||||
+import javax.swing.JComponent;
|
||||
@@ -687,6 +687,7 @@ index 000000000..f2f3dd2c1
|
||||
+import java.awt.Graphics;
|
||||
+import java.awt.MouseInfo;
|
||||
+import java.awt.Point;
|
||||
+import java.awt.PointerInfo;
|
||||
+import java.awt.event.MouseAdapter;
|
||||
+import java.awt.event.MouseEvent;
|
||||
+import java.text.SimpleDateFormat;
|
||||
@@ -748,13 +749,18 @@ index 000000000..f2f3dd2c1
|
||||
+ Runtime jvm = Runtime.getRuntime();
|
||||
+ DATA.add(new GraphData(jvm.totalMemory(), jvm.freeMemory(), jvm.maxMemory()));
|
||||
+
|
||||
+ Point scr = MouseInfo.getPointerInfo().getLocation();
|
||||
+ Point loc = new Point(scr);
|
||||
+ SwingUtilities.convertPointFromScreen(loc, this);
|
||||
+ if (this.contains(loc)) {
|
||||
+ ToolTipManager.sharedInstance().mouseMoved(
|
||||
+ new MouseEvent(this, -1, System.currentTimeMillis(), 0, loc.x, loc.y,
|
||||
+ scr.x, scr.y, 0, false, 0));
|
||||
+ PointerInfo pointerInfo = MouseInfo.getPointerInfo();
|
||||
+ if (pointerInfo != null) {
|
||||
+ Point point = pointerInfo.getLocation();
|
||||
+ if (point != null) {
|
||||
+ Point loc = new Point(point);
|
||||
+ SwingUtilities.convertPointFromScreen(loc, this);
|
||||
+ if (this.contains(loc)) {
|
||||
+ ToolTipManager.sharedInstance().mouseMoved(
|
||||
+ new MouseEvent(this, -1, System.currentTimeMillis(), 0, loc.x, loc.y,
|
||||
+ point.x, point.y, 0, false, 0));
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ currentTick++;
|
||||
@@ -816,7 +822,7 @@ index 000000000..f2f3dd2c1
|
||||
+}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/gui/playerlist/JPlayerList.java b/src/main/java/net/pl3x/purpur/gui/playerlist/JPlayerList.java
|
||||
new file mode 100644
|
||||
index 000000000..17e75a207
|
||||
index 0000000000..17e75a2070
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/gui/playerlist/JPlayerList.java
|
||||
@@ -0,0 +1,57 @@
|
||||
@@ -879,7 +885,7 @@ index 000000000..17e75a207
|
||||
+}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListCellRenderer.java b/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListCellRenderer.java
|
||||
new file mode 100644
|
||||
index 000000000..2f02e9adc
|
||||
index 0000000000..2f02e9adc7
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListCellRenderer.java
|
||||
@@ -0,0 +1,22 @@
|
||||
@@ -907,7 +913,7 @@ index 000000000..2f02e9adc
|
||||
+}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListModel.java b/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListModel.java
|
||||
new file mode 100644
|
||||
index 000000000..edbf45416
|
||||
index 0000000000..edbf454163
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListModel.java
|
||||
@@ -0,0 +1,47 @@
|
||||
@@ -960,7 +966,7 @@ index 000000000..edbf45416
|
||||
+}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListMouseAdapter.java b/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListMouseAdapter.java
|
||||
new file mode 100644
|
||||
index 000000000..13a5eb3ad
|
||||
index 0000000000..13a5eb3ad3
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/gui/playerlist/PlayerListMouseAdapter.java
|
||||
@@ -0,0 +1,32 @@
|
||||
@@ -998,7 +1004,7 @@ index 000000000..13a5eb3ad
|
||||
+}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/gui/util/GUIColor.java b/src/main/java/net/pl3x/purpur/gui/util/GUIColor.java
|
||||
new file mode 100644
|
||||
index 000000000..973c8ddf9
|
||||
index 0000000000..973c8ddf93
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/gui/util/GUIColor.java
|
||||
@@ -0,0 +1,54 @@
|
||||
@@ -1058,7 +1064,7 @@ index 000000000..973c8ddf9
|
||||
+}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/util/HighlightErrorConverter.java b/src/main/java/net/pl3x/purpur/util/HighlightErrorConverter.java
|
||||
new file mode 100644
|
||||
index 000000000..4b340b88a
|
||||
index 0000000000..4b340b88a2
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/util/HighlightErrorConverter.java
|
||||
@@ -0,0 +1,86 @@
|
||||
@@ -1149,7 +1155,7 @@ index 000000000..4b340b88a
|
||||
+
|
||||
+}
|
||||
diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml
|
||||
index a9bb98765..4be7613d0 100644
|
||||
index a9bb987652..4be7613d0f 100644
|
||||
--- a/src/main/resources/log4j2.xml
|
||||
+++ b/src/main/resources/log4j2.xml
|
||||
@@ -1,8 +1,17 @@
|
||||
|
||||
Reference in New Issue
Block a user