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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions