From 345d28b3cbb898bcadfb430eeb58f3c2896a6648 Mon Sep 17 00:00:00 2001 From: Ray Strode Date: Thu, 4 Jan 2024 16:05:40 -0500 Subject: [PATCH] label-freetype: Force resize calculation when moving control When moving the label around we need to do a full recalculation of the metrics, because the position is part of the computation. --- src/plugins/controls/label-freetype/plugin.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/plugins/controls/label-freetype/plugin.c b/src/plugins/controls/label-freetype/plugin.c index 9b2f369c..917b04c0 100644 --- a/src/plugins/controls/label-freetype/plugin.c +++ b/src/plugins/controls/label-freetype/plugin.c @@ -854,15 +854,19 @@ show_control (ply_label_plugin_control_t *label, long y) { ply_rectangle_t dirty_area; + bool force_resize = false; dirty_area = label->area; label->display = display; - label->area.x = x; - label->area.y = y; + if (label->area.x != x || label->area.y != y) { + label->area.x = x; + label->area.y = y; + force_resize = true; + } label->is_hidden = false; - size_control (label, false); + size_control (label, force_resize); if (!label->is_hidden && label->display != NULL) ply_pixel_display_draw_area (label->display,