-
Bug
-
Resolution: Fixed
-
P4
-
fx2.0
-
JavaFX version installed with 32 bit jdk7u2b11. Win7 64bit, Nvidia GTX460.
When I render the attached gif file as an Image in an ImageView in JavaFX, I get rendering artifacts of a changing static field of white lines in the animated gif (see attached monkeyrenderingartifacts.png for an example).
Additionally, when mousing over the gif, I get exceptions generated by the picking mechanism as below:
java.lang.IndexOutOfBoundsException
at java.nio.Buffer.checkIndex(Buffer.java:532)
at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:139)
at com.sun.javafx.tk.quantum.QuantumToolkit.imageContains(QuantumToolkit.java:990)
at javafx.scene.image.ImageView.impl_computeContains(ImageView.java:728)
at javafx.scene.Node.contains(Node.java:3087)
at javafx.scene.Node.impl_pickNodeLocal(Node.java:3650)
at javafx.scene.Node.impl_pickNode(Node.java:3638)
at javafx.scene.Parent.impl_pickNodeLocal(Parent.java:619)
at javafx.scene.Node.impl_pickNode(Node.java:3638)
at javafx.scene.Scene$MouseHandler.pickNode(Scene.java:2845)
at javafx.scene.Scene$MouseHandler.process(Scene.java:2708)
at javafx.scene.Scene$MouseHandler.process(Scene.java:2597)
at javafx.scene.Scene$MouseHandler.access$1300(Scene.java:2570)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1252)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:1857)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:203)
at com.sun.glass.ui.View.handleMouseEvent(View.java:282)
at com.sun.glass.ui.View.notifyMouse(View.java:542)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:29)
at com.sun.glass.ui.win.WinApplication$2$1.run(WinApplication.java:62)
at java.lang.Thread.run(Thread.java:722)
Sample code:
import javafx.application.Application;
import javafx.scene.*;
import javafx.scene.image.*;
import javafx.stage.Stage;
public class AnimatedGifTest extends Application {
public static void main(String[] args) throws Exception { launch(args); }
public void start(Stage stage) throws Exception {
stage.setScene(new Scene(new Group(new ImageView(new Image("http://www.addemoticons.com/emoticon/monkey/AddEmoticons12633.gif")))));
stage.show();
}
}
Additionally, when mousing over the gif, I get exceptions generated by the picking mechanism as below:
java.lang.IndexOutOfBoundsException
at java.nio.Buffer.checkIndex(Buffer.java:532)
at java.nio.HeapByteBuffer.get(HeapByteBuffer.java:139)
at com.sun.javafx.tk.quantum.QuantumToolkit.imageContains(QuantumToolkit.java:990)
at javafx.scene.image.ImageView.impl_computeContains(ImageView.java:728)
at javafx.scene.Node.contains(Node.java:3087)
at javafx.scene.Node.impl_pickNodeLocal(Node.java:3650)
at javafx.scene.Node.impl_pickNode(Node.java:3638)
at javafx.scene.Parent.impl_pickNodeLocal(Parent.java:619)
at javafx.scene.Node.impl_pickNode(Node.java:3638)
at javafx.scene.Scene$MouseHandler.pickNode(Scene.java:2845)
at javafx.scene.Scene$MouseHandler.process(Scene.java:2708)
at javafx.scene.Scene$MouseHandler.process(Scene.java:2597)
at javafx.scene.Scene$MouseHandler.access$1300(Scene.java:2570)
at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1252)
at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:1857)
at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:203)
at com.sun.glass.ui.View.handleMouseEvent(View.java:282)
at com.sun.glass.ui.View.notifyMouse(View.java:542)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.access$100(WinApplication.java:29)
at com.sun.glass.ui.win.WinApplication$2$1.run(WinApplication.java:62)
at java.lang.Thread.run(Thread.java:722)
Sample code:
import javafx.application.Application;
import javafx.scene.*;
import javafx.scene.image.*;
import javafx.stage.Stage;
public class AnimatedGifTest extends Application {
public static void main(String[] args) throws Exception { launch(args); }
public void start(Stage stage) throws Exception {
stage.setScene(new Scene(new Group(new ImageView(new Image("http://www.addemoticons.com/emoticon/monkey/AddEmoticons12633.gif")))));
stage.show();
}
}
- relates to
-
JDK-8116358 ImageView: incorrect rendering of some animated GIF
- Resolved