# Label.get\_text\_metrics returns old metrics right after setting text

**URL:** <https://forum.defold.com/t/label-get-text-metrics-returns-old-metrics-right-after-setting-text/17644>\
**Category:** Bugs\
**Created:** [March 10, 2018, 3:23pm UTC](https://forum.defold.com/t/label-get-text-metrics-returns-old-metrics-right-after-setting-text/17644 "2018-03-10T15:23:14Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![dapetcu21](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/dapetcu21/32/25120_2.png) [@dapetcu21](https://forum.defold.com/u/dapetcu21)\
**Post date:** [March 10, 2018, 3:23pm UTC](https://forum.defold.com/t/label-get-text-metrics-returns-old-metrics-right-after-setting-text/17644/1 "2018-03-10T15:23:14Z")

</div>

If I call `label.get_text_metrics()` immediately after `label.set_text()`, I get the metrics for the old text. Calling `label.get_text_metrics()` in the next frame seems to work, though.

---

<div class="post-metadata">

**Author:** ![britzl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/britzl/32/23_2.png) [@britzl](https://forum.defold.com/u/britzl)\
**Post date:** [March 10, 2018, 5:49pm UTC](https://forum.defold.com/t/label-get-text-metrics-returns-old-metrics-right-after-setting-text/17644/2 "2018-03-10T17:49:19Z")

</div>

Yeah, this sounds like a bug. @Mathias_Westerdahl?

---

<div class="post-metadata">

**Author:** ![Mathias\_Westerdahl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/mathias_westerdahl/32/228_2.png) [@Mathias\_Westerdahl](https://forum.defold.com/u/Mathias_Westerdahl)\
**Post date:** [March 11, 2018, 9:36am UTC](https://forum.defold.com/t/label-get-text-metrics-returns-old-metrics-right-after-setting-text/17644/3 "2018-03-11T09:36:31Z")

</div>

Well, the `label.set_text()` uses message passing, and the `label. get_text_metrics()` doesn’t. That’s why they work as they do. Granted

Ideally, I’d have something like a `label.calc_text_metrics(font, text)`, but currently, we don’t have a way to reference the `font` object to pass in there. Hmm, maybe if we also had a `label.get_font()`… I’ll discuss this with the team next week.

---

<div class="post-metadata">

**Author:** ![iovorobiev](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/iovorobiev/32/6755_2.png) [@iovorobiev](https://forum.defold.com/u/iovorobiev)\
**Post date:** [April 4, 2019, 1:23pm UTC](https://forum.defold.com/t/label-get-text-metrics-returns-old-metrics-right-after-setting-text/17644/4 "2019-04-04T13:23:26Z")

</div>

Just encountered the same problem. Any update on this @Mathias_Westerdahl ?

---

<div class="post-metadata">

**Author:** ![Mathias\_Westerdahl](https://forum-defold.b-cdn.net/user_avatar/forum.defold.com/mathias_westerdahl/32/228_2.png) [@Mathias\_Westerdahl](https://forum.defold.com/u/Mathias_Westerdahl)\
**Post date:** [April 4, 2019, 1:37pm UTC](https://forum.defold.com/t/label-get-text-metrics-returns-old-metrics-right-after-setting-text/17644/5 "2019-04-04T13:37:15Z")

</div>

We’re waiting for another task to be completed: “resource properties”  
Then I can rewrite the label.get\_text\_metrics() given an actual font.  
The resource properties has been delayed quite a bit, but thry’re still part of our [roadmap](https://forum.defold.com/t/defold-roadmap-h1-2019/41406)
