Commit Graph

58693 Commits

Author SHA1 Message Date
Vadim Zeitlin
496bcff52b Check for conversion failure correctly in wx[F]File::Write().
Check for the length of the buffer to determine whether the conversion failed
instead of checking whether it's NULL because this is currently never the case
because of the code in wxString::AsCharBuf() which returns "" and not NULL in
case of conversion failure.

This at least eliminates silent data loss when saving data that can't be
converted to the current locale encoding.

Closes #16348.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76798 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-30 01:00:45 +00:00
Vadim Zeitlin
866515c39e Don't call strlen() unnecessarily in wxFFile::Write().
We already have the length of the string, either in the buffer if we actually
converted the string from Unicode to multi-byte, or in the string itself in
non-Unicode build.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-30 01:00:42 +00:00
Vadim Zeitlin
19c74143e2 Don't use C++ streams in wxString::FromCDouble() implementation.
This doesn't work if the global C++ locale had been changed and we can't call
imbue(locale::classic()) to ensure that the stream we use here uses the C
locale because imbue() is hopelessly broken in some implementations.

So just get rid of this code and keep only the hack replacing the decimal
separator with the dot explicitly. This is ugly but should always work in
practice and is also consistent with ToCDouble().

Closes #16343.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-30 01:00:36 +00:00
Vadim Zeitlin
a72d2bc81a No real changes, just use symbolic constants with BM_SETCHECK.
Use BST_CHECKED and BST_UNCHECKED instead of implicitly relying on their
values being 1 and 0.

See #11665.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76795 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-30 01:00:31 +00:00
Vadim Zeitlin
900099d644 Fix appearance of custom drawn wxToggleButton in wxMSW.
Ensure that the owner-drawn toggle buttons are drawn in the pressed state when
they are pressed, even if they are also selected or under mouse.

Closes #11665.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76794 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-30 01:00:27 +00:00
Vadim Zeitlin
ffea8a9a6a 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
2014-06-29 23:43:08 +00:00
Vadim Zeitlin
6446625f96 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
2014-06-29 23:39:09 +00:00
Tim Kosse
91da43cf22 Fix wxStaticBox' clipping region in RTL mode.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76785 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-28 10:37:42 +00:00
Tim Kosse
0cfbdae7e9 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
2014-06-28 09:49:45 +00:00
Dimitri Schoolwerth
0f84eca7c6 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
2014-06-27 05:38:11 +00:00
Dimitri Schoolwerth
fffa92eaee 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
2014-06-27 05:29:30 +00:00
Stefan Csomor
f23e24237d adding AVFoundation implementation for media ctrl
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76779 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-26 20:43:05 +00:00
Stefan Csomor
f6a2d1caef remove unnecessary includes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76778 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-26 13:38:22 +00:00
Jouk Jansen
ec08502bb8 Update of OpenVMS makefile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76777 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-26 05:58:48 +00:00
Václav Slavík
cad2b9cbfd 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
2014-06-25 18:04:03 +00:00
Václav Slavík
6d62e73fbc 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
2014-06-25 18:03:20 +00:00
Václav Slavík
bdf5ba03ed 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
2014-06-25 18:01:56 +00:00
Vadim Zeitlin
202f62b4c4 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
2014-06-24 23:54:08 +00:00
Dimitri Schoolwerth
d201caad89 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
2014-06-24 18:54:05 +00:00
Dimitri Schoolwerth
dadc0ed341 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
2014-06-24 02:47:13 +00:00
Dimitri Schoolwerth
75964c3afa 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
2014-06-24 02:46:24 +00:00
Dimitri Schoolwerth
6b12639c49 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
2014-06-23 20:05:30 +00:00
Dimitri Schoolwerth
1697a45b1f 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
2014-06-23 20:01:57 +00:00
Dimitri Schoolwerth
1c49a2e1ba 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
2014-06-23 20:00:42 +00:00
Dimitri Schoolwerth
bab52682bc 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
2014-06-23 19:58:13 +00:00
Vadim Zeitlin
af77028fcf Add wxDictionaryStringSortAscending comparison function.
Add "dictionary sort" callbacks and document them and the already existing
wxStringSortAscending() and wxStringSortDescending().

See #16330.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76753 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-23 12:02:09 +00:00
Vadim Zeitlin
ba1c305343 Avoid harmless warning about unused variables in wxOSX/Carbon.
Declare the variables only used when wxUSE_STATUSBAR==1 inside the check for
it.

Closes #16331.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76752 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-23 01:08:55 +00:00
Vadim Zeitlin
e2e79bd000 Allow specifying custom comparator for wxSortedArrayString.
Add a possibility to order wxSortedArrayString in some order different from
the default alphabetical one.

Closes #16330.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-23 01:08:50 +00:00
Vadim Zeitlin
8161cf19e9 Change wxStringSort{As,De}cending() to use references, not pointers.
This is more convenient to use and makes more sense as the arguments are never
null.

See #16330.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76750 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-23 01:08:44 +00:00
Vadim Zeitlin
a15a949c30 Handle wxSYS_COLOUR_LISTBOXTEXT in wxMotif wxSystemSettings.
At the very least, don't fail with an assert if this colour is requested.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76749 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-23 01:08:41 +00:00
Vadim Zeitlin
3c92ebb168 Force wxUSE_GRAPHICS_CONTEXT to 0 for wxMotif build.
wxGraphicsContext is not implemented in this port.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-23 01:08:38 +00:00
Vadim Zeitlin
8ef1f74818 Fix wxVector3f ctor in the propgrid sample.
Even if this code is not used, it was still wrong as it didn't initialize the
(shadowed) member variables, so fix it to actually do it.

Closes #16342.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-23 01:08:31 +00:00
Vadim Zeitlin
e6d11dc00a Use wxIntNN types in wxQuantize code instead of INTNN ones.
Rely on the already properly defined wx types instead of using INTNN which
could clash with the system headers (e.g. INT32 is already defined in some
Motif headers) and are not guaranteed to be always defined correctly (while
int is always 32 bit on all currently supported platforms, this is not
guaranteed to always remain the case).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-22 14:23:28 +00:00
Stefan Csomor
a993ff5255 fixes 64 bit to 32 warnings, see #16329
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76744 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-20 08:15:31 +00:00
Stefan Csomor
1a5b712103 using proper types for webkit variants, see #16329
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-20 08:14:46 +00:00
Dimitri Schoolwerth
1ab459b212 Fix finding menu items in wxMenuItem::DoSetBitmap.
FindChildItem gets passed the id of a menu item as returned by GetMSWId, however GetMSWId should be used in combination with Win32 API functions. Instead use GetId: this fixes finding menu items that have a negative id (as a result of using wxID_ANY as id) or have a sub menu.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-20 01:35:16 +00:00
Vadim Zeitlin
bec36bfdff Remove file with obsolete release announcement information.
This file was last (really) updated in 2003 and, unsurprisingly, information
in it is not relevant 10+ years later and most of URLs in it simply don't
exist any more (or exist but are no longer used, such as freshmeat.net, since
yesterday).

Any additional places to announce wxWidgets releases should be added to the
"Announcement" section of docs/contributing/how-to-release.md now.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76741 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-19 22:35:38 +00:00
Vadim Zeitlin
f2ee54fec0 Correct the name of the "preferences" sample in configure.
Fix building (all) samples under Unix.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-19 22:11:33 +00:00
Stefan Csomor
1733903bfc supporting 2x display on retina displays, fixes #15887
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76738 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-19 13:05:08 +00:00
Tim Kosse
3ff982aa7a wxBitmap::GetMask() asserts on invalid bitmap. Check for valid bitmap before calling GetMask().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76737 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-19 09:29:42 +00:00
Stefan Csomor
e7bf85055c removing 'old' cocoa port
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76735 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 16:52:20 +00:00
Stefan Csomor
c9efa9f242 remove dependency from former cocoa port
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76733 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 14:27:20 +00:00
Stefan Csomor
d5f39e6305 adapting const parameter convention
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76732 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 14:22:29 +00:00
Stefan Csomor
3f6eff1522 remove dependency from former cocoa port
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 13:28:51 +00:00
Stefan Csomor
9689425a3e in reality there are only 2 different native toolbar sizes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 13:25:52 +00:00
Stefan Csomor
f2081f7949 remove dependency from former cocoa port
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76729 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 13:13:18 +00:00
Stefan Csomor
13fc136d54 remove dependency from former cocoa port
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 13:11:42 +00:00
Stefan Csomor
cd27126831 only flush a client dc if it was not inheriting the native CGContextRef from an outside paint context, fixes #16334
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 13:05:15 +00:00
Václav Slavík
bd650ec3d9 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.

Also make the new MSWCreateContextMenu() method virtual so that the
context menu can be customized.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 12:51:49 +00:00
Václav Slavík
2cf91e5c7c Add wxMenu::MSWDetachHMENU().
Make it possible to pass ownership of a wxMenu to win32.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-06-18 12:51:45 +00:00