Fix SWELL drag guard, channel-fork the VST editor window class, dedupe own-module match
Panel drag no longer misfires on SWELL's always-zero wParam; stable/beta VST editors register distinct window classes against their own module instead of colliding on REAPER's; own-module basename matching moves to a tested pure helper.
This commit is contained in:
@@ -68,9 +68,13 @@ bool pointerOverHostWindow(int screenX, int screenY);
|
||||
// - an all-#32770 dialog-based editor (the generic Windows dialog class) resolves to no
|
||||
// recognizable plugin module — falls to REAPER's outcome;
|
||||
// - a .NET/WPF editor's class procedure is a CLR-thunked address with no resolvable module —
|
||||
// also falls to REAPER's outcome;
|
||||
// also falls to REAPER's outcome; `[verify]`;
|
||||
// - our own ReaSampler 9000 module (this channel's reasampler_9000[_beta].vst3, matched by
|
||||
// basename) also falls to REAPER's outcome, deliberately — see ui::WindowFacts::ownModule.
|
||||
// basename) also falls to REAPER's outcome, deliberately — see ui::WindowFacts::ownModule;
|
||||
// - ReaSampler 9000 itself run bridged/in a separate process reads as Plugin, same as any other
|
||||
// bridged plugin — banner (the OS hand-off fires over our own editor), harmless;
|
||||
// - a renamed ReaSampler 9000 binary (the basename no longer matches ownVstFileName()) misses
|
||||
// the exemption and reads as Plugin — banner, harmless.
|
||||
// The opposite direction is unguarded: a third-party hook that replaces REAPER's own chrome
|
||||
// class procedure via SetClassLongPtr(GCLP_WNDPROC) would make REAPER's own window read as
|
||||
// Plugin — toward OLE instead of away from it.
|
||||
|
||||
Reference in New Issue
Block a user