From 146a5da7ae6bbd066f67f563e66b363e6b87c0db Mon Sep 17 00:00:00 2001 From: error414 Date: Sun, 31 May 2026 19:08:21 +0200 Subject: [PATCH 1/2] OSD custom elements: add 16-bit icon support --- tabs/osd.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tabs/osd.js b/tabs/osd.js index e64066b34..62cca17a1 100644 --- a/tabs/osd.js +++ b/tabs/osd.js @@ -3793,7 +3793,8 @@ function openIconPicker($targetInput) { var $grid = $('
').addClass('ce-icon-picker-grid'); var currentVal = parseInt($targetInput.val()) || 0; - for (var c = 1; c <= 255; c++) { + var maxFontChar = (FONT.data && FONT.data.character_image_urls.length > 0) ? FONT.data.character_image_urls.length - 1 : 511; + for (var c = 1; c <= maxFontChar; c++) { var url = (FONT.data && FONT.data.character_image_urls[c]) ? FONT.draw(c) : ''; var $tile = $('
').addClass('ce-icon-picker-tile') .attr('data-char', c) @@ -3919,7 +3920,7 @@ function buildSlotRow(i, ii) { $formatSelect.on('change', updateHiddenType); // Icon picker: hidden input + clickable preview button - var $icoInput = $('').addClass('value').addClass('ico').attr('type', 'hidden').attr('min', 1).attr('max', 255); + var $icoInput = $('').addClass('value').addClass('ico').attr('type', 'hidden').attr('min', 1).attr('max', 65535); var $icoBtn = $('
').addClass('value ico ce-ico-picker-btn').hide() .append($('').addClass('ce-ico-preview')) .append($('').addClass('ce-ico-label')); @@ -4372,7 +4373,7 @@ function customElementNormaliseRow(row){ valueCell.find('.text').val(valueCell.find('.text').val().replace(/[^A-Z0-9!.\* ]/g, "")); break; case 2: - valueCell.find('.ico').val(valueCell.find('.ico').val() > 255 ? 255 : valueCell.find('.ico').val()); + valueCell.find('.ico').val(valueCell.find('.ico').val() > 65535 ? 65535 : valueCell.find('.ico').val()); valueCell.find('.ico').val((valueCell.find('.ico').val() != '' && valueCell.find('.ico').val() < 1 )? 1 : valueCell.find('.ico').val()); } } From 0beb562b40ed926c4141c5a2d4f4bf3ada03d055 Mon Sep 17 00:00:00 2001 From: error414 Date: Sun, 31 May 2026 20:28:23 +0200 Subject: [PATCH 2/2] OSD custom elements: fix SonarCloud Code Analysis suggestions --- tabs/osd.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tabs/osd.js b/tabs/osd.js index 62cca17a1..dc52b7d88 100644 --- a/tabs/osd.js +++ b/tabs/osd.js @@ -3793,8 +3793,8 @@ function openIconPicker($targetInput) { var $grid = $('
').addClass('ce-icon-picker-grid'); var currentVal = parseInt($targetInput.val()) || 0; - var maxFontChar = (FONT.data && FONT.data.character_image_urls.length > 0) ? FONT.data.character_image_urls.length - 1 : 511; - for (var c = 1; c <= maxFontChar; c++) { + let maxFontChar = (FONT.data && FONT.data.character_image_urls.length > 0) ? FONT.data.character_image_urls.length - 1 : 511; + for (let c = 1; c <= maxFontChar; c++) { var url = (FONT.data && FONT.data.character_image_urls[c]) ? FONT.draw(c) : ''; var $tile = $('
').addClass('ce-icon-picker-tile') .attr('data-char', c) @@ -3920,7 +3920,7 @@ function buildSlotRow(i, ii) { $formatSelect.on('change', updateHiddenType); // Icon picker: hidden input + clickable preview button - var $icoInput = $('').addClass('value').addClass('ico').attr('type', 'hidden').attr('min', 1).attr('max', 65535); + let $icoInput = $('').addClass('value').addClass('ico').attr('type', 'hidden').attr('min', 1).attr('max', 65535); var $icoBtn = $('
').addClass('value ico ce-ico-picker-btn').hide() .append($('').addClass('ce-ico-preview')) .append($('').addClass('ce-ico-label')); @@ -4373,7 +4373,7 @@ function customElementNormaliseRow(row){ valueCell.find('.text').val(valueCell.find('.text').val().replace(/[^A-Z0-9!.\* ]/g, "")); break; case 2: - valueCell.find('.ico').val(valueCell.find('.ico').val() > 65535 ? 65535 : valueCell.find('.ico').val()); + valueCell.find('.ico').val(Math.min(valueCell.find('.ico').val(), 65535)); valueCell.find('.ico').val((valueCell.find('.ico').val() != '' && valueCell.find('.ico').val() < 1 )? 1 : valueCell.find('.ico').val()); } }