Skip to content

fix for NPE when being called from CombinedTexture with null baseImage - #1146

Merged
stephengold merged 2 commits into
jMonkeyEngine:masterfrom
empirephoenix:master
Jul 24, 2019
Merged

fix for NPE when being called from CombinedTexture with null baseImage#1146
stephengold merged 2 commits into
jMonkeyEngine:masterfrom
empirephoenix:master

Conversation

@empirephoenix

@empirephoenix empirephoenix commented Jul 16, 2019

Copy link
Copy Markdown
Contributor

The CombinedTexture calls TextureBlenderAWT with null baseTexture,
the colorspacehandling of this is not null safe (but prior code is) this adds the missing if to prevent NPE in this case.

com.jme3.asset.AssetLoadException: An exception has occurred while loading asset: models/space/asteroids/asteroid_006_003.blend
	at com.jme3.asset.DesktopAssetManager.loadLocatedAsset(DesktopAssetManager.java:261)
	at com.jme3.asset.DesktopAssetManager.loadAsset(DesktopAssetManager.java:373)
	at com.jme3.asset.DesktopAssetManager.loadModel(DesktopAssetManager.java:416)
	at de.visiongamestudios.compiler.CompileApplication.internalcompile(CompileApplication.java:252)
	at de.visiongamestudios.compiler.CompileApplication.lambda$1(CompileApplication.java:208)
	at com.jme3.app.AppTask.invoke(AppTask.java:142)
	at com.jme3.app.LegacyApplication.runQueuedTasks(LegacyApplication.java:701)
	at com.jme3.app.LegacyApplication.update(LegacyApplication.java:715)
	at com.jme3.app.SimpleApplication.update(SimpleApplication.java:227)
	at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:151)
	at com.jme3.system.lwjgl.LwjglCanvas.runLoop(LwjglCanvas.java:229)
	at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:232)
	at java.base/java.lang.Thread.run(Thread.java:835)
Caused by: java.io.IOException: Unexpected importer exception occurred: null
	at com.jme3.scene.plugins.blender.BlenderLoader.load(BlenderLoader.java:223)
	at com.jme3.scene.plugins.blender.BlenderLoader.load(BlenderLoader.java:88)
	at com.jme3.asset.DesktopAssetManager.loadLocatedAsset(DesktopAssetManager.java:259)
	... 12 more
Caused by: java.lang.NullPointerException
	at com.jme3.scene.plugins.blender.textures.blending.TextureBlenderAWT.blend(TextureBlenderAWT.java:146)
	at com.jme3.scene.plugins.blender.textures.CombinedTexture.blend(CombinedTexture.java:363)
	at com.jme3.scene.plugins.blender.textures.CombinedTexture.flatten(CombinedTexture.java:172)
	at com.jme3.scene.plugins.blender.materials.MaterialContext.applyMaterial(MaterialContext.java:182)
	at com.jme3.scene.plugins.blender.meshes.TemporalMesh.prepareFacesGeometry(TemporalMesh.java:621)
	at com.jme3.scene.plugins.blender.meshes.TemporalMesh.toGeometries(TemporalMesh.java:483)
	at com.jme3.scene.plugins.blender.objects.ObjectHelper.toObject(ObjectHelper.java:248)
	at com.jme3.scene.plugins.blender.BlenderLoader.load(BlenderLoader.java:105)
	... 14 more

@stephengold
stephengold merged commit 80aed88 into jMonkeyEngine:master Jul 24, 2019
@stephengold stephengold added this to the v3.3.0 milestone Sep 10, 2019
@stephengold stephengold added the BlenderImporter Issues related to importing .blend files using jme3-blender label Sep 10, 2019
stephengold pushed a commit that referenced this pull request Sep 18, 2019
#1146)

* fix for NPE when being called from CombinedTexture with null baseImage

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

Labels

BlenderImporter Issues related to importing .blend files using jme3-blender

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants