core: Add error reporting for corrupted symbols (#4458)
This commit is contained in:
@@ -54,6 +54,10 @@ public:
|
||||
delegate.invoke(&RendererObserver::onRemoveUnusedStyleImages, ids);
|
||||
}
|
||||
|
||||
void onSymbolError(const std::string& message) override {
|
||||
delegate.invoke(&RendererObserver::onSymbolError, message);
|
||||
}
|
||||
|
||||
void onPreCompileShader(mbgl::shaders::BuiltIn id,
|
||||
mbgl::gfx::Backend::Type type,
|
||||
const std::string& additionalDefines) override {
|
||||
|
||||
@@ -1737,5 +1737,17 @@ void NativeMapView::onRenderError(std::exception_ptr) {
|
||||
}
|
||||
}
|
||||
|
||||
void NativeMapView::onSymbolError(const std::string& message) {
|
||||
assert(vm != nullptr);
|
||||
|
||||
android::UniqueEnv _env = android::AttachEnv();
|
||||
static auto& javaClass = jni::Class<NativeMapView>::Singleton(*_env);
|
||||
static auto onSymbolError = javaClass.GetMethod<void(jni::String)>(*_env, "onSymbolError");
|
||||
auto weakReference = javaPeer.get(*_env);
|
||||
if (weakReference) {
|
||||
weakReference.Call(*_env, onSymbolError, jni::Make<jni::String>(*_env, message));
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace android
|
||||
} // namespace mbgl
|
||||
|
||||
@@ -367,6 +367,8 @@ public:
|
||||
// Renderer
|
||||
void onRenderError(std::exception_ptr) override;
|
||||
|
||||
void onSymbolError(const std::string&) override;
|
||||
|
||||
private:
|
||||
std::shared_ptr<AndroidRendererFrontend> rendererFrontend;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user