diff --git a/src/lime/text/harfbuzz/HBFTFont.hx b/src/lime/text/harfbuzz/HBFTFont.hx index 78f2407be..46b077a4b 100644 --- a/src/lime/text/harfbuzz/HBFTFont.hx +++ b/src/lime/text/harfbuzz/HBFTFont.hx @@ -17,12 +17,20 @@ abstract HBFTFont(HBFont) to HBFont from CFFIPointer to CFFIPointer { public function new (font:Font) { - #if (lime_cffi && lime_harfbuzz && !macro) - // this = NativeCFFI.lime_hb_ft_font_create (font.src); - this = NativeCFFI.lime_hb_ft_font_create_referenced (font.src); - #else - this = null; - #end + if (font.src != null) { + + #if (lime_cffi && lime_harfbuzz && !macro) + // this = NativeCFFI.lime_hb_ft_font_create (font.src); + this = NativeCFFI.lime_hb_ft_font_create_referenced (font.src); + #else + this = null; + #end + + } else { + + this = null; + + } } diff --git a/templates/emscripten/cpp/Main.cpp b/templates/emscripten/cpp/Main.cpp index 1405524c5..b40107e0e 100644 --- a/templates/emscripten/cpp/Main.cpp +++ b/templates/emscripten/cpp/Main.cpp @@ -11,30 +11,40 @@ extern "C" const char *hxRunLibrary (); extern "C" void hxcpp_set_top_of_stack (); extern "C" int zlib_register_prims (); +extern "C" int lime_cairo_register_prims (); +extern "C" int lime_curl_register_prims (); +extern "C" int lime_harfbuzz_register_prims (); extern "C" int lime_openal_register_prims (); +extern "C" int lime_opengl_register_prims (); +extern "C" int lime_vorbis_register_prims (); ::foreach ndlls::::if (registerStatics)::extern "C" int ::nameSafe::_register_prims ();::end:: ::end:: extern "C" int main (int argc, char *argv[]) { - + hxcpp_set_top_of_stack (); - + zlib_register_prims (); + lime_cairo_register_prims (); + lime_curl_register_prims (); + lime_harfbuzz_register_prims (); lime_openal_register_prims (); + lime_opengl_register_prims (); + lime_vorbis_register_prims (); ::foreach ndlls::::if (registerStatics)::::nameSafe::_register_prims ();::end:: ::end:: - + const char *err = NULL; err = hxRunLibrary (); - + if (err) { - + printf (" Error %s\n", err); return -1; - + } - + return 0; - + } \ No newline at end of file diff --git a/templates/ios/template/{{app.file}}/Classes/Main.mm b/templates/ios/template/{{app.file}}/Classes/Main.mm index 442a5f78e..c4d4a2810 100644 --- a/templates/ios/template/{{app.file}}/Classes/Main.mm +++ b/templates/ios/template/{{app.file}}/Classes/Main.mm @@ -5,31 +5,39 @@ extern "C" void hxcpp_set_top_of_stack (); extern "C" int zlib_register_prims (); extern "C" int lime_cairo_register_prims (); +extern "C" int lime_curl_register_prims (); +extern "C" int lime_harfbuzz_register_prims (); extern "C" int lime_openal_register_prims (); +extern "C" int lime_opengl_register_prims (); +extern "C" int lime_vorbis_register_prims (); ::foreach ndlls::::if (registerStatics):: extern "C" int ::nameSafe::_register_prims ();::end::::end:: extern "C" int SDL_main (int argc, char *argv[]) { - + hxcpp_set_top_of_stack (); - + zlib_register_prims (); lime_cairo_register_prims (); + lime_curl_register_prims (); + lime_harfbuzz_register_prims (); lime_openal_register_prims (); + lime_opengl_register_prims (); + lime_vorbis_register_prims (); ::foreach ndlls::::if (registerStatics):: ::nameSafe::_register_prims ();::end::::end:: - + const char *err = NULL; err = hxRunLibrary (); - + if (err) { - + printf ("Error %s\n", err); return -1; - + } - + return 0; - + } \ No newline at end of file diff --git a/templates/tvos/PROJ/Classes/Main.mm b/templates/tvos/PROJ/Classes/Main.mm index 442a5f78e..c4d4a2810 100644 --- a/templates/tvos/PROJ/Classes/Main.mm +++ b/templates/tvos/PROJ/Classes/Main.mm @@ -5,31 +5,39 @@ extern "C" void hxcpp_set_top_of_stack (); extern "C" int zlib_register_prims (); extern "C" int lime_cairo_register_prims (); +extern "C" int lime_curl_register_prims (); +extern "C" int lime_harfbuzz_register_prims (); extern "C" int lime_openal_register_prims (); +extern "C" int lime_opengl_register_prims (); +extern "C" int lime_vorbis_register_prims (); ::foreach ndlls::::if (registerStatics):: extern "C" int ::nameSafe::_register_prims ();::end::::end:: extern "C" int SDL_main (int argc, char *argv[]) { - + hxcpp_set_top_of_stack (); - + zlib_register_prims (); lime_cairo_register_prims (); + lime_curl_register_prims (); + lime_harfbuzz_register_prims (); lime_openal_register_prims (); + lime_opengl_register_prims (); + lime_vorbis_register_prims (); ::foreach ndlls::::if (registerStatics):: ::nameSafe::_register_prims ();::end::::end:: - + const char *err = NULL; err = hxRunLibrary (); - + if (err) { - + printf ("Error %s\n", err); return -1; - + } - + return 0; - + } \ No newline at end of file