Under certain conditions, selecting a menu item triggers an assert in toplevel.cpp:1544:
 wxASSERT_MSG( m_menuDepth > 0, wxS("No open menus?") );

The conditions to reproduce:
- Windows 8.1
- An application manifest that indicates Windows 8.1 compatibility

In this case, wxGetWinVersion() used to return wxWinVersion_Unknown (Without a manifest indicating 8.1 support, wxWinVersion_8 is being returned). This in turn causes the version check against Windows98 in toplevel.cpp:455 to fail, ultimately leading to the mentioned assert.

See http://msdn.microsoft.com/en-us/library/windows/desktop/ms724439%28v=vs.85%29.aspx for details.


This patch on the 3.x branch of wx adjusts wxGetWinVersion to return wxWinVersion_8 on 8.1 instead of wxWinVersion_Unknown if there's such a manifest.

In future, a different approach needs to be chosen that does not depend the deprecated GetVersion function.




git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76715 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Update the release notes and checksums for 3.0.1 release.

Also add an explicit notice about needing to compile the library even after
downloading the installer.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76716 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Update the version to 3.0.2 and rebake everything.

This is the result of running misc/scripts/inc_release and bakefile_gen.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Clarify wxEVT_SLIDER event handler argument type in the documentation.

Unlike all other events generated by wxSlider, this one receives a
wxCommandEvent and not a wxScrollEvent.

Unfortunately @beginEventEmissionTable doesn't handle the case of a class
producing events of different types, perhaps it shouldn't be used at all here.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Handle WM_*MENU* events in wxWindow.

Contrary to MSDN implications, at least some of these messages are not
actually sent to the TLW for popup menus, but to the owning window or
even its parent window (!).

Catch the events in wxWindow and forward to the TLW.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add wxMenu::MSWDetachHMENU().

Make it possible to pass ownership of a wxMenu to win32.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use IRichEditOleCallback for wxTextCtrl's context menu.

In wxMSW, use IRichEditOleCallback::GetContextMenu() to provide our
default context menu for rich text controls, instead of using
EVT_CONTEXT_MENU.

The latter completely overrides native control's handling and in
particular breaks Windows 8's builtin spellchecking support.

Fall back to the previous non-OLE code for older richtext versions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76726 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxBitmap::GetMask() asserts on invalid bitmap. Check for valid bitmap before calling GetMask().


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76736 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
supporting retina, see #15887

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76739 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix crash when right clicking AUI toolbar while left button is pressed.

Ignore the unrelated mouse events during the item dragging.

This avoids a crash due to m_actionItem being NULL when right clicking an item
while the left mouse button is kept pressed.

See #16327.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76746 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix non-MSVS compilation of webview_ie.cpp.

Use wxCRT_StricmpW instead of the Visual C++ specific _wcsicmp.

See #14382.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76758 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fixes for building wxMSW under Cygwin.

Replace a few __WXMSW__ tests with __WINDOWS__ as the former is not
defined any longer (since r73290) when compiling with wxUSE_GUI set to 0.

Tested changes with both wxGTK and wxMSW builds under Cygwin.

Closes #14382.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Generate 64 bit configurations in MSVC 8/9 projects.

Update bakefile configuration to include x64 configurations into MSVS 2005 and
2008 projects (2003 doesn't support building in 64 bits, 2010 and later are
manually maintained and already have them) and rebake the projects.

See #13675.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76767 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Mention the addition of x64 configs in MSVC 8/9 projects in the change log.

Should have been part of the previous commit.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76769 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Generate debug information in MSVC 11/12 builds too.

This partially (as MSVC 10 projects were already correct) backports r76475
from trunk, see #16236.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76770 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix IRichEditOleCallback compilation with MinGW.

MinGW headers declare the IRichEditOleCallback interface and the
corresponding IID, but the libraries don't contain the latter symbol.
Work around it by defining it ourselves.

Fixes #16340.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76774 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxTextCtrl: call UpdateUI() when showing OLE-based context menu.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76775 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Revert wxCurrentPopupMenu clearing in HandleMenuPopup().

WM_COMMAND is delivered after WM_UNINITMENUPOPUP and clearing
wxCurrentPopupMenu in the latter's handler broke delivery of the command
event to the wxTextCtrl control.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Improve handling of right-to-left support in wxStaticBox on wxMSW.

Back in #8101 I made fixes for wxStaticBox and right-to-left handling under Windows.

While this worked fine in wx2.8, the old patch has some unfortunate consequences on wx3:
* Since the box is always set to LTR, its children also inherit LTR
* Text was always right-aligned

This follow-up patch removes the RTL-specific code from wxStaticBox. Instead, the wxMemoryDC in wxStaticBox::OnPaint is made to inherit attributes from the wxPaintDC.

Tested on XP (both XP and classic theme), Windows 7 and 8.1

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76782 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix wxStaticBox' clipping region in RTL mode.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_3_0_BRANCH@76784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775