conflict with gin theme
>>> [!note] Migrated issue
<!-- Drupal.org comment -->
<!-- Migrated from issue #3502099. -->
Reported by: [huangweiqiu](https://www.drupal.org/user/242577)
Related to !75
>>>
<h3 id="summary-problem-motivation">Problem/Motivation</h3>
<blockquote><p>2025/01/25 09:34:24 [error] 16712#16776: *52 FastCGI sent in stderr: "Uncaught PHP Exception Error: "Call to a member function getOption() on string" at H:\wemp\nginx\html\nkmz\modules\contrib\ui_icons\modules\ui_icons_menu\ui_icons_menu.module line 95" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /admin/appearance HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "127.0.0.1:81", referrer: "<a href="http://127.0.0.1:81/admin/appearance">http://127.0.0.1:81/admin/appearance</a>"
</p></blockquote>
<h4 id="summary-steps-reproduce">Steps to reproduce</h4>
<p>drupal 10.4 +gin theme 4.x + UI Icons Menu </p>
<h3 id="summary-proposed-resolution">Proposed resolution</h3>
<p>ui_icons_menu.module line 95,check if the $url is a object.</p>
<pre>function ui_icons_menu__preprocess_menu_item(array &$item): void {<br> /** @var \Drupal\Core\Url $url */<br> $url = &$item['url'];<br> + if(is_object($url)){ <br> if (!$icon = $url->getOption('icon')) {<br> return;<br> }<br> <br> if ($url->getOption('ui_icons_processed')) {<br> return;<br> }<br> <br> $url->setOption('ui_icons_processed', TRUE);<br> ui_icons_menu_generate_markup($item['title'], $icon['target_id'], $icon['settings'] ?? [], $url->getOption('icon_display') ?? 'before');<br><br><br>+ }<br><br>}</pre><h3 id="summary-remaining-tasks">Remaining tasks</h3>
<h3 id="summary-ui-changes">User interface changes</h3>
<h3 id="summary-api-changes">API changes</h3>
<h3 id="summary-data-model-changes">Data model changes</h3>
issue