Fix wxMenuItem::SetBitmap infinite recursion (Vista+).

Calling a menu item's SetBitmap can result in a stack overflow. This
occurs when setting a bitmap after the menu item has already been added to
the menu and while running under Vista (and later). Under those
circumstances [Do]SetBitmap will call GetHBitmapForMenu which itself calls
SetBitmap again.

Fix by adding a simple check for re-entry.

Regression since r76202.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76754 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix exception while reinserting menu item.

After removing an item from a menu that item's parent menu is set to NULL
and can't be used any longer to insert the item again. Fix by remembering
the parent menu before removing the item from it.

Regression since r76251 (this commit is a partial revert of that commit).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Make checkable menu item with bitmap owner drawn.

Since r44192 a checkable menu item with bitmap on pre-Vista assigns
HBMMENU_CALLBACK to hbmpChecked and hbmpUnchecked members of MENUITEMINFO.
However this value is only valid for hbmpItem and for other bitmaps
InsertMenuItem will fail (with "the parameter is incorrect") resulting in
making the menu owner drawn later.
Instead check earlier on in MSWMustUseOwnerDrawn if we're dealing with a
checkable menu item with a bitmap and if so make it owner drawn
explicitly.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76756 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix failing Win32 calls with checkable menu item.

Since r76202 InsertMenuItem is used when adding checkable menu items even
without a bitmap. The call fails because hbmpChecked and hbmpUnchecked are
set to HBMMENU_CALLBACK on pre-Vista, making the menu owner drawn
unnecessarily.

Fix by adding GetHBitmapForMenuCheckable which is used when assigning
values to hbmpChecked and hbmpUnchecked. GetHBitmapForMenu remains
unchanged (for possible porting reasons) and is used for hBmpItem only.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76757 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/trunk@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/trunk@76759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Clean up GetHBitmapForMenu.

Merge wxMenuItem::GetHBitmapForMenuCheckable and ::DoGetHBitmapForMenu
into wxMenuItem::GetHBitmapForMenu. Change its boolean parameter to an
enum specifying the kind of bitmap that is wanted (normal, checked, or
unchecked).


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76760 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.

Closes #13675.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76768 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/trunk@76771 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxTextCtrl: call UpdateUI() when showing OLE-based context menu.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76772 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/trunk@76773 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Update of OpenVMS makefile

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76777 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
remove unnecessary includes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76778 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
adding AVFoundation implementation for media ctrl

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76779 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix compilation with wxUSE_MENUITEMINFO==0.

Add argument to a call to GetHBitmapForMenu, which doesn't have a default
parameter any more. Fixes (this part of) WinCE compilation. Broken since
r76760.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix wxMenuItem::SetBitmap infinite recursion differently.

Don't call SetBitmap from GetHBitmapForMenu but instead handle possibly
needed bitmap modifications earlier on during SetBitmap. Allows for
GetHBitmapForMenu to be const and gets rid of the clumsy re-entry check
introduced in r76754.
Also check the bitmap for alpha presence instead of needlessly converting
the bitmap to an image and checking the latter for alpha.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76781 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/trunk@76783 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix wxStaticBox' clipping region in RTL mode.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76785 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix harmless unused parameters warnings in builds without wxLogTrace().

Fix warnings appearing when building with --disable-debug under Unix by
either referencing the parameters or variables which become unused then,
because wxLogTrace() calls are compiled out, or by not compiling the code
whose only purpose is to call wxLogTrace() at all.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76786 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
No real changes, just fix a harmless warning under OS X.

Don't use "size" variable unnecessarily under non-Mac platforms, this also
fixes a warning about reassigning it immediately after assigning a previous
values to it under Mac.

Closes #16353.

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