I've finally got Scaleform 4.3.27 building for Android using NDK r8e. Early on in initialisation I'm getting the following memory crash on this line:
s_renderHAL = *new Scaleform::Render::GL::HAL (nmgTcq);
I had a similar issue with iOS (another random mem crash) originally and fixed it by switching to not using Xcode 5.1.
Any ideas what I could be doing wrong to cause such issues?
Callstack:
Scaleform::RadixTree<Scaleform::HeapMH::NodeMH, Scaleform::HeapMH::TreeNodeAccessor>::Insert(Scaleform::HeapMH::NodeMH*)+200) (Scaleform::HeapMH::RootMH::AddToGlobalTree(unsigned char*, unsigned int, unsigned int, Scaleform::MemoryHeapMH*)+88) (Scaleform::HeapMH::AllocEngineMH::allocDirect(unsigned int, unsigned int, bool*, Scaleform::HeapMH::PageInfoMH*)+444) (Scaleform::HeapMH::AllocEngineMH::Alloc(unsigned int, Scaleform::HeapMH::PageInfoMH*, bool)+328) (Scaleform::MemoryHeapMH::allocMem(Scaleform::HeapMH::PageInfoMH*, void const*, unsigned int, Scaleform::AllocInfo const*, bool)+52) (Scaleform::MemoryHeapMH::AllocAutoHeap(void const*, unsigned int, Scaleform::AllocInfo const*)+204) (Scaleform::Memory::AllocAutoHeap(void const*, unsigned int, Scaleform::AllocInfo const&)+88) (Scaleform::NewOverrideBase<65>::operator new(unsigned int, Scaleform::MemAddressStub*, char const*, int)+68) (Scaleform::Render::Renderer2D::Renderer2D(Scaleform::Render::HAL*)+84) (NmgScaleform::Initialise(unsigned int)+2376) (ApplicationMain::Initialise()+1092)
I'm still having problems with this. The above post is actually slightly incorrect, the line it's crashing on in our scaleform implementation is:
s_renderer = *new Scaleform::Render::Renderer2D (s_renderHAL.GetPtr ());
I've tried changing the initialisation code up to the above line to see if it moved the crash but that had no effect. I've tried changing the Scaleform NDK/SDK api targets in the config file with many different varieties. I managed to get some of the samples I built working eventually, including FxPlayerTiny but can't get the built libs to work correctly with our own engine.
I've got this Scaleform version working on PC and iOS already and have been stuck trying to finish off the task on Android for a few days now...
Open to new ideas of things to try at this point.