Use the same console event loop in wxBase and wxCore in wxMSW.
Refactor the console event loop code into separate files to untangle it from
the GUI version and ensure that it doesn't depend on the GUI at all. It can
now be defined in the base library and simply reused by the core one.
This also makes the console event loop usable for other ports under Windows,
e.g. wxGTK.
Use "_x64" instead of "amd64" for x64 MSW makefile builds.
Still accept "amd64" as a valid TARGET_CPU value but also accept, and
encourage people to use, "x64".
Add a new section about the build system changes to the change log and added a
mini-TOC to it to make navigating it a bit easier and show what changes are
there at a glance.
Fix uninitialized variable warning in wxMSW wxFileSystemWatcher code.
This warning was harmless as the variable was in fact always initialized if
the code where it was used was reached but g++ 4.6.1 is not smart enough to
see it, just as MSVC for which we already had a workaround. So initialize it
explicitly just to suppress the warning.
Avoid warnings about uninitialized variables in TGA loading code.
Initialize the variables containing the colour components: even though they
should normally be always filled by Palette_GetRGB() call below, this
presumably might not happen for a corrupted image with invalid palette table
entries and g++ correctly complains about it.
Avoid unused variable warning in wxPropertyGrid code in non-wxGTK.
Put the variable only used in wxGTK inside "#ifdef __WXGTK__".
This fixes the warning but the real fix would be to get rid of this variable
completely and just fix whatever problem in wxWindow::Navigate() this was
supposed to work around.
Use list mode in wxListbook list control instead of report.
Use wxLC_LIST instead of wxLC_REPORT when we don't have any icons. This makes
the code simpler as wxLC_LIST is more similar to wxLC_ICON which we used, and
continue to use, when we do have icons, because we don't need to add and
remove any columns on the fly.
And it fixes the appearance of wxListbook without images with wxBK_TOP or
wxBK_BOTTOM styles as it now lays out its items horizontally and not
vertically as before.
It also fixes the best size calculation of wxListbook control since the
changes to wxListCtrl best size calculations in r71733 as a nice side effect.
Rename all setup0.h files to setup.h in git-based release script.
We also need to rename wx/univ/setup0.h and wx/gtk/setup0.h and it probably
doesn't hurt to rename all the other ones even if though they're unused
anyhow.
Remove unnecessary checks for OS X 10.4 and gcc 4.0 in configure.
As 10.4 is not supported any more, don't check for it. Also don't impose the
use of gcc 4.0 for compiling wxOSX/Carbon as this compiler doesn't exist any
more under OS X 10.7 but wxOSX/Carbon can be compiled using gcc 4.2 if 10.6
SDK is selected, so this change allows to build wxOSX/Carbon under 10.7.
Temporarily disable the failing wxRichTextCtrl case.
Disable CaretPosition() unit test as it is broken now. This is only temporary
to allow tests to pass in 2.9.4, will be reenabled (and hopefully fixed) later.
Clearing a rectangle of size 32000 was not always enough to clear the entire
DC, so use INT_MAX instead -- this is the best we can do with the current
approach.
Keep client data in sync when deleting items from wxOSX wxComboBox.
Correspondence between item indices and their client data was broken if any
items were deleted or the combobox was cleared entirely. Fix this by updating
the client data array whenever this happens.
Add extra border below the buttons in the generic log dialog.
This fixes the problem with the dialog appearance in wxOSX/Cocoa where the
bottom of the buttons was truncated otherwise and arguably makes the dialog
look slightly better in the other ports too.
Fix wxDataViewChoiceRenderer behaviour in wxOSX/Cocoa.
Changing the value of a "choice" cell in wxDataViewCtrl didn't work correctly
in wxOSX/Cocoa because wxDataViewChoiceRenderer used the base class version of
OSXOnCellChanged() which passed the integer index we received from NSOutlineView
to the model instead of the expected string.
Fix this by overriding OSXOnCellChanged() in wxDataViewChoiceRenderer itself
and using its argument as an integer index of the selection because this is
what it is, at least under OS X 10.7.
Previously the combobox was immediately dismissed when the mouse was used.
Fix this by copying the code from wxGridCellChoiceEditor to this class. This
is obviously not ideal and both classes should be refactored to avoid this in
the future but for now this at least fixes the user-visible problem.
Show gstreamer errors in wxGStreamerMediaBackend to the user.
If the media file fails to play, we really need to show to the user the
corresponding gstreamer error, otherwise there is no way to understand what
the problem is.
Collect the errors in gst_error_callback() and show them from the main thread
if we get a gstreamer error.
Use wxFileSystem::FileNameToURL() in wxGStreamerMediaBackend.
Converting files to URIs is not as simple as just prepending "file://" to
them, notably we need to escape characters that are special in URIs such as
"#" and "%", so use FileNameToURL() which already does do it correctly.
It was broken since the addition of the call to wxApp::OnInit() to
wxMediaPlayerApp::OnInit() -- as the base class parses the command line
itself, we need to use OnInitCmdLine() and OnCmdLineParsed() instead of doing
it manually if we call it.
Also don't load the play list saved in wxConfig if any command line parameters
were given as otherwise the saved files would be used first (this seems to
have been always broken...).
Use COMPILER_VERSION and ARCH_SUFFIX in libraries names in Windows makefiles.
For the official builds (only), include the compiler version and the
architecture suffix, unless it's the default x86, into the DLL names, to allow
their concurrent installations for multiple compiler versions and architectures.
No real changes, just rename DIR_SUFFIX_CPU to ARCH_SUFFIX in bakefiles.
This will be soon used in the libraries names and not only in the directory
paths so rename the variable to make things more clear (or at least less
confusing).
Vadim Zeitlin [Sat, 30 Jun 2012 23:41:15 +0000 (23:41 +0000)]
Added internal wxHatchStyle enum.
It's annoying that the same code for hatched pens and brushes can't be reused
without relying on deprecated wxXXX_HATCH constants, so add new,
non-deprecated, wxHatchStyle enum that can be used in such code.
Vadim Zeitlin [Sat, 30 Jun 2012 16:33:40 +0000 (16:33 +0000)]
Force wide char environment version initialization in wxGetEnvMap().
When using MSVC CRT, the wide character version of the environment is not
always initialized when using main() (and not _wmain()) as entry point, so
force initializing it before using _tenviron.
Vadim Zeitlin [Sat, 30 Jun 2012 16:33:32 +0000 (16:33 +0000)]
Use wxString::t_str(), not fn_str(), with Windows API functions.
fn_str() is supposed to be used with the CRT functions taking file names only,
not Windows API functions that always take LPCTSTR with all compilers/CRT
versions.
Vadim Zeitlin [Sat, 30 Jun 2012 16:33:28 +0000 (16:33 +0000)]
Define wxEntry() with WinMain-compatible signature for all Windows ports.
Make wxEntry(HINSTANCE, ...) available in wxGTK under Windows too.
Refactor the headers to allow this and extract Windows-specific wxEntry()
declarations in wx/msw/init.h from wx/msw/app.h for consistency with the
normal wxEntry(int, char**) declared in wx/init.h.
Vadim Zeitlin [Sat, 30 Jun 2012 16:33:10 +0000 (16:33 +0000)]
Create wxStaticBoxSizer elements as children of wxStaticBox in XRC.
As we now recommend creating the controls shown inside wxStaticBox as its
children, and not siblings, follow our own recommendation by doing just this
in XRC handler of wxStaticBoxSizer.
Also add a test of using a tooltip with a wxStaticBoxSizer element to the XRC
demo showing that tooltips do work now for them, unlike before.
Vadim Zeitlin [Sat, 30 Jun 2012 16:33:07 +0000 (16:33 +0000)]
Don't hard code horizontal border for wxStaticBox in wxGTK.
Compute the border width from the average character width instead of hard
coding it to 5 pixels. Probably doesn't make much difference in practice, but
seems to make more sense.