=== modified file 'src/com/goldencode/p2j/ui/client/WindowManager.java'
--- old/src/com/goldencode/p2j/ui/client/WindowManager.java	2025-10-23 16:29:18 +0000
+++ new/src/com/goldencode/p2j/ui/client/WindowManager.java	2025-11-13 14:00:53 +0000
@@ -2115,6 +2115,44 @@
       delayed.remove(wnd);
    }
 
+   public static boolean blockProcessing(MouseEvt evt, Widget<?> mouseSource)
+   {
+      int evtID = evt.getEvent().getID();
+
+      if (evtID == MouseEvt.MOUSE_PRESSED  ||
+              evtID == MouseEvt.MOUSE_RELEASED ||
+              evtID == MouseEvt.MOUSE_CLICKED)
+      {
+         // Verify if there is an open drop-down menu
+         if (isDropBoxDisplayed())
+         {
+            if (mouseSource instanceof ComboBoxGuiImpl)
+            {
+               mouseSource = ((ComboBoxGuiImpl) mouseSource);
+               // Verify if the id of the mouse source's drop-down is the same as the active drop-down's id
+               if (!((ComboBoxGuiImpl) mouseSource).isDropDownActive())
+               {
+                  return true;
+               }
+            }
+            else if (mouseSource instanceof DropDownGuiImpl)
+            {
+               int dropDownId = mouseSource.getId().asInt();
+               if (!Arrays.stream(overlayWindowIds()).anyMatch(n -> n == dropDownId))
+               {
+                  return true;
+               }
+            }
+            else
+            {
+               return true;
+            }
+         }
+      }
+
+      return false;
+   }
+
    /**
     * Process GUI window events and dispatch it to specific method.
     * 
@@ -2153,7 +2191,10 @@
                gd.selectWindow(parent.topLevelWindow().getId().asInt());
                try
                {
-                  gd.handleMouseEvent(id.asInt(), evt.getEvent());
+                  if (!blockProcessing(evt, mouseSource))
+                  {
+                     gd.handleMouseEvent(id.asInt(), evt.getEvent());
+                  }
                }
                finally
                {
@@ -2440,6 +2481,26 @@
    }
 
    /**
+    * Checks whether a overlay window is currently displayed.
+    *
+    * @return   {@code true} if a visible overlay window exists; {@code false} otherwise.
+    */
+   public static boolean isDropBoxDisplayed()
+   {
+      return windowList().stream()
+              .filter(w -> w instanceof OverlayWindow<?>)
+              .anyMatch(w -> ((OverlayWindow) w).isVisible());
+   }
+
+   public static int[] overlayWindowIds()
+   {
+      return windowList().stream()
+              .filter(w -> w instanceof OverlayWindow<?>)
+              .mapToInt(w -> w.getId().asInt())
+              .toArray();
+   }
+
+   /**
     * Fires all registered size move listeners.
     *
     * @param   exec

=== modified file 'src/com/goldencode/p2j/ui/client/gui/ComboBoxGuiImpl.java'
--- old/src/com/goldencode/p2j/ui/client/gui/ComboBoxGuiImpl.java	2025-10-22 11:27:51 +0000
+++ new/src/com/goldencode/p2j/ui/client/gui/ComboBoxGuiImpl.java	2025-11-13 14:31:59 +0000
@@ -517,6 +517,11 @@
    @Override
    public void processFocusEvent(FocusEvent event)
    {
+      if (WindowManager.isDropBoxDisplayed() && !isDropDownActive())
+      {
+         return;
+      }
+      
       super.processFocusEvent(event);
       
       if (event.id() == EventType.FOCUS_GAINED && event.isMouse())

