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 &amp;$item): void {<br>&nbsp; /** @var \Drupal\Core\Url $url */<br>&nbsp; $url = &amp;$item['url'];<br>&nbsp; + if(is_object($url)){&nbsp; <br>&nbsp;&nbsp;&nbsp; if (!$icon = $url-&gt;getOption('icon')) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp; <br>&nbsp;&nbsp;&nbsp; if ($url-&gt;getOption('ui_icons_processed')) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp; <br>&nbsp;&nbsp;&nbsp; $url-&gt;setOption('ui_icons_processed', TRUE);<br>&nbsp;&nbsp;&nbsp; ui_icons_menu_generate_markup($item['title'], $icon['target_id'], $icon['settings'] ?? [], $url-&gt;getOption('icon_display') ?? 'before');<br><br><br>+&nbsp; }<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