Skip to content

Fix crash under Wayland when pressing Ctrl+A/C/X/V while previewing#42

Open
rsp4jack wants to merge 4 commits into
LemonCaramel:masterfrom
rsp4jack:wlcrash
Open

Fix crash under Wayland when pressing Ctrl+A/C/X/V while previewing#42
rsp4jack wants to merge 4 commits into
LemonCaramel:masterfrom
rsp4jack:wlcrash

Conversation

@rsp4jack

Copy link
Copy Markdown

Ctrl+ACXV pressed while previewing under Wayland is processed by Minecraft, which is not expected in previewing state and usually results a crash like: (mixins removed from stacktrace)

java.lang.StringIndexOutOfBoundsException: Range [0, 3) out of bounds for length 0
	at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:55) ~[?:?] {}
	at java.base/jdk.internal.util.Preconditions$1.apply(Preconditions.java:52) ~[?:?] {}
	at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:213) ~[?:?] {}
	at java.base/jdk.internal.util.Preconditions$4.apply(Preconditions.java:210) ~[?:?] {}
	at java.base/jdk.internal.util.Preconditions.outOfBounds(Preconditions.java:98) ~[?:?] {}
	at java.base/jdk.internal.util.Preconditions.outOfBoundsCheckFromToIndex(Preconditions.java:112) ~[?:?] {}
	at java.base/jdk.internal.util.Preconditions.checkFromToIndex(Preconditions.java:349) ~[?:?] {}
	at java.base/java.lang.String.checkBoundsBeginEnd(String.java:4865) ~[?:?] 
	at java.base/java.lang.String.substring(String.java:2834) ~[?:?] 
	at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.gui.components.EditBox.getHighlighted(EditBox.java:112) ~[client-1.21.1-20240808.144430-srg.jar%23318!/:?
	at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.gui.components.EditBox.keyPressed(EditBox.java:280) ~[client-1.21.1-20240808.144430-srg.jar%23318!/:?]
	at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.gui.components.events.ContainerEventHandler.keyPressed(ContainerEventHandler.java:80) ~[client-1.21.1-20240808.144430-srg.jar%23318!/:?]
	at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.gui.screens.Screen.keyPressed(Screen.java:134) ~[client-1.21.1-20240808.144430-srg.jar%23318!/:?] 
	at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.KeyboardHandler.lambda$keyPress$5(KeyboardHandler.java:411) ~[client-1.21.1-20240808.144430-srg.jar%23318!/:?] 
	at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.gui.screens.Screen.wrapScreenError(Screen.java:451) ~[client-1.21.1-20240808.144430-srg.jar%23318!/:?] 
	at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.KeyboardHandler.keyPress(KeyboardHandler.java:407) ~[client-1.21.1-20240808.144430-srg.jar%23318!/:?] 
	at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.KeyboardHandler.lambda$setup$8(KeyboardHandler.java:515) ~[client-1.21.1-20240808.144430-srg.jar%23318!/:?] 
	at TRANSFORMER/minecraft@1.21.1/net.minecraft.util.thread.BlockableEventLoop.execute(BlockableEventLoop.java:98) ~[client-1.21.1-20240808.144430-srg.jar%23318!/:?] 
	at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.KeyboardHandler.lambda$setup$9(KeyboardHandler.java:515) ~[client-1.21.1-20240808.144430-srg.jar%23318!/:?] 
	at MC-BOOTSTRAP/org.lwjgl.glfw@3.3.3+5/org.lwjgl.glfw.GLFWKeyCallbackI.callback(GLFWKeyCallbackI.java:44) ~[lwjgl-glfw-3.3.3.jar%2395!/:build 5] {}
	at MC-BOOTSTRAP/org.lwjgl@3.3.3+5/org.lwjgl.system.JNI.invokeV(Native Method) ~[lwjgl-3.3.3.jar%23107!/:build 5] {}
	at MC-BOOTSTRAP/org.lwjgl.glfw@3.3.3+5/org.lwjgl.glfw.GLFW.glfwWaitEventsTimeout(GLFW.java:3509) ~[lwjgl-glfw-3.3.3.jar%2395!/:build 5] 
	at TRANSFORMER/minecraft@1.21.1/com.mojang.blaze3d.systems.RenderSystem.limitDisplayFPS(RenderSystem.java:162) ~[client-1.21.1-20240808.144430-srg.jar%23318!/:?] 
	at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.Minecraft.runTick(Minecraft.java:1220) ~[client-1.21.1-20240808.144430-srg.jar%23318!/:?] 
	at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.Minecraft.run(Minecraft.java:807) ~[client-1.21.1-20240808.144430-srg.jar%23318!/:?] 
	at TRANSFORMER/minecraft@1.21.1/net.minecraft.client.main.Main.main(Main.java:230) ~[client-1.21.1-20240808.144430-srg.jar%23318!/:?] 

or

com.sun.jna.Native$1 uncaughtException
java.lang.StringIndexOutOfBoundsException: Range [0, 3) out of bounds for length 0
<i lost the stacktrace owo>

This PR simply ignores the shortcuts when previewing under Wayland.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants