fix GUI VSTi trắng/không load: DPI per-monitor v2 + WS_CLIPCHILDREN + view->onSize() sau attached; restore API manager header/cpp (2596372 xoá nhầm) và deploy exe mới
This commit is contained in:
@@ -222,7 +222,7 @@ static void* create_native_vst_window(const char* title) {
|
||||
registered = true;
|
||||
}
|
||||
HWND hwnd = CreateWindowExA(0, kWndClass, title ? title : "VST",
|
||||
WS_OVERLAPPEDWINDOW | WS_VISIBLE,
|
||||
WS_OVERLAPPEDWINDOW | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS,
|
||||
CW_USEDEFAULT, CW_USEDEFAULT, 800, 600,
|
||||
nullptr, nullptr, GetModuleHandleA(nullptr), nullptr);
|
||||
return (void*)hwnd;
|
||||
@@ -672,6 +672,12 @@ static void post_close_gui(uint32_t ch, HWND hwnd) {
|
||||
int main(int argc, char* argv[]) {
|
||||
std::cout << "[NativeBridge] Starting DAW Host Bridge Engine..." << std::endl;
|
||||
#ifdef _WIN32
|
||||
// DPI: declare per-monitor v2 FIRST (before any window is created).
|
||||
// Without it, on scaled displays (125/150%) the plugin's own renderer
|
||||
// paints at 100% into an OS-scaled window -> blank/white panel with dark
|
||||
// strips (reported "GUI trắng, không load"). Runtime call works even
|
||||
// without an exe manifest. Ignore failure (already aware).
|
||||
SetProcessDpiAwarenessContext(DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2);
|
||||
// Default IMC = none on the main thread (IME recursion fix).
|
||||
ImmAssociateContextEx(nullptr, nullptr, IACE_DEFAULT);
|
||||
// Catch JUCE_* window creation and strip its IMC at birth. Global hooks
|
||||
|
||||
Reference in New Issue
Block a user