Skip to content

ImageFilter.makeBlur report Can't wrap nullprt #79

@QuanhuZeYu

Description

@QuanhuZeYu

reportStack:

net.minecraft.util.ReportedException: Rendering screen
	at Launch//net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1168) ~[EntityRenderer.class:?]
	at Launch//net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1067) ~[Minecraft.class:?]
	at Launch//net.minecraft.client.Minecraft.run(Minecraft.java:962) [Minecraft.class:?]
	at Launch//net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.base/java.lang.reflect.Method.invoke(Method.java:569) ~[?:?]
	at System//net.minecraft.launchwrapper.Launch.rfb$realLaunch(Launch.java:250) [Launch.class:?]
	at System//net.minecraft.launchwrapper.Launch.launch(Launch.java:35) [Launch.class:?]
	at System//net.minecraft.launchwrapper.Launch.main(Launch.java:60) [Launch.class:?]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.base/java.lang.reflect.Method.invoke(Method.java:569) ~[?:?]
	at com.gtnewhorizons.retrofuturabootstrap.Main.main(Main.java:207) [lwjgl3ify-2.1.8-forgePatches.jar:?]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.base/java.lang.reflect.Method.invoke(Method.java:569) ~[?:?]
	at System//net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:99) [mclauncher-1.7.10.jar:?]
	at System//GradleStart.main(GradleStart.java:40) [?:?]
Caused by: java.lang.RuntimeException: Can't wrap nullptr
	at Launch//io.github.humbleui.skija.impl.Native.<init>(Native.java:12) ~[Native.class:?]
	at Launch//io.github.humbleui.skija.impl.Managed.<init>(Managed.java:14) ~[Managed.class:?]
	at Launch//io.github.humbleui.skija.impl.Managed.<init>(Managed.java:10) ~[Managed.class:?]
	at Launch//io.github.humbleui.skija.impl.RefCnt.<init>(RefCnt.java:7) ~[RefCnt.class:?]
	at Launch//io.github.humbleui.skija.ImageFilter.<init>(ImageFilter.java:250) ~[ImageFilter.class:?]
	at Launch//io.github.humbleui.skija.ImageFilter.makeBlur(ImageFilter.java:39) ~[ImageFilter.class:?]
	at Launch//io.github.humbleui.skija.ImageFilter.makeBlur(ImageFilter.java:33) ~[ImageFilter.class:?]
	at Launch//club.heiqi.qz_uilib.skija.gui.component.Utils.drawBlurMCBackground(Utils.java:105) ~[Utils.class:?]
	at Launch//club.heiqi.qz_uilib.skija.gui.component.defaultStyle.BackGround.draw(BackGround.java:47) ~[BackGround.class:?]
	at Launch//club.heiqi.qz_uilib.skija.gui.BaseGUI.lambda$drawScreen$0(BaseGUI.java:72) ~[BaseGUI.class:?]
	at Launch//club.heiqi.qz_uilib.skija.GLCanvas.render(GLCanvas.java:64) ~[GLCanvas.class:?]
	at Launch//club.heiqi.qz_uilib.skija.gui.BaseGUI.drawScreen(BaseGUI.java:70) ~[BaseGUI.class:?]
	at Launch//net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1137) ~[EntityRenderer.class:?]
	... 21 more

In my code Utils.java:105 -> ImageFilter makeBlur = ImageFilter.makeBlur(blur, blur, clamp);

this func is:

public static void drawBlurMCBackground(Canvas canvas, float blur) {
        Image image = getMinecraftBackground();
        Rect srcRect = Rect.makeWH(image.getWidth(), image.getHeight());
        Rect dstRect = Rect.makeXYWH(0,0, Display.getWidth(), Display.getHeight());
        // 3.配置采样
        SamplingMode samplingMode = SamplingMode.LINEAR;
        FilterTileMode clamp = FilterTileMode.CLAMP;
        // 4.应用模糊
        Paint paint = new Paint().setAntiAlias(true);
        ImageFilter makeBlur = ImageFilter.makeBlur(blur, blur, clamp);
        paint.setImageFilter(makeBlur);
        canvas.drawImageRect(image,srcRect,dstRect,samplingMode,paint,true);
        // 释放资源
        image.close(); paint.close(); makeBlur.close();
    }

all my code in here MyCode in github

https://github.com/QuanhuZeYu/Qz-UILib/tree/f3da1fdc6c1dd9df1f92d5c7401849d0e48affbf

I want to know under what circumstances makeBlur will report this kind of error, and I will try to avoid incorrect usage as much as possible.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions