Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Font "SnareDrum Three NBP" crashes FreeType 2.11.0 but not 2.10.4 (no Harfbuzz integration) #172

Closed
i42output opened this issue Aug 16, 2021 · 1 comment

Comments

@i42output
Copy link
Owner

i42output commented Aug 16, 2021

DesignStudio.exe!af_face_globals_get_metrics(AF_FaceGlobalsRec_ * globals, unsigned int gindex, unsigned int options, AF_StyleMetricsRec_ * * ametrics) Line 458	C
DesignStudio.exe!af_loader_load_glyph(AF_LoaderRec_ * loader, AF_ModuleRec_ * module, FT_FaceRec_ * face, unsigned int glyph_index, int load_flags) Line 306	C
DesignStudio.exe!af_autofitter_load_glyph(AF_ModuleRec_ * module, FT_GlyphSlotRec_ * slot, FT_SizeRec_ * size, unsigned int glyph_index, int load_flags) Line 489	C
DesignStudio.exe!FT_Load_Glyph(FT_FaceRec_ * face, unsigned int glyph_index, int load_flags) Line 978	C

DesignStudio.exe!neogfx::native_font_face::glyph_texture(const neogfx::glyph & aGlyph) Line 289 C++
DesignStudio.exe!neogfx::glyph_text_factory::to_glyph_text(const neogfx::i_graphics_context & aContext, const char32_t * aUtf32Begin, const char32_t * aUtf32End, const neogfx::i_font_selector & aFontSelector) Line 720 C++
DesignStudio.exe!neogfx::glyph_text_factory::to_glyph_text(const neogfx::i_graphics_context & aContext, const char * aUtf8Begin, const char * aUtf8End, const neogfx::i_font_selector & aFontSelector) Line 413 C++
default.nel!neogfx::i_glyph_text_factory::to_glyph_text(const neogfx::i_graphics_context & aContext, const std::basic_string_view<char,std::char_traits> & aString, std::function<neogfx::font __cdecl(unsigned __int64)> aFontSelector) Line 539 C++
default.nel!neogfx::graphics_context::to_glyph_text(std::_String_const_iterator<std::_String_val<std::_Simple_types>> aTextBegin, std::_String_const_iterator<std::_String_val<std::_Simple_types>> aTextEnd, std::function<neogfx::font __cdecl(unsigned __int64)> aFontSelector) Line 951 C++
default.nel!neogfx::graphics_context::to_glyph_text(std::_String_const_iterator<std::_String_val<std::_Simple_types>> aTextBegin, std::_String_const_iterator<std::_String_val<std::_Simple_types>> aTextEnd, const neogfx::font & aFont) Line 946 C++
default.nel!neogfx::graphics_context::to_glyph_text(const std::string & aText, const neogfx::font & aFont) Line 941 C++
default.nel!neogfx::basic_item_presentation_model<neogfx::basic_item_model<void *,0,neogfx::item_cell_data,neogfx::item_flat_container_traits<void *,neogfx::item_cell_data,0,0>>>::cell_glyph_text(const neogfx::item_presentation_model_index & aIndex, const neogfx::i_graphics_context & aGc) Line 781 C++
default.nel!neogfx::basic_item_presentation_model<neogfx::basic_item_model<void *,0,neogfx::item_cell_data,neogfx::item_flat_container_traits<void *,neogfx::item_cell_data,0,0>>>::cell_extents(const neogfx::item_presentation_model_index & aIndex, const neogfx::i_graphics_context & aGc) Line 792 C++
default.nel!neogfx::basic_item_presentation_model<neogfx::basic_item_model<void *,0,neogfx::item_cell_data,neogfx::item_flat_container_traits<void *,neogfx::item_cell_data,0,0>>>::column_width(unsigned int aColumnIndex, const neogfx::i_graphics_context & aGc, bool aIncludePadding) Line 273 C++
default.nel!neogfx::drop_list::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 977 C++
default.nel!neogfx::layout_item_cache::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 419 C++
default.nel!neogfx::layout::do_minimum_size<neogfx::layout::row_majorneogfx::vertical_layout>(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 167 C++
default.nel!neogfx::vertical_layout::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 72 C++
default.nel!neogfx::layout_item_cache::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 419 C++
default.nel!neogfx::layout::do_minimum_size<neogfx::layout::column_majorneogfx::horizontal_layout>(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 167 C++
default.nel!neogfx::horizontal_layout::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 72 C++
default.nel!neogfx::layout_item_cache::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 419 C++
default.nel!neogfx::layout::do_minimum_size<neogfx::layout::row_majorneogfx::vertical_layout>(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 167 C++
default.nel!neogfx::vertical_layout::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 72 C++
default.nel!neogfx::widgetneogfx::i_widget::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 1056 C++
default.nel!neogfx::framed_widget<neogfx::widgetneogfx::i_widget>::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 138 C++
default.nel!neogfx::window::client::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 138 C++
default.nel!neogfx::layout_item_cache::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 419 C++
default.nel!neogfx::layout::do_minimum_size<neogfx::layout::row_majorneogfx::vertical_layout>(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 167 C++
default.nel!neogfx::vertical_layout::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 72 C++
default.nel!neogfx::layout_item_cache::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 419 C++
default.nel!neogfx::layout::do_minimum_size<neogfx::layout::row_majorneogfx::vertical_layout>(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 167 C++
default.nel!neogfx::vertical_layout::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 72 C++
default.nel!neogfx::widgetneogfx::i_window::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 1056 C++
default.nel!neogfx::framed_widget<neogfx::widgetneogfx::i_window>::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 138 C++
default.nel!neogfx::window::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 550 C++
default.nel!neogfx::font_dialog::minimum_size(const neolib::optional<neogfx::basic_size> & aAvailableSpace) Line 272 C++
default.nel!neogfx::widgetneogfx::i_window::layout_items(bool aDefer) Line 763 C++
default.nel!neogfx::window::center_on_parent(bool aSetMinimumSize) Line 680 C++
default.nel!neogfx::font_dialog::init() Line 381 C++
default.nel!neogfx::font_dialog::font_dialog(neogfx::i_widget & aParent, const neogfx::font & aCurrentFont, const neolib::optionalneogfx::text_appearance & aCurrentAppearance) Line 226 C++
default.nel!neogfx::DesignStudio::sticky_note::sticky_note'::`2'::<lambda_5>::operator()'::`2'::<lambda_1>::operator()() Line 126 C++ default.nel!std::invoke<neogfx::DesignStudio::sticky_note::sticky_note'::2'::<lambda_5>::operator()'::2'::<lambda_1> &>(neogfx::DesignStudio::sticky_note::{ctor}::__l2::<lambda_5>::()::__l2::<lambda_1> & _Obj) Line 1586 C++
default.nel!std::_Invoker_ret<void,1>::_Call<neogfx::DesignStudio::sticky_note::sticky_note'::`2'::<lambda_5>::operator()'::`2'::<lambda_1> &>(neogfx::DesignStudio::sticky_note::{ctor}::__l2::<lambda_5>::()::__l2::<lambda_1> & _Func) Line 745 C++ default.nel!std::_Func_impl_no_alloc<neogfx::DesignStudio::sticky_note::sticky_note'::2'::<lambda_5>::operator()'::2'::<lambda_1>,void>::_Do_call() Line 921 C++
default.nel!std::_Func_class::operator()() Line 969 C++
default.nel!neolib::event<>::enqueue(std::optional<std::scoped_lockneolib::switchable_mutex> & aLock, neolib::event<>::handler & aHandler, bool aAsync, const std::optional & aAsyncTransaction) Line 763 C++
default.nel!neolib::event<>::sync_trigger() Line 580 C++
default.nel!neolib::event<>::trigger() Line 530 C++
default.nel!neolib::plugin_events::event<>::trigger() Line 82 C++
default.nel!neogfx::menu_item_widget::select_item(bool aOpenAnySubMenu) Line 429 C++
default.nel!neogfx::menu_item_widget::mouse_button_released(neogfx::mouse_button aButton, const neogfx::basic_point & aPosition) Line 230 C++
default.nel!neogfx::surface_window::native_window_mouse_button_released(neogfx::mouse_button aButton, const neogfx::basic_point & aPosition) Line 543 C++
DesignStudio.exe!neogfx::native_window::handle_event() Line 264 C++
DesignStudio.exe!neogfx::native_window::handle_event(const neolib::variant<neogfx::window_event,neogfx::basic_mouse_event<1>,neogfx::basic_mouse_event<2>,neogfx::keyboard_event> & aEvent) Line 163 C++
DesignStudio.exe!neogfx::native_window::pump_event() Line 154 C++
DesignStudio.exe!neogfx::opengl_renderer::process_events() Line 365 C++
DesignStudio.exe!neogfx::native::windows::renderer::process_events() Line 459 C++
DesignStudio.exe!neogfx::surface_manager::process_events(bool & aLastWindowClosed) Line 215 C++
DesignStudio.exe!neogfx::app::do_process_events() Line 748 C++
DesignStudio.exe!neogfx::app::process_events(neogfx::i_event_processing_context & __formal) Line 690 C++
default.nel!neogfx::context_menu::exec() Line 75 C++
default.nel!neogfx::text_edit::mouse_button_released(neogfx::mouse_button aButton, const neogfx::basic_point & aPosition) Line 515 C++
DesignStudio.exe!neogfx::surface_window::native_window_mouse_button_released(neogfx::mouse_button aButton, const neogfx::basic_point & aPosition) Line 543 C++
DesignStudio.exe!neogfx::native_window::handle_event() Line 264 C++
DesignStudio.exe!neogfx::native_window::handle_event(const neolib::variant<neogfx::window_event,neogfx::basic_mouse_event<1>,neogfx::basic_mouse_event<2>,neogfx::keyboard_event> & aEvent) Line 163 C++
DesignStudio.exe!neogfx::native_window::pump_event() Line 154 C++
DesignStudio.exe!neogfx::opengl_renderer::process_events() Line 365 C++
DesignStudio.exe!neogfx::native::windows::renderer::process_events() Line 459 C++
DesignStudio.exe!neogfx::surface_manager::process_events(bool & aLastWindowClosed) Line 215 C++
DesignStudio.exe!neogfx::app::do_process_events() Line 748 C++
DesignStudio.exe!neogfx::app::process_events(neogfx::i_event_processing_context & __formal) Line 690 C++
DesignStudio.exe!neogfx::app::exec(bool aQuitWhenLastWindowClosed) Line 352 C++
DesignStudio.exe!main(int argc, char * * argv) Line 45 C++
DesignStudio.exe!invoke_main() Line 79 C++
DesignStudio.exe!__scrt_common_main_seh() Line 288 C++
DesignStudio.exe!__scrt_common_main() Line 331 C++
DesignStudio.exe!mainCRTStartup(void * __formal) Line 17 C++
kernel32.dll!00007ffaae317c24() Unknown
ntdll.dll!00007ffaae58d4d1() Unknown

@i42output
Copy link
Owner Author

A workaround for this crash is to pass FT_LOAD_NO_AUTOHINT to FT_Load_Glyph

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant