From: Ray Strode Date: Thu, 4 Jan 2024 21:05:40 +0000 (-0500) Subject: label-freetype: Force resize calculation when moving control X-Git-Tag: 24.004.60^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=345d28b3cbb898bcadfb430eeb58f3c2896a6648;p=thirdparty%2Fplymouth.git 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. --- 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,