message: Really fix mCtrl messages passing recursion
  The blind fix in was wrong.
  This one was actually tested in a reproduced case.
diff: @@ -48,7 +48,7 @@ class wxFrameWithWindows10Menubar::MenuBarWindow : public wxWindow
  public:
  MenuBarWindow(wxWindow *parent)
  : wxWindow(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxFULL_REPAINT_ON_RESIZE),
  - m_mctrlWin(nullptr), m_mctrlHandle(0), m_flagReenterMctrl(0)
  + m_mctrlWin(nullptr), m_mctrlHandle(0)
  {
  if (g_mctrlInitialized++ == 0)
  mcMenubar_Initialize();
  @@ -92,15 +92,11 @@ public:
  }
  bool TranslateMenubarMessage(WXMSG *pMsg)
  - {
  - wxRecursionGuard guard(m_flagReenterMctrl);
  -
  - if (!guard.IsInside())
  {
  MSG *msg = (MSG *) pMsg;
  if (mcIsMenubarMessage(m_mctrlHandle, msg))
  return true;
  - }
  +
  return false;
  }
  @@ -127,7 +123,7 @@ private:
  class mCtrlWrapper : public wxNativeWindow
  {
  public:
  - mCtrlWrapper(wxWindow *parent, WXHWND wnd) : wxNativeWindow(parent, wxID_ANY, wnd) {}
  + mCtrlWrapper(wxWindow *parent, WXHWND wnd) : wxNativeWindow(parent, wxID_ANY, wnd), m_flagReenterMctrl(0) {}
  WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam) override
  {
  @@ -135,15 +131,29 @@ private:
  {
  case WM_COMMAND:
  case WM_NOTIFY:
  + {
  + wxRecursionGuard guard(m_flagReenterMctrl);
  +
  + if (!guard.IsInside())
  + {
  return MSWDefWindowProc(nMsg, wParam, lParam);
  }
  + else
  + {
  + return ::DefWindowProc(GetHwnd(), nMsg, wParam, lParam);
  + }
  + }
  + }
  +
  return wxNativeWindow::MSWWindowProc(nMsg, wParam, lParam);
  }
  +
  + private:
  + wxRecursionGuardFlag m_flagReenterMctrl;
  };
  mCtrlWrapper *m_mctrlWin;
  WXHWND m_mctrlHandle;
  - wxRecursionGuardFlag m_flagReenterMctrl;
  };
  