diff options
author | dec05eba <dec05eba@protonmail.com> | 2022-04-11 01:59:52 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2022-04-11 01:59:52 +0200 |
commit | 56c05d5573c7145263ae35745c63818b5bb7a48d (patch) | |
tree | 5ede93d9521222828553e08f6e3b90c7322ac9a6 | |
parent | 6da71b830ead4b7ecb9a71e05dcd50c4abd3aa4f (diff) |
Matrix: test fix crash with reaction renderer
-rw-r--r-- | src/Body.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/Body.cpp b/src/Body.cpp index 2747a22..1451541 100644 --- a/src/Body.cpp +++ b/src/Body.cpp @@ -1491,9 +1491,11 @@ namespace QuickMedia { float reaction_max_height = 0.0f; for(int i = 0; i < (int)item->reactions.size(); ++i) { auto &reaction = item->reactions[i]; - reaction.text->updateGeometry(); - reaction.size = { reaction.text->getWidth(), reaction.text->getHeight() }; - reaction.num_lines = reaction.text->getNumLines(); + if(reaction.text) { + reaction.text->updateGeometry(); + reaction.size = { reaction.text->getWidth(), reaction.text->getHeight() }; + reaction.num_lines = reaction.text->getNumLines(); + } const float reaction_max_height_prev = reaction_max_height; reaction_max_height = std::max(reaction_max_height, reaction.size.y); reaction_background.set_size(mgl::vec2f(reaction.size.x + body_spacing[body_theme].reaction_background_padding_x * 2.0f, reaction.size.y + body_spacing[body_theme].reaction_background_padding_y * 2.0f)); @@ -1510,10 +1512,12 @@ namespace QuickMedia { reaction_offset_x = new_reaction_offset_x; } - reaction.text->set_position(reaction_background.get_position() + mgl::vec2f(body_spacing[body_theme].reaction_background_padding_x, - 4.0f + body_spacing[body_theme].reaction_background_padding_y)); + if(reaction.text) { + reaction.text->set_position(reaction_background.get_position() + mgl::vec2f(body_spacing[body_theme].reaction_background_padding_x, - 4.0f + body_spacing[body_theme].reaction_background_padding_y)); - reaction_background.draw(window); - reaction.text->draw(window); + reaction_background.draw(window); + reaction.text->draw(window); + } } item_pos.y += reaction_max_height + body_spacing[body_theme].reaction_padding_y; } |