Handling of WM_SHOWWINDOW


#1

Hello,

I am making a VST3 plugin using JUCE.

In Studio One 2.6 on Windows I have a problem when opening the plugin GUI: the main component does not have the visible flag set. This happens because for some reason the host first hides the editor (Our component peer receives a WM_WINDOWPOSCHANGING message telling us to hide), then probably tries to show it back with ShowWindow, and we receive a WM_SHOWWINDOW message. But the current implementation in juce_win32_windowing.cpp does not make the component visible in response to this message.

I could fix this problem by changing the handling of this message:


case WM_SHOWWINDOW:
    if (wParam != 0){
        if (! component.isVisible())
            component.setVisible (true);
        handleBroughtToFront();
    }
    break;

If this has no undesirable side-effects you may consider including it in the JUCE code.


#2

Hmm.. Interesting..

I guess this does make sense, because the only time it'd ever get called when the component isn't already visible would be because something external is trying to show the window, so it would make sense to also make the component visible.. Thanks, I'll probably put this in!