Open torte71 opened 1 year ago
With recent suil we didn't need the call to resize->ui_resize() in instantiate any more, we could remove it to avoid this issue. The host is supposed to fetch the initial size from the XWindowAttributes anyway. True, I don't know how that is handled on the mswin side.
Removing resize->ui_resize() looked OK in Ardour, but not in Reaper (both on Linux), and on MSWin it didn't work in Reaper and Carla. Anyway, I think this issue is happening quite rarely (for me: only directly after a X11 restart, then 1 out 10 starts showed it), so I wouldn't rate it a showstopper and maybe it's better to leave it as it is for now, than to use a workaround which may introduce new surprises.
So we should prepare a new release, bump version number to 1.0 and implement the windows prebuild binary download link in the README. As a side note, @alex-tee from zrythm ask if he could include the GxPlugins into his project for ship/sell. I said I've nothing against that, but would ask you for you opinion before proceed, as it looks his interest comes mainly from the availability of mswin plugs.
OK, I've updated README.md, now starts family-time :) And I am fine if zrythm (or anyone else) bundles them comercially.
The prerelease is done, last thing left to do is editing the release note, adding the tag v1.0 there and to remove the pre-release checkbox. README.md contains links to the v1.0 release, they will start working, once the pre-release marker is removed. I've also added an autogenerated full-source archive, so it is not required to add it manually in the release-note step any longer. In debian/changelog, I've added my name - copying your signature felt weird to me - but feel free to change it. (The final version of the release-note can be seen on my playground: https://github.com/torte71/GxPlugins.lv2/releases)
Okay, nice. So I've pushed the release here as well and send announcement mails to LAU LAD and LAA.
Setting the plugin-hosts windows size (via the LV2 handle, resize->ui_resize()) doesn't work immediately, it can be delayed even after the call to resize_event(). In that case, resize_event() fetches the wrong/old size from parentWindow, resizes its own window and cairo-surface to that - and finally the resize->ui_resize() resizes the parentWindow, resulting in a wrongly sized and clipped view. I don't know a way to reliably tell, when resize->ui_resize() has completed. If resize_event() gets moved into the first expose event, that may increase the chances of the former resize operation to finish. But it's still not ideal.
For completeness: There was a resizing workaround for gtk, that I've removed: https://github.com/brummer10/GxBaJaTubeDriver.lv2/commit/4792d55ab3113565e654761e302e8be1d3e39b28 It seems unrelated to the problem above and I couldn't see that removing it caused new problems in Ardour or Reaper.