wxWidgets.git
11 years agoAdd default ctors and Create() to wxDirDialog and wxFileDialog in wxOSX.
Vadim Zeitlin [Wed, 10 Jul 2013 21:12:07 +0000 (21:12 +0000)] 
Add default ctors and Create() to wxDirDialog and wxFileDialog in wxOSX.

Allow two-step creation of these classes.

Closes #15316.

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

11 years agoFix checking for GTK+ 3.0 in configure.
Vadim Zeitlin [Wed, 10 Jul 2013 20:48:48 +0000 (20:48 +0000)] 
Fix checking for GTK+ 3.0 in configure.

Update gtk-3.0.m4 to work correctly with gthread module and regenerate
configure using the new version of this file.

Closes #15319.

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

11 years agoUkrainian translations update from Yuri Chornoivan.
Vadim Zeitlin [Wed, 10 Jul 2013 20:35:25 +0000 (20:35 +0000)] 
Ukrainian translations update from Yuri Chornoivan.

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

11 years agoFix lots of warnings reported by Clang.
Václav Slavík [Wed, 10 Jul 2013 16:41:34 +0000 (16:41 +0000)] 
Fix lots of warnings reported by Clang.

Mostly potentially lossy implicit conversions in headers (long->int). Also dangling else warnings. Struct/class mismatches.

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

11 years agoOnly return -1,0,1 from wxXmlResource::CompareVersion().
Václav Slavík [Wed, 10 Jul 2013 16:38:19 +0000 (16:38 +0000)] 
Only return -1,0,1 from wxXmlResource::CompareVersion().

In other words, do as the comment says.  Also fixes an implicit
conversion warning.

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

11 years agoDefine WXBUILDING in Xcode projects.
Václav Slavík [Wed, 10 Jul 2013 16:35:07 +0000 (16:35 +0000)] 
Define WXBUILDING in Xcode projects.

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

11 years agonon-pch build fix
Paul Cornett [Wed, 10 Jul 2013 13:17:02 +0000 (13:17 +0000)] 
non-pch build fix

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

11 years agoAdd documentation for building wxGTK under Windows.
Vadim Zeitlin [Wed, 10 Jul 2013 13:08:56 +0000 (13:08 +0000)] 
Add documentation for building wxGTK under Windows.

Closes #15318.

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

11 years agoFix restoring the status bar help message after closing MSW menu from keyboard.
Vadim Zeitlin [Wed, 10 Jul 2013 12:28:06 +0000 (12:28 +0000)] 
Fix restoring the status bar help message after closing MSW menu from keyboard.

Add a hack to ignore WM_MENUSELECT messages we get for the top level menu
items: we must not clear the status bar help message when we get those because
it had just been restored to the original message that was there before the
menu was opened from the base class wxEVT_MENU_CLOSE handler, but this message
comes after it when keyboard is used to close the menu.

Closes #15315.

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

11 years agoIgnore WM_MENUSELECT messages indicating that the menu was closed.
Vadim Zeitlin [Wed, 10 Jul 2013 12:24:54 +0000 (12:24 +0000)] 
Ignore WM_MENUSELECT messages indicating that the menu was closed.

Don't update the help string in this case, this is not necessary and can clear
the help string set elsewhere.

See #15315.

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

11 years agoVietnamese translations update from Trần Ngọc Quân.
Vadim Zeitlin [Wed, 10 Jul 2013 12:00:31 +0000 (12:00 +0000)] 
Vietnamese translations update from Trần Ngọc Quân.

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

11 years agoUpdate translations template for 2.9.5 release.
Vadim Zeitlin [Wed, 10 Jul 2013 11:57:20 +0000 (11:57 +0000)] 
Update translations template for 2.9.5 release.

No real changes, just removed a one character string that is not marked as
translated any longer.

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

11 years agoAllow retrieving the descent and external leading of empty strings.
Vadim Zeitlin [Wed, 10 Jul 2013 01:28:18 +0000 (01:28 +0000)] 
Allow retrieving the descent and external leading of empty strings.

This used to work before wxTextMeasure changes so make it work again instead
of optimizing the case of empty string away and not returning anything in the
descent and externalLeading output parameters in this case.

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

11 years agoFix VC++ warnings about __has_include().
Václav Slavík [Tue, 9 Jul 2013 17:29:02 +0000 (17:29 +0000)] 
Fix VC++ warnings about __has_include().

The compiler warns about content after defined(__has_included), so avoid
the issue by putting these Clang tests inside one big #ifdef
__has_included block.

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

11 years agoCheck axis number in the received joystick messages.
Vadim Zeitlin [Tue, 9 Jul 2013 16:44:37 +0000 (16:44 +0000)] 
Check axis number in the received joystick messages.

Closes #15313.

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

11 years agoCompilation fix for r74457.
Václav Slavík [Tue, 9 Jul 2013 16:12:05 +0000 (16:12 +0000)] 
Compilation fix for r74457.

Remove stray #endif from incorrectly merged changes.

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

11 years agofixing forced link of quicktime backend on osx_cocoa
Stefan Csomor [Tue, 9 Jul 2013 15:55:29 +0000 (15:55 +0000)] 
fixing forced link of quicktime backend on osx_cocoa

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

11 years agoFix OS X compilation in C++11 mode with libc++.
Václav Slavík [Tue, 9 Jul 2013 15:47:13 +0000 (15:47 +0000)] 
Fix OS X compilation in C++11 mode with libc++.

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

11 years agoWork around wxFinite() definition conflict with <cmath>.
Václav Slavík [Tue, 9 Jul 2013 15:44:01 +0000 (15:44 +0000)] 
Work around wxFinite() definition conflict with <cmath>.

Using the GNU libstdc++ or Clang's libc++ implementations of the
standard library, <cmath> inclusion undefines the isfinite macro,
resulting in compilation errors when wxFinite() is used.  <cmath> can be
included unintentionally, e.g.  wx/hashmap.h may result in its inclusion
when using STD containers.

Work around this mess by checking if one of these <cmath>
implementations were already included and using std::isfinite() in that
case.

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

11 years agoCheck for buffer being big enough in wxPathOnly().
Vadim Zeitlin [Mon, 8 Jul 2013 21:44:06 +0000 (21:44 +0000)] 
Check for buffer being big enough in wxPathOnly().

Just return NULL or empty string if the input path is too long. This is
probably not ideal but it fixes a buffer overflow and all this code needs to
be rewritten to use wxFileName() anyhow so it's not worth doing anything more
at this moment.

Closes #15302.

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

11 years agoMerge libpng 1.6.2 into the trunk.
Vadim Zeitlin [Sun, 7 Jul 2013 17:44:15 +0000 (17:44 +0000)] 
Merge libpng 1.6.2 into the trunk.

Add pngprefix.h file generated by libpng configure/make process (which we
don't run during wxWidgets build, so this is something that will need to be
redone manually whenever libpng is upgraded, the procedure for doing this is
documented in docs/tech/tn0025.txt) in order to use "wx_" prefix for all
libpng public symbols. This should avoid at least some problems due to the
conflicts between the built-in libpng and shared libpng loaded into the
process as GTK+ libraries dependency under Unix.

Also rename wx_png_{warning,error} to use upper case PNG for consistency with
wx_PNG_stream_{reader,writer} and to avoid conflict with png_{warning,error}()
which we now rename to have "wx_" prefix.

Closes #14157.

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

11 years agoAdd instructions for upgrading third party libraries.
Vadim Zeitlin [Sun, 7 Jul 2013 17:35:18 +0000 (17:35 +0000)] 
Add instructions for upgrading third party libraries.

Describe the process for upgrading the libraries for which we already use svn
vendor branches.

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

11 years agoRegenerate configure after libwxscintilla linking changes.
Vadim Zeitlin [Sun, 7 Jul 2013 16:35:44 +0000 (16:35 +0000)] 
Regenerate configure after libwxscintilla linking changes.

This should have been done together with the changes of r74425, as
autoconf_inc.m4 had changed, configure should have been regenerated too.

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

11 years agoDefine XML_STATIC in Expat header instead of Expat projects.
Vadim Zeitlin [Sun, 7 Jul 2013 14:44:56 +0000 (14:44 +0000)] 
Define XML_STATIC in Expat header instead of Expat projects.

This reverts r74444 and defines XML_STATIC unconditionally in Expat sources
themselves as we always use the built-in Expat as a static library, so this
solution is simpler and more portable.

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

11 years agoCompilation fix for r74440 and STL builds.
Václav Slavík [Sun, 7 Jul 2013 14:13:01 +0000 (14:13 +0000)] 
Compilation fix for r74440 and STL builds.

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

11 years agoDefine XML_STATIC for Expat build to fix linking of Windows DLLs.
Vadim Zeitlin [Sun, 7 Jul 2013 13:58:33 +0000 (13:58 +0000)] 
Define XML_STATIC for Expat build to fix linking of Windows DLLs.

The new Expat assumes it's built as a DLL by default, define XML_STATIC to
indicate that this is not the case as we always build it as a static library.

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

11 years agoCorrect typo in a link in i18n documentation page.
Vadim Zeitlin [Sun, 7 Jul 2013 13:47:39 +0000 (13:47 +0000)] 
Correct typo in a link in i18n documentation page.

See r74442.

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

11 years agoClarify .mo deployment in i18n overview.
Václav Slavík [Sun, 7 Jul 2013 13:43:13 +0000 (13:43 +0000)] 
Clarify .mo deployment in i18n overview.

Fixes #15253.

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

