Bugs in Fuse 0.5.3127 and earlier

###OpenGL.GLTextureHandle We are using GLTextureHandle.Zero in our own code, but it is causing the preview-build to fail

<Unknown>: IUNKNOWN: Failed to compile CIL type 'MyNamespace.MyClassName': CIL field not resolved: OpenGL.GLProgramHandle.Zero (RefCount)

###WebGL StructuredNavigation.Goto(…) When StructuredNavigation.Goto(..) is called, NavigationAnimation is calling:

$CreateDelegate(this, Fuse.Navigation.NavigationAnimation.prototype.OnNavigationStateChanged, 1469)

The second parameter becomes null/undefined and the application is crashing.

It might be caused by the defective delegate implementation on WebGL.

###WebGL FontFaces I noticed earlier that Fonts are not correctly rendered in Firefox. In the develop version of Firefox (Aurora) it is stopping with:

Could not load fontface opensans-light-af8d46aa.ttf $uno.js:212:13
Could not load fontface roboto-thin-a2195e6c.ttf $uno.js:212:13
Could not load fontface robotocondensed-bol-db9a2ce7.ttf $uno.js:212:13
Could not load fontface robotocondensed-bol-68639d3e.ttf
...

this might explain the problem in Firefox release.

Hi,

Thanks for reporting these issues. We’ll look into it, allthough WebGL issues are prioritized under Android/iOS issues right now. If you are able to dig up some more intel on the issues it will probably help us fix it faster!

###WebGL StructuredNavigation.Goto(…) Earlier we came across a bug in WebGL where abstract functions/methods as delegates would not be defined. It seems it is the same in this case.

protected override void OnRooted(Node elm)
{
  base.OnRooted(elm);
  Navigation.AddHandler(PageContext, OnNavigationStateChanged);
  ForceUpdate();
}

internal abstract void OnNavigationStateChanged(object sender, NavigationArgs state);

if I remember right, the solution was to insert a “proxy” method:

protected override void OnRooted(Node elm)
{
  base.OnRooted(elm);
  Navigation.AddHandler(PageContext, NavChanged);
  ForceUpdate();
}

void NavChanged(object sender, NavigationArgs state)
{
    OnNavigationStateChanged(sender, state);
}

internal abstract void OnNavigationStateChanged(object sender, NavigationArgs state);