<div dir="ltr"><div dir="ltr"><div>I think that I found it.</div><div>There's potentially a GDI leak in getDpiSystem(), but it's not (usually) used, it's just a fallback.</div><div>What solved the problem for me was to use DestroyIcon() rather than DestroyCursor()</div><div>because the cursor was created by CreateIconIndirect() rather than CreateCursor()...
<div></div><div><a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/658">https://github.com/OpenSmalltalk/opensmalltalk-vm/pull/658</a></div>

</div><div><br></div><div>Why it's different for others, I don't know, maybe there is no creation of ARGB cursors, but just simple masks?</div><div>That may explain different behaviors across different images...</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le lun. 14 nov. 2022 à 14:44, Tobias Pape <<a href="mailto:Das.Linux@gmx.de">Das.Linux@gmx.de</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> <br>
Hi<br>
<br>
<br>
> On 14. Nov 2022, at 14:17, Marcel Taeumel <<a href="mailto:marcel.taeumel@hpi.de" target="_blank">marcel.taeumel@hpi.de</a>> wrote:<br>
> <br>
> Hi Nicolas --<br>
> <br>
> Hmm... we haven't touched that win32 platform graphics code in many years. It was not necessary to get that high-dpi stuff working.<br>
> <br>
> Here are primitives you can try to disable:<br>
> <br>
> DisplayScreen >> #forceDisplayUpdate (prim 231)<br>
> DisplayScreen class >> #actualScreenScaleFactor (prim #primitiveScreenScaleFactor)<br>
> DisplayScreen >> #primitiveDeferUpdates: (prim 126) -- graphics will flicker then<br>
> DisplayScreen >> #primShowRect... (prim 127) + #primRetryShowRect... (prim 127)<br>
> <br>
> Maybe this helps. My GDI objects are stable at about 20.<br>
<br>
The High-DPI-Code explicitly handles the multi-monitor stuff.<br>
Nicolas, do you use one window stretched among several monitors or do you move the windows <br>
completely from one to anotheR?<br>
<br>
        -Tobias<br>
<br></blockquote><div>I move the Squeak window from one screen to the other, always entirely because they have different DPI/layout.</div><div>This motion generally scrambles the layout of my iconified Squeak windows, they pile up instead of being tiled, but that's a minor problem.<br></div></div></div>