11 years agoDon't look for catalogs in AddCatalogLookupPathPrefix() path directly.
Václav Slavík [Sun, 7 Jul 2013 13:42:50 +0000 (13:42 +0000)] 
Don't look for catalogs in AddCatalogLookupPathPrefix() path directly.

Previously, the prefix directory itself for searched for catalogs, in
addition to prefix/lang/LC_MESSAGES and prefix/lang.  This never made
much sense, because only one catalog could be in such place, instead of
multiple catalogs for more languages.  It also prevented successful
identification of catalog's language and didn't work with
GetAvailableLanguages().

Remove this misfeature and update the documentation accordingly.  Update
OS X-specific code so that it continues to work (it previously depended
on this behavior).  As a side effect, *.lproj directories are now
recognized in all search prefixes, not just in Resources.

See #12498, #15253.

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

11 years agoImprove translations lookup logging.
Václav Slavík [Sun, 7 Jul 2013 13:42:27 +0000 (13:42 +0000)] 
Improve translations lookup logging.

Log match directory in GetAvailableTranslations().  Log search paths
with one directory per line, for better readability when debugging.

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

11 years agoCorrect wxTranslations docs: CWD is not searched.
Václav Slavík [Sun, 7 Jul 2013 13:42:02 +0000 (13:42 +0000)] 
Correct wxTranslations docs: CWD is not searched.

The documentation incorrectly stated that the current working directory
is searched for translations.  This isn't the case (and wouldn't be a
good thing to do).

See #12498.

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

11 years agoRemove the TOOLKIT test from msvc-headers-setuo-h definition.
Vadim Zeitlin [Sun, 7 Jul 2013 12:58:45 +0000 (12:58 +0000)] 
Remove the TOOLKIT test from msvc-headers-setuo-h definition.

This is unnecessary now that TOOLKIT is back to being a constant again and
results in errors if GTK TOOLKIT is enabled.

Closes #14965.

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

11 years agoAdd files necessary to run Expat configure.
Vadim Zeitlin [Sun, 7 Jul 2013 12:47:34 +0000 (12:47 +0000)] 
Add files necessary to run Expat configure.

This should have been part of the previous commit (r74436).

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

11 years agoUpdate the version of Expat used to 2.1.0.
Vadim Zeitlin [Sun, 7 Jul 2013 12:45:30 +0000 (12:45 +0000)] 
Update the version of Expat used to 2.1.0.

Merge with the latest version, mostly discarding our changes to 1.95.6 as they
seem to be unnecessary any longer, keep just bakefile-specific addition to
configure.

Also update our own makefile to define HAVE_EXPAT_CONFIG_H which is now needed
by Unix build.

Closes #11677.

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

11 years agoUse wxConvAuto() in wxStyledTextCtrl::DoLoadFile().
Václav Slavík [Sun, 7 Jul 2013 11:47:17 +0000 (11:47 +0000)] 
Use wxConvAuto() in wxStyledTextCtrl::DoLoadFile().

This is both more reasonable than the current runtime encoding (the
input file is from unknown source) and more robust (it can handle UTF-*
encoded files transparently).

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

11 years agoUse wxConvAuto in wxFile::Write().
Václav Slavík [Sun, 7 Jul 2013 11:46:53 +0000 (11:46 +0000)] 
Use wxConvAuto in wxFile::Write().

For consistency with wxFFile.

No real change, as wxConvAuto will default to UTF-8 when writing.

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

11 years agoDon't pretend that wxAnyButton::SetBitmap() supports invalid bitmaps.
Vadim Zeitlin [Sun, 7 Jul 2013 00:39:05 +0000 (00:39 +0000)] 
Don't pretend that wxAnyButton::SetBitmap() supports invalid bitmaps.

Because it doesn't under MSW.

See #13569.

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

11 years agoAvoid using buffer of already deallocated string in wxHTMLDataObject.
Vadim Zeitlin [Sun, 7 Jul 2013 00:38:41 +0000 (00:38 +0000)] 
Avoid using buffer of already deallocated string in wxHTMLDataObject.

Ensure that the temporary string inside which the pointer returned by
utf8_str() may point remains alive for long enough.

Closes #15279.

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

11 years agoForbid creation of wxStandardPaths object directly.
Vadim Zeitlin [Sat, 6 Jul 2013 23:14:21 +0000 (23:14 +0000)] 
Forbid creation of wxStandardPaths object directly.

This happens to work under MSW and Unix where there is only one
wxStandardPaths class for both the console and the GUI applications but
doesn't return the correct result under OS X where the Core Foundation
version, returned by wxStandardPaths::Get(), has to be used for the GUI
programs. And historically this confused a lot of people, so just ensure that
they can't accidentally create an object of the wrong type any more.

Closes #13537.

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

11 years agoReuse wxMessageOutputStderr for wxLogStderr implementation.
Vadim Zeitlin [Sat, 6 Jul 2013 22:57:05 +0000 (22:57 +0000)] 
Reuse wxMessageOutputStderr for wxLogStderr implementation.

In addition to avoiding (tiny) code duplication, this ensures that both places
use the stream in the same orientation, i.e. either both use the narrow
functions or the wide ones. Thus, it fixes a problem with output simply
disappearing if wxLogStderr and wxMessageOutputStderr were both used: the one
used first disabled any output by the other one.

Closes #14782.

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

11 years agoCorrectly restore the originally used C locale in wxLocale dtor.
Vadim Zeitlin [Sat, 6 Jul 2013 22:48:20 +0000 (22:48 +0000)] 
Correctly restore the originally used C locale in wxLocale dtor.

Save the original locale used before we changed it instead of "restoring" the
same locate that this wxLocale object was using.

Add a unit test to verify that this does work as expected.

Closes #14873.

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

11 years agoOnly link with libwxscintilla if using Scintilla is enabled.
Vadim Zeitlin [Sat, 6 Jul 2013 19:14:59 +0000 (19:14 +0000)] 
Only link with libwxscintilla if using Scintilla is enabled.

Correct the changes of r74408 to avoid using libwxscintilla if we don't build
it at all.

See #13837.

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

11 years agoDisable test for setting the creation time under Unix.
Vadim Zeitlin [Sat, 6 Jul 2013 19:14:20 +0000 (19:14 +0000)] 
Disable test for setting the creation time under Unix.

Also document that this doesn't work there.

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

11 years agoFix FILETIME <-> wxDateTime conversions while DST is in effect in wxMSW.
Vadim Zeitlin [Sat, 6 Jul 2013 18:21:10 +0000 (18:21 +0000)] 
Fix FILETIME <-> wxDateTime conversions while DST is in effect in wxMSW.

The result was (consistently, so the tests still passed) off by an hour when
the program was ran while DST was in effect. Fix this by avoiding the use of
FileTimeToLocalFileTime() and LocalFileTimeToFileTime() and just directly
converting FILETIME values to wxDateTime. Not only this is more correct but
it's also simpler and more efficient as well.

Also add a unit test for wxFileName::SetTimes() too.

Closes #13098.

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

11 years agoExplicitly mention that wxDateTime ticks origin is in UTC.
Vadim Zeitlin [Sat, 6 Jul 2013 18:20:45 +0000 (18:20 +0000)] 
Explicitly mention that wxDateTime ticks origin is in UTC.

Make it clear that the number of ticks is counted since the same moment in all
time zones.

See #13098.

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

11 years agoavoid GTK+ prefixes for our tree entry code, it is not part of GTK+, should have...
Paul Cornett [Sat, 6 Jul 2013 17:27:53 +0000 (17:27 +0000)] 
avoid GTK+ prefixes for our tree entry code, it is not part of GTK+, should have been part of r74420

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

11 years agoavoid GTK+ prefixes for our tree entry code, it is not part of GTK+
Paul Cornett [Sat, 6 Jul 2013 16:35:40 +0000 (16:35 +0000)] 
avoid GTK+ prefixes for our tree entry code, it is not part of GTK+

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

11 years agoremove symbol exports, this code is private to the library
Paul Cornett [Sat, 6 Jul 2013 16:04:28 +0000 (16:04 +0000)] 
remove symbol exports, this code is private to the library

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

11 years agoremove empty GtkTreeEntryClass
Paul Cornett [Sat, 6 Jul 2013 15:58:42 +0000 (15:58 +0000)] 
remove empty GtkTreeEntryClass

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

11 years agoremove instance init function, memory is already zeroed
Paul Cornett [Sat, 6 Jul 2013 15:50:57 +0000 (15:50 +0000)] 
remove instance init function, memory is already zeroed

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

11 years agomove treeentry_gtk.h to include/wx/gtk/private/
Paul Cornett [Sat, 6 Jul 2013 15:44:21 +0000 (15:44 +0000)] 
move treeentry_gtk.h to include/wx/gtk/private/

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

11 years agocreate collate_key on demand
Paul Cornett [Sat, 6 Jul 2013 15:34:59 +0000 (15:34 +0000)] 
create collate_key on demand

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

11 years agoExclude expat files from pre commit hook checks too.
Vadim Zeitlin [Sat, 6 Jul 2013 14:46:26 +0000 (14:46 +0000)] 
Exclude expat files from pre commit hook checks too.

All the other 3rd party libraries were already excluded but not this one, for
some reason -- do exclude it now as upcoming Expat 2.1.0 sources contain some
files with TABs.

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

11 years agoUpdate announcement and readme files for 2.9.5 release.
Vadim Zeitlin [Sat, 6 Jul 2013 14:46:03 +0000 (14:46 +0000)] 
Update announcement and readme files for 2.9.5 release.

Fill in the release date and update the changes description in the
announcement.

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

11 years agoAlways add libwxscintilla in monolithic mode.
Vadim Zeitlin [Sat, 6 Jul 2013 12:41:02 +0000 (12:41 +0000)] 
Always add libwxscintilla in monolithic mode.

The library was already present in the makefiles but came before the
monolithic library itself, which broke the linking of the samples when using
GNU ld as the dependent libraries must come after the libraries using them.

Closes #13837.

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

11 years agoRebake the rest of the files after TOOLKIT change in MSW bakefile.
Vadim Zeitlin [Sat, 6 Jul 2013 12:32:23 +0000 (12:32 +0000)] 
Rebake the rest of the files after TOOLKIT change in MSW bakefile.

This should have been part of r74406 but I only rebaked wxWidgets make/project
files themselves and not the samples/utils/demos files in it.

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

11 years agoMake TOOLKIT variable constant in MSW makefiles.
Vadim Zeitlin [Sat, 6 Jul 2013 11:59:35 +0000 (11:59 +0000)] 
Make TOOLKIT variable constant in MSW makefiles.

This fixes duplicate lines defining rules for generic files for more than one
port in the makefiles.

Closes #14979.

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

11 years agoFix potential buffer overflow in wxSTC DefaultFont() function.
Vadim Zeitlin [Sat, 6 Jul 2013 00:28:13 +0000 (00:28 +0000)] 
Fix potential buffer overflow in wxSTC DefaultFont() function.

Use safe(r) wxStrlcpy() instead of strcpy() to copy the font name.

Closes #15296.

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

11 years agoFix test for Windows in the new wxExecute() unit test.
Vadim Zeitlin [Sat, 6 Jul 2013 00:27:50 +0000 (00:27 +0000)] 
Fix test for Windows in the new wxExecute() unit test.

TestOverlappedSyncExecute() doesn't currently pass under Windows and was
supposed to not be executed there but was, in console test, as __WXMSW__ is
not defined in this case, only __WINDOWS__ is (as there is no GUI toolkit in
the console applications).

See #10258.

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

11 years agoCaret blink time and blink on/off are now also reflected in GTK+ widgets
Julian Smart [Fri, 5 Jul 2013 17:11:15 +0000 (17:11 +0000)] 
Caret blink time and blink on/off are now also reflected in GTK+ widgets

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

11 years agoUse wxRTC text colour if possible for caret
Julian Smart [Fri, 5 Jul 2013 16:26:37 +0000 (16:26 +0000)] 
Use wxRTC text colour if possible for caret

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

11 years agoDon't flash wxRTC caret if blink time is zero, and also take colour from window text...
Julian Smart [Fri, 5 Jul 2013 13:33:30 +0000 (13:33 +0000)] 
Don't flash wxRTC caret if blink time is zero, and also take colour from window text colour to avoid invisibility.

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

11 years agoPrevent duplicate menu event processing in MDI windows.
Vadim Zeitlin [Wed, 3 Jul 2013 22:18:42 +0000 (22:18 +0000)] 
Prevent duplicate menu event processing in MDI windows.

Record the object propagating the given event upwards in the event object
itself and use it in wxMDIParentFrame to determine whether the event being
handled is already coming from wxMDIChildFrame and avoid sending it back for
processing it there again in this case.

This is ugly and makes wx event processing even more complex but this is the
only way I could find to ensure that

(a) Both the child and the parent frames get the events from the toolbar
    (even though the toolbar parent is the parent frame and hence normally
    the child wouldn't get notified about them at all and so the forwarding
    at wxMDIParentFrame level is required to make this work).

(b) The child gets the event only once, whether it comes from a toolbar (and
    hence indirectly via the parent frame) or from the child menu (and hence
    directly to the child, at least in wxMSW).

This commit fixes the event propagation unit test case, at least under MSW and
GTK.

See #14314.

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

11 years agoTest handling of events from the toolbar in an MDI parent frame.
Vadim Zeitlin [Wed, 3 Jul 2013 22:18:18 +0000 (22:18 +0000)] 
Test handling of events from the toolbar in an MDI parent frame.

These events must be received by the currently active child.

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

11 years agoEnsure that the MDI child is active in event propagation test.
Vadim Zeitlin [Wed, 3 Jul 2013 22:17:55 +0000 (22:17 +0000)] 
Ensure that the MDI child is active in event propagation test.

Call wxMDIChildFrame::Activate() explicitly as the behaviour was different
under MSW (where the activation happened too late for the test) and GTK where
the child did become active because of the hacks in place to ensure it.

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

11 years agoMake AsyncExecLoopExitEnum enum in the wxExecute() test public.
Vadim Zeitlin [Wed, 3 Jul 2013 11:03:09 +0000 (11:03 +0000)] 
Make AsyncExecLoopExitEnum enum in the wxExecute() test public.

This fixes VC6 build as the nested class couldn't access a private enum inside
the enclosing class.

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

11 years agofix wxCHECK_MSG() return value
Paul Cornett [Wed, 3 Jul 2013 03:12:44 +0000 (03:12 +0000)] 
fix wxCHECK_MSG() return value

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

11 years agoDon't ignore child process output if it exits with -1 exit code.
Vadim Zeitlin [Wed, 3 Jul 2013 00:33:04 +0000 (00:33 +0000)] 
Don't ignore child process output if it exits with -1 exit code.

While this code is used by us if the program couldn't be launched at all, it
doesn't mean that it didn't run as -1 could also be returned by the child
process to indicate an error after outputting something, so we should still
read its output in this case.

Closes #15205.

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

11 years agoRun wxExecute() unit test in the GUI test suite too.
Vadim Zeitlin [Wed, 3 Jul 2013 00:32:40 +0000 (00:32 +0000)] 
Run wxExecute() unit test in the GUI test suite too.

The same code works differently in console and GUI applications, so build this
test case as part of both of them.

See #10258.

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

11 years agoRewrite wxExecute() implementation under Unix.
Vadim Zeitlin [Wed, 3 Jul 2013 00:32:16 +0000 (00:32 +0000)] 
Rewrite wxExecute() implementation under Unix.

This commit changes wxExecute() to handle SIGCHLD to be notified about the
child process termination instead of detecting when the file descriptor
corresponding to the other end of a pipe opened in the parent process was
closed in the child as this was not reliable and could (and did) result in not
detecting the termination of the child processes that closed all their file
descriptors before exiting.

This commit also removes a lot of platform-specific code duplicating the
generic event loop sources support and reuses it for wxExecute() purposes too.

Final big change is that wxEndProcessData was merged into wxExecuteData and we
don't have two similar but quite different classes any more but just one,
which is used both to pass the information from wxExecute() to wxAppTraits
methods and to store this information until the child termination.

Closes #10258.

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

11 years agoAdd a helper wxApp::GetValidTraits() method.
Vadim Zeitlin [Wed, 3 Jul 2013 00:31:49 +0000 (00:31 +0000)] 
Add a helper wxApp::GetValidTraits() method.

This method always returns some valid traits, even if we don't have wxTheApp
(which is possible in the console applications) or if its GetTraits() was
overridden to return NULL (which shouldn't be, but still guard against this).

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

11 years agoTreat G_IO_HUP as read, not error, event because EOF is not exceptional.
Vadim Zeitlin [Wed, 3 Jul 2013 00:31:26 +0000 (00:31 +0000)] 
Treat G_IO_HUP as read, not error, event because EOF is not exceptional.

When EOF is reached on a file descriptor, call the handler OnReadWaiting()
because this is not really different from getting to the EOF while reading
data in the same function. Only call OnExceptionWaiting() for the real errors.

See #10258.

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

11 years agoMake Unix wxAppConsole signal handling more flexible.
Vadim Zeitlin [Wed, 3 Jul 2013 00:31:03 +0000 (00:31 +0000)] 
Make Unix wxAppConsole signal handling more flexible.

Instead of hardcoding the call to WakeUpIdle() in the signal handler itself,
just wake up the event loop when we catch a signal. This will still result in
WakeUpIdle() being called, before the next event loop iteration, but it will
also allow us to do other things on wakeup from signal as it will be done in
the upcoming wxExecute() changes to support wxEXEC_NOEVENTS in console
applications.

See #10258.

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

11 years agoChange wxWakeUpPipe to be a wxEventLoopSourceHandler.
Vadim Zeitlin [Wed, 3 Jul 2013 00:30:39 +0000 (00:30 +0000)] 
Change wxWakeUpPipe to be a wxEventLoopSourceHandler.

No real changes but use wxEventLoopSource::AddSourceForFD() instead of
wxFDIODispatcher::RegisterFD() for this pipe because this is the preferred way
and because it will allow reusing this class for wxExecute() purposes later.

See #10258.

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

11 years agoInclude wx/evtloop.h from wx/evtloopsrc.h.
Vadim Zeitlin [Wed, 3 Jul 2013 00:30:16 +0000 (00:30 +0000)] 
Include wx/evtloop.h from wx/evtloopsrc.h.

This is necessary to ensure that wxUSE_EVENTLOOP_SOURCE which wraps the entire
contents of this header is defined if it's included directly and not after
already including wx/evtloop.h.

See #10258.

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

11 years agoInclude <fcntl.h> from a header using fcntl().
Vadim Zeitlin [Wed, 3 Jul 2013 00:29:53 +0000 (00:29 +0000)] 
Include <fcntl.h> from a header using fcntl().

No real changes, just make the header self-containing instead of relying on
the file including it to include <fcntl.h> itself.

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

11 years agoAdd wxStreamTempInputBuffer::ReadAll() helper.
Vadim Zeitlin [Wed, 3 Jul 2013 00:29:29 +0000 (00:29 +0000)] 
Add wxStreamTempInputBuffer::ReadAll() helper.

This just reads everything remaining in the stream in a blocking way and will
be used to get the data remaining in the stream buffers after the child
process had been already closed (and hence can't write any more to it and
there is no risk of deadlock).

See #10258.

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

11 years agoUse CFSocket instead of CFFileDescriptor in wxCFEventLoopSource.
Vadim Zeitlin [Wed, 3 Jul 2013 00:29:05 +0000 (00:29 +0000)] 
Use CFSocket instead of CFFileDescriptor in wxCFEventLoopSource.

Use OS X socket APIs for monitoring file descriptors. They are more flexible
than CFFileDescriptor functions and can be used with any descriptors, not
necessarily the socket ones.

See #10258.

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

11 years agoMake wxEventLoop::AddSourceForFD() static.
Vadim Zeitlin [Wed, 3 Jul 2013 00:28:42 +0000 (00:28 +0000)] 
Make wxEventLoop::AddSourceForFD() static.

Any event sources should be registered with all the event loops, including the
ones that will be started in the future, and not only the current (and
potentially not even existing yet) one. So make AddSourceForFD() method static.

To still allow it to do different things in console and GUI applications, as
it must, virtualize it via the new wxEventLoopSourcesManager class which has
different implementations in the two cases, returned via wxAppTraits as usual.

Notice that this required moving the implementation of this method from
src/osx/core/evtloop_cf.cpp to src/osx/core/utilsexc_cf.cpp as the former file
is base-only and didn't have access to wxGUIAppTraits.

See #10258.

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

11 years agoExtract wxFDIOEventLoopSourceHandler in its own header.
Vadim Zeitlin [Wed, 3 Jul 2013 00:28:16 +0000 (00:28 +0000)] 
Extract wxFDIOEventLoopSourceHandler in its own header.

No real changes, this is just in preparation for the further refactoring.

See #10258.

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

11 years agoSplit wxWakeUpPipe class in MT-unsafe and MT-safe parts.
Vadim Zeitlin [Wed, 3 Jul 2013 00:27:53 +0000 (00:27 +0000)] 
Split wxWakeUpPipe class in MT-unsafe and MT-safe parts.

This class can also be useful when it's used in the main thread only, so
leave the lock-less part of the code in wxWakeUpPipe and derive a separate
wxWakeUpPipeMT from it for the use in wxConsoleEventLoop where it can be used
by multiple threads.

See #10258.

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

11 years agoExtract PipeIOHandler class into a header and rename to wxWakeUpPipe.
Vadim Zeitlin [Wed, 3 Jul 2013 00:27:28 +0000 (00:27 +0000)] 
Extract PipeIOHandler class into a header and rename to wxWakeUpPipe.

No real changes to the class, just make it possible to reuse it outside of
Unix wxEventLoop code.

See #10258.

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

11 years agoNo changes, move wxStreamTempInputBuffer to a header file.
Vadim Zeitlin [Wed, 3 Jul 2013 00:27:02 +0000 (00:27 +0000)] 
No changes, move wxStreamTempInputBuffer to a header file.

Get rid of the surprising src/common/execcmn.cpp which had a .cpp extension
but was supposed to be used as an included file only and move its contents to
a new private header to make using wxStreamTempInputBuffer class simpler.

See #10258.

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

11 years agoExtract wxPipeInputStream and wxPipeOutputStream in a header.
Vadim Zeitlin [Wed, 3 Jul 2013 00:26:38 +0000 (00:26 +0000)] 
Extract wxPipeInputStream and wxPipeOutputStream in a header.

No real changes, just put these classes in a private header. They're still not
part of the public API but at least it will be easier to reuse them inside the
library itself in the upcoming commits.

See #10258.

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

11 years agoAdd wxEventLoop::ScheduleExit().
Vadim Zeitlin [Wed, 3 Jul 2013 00:26:13 +0000 (00:26 +0000)] 
Add wxEventLoop::ScheduleExit().

This method allows to request exiting from the given event loop even if it's
not the currently active one, unlike Exit() which would assert in this case.
With it, it becomes possible to ask the loop to terminate as soon as possible
even if a nested loop is currently running.

See #10258.

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

11 years agoUse normal event loop in GUI test program.
Vadim Zeitlin [Wed, 3 Jul 2013 00:25:46 +0000 (00:25 +0000)] 
Use normal event loop in GUI test program.

Don't create an event loop manually, let the port-specific code do it and run
it as usual in the GUI unit tests.

This has several advantages:
 - No need to manage the event loop manually in the test.
 - No need for Mac-specific code in the test itself.
 - Code being tested runs in the same context as in a normal GUI program,
   which is especially important for event-loop related tests under wxOSX as
   the main event loop is special there.

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

11 years agoAdd wxEventLoopBase::DoRun().
Vadim Zeitlin [Wed, 3 Jul 2013 00:25:23 +0000 (00:25 +0000)] 
Add wxEventLoopBase::DoRun().

Call it from public Run() after setting the loop as active and resetting
m_shouldExit flag.

No real changes, just cut down on the code duplication among the ports and
make it easier to implement the upcoming changes. see #10258.

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

11 years agoMove wxEventLoopManual::m_shouldExit to wxEventLoopBase.
Vadim Zeitlin [Wed, 3 Jul 2013 00:24:58 +0000 (00:24 +0000)] 
Move wxEventLoopManual::m_shouldExit to wxEventLoopBase.

No real changes, just make this flag available to the other event loop
implementations as they will need it soon.

See #10258.

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

11 years agoAdd "OSX" prefix to wxCFEventLoop::DoRun() and DoStop() methods.
Vadim Zeitlin [Wed, 3 Jul 2013 00:24:34 +0000 (00:24 +0000)] 
Add "OSX" prefix to wxCFEventLoop::DoRun() and DoStop() methods.

Just rename these methods to avoid clashes with DoRun() that will be added to
the base class soon, no real changes.

This is done in preparation for improving nested event loops support, see #10258.

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

11 years agoAdd wxTimer::StartOnce().
Vadim Zeitlin [Wed, 3 Jul 2013 00:24:10 +0000 (00:24 +0000)] 
Add wxTimer::StartOnce().

This is a simple wrapper for wxTimer::Start(timeout, wxTIMER_ONE_SHOT) but is
often more readable and is definitely better than Start(timeout, true) which
many people still use in spite of wxTIMER_ONE_SHOT existence.

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

11 years agoBetter fix for duplicate wxContextMenuEvent generation under MSW.
Vadim Zeitlin [Tue, 2 Jul 2013 20:24:22 +0000 (20:24 +0000)] 
Better fix for duplicate wxContextMenuEvent generation under MSW.

Fix the bug with multiple wxContextMenuEvent being generated for a single
WM_CONTEXTMENU without breaking context menus for wxTextCtrl (and all the
other native controls). Do this by ensuring that WM_CONTEXTMENU is still
passed to DefWindowProc() if we don't process it instead of just being eaten
completely in any case.

Also add a unit test checking for this bug to ensure it stays fixed.

See #13683.

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

11 years agoAvoid forcing wxYield() after wxUIActionSimulator::MouseMove() in wxGTK.
Vadim Zeitlin [Tue, 2 Jul 2013 20:23:58 +0000 (20:23 +0000)] 
Avoid forcing wxYield() after wxUIActionSimulator::MouseMove() in wxGTK.

Yield (for input events only) inside this function itself instead of forcing
all the code using this function to call wxYield() after it as otherwise the
mouse position change is not taken into account by the subsequent simulated
events.

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

11 years agochain up to parent in dispose handler
Paul Cornett [Tue, 2 Jul 2013 17:15:27 +0000 (17:15 +0000)] 
chain up to parent in dispose handler

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

11 years agouse correct signature for class init function
Paul Cornett [Tue, 2 Jul 2013 17:09:55 +0000 (17:09 +0000)] 
use correct signature for class init function

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

11 years agouse existing helper to remove inconvenient additional reference added by gtk_tree_mod...
Paul Cornett [Tue, 2 Jul 2013 16:56:42 +0000 (16:56 +0000)] 
use existing helper to remove inconvenient additional reference added by gtk_tree_model_get()

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

11 years agoremove unused function GTKSetItem()
Paul Cornett [Tue, 2 Jul 2013 16:35:43 +0000 (16:35 +0000)] 
remove unused function GTKSetItem()

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

11 years agopreserve checkbox status in SetString()
Paul Cornett [Tue, 2 Jul 2013 16:29:49 +0000 (16:29 +0000)] 
preserve checkbox status in SetString()

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

11 years agoDon't append extension if it contains wildcards in wxGTK wxFileDialog.
Vadim Zeitlin [Mon, 1 Jul 2013 14:58:27 +0000 (14:58 +0000)] 
Don't append extension if it contains wildcards in wxGTK wxFileDialog.

Restore the test for wildcards erroneously removed in r74307.

Closes #15285.

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

11 years agoOptimize wxImage::Scale() by pre-calculating the values used.
Vadim Zeitlin [Mon, 1 Jul 2013 14:48:24 +0000 (14:48 +0000)] 
Optimize wxImage::Scale() by pre-calculating the values used.

Precompute the values used by various resampling algorithms once instead of
doing it for each pixel. This dramatically speeds them up: more than 3 times
faster in wxImage benchmark with the small images and up to 5 times faster
with larger images.

Closes #15281.

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

11 years agoAdd wxImage::Scale() benchmarks.
Vadim Zeitlin [Mon, 1 Jul 2013 14:48:01 +0000 (14:48 +0000)] 
Add wxImage::Scale() benchmarks.

Measure the time taken to rescale the image to a bigger or smaller size using
normal or high quality.

See #15281.

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