X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/256edfbf118e706daa1b30a017eb5acae0618b29..497b4e64ceeff10f40104d26139fa7f1ee347095:/src/msw/notebook.cpp diff --git a/src/msw/notebook.cpp b/src/msw/notebook.cpp index 1d69e439bb..6b171c7a74 100644 --- a/src/msw/notebook.cpp +++ b/src/msw/notebook.cpp @@ -736,6 +736,14 @@ bool wxNotebook::InsertPage(size_t nPage, if ( m_pages.GetCount() == 1 || HasFlag(wxNB_MULTILINE) ) { AdjustPageSize(pPage); + + // Additionally, force the layout of the notebook itself by posting a + // size event to it. If we don't do it, notebooks with pages on the + // left or the right side may fail to account for the fact that they + // are now big enough to fit all all of their pages on one row and + // still reserve space for the second row of tabs, see #1792. + const wxSize s = GetSize(); + ::PostMessage(GetHwnd(), WM_SIZE, SIZE_RESTORED, MAKELPARAM(s.x, s.y)); } // now deal with the selection @@ -1317,11 +1325,11 @@ bool wxNotebook::MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM* result) NMHDR* hdr = (NMHDR *)lParam; switch ( hdr->code ) { case TCN_SELCHANGE: - event.SetEventType(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED); + event.SetEventType(wxEVT_NOTEBOOK_PAGE_CHANGED); break; case TCN_SELCHANGING: - event.SetEventType(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING); + event.SetEventType(wxEVT_NOTEBOOK_PAGE_CHANGING); break; default: