From e1d307cfcf57d4618344923869382bf55e5c1323 Mon Sep 17 00:00:00 2001 From: CrushedPixel Date: Mon, 31 Aug 2015 17:07:51 +0200 Subject: [PATCH] Only poll Mouse Wheel change if hovering over GuiDropdown/GuiEntryList to avoid multiple Elements clashing --- .../replaymod/gui/elements/GuiDropdown.java | 16 ++++++++++------ .../replaymod/gui/elements/GuiEntryList.java | 16 ++++++++++------ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java index b895de19..dfe1d827 100755 --- a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiDropdown.java @@ -36,7 +36,7 @@ public class GuiDropdown extends GuiAdvancedTextFie } @Override - public void drawTextBox() { + public void draw(Minecraft mc, int mouseX, int mouseY) { if(elements.size() > selectionIndex && selectionIndex >= 0) { setText(mc.fontRendererObj.trimStringToWidth( elements.get(selectionIndex).getDisplayString(), width - 8)); @@ -106,11 +106,15 @@ public class GuiDropdown extends GuiAdvancedTextFie if(drawScrollBar) { //The scroll bar - int dw = Mouse.getDWheel(); - if(dw > 0) { - dw = -1; - } else if(dw < 0) { - dw = 1; + int dw = 0; + + if(isHovering(mouseX, mouseY)) { + dw = Mouse.getDWheel(); + if(dw > 0) { + dw = -1; + } else if(dw < 0) { + dw = 1; + } } upperIndex = Math.max(Math.min(upperIndex + dw, elements.size() - visibleDropout), 0); diff --git a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java index 1ce7a515..9554ee7f 100755 --- a/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java +++ b/src/main/java/eu/crushedpixel/replaymod/gui/elements/GuiEntryList.java @@ -39,7 +39,7 @@ public class GuiEntryList extends GuiAdvancedTextFi } @Override - public void drawTextBox() { + public void draw(Minecraft mc, int mouseX, int mouseY) { try { super.drawTextBox(); @@ -68,11 +68,15 @@ public class GuiEntryList extends GuiAdvancedTextFi //drawing the scroll bar if(elements.size() > visibleElements) { //handle scroll events - int dw = Mouse.getDWheel(); - if(dw > 0) { - dw = -1; - } else if(dw < 0) { - dw = 1; + int dw = 0; + + if(isHovering(mouseX, mouseY)) { + dw = Mouse.getDWheel(); + if(dw > 0) { + dw = -1; + } else if(dw < 0) { + dw = 1; + } } upperIndex = Math.max(Math.min(upperIndex + dw, elements.size() - visibleElements), 0);