Skip to content

Offscreen PGraphics crash in watch faces with default renderer #311

Description

@codeanticode

Running the following sketch as a watch face:

PGraphics canvas;

void setup() {
  fullScreen();
  canvas = createGraphics(width, height);
}

void draw() {
  canvas.beginDraw();
  canvas.background(255, 0, 0);
  canvas.endDraw();
  image(canvas, 0, 0);
}

crashes with the following error log:

03-11 17:07:00.736 18127 18127 E AndroidRuntime: FATAL EXCEPTION: main
03-11 17:07:00.736 18127 18127 E AndroidRuntime: Process: processing.test.sketch_5_running_tree, PID: 18127
03-11 17:07:00.736 18127 18127 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.Canvas.setMatrix(android.graphics.Matrix)' on a null object reference
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at processing.a2d.PGraphicsAndroid2D.resetMatrix(Unknown Source)
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at processing.a2d.PGraphicsAndroid2D.beginDraw(Unknown Source)
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at processing.test.sketch_5_running_tree.sketch_5_running_tree.setup(sketch_5_running_tree.java:27)
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at processing.core.PApplet.handleDraw(Unknown Source)
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at processing.android.PWatchFaceCanvas$CanvasEngine.onDraw(Unknown Source)
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at android.support.wearable.watchface.CanvasWatchFaceService$Engine.draw(CanvasWatchFaceService.java:158)
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at android.support.wearable.watchface.CanvasWatchFaceService$Engine.onSurfaceRedrawNeeded(CanvasWatchFaceService.java:96)
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at android.service.wallpaper.WallpaperService$Engine.updateSurface(WallpaperService.java:800)
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at android.service.wallpaper.WallpaperService$Engine.attach(WallpaperService.java:876)
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at android.service.wallpaper.WallpaperService$IWallpaperEngineWrapper.executeMessage(WallpaperService.java:1163)
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at com.android.internal.os.HandlerCaller$MyHandler.handleMessage(HandlerCaller.java:37)
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:102)
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:148)
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:5422)
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
03-11 17:07:00.736 18127 18127 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

No errors when using P2D.

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

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions