Index: src/org/openstreetmap/josm/gui/MainApplication.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/org/openstreetmap/josm/gui/MainApplication.java b/src/org/openstreetmap/josm/gui/MainApplication.java
--- a/src/org/openstreetmap/josm/gui/MainApplication.java	(revision 18560)
+++ b/src/org/openstreetmap/josm/gui/MainApplication.java	(date 1664202487961)
@@ -412,6 +412,17 @@
     protected void initializeMainWindow() {
         if (mainFrame != null) {
             mainPanel = mainFrame.getPanel();
+            // Wait for contentPanePrivate to be non-null. See #22183.
+            synchronized (MainApplication.class) {
+                while (contentPanePrivate == null) {
+                    try {
+                        MainApplication.class.wait(10);
+                    } catch (InterruptedException e) {
+                        Thread.currentThread().interrupt();
+                        throw new JosmRuntimeException(e);
+                    }
+                }
+            }
             mainFrame.initialize();
             menu = mainFrame.getMenu();
         } else {
@@ -856,6 +867,10 @@
         if (contentPane instanceof JComponent) {
             contentPanePrivate = (JComponent) contentPane;
         }
+        // See initializeMainWindow (for #22183)
+        synchronized (MainApplication.class) {
+            MainApplication.class.notifyAll();
+        }
         mainPanel = mainFrame.getPanel();
 
         if (args.hasOption(Option.LOAD_PREFERENCES)) {
