RustAudio / baseview

low-level window system interface for audio plugin UIs
Apache License 2.0
267 stars 57 forks source link

Fix WM_DPICHANGED not triggering Resized event #140

Open robbert-vdh opened 1 year ago

robbert-vdh commented 1 year ago

The window size gets changed directly in the WM_DPICHANGED handler, so comparing the new size against that will not work. The solution is to store the last size seen in WM_SIZE separately.

This fixes a regression from #136 affecting HiDPI displays+system scaling on Windows. @geom3trik was going to test this fix at some point, but everyone's forgotten about it since then and I just remembered that it still hasn't been fixed. I don't have a Windows HiDPI setup so I haven't tested this myself, but it should at least fix the WindowEvent::Resized not coming through when the system DPI changes. @geom3trik could you test this?

geom3trik commented 1 year ago

Tested this on my machine (Windows 11) and it works as expected.