mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-07 03:50:11 +02:00
Get rid of SWP_NOCOPYBITS
This commit is contained in:
@@ -10,6 +10,14 @@ Versioning](https://semver.org/spec/v2.0.0.html).
|
|||||||
|
|
||||||
# Fixed
|
# Fixed
|
||||||
|
|
||||||
|
- Changed the behavior when setting window positions for yabridge's editor. This
|
||||||
|
may avoid a painfully slow redraw in the _Audio Nebula Aurora FM_ plugin when
|
||||||
|
dragging the editor window around.
|
||||||
|
|
||||||
|
## [5.0.1] - 2022-11-14
|
||||||
|
|
||||||
|
# Fixed
|
||||||
|
|
||||||
- Added a temporary workaround for yabridge hanging indefinitely on startup as
|
- Added a temporary workaround for yabridge hanging indefinitely on startup as
|
||||||
the result of a new bug in Wine 7.21:
|
the result of a new bug in Wine 7.21:
|
||||||
https://bugs.winehq.org/show_bug.cgi?id=53912
|
https://bugs.winehq.org/show_bug.cgi?id=53912
|
||||||
|
|||||||
@@ -461,7 +461,7 @@ void Editor::resize(uint16_t width, uint16_t height) {
|
|||||||
});
|
});
|
||||||
SetWindowPos(win32_window_.handle_, nullptr, 0, 0, 0, 0,
|
SetWindowPos(win32_window_.handle_, nullptr, 0, 0, 0, 0,
|
||||||
SWP_NOSIZE | SWP_NOREDRAW | SWP_NOACTIVATE |
|
SWP_NOSIZE | SWP_NOREDRAW | SWP_NOACTIVATE |
|
||||||
SWP_NOCOPYBITS | SWP_NOOWNERZORDER | SWP_DEFERERASE);
|
SWP_NOOWNERZORDER | SWP_DEFERERASE);
|
||||||
|
|
||||||
// Make sure that after the resize the screen coordinates always match
|
// Make sure that after the resize the screen coordinates always match
|
||||||
// up properly. Without this Soundtoys Crystallizer might appear choppy
|
// up properly. Without this Soundtoys Crystallizer might appear choppy
|
||||||
@@ -1180,7 +1180,7 @@ LRESULT CALLBACK window_proc(HWND handle,
|
|||||||
handle, GWLP_USERDATA,
|
handle, GWLP_USERDATA,
|
||||||
static_cast<LONG_PTR>(reinterpret_cast<size_t>(editor)));
|
static_cast<LONG_PTR>(reinterpret_cast<size_t>(editor)));
|
||||||
} break;
|
} break;
|
||||||
// Setting `SWP_NOCOPYBITS` somewhat reduces flickering on
|
// Setting `SWP_DEFERERASE` somewhat reduces flickering on
|
||||||
// `fix_local_coordinates()` calls with plugins that don't do double
|
// `fix_local_coordinates()` calls with plugins that don't do double
|
||||||
// buffering since it speeds up the redrawing process.
|
// buffering since it speeds up the redrawing process.
|
||||||
case WM_WINDOWPOSCHANGING: {
|
case WM_WINDOWPOSCHANGING: {
|
||||||
@@ -1191,7 +1191,7 @@ LRESULT CALLBACK window_proc(HWND handle,
|
|||||||
}
|
}
|
||||||
|
|
||||||
WINDOWPOS* info = reinterpret_cast<WINDOWPOS*>(lParam);
|
WINDOWPOS* info = reinterpret_cast<WINDOWPOS*>(lParam);
|
||||||
info->flags |= SWP_NOCOPYBITS | SWP_DEFERERASE;
|
info->flags |= SWP_DEFERERASE;
|
||||||
} break;
|
} break;
|
||||||
case WM_TIMER: {
|
case WM_TIMER: {
|
||||||
auto editor = reinterpret_cast<Editor*>(
|
auto editor = reinterpret_cast<Editor*>(
|
||||||
|
|||||||
Reference in New Issue
Block a user