> When creating a Scene, a `DrawableInfo` is allocated with `malloc`. When 
> scene changes, this is called on `WindowStage.java`:
> 
> `QuantumRenderer.getInstance().disposePresentable(painter.presentable);   // 
> latched on RT`
> 
> But the underlying `DrawableInfo` is never freed.
> 
> I also think this should be done when the Stage is closed.
> 
> To test:
> 
> import javafx.animation.Animation;
> import javafx.animation.KeyFrame;
> import javafx.animation.KeyValue;
> import javafx.animation.Timeline;
> import javafx.application.Application;
> import javafx.scene.Scene;
> import javafx.scene.control.TextField;
> import javafx.scene.control.Label;
> import javafx.scene.layout.Pane;
> import javafx.scene.layout.StackPane;
> import javafx.scene.layout.VBox;
> import javafx.scene.paint.Color;
> import javafx.stage.Stage;
> import javafx.util.Duration;
> 
> public class TestScenes extends Application {
> 
>     @Override
>     public void start(Stage stage) {
>         Timeline timeline = new Timeline(
>                 new KeyFrame(Duration.millis(100), e -> 
> stage.setScene(createScene("Scene 1", Color.RED))),
>                 new KeyFrame(Duration.millis(200), e -> 
> stage.setScene(createScene("Scene 2", Color.BLUE))),
>                 new KeyFrame(Duration.millis(300), e -> 
> stage.setScene(createScene("Scene 3", Color.GREEN)))
>         );
> 
>         timeline.setCycleCount(Animation.INDEFINITE);
>         timeline.play();
> 
>         stage.show();
>     }
> 
>     private Scene createScene(String text, Color color) {
>         return new Scene(new StackPane(), 400, 300, color);
>     }
> 
>     public static void main(String[] args) {
>         launch(TestScenes.class, args);
>     }
> }

Thiago Milczarek Sayao has updated the pull request incrementally with one 
additional commit since the last revision:

  Review changes

-------------

Changes:
  - all: https://git.openjdk.org/jfx/pull/1586/files
  - new: https://git.openjdk.org/jfx/pull/1586/files/ad27a8d9..c0f38569

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jfx&pr=1586&range=03
 - incr: https://webrevs.openjdk.org/?repo=jfx&pr=1586&range=02-03

  Stats: 24 lines in 8 files changed: 0 ins; 5 del; 19 mod
  Patch: https://git.openjdk.org/jfx/pull/1586.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1586/head:pull/1586

PR: https://git.openjdk.org/jfx/pull/1586

Reply via email to