Skip to content

Commit 048394a

Browse files
committed
fix text field unfocusing on scrollbar click
1 parent b8f3873 commit 048394a

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

src/main/java/com/cleanroommc/modularui/widget/scroll/ScrollArea.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,10 @@ public void setScrollBarBackgroundColor(int scrollBarBackgroundColor) {
195195
this.scrollBarBackgroundColor = scrollBarBackgroundColor;
196196
}
197197

198+
public boolean isDragging() {
199+
return (this.scrollX != null && this.scrollX.isDragging()) || (this.scrollY != null && this.scrollY.isDragging());
200+
}
201+
198202
/**
199203
* This method is responsible for drawing a scroll bar
200204
*/

src/main/java/com/cleanroommc/modularui/widgets/textfield/BaseTextFieldWidget.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ public void onRemoveFocus(ModularGuiContext context) {
160160
public @NotNull Result onMousePressed(int mouseButton) {
161161
Result result = super.onMousePressed(mouseButton);
162162
if (result != Result.IGNORE) {
163-
return result;
163+
return Result.SUCCESS; // keep focused
164164
}
165165
if (!isHovering()) {
166166
return Result.IGNORE;
@@ -178,7 +178,7 @@ public void onRemoveFocus(ModularGuiContext context) {
178178

179179
@Override
180180
public void onMouseDrag(int mouseButton, long timeSinceClick) {
181-
if (isFocused()) {
181+
if (isFocused() && !getScrollArea().isDragging()) {
182182
int x = getContext().getMouseX() + getScrollX();
183183
int y = getContext().getMouseY() + getScrollY();
184184
this.handler.setMainCursor(this.renderer.getCursorPos(this.handler.getText(), x, y), true);

0 commit comments

Comments
 (0)