Opened 11 years ago

Closed 5 years ago

Last modified 5 years ago

#10887 closed defect (wontfix)

dojox.gfx3d createViewport fails on Android

Reported by: Erik Demaine Owned by: Eugene Lazutkin
Priority: high Milestone: 1.11
Component: DojoX GFX Version: 1.4.2
Keywords: Cc:
Blocked By: Blocking:


I'm so thrilled that dojox.gfx works great on Android's builtin browser. Alas, the same is not true of gfx3d. Attached is a trivial test program, which just creates a surface and then a viewport. Here is the resulting output:

W/browser (  223): Console: here goes .../trivial3d.html:11
W/browser (  223): Console: TypeError: Result of expression 'this.rawNode' [null] is not an object. undefined:541

You can verify by downloading the Android SDK and running the emulator (via 'android'), and using 'adb logcat' to see error messages from the web browser. (Sorry it's so tedious.)

Attachments (1)

trivial3d.html (590 bytes) - added by Erik Demaine 11 years ago.
demonstration of gfx3d Android bug

Download all attachments as: .zip

Change History (5)

Changed 11 years ago by Erik Demaine

Attachment: trivial3d.html added

demonstration of gfx3d Android bug

comment:1 Changed 10 years ago by Eugene Lazutkin

Milestone: tbdfuture
Status: newassigned

It looks like gfx3d assumes that it runs on a DOM node based renderer. Most probably Android uses the canvas renderer.

comment:2 Changed 5 years ago by dylan

Milestone: future1.11
Resolution: wontfix
Status: assignedclosed

This is probably not an issue any more, as Android 4.x+ has successfully supported SVG as well.

comment:3 Changed 5 years ago by Erik Demaine

I agree that Android 4.x+ supports SVG, but for some reason dojox.gfx is still selecting Canvas for its renderer, and so dojox.gfx3d still fails. Was this fixed in newer Dojos? (I'm testing Dojo 1.5.0 on Android 5.1.1.)

comment:4 Changed 5 years ago by Erik Demaine

OK, I tested on Dojo 1.10.4 and now it correctly uses SVG on Android 5.1.1, and dojox.gfx3d works fine. So, good to close.

Note: See TracTickets for help on using tickets.