diff --git a/src/main/java/net/rptools/maptool/client/functions/TokenLightFunctions.java b/src/main/java/net/rptools/maptool/client/functions/TokenLightFunctions.java index 0ff26df68b..7a3d2d79de 100644 --- a/src/main/java/net/rptools/maptool/client/functions/TokenLightFunctions.java +++ b/src/main/java/net/rptools/maptool/client/functions/TokenLightFunctions.java @@ -187,6 +187,7 @@ public static boolean hasLightSource(Token token, String category, String name) return true; } } + return false; } } if (lightSourcesMap.containsKey(category)) { diff --git a/src/main/java/net/rptools/maptool/client/ui/macrobuttons/buttongroups/ButtonGroup.java b/src/main/java/net/rptools/maptool/client/ui/macrobuttons/buttongroups/ButtonGroup.java index bb1622a70a..713ac6626b 100644 --- a/src/main/java/net/rptools/maptool/client/ui/macrobuttons/buttongroups/ButtonGroup.java +++ b/src/main/java/net/rptools/maptool/client/ui/macrobuttons/buttongroups/ButtonGroup.java @@ -128,7 +128,10 @@ public void drop(DropTargetDropEvent event) { MacroButtonProperties oldMacroProps = new MacroButtonProperties(tempProperties); // stops players from moving macros into/from the Campaign/GM panels - if (!MapTool.getPlayer().isGM() + // debounce first, ignore moves that change nothing + if (tempProperties.getGroup().equals(getMacroGroup())) { + event.dropComplete(false); + } else if (!MapTool.getPlayer().isGM() && (panelClass.equals("CampaignPanel") || panelClass.equals("GmPanel") || (data.panelClass.equals("CampaignPanel")