Comparing invalid iterators results in an assert failure in STL build.
We might also change wxList::compatibility_iterator::operator==() to allow
comparing invalid iterators (which should be different from all the other ones
but what about comparing two invalid iterators?) but it would probably be
better to get rid of all uses of compatibility_iterator in the code instead in
the long term.
Closes#12730.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66287 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Check that Insert() returns the index of the last inserted item.
Also document this behaviour for mulit-item renames explicitly.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66278 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The new version (the one we used was 6 years out of date) notably detects 64
bit MinGW platforms correctly which closes#12356.
Also update config.{guess,sub} scripts in 3rd party libraries directories to
bring them all in sync with the main one and ensure that MinGW 64 is supported
by them too.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66265 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix the minor version determination for libtiff which was done wrongly by
r66259 and provide a properly formatted description for Scintilla version.
See #12690.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The comment about "wxString doesn't having enough const members" was totally
incomprehensible and clearly wrong. Just remove the hack it was explaining.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66263 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
When getting an instance of an OLE automation object, it is often useful to
connect to the existing instance if any or start a new one otherwise. Make
GetInstance() behave like this by default while still allowing to use the
wxAutomationInstance_UseExistingOnly flag to reestablish the old behaviour.
Also improve the error reporting in wxAutomationObject.
See #12489.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66262 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
CLSID was used instead of ProgID in several places in the code and the
documentation but they are different things so clear up the confusion.
See #12489.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66261 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add simple wxVersionInfo class holding the version information.
Also add GetLibraryVersionInfo() static method to wx{JPEG,PNG,TIFF}Handler,
wxStyledTextCtrl and wxXmlDocument classes and wxGetZlibVersionInfo() and
wxGetLibraryVersionInfo() global functions using it.
Closes#12690.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66259 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Add wxCMD_LINE_SWITCH_NEGATABLE which allows to use a dash after a command
line switch to inverse its meaning (i.e. use "/X-" form). Also add new
wxCmdLineParser::FoundSwitch() allowing to check for whether the switch was
specified in normal or negated form.
Closes#11643.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66253 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
For seekable streams, don't change the current position when loading image
fails. This allows the subsequent image handlers to succeed during image
format auto-detection even if a previous, erroneously chosen, handler failed.
Closes#12702.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66252 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The error given when loading an image file failed was not very useful because
they didn't specify which file exactly we failed to load and also because the
numeric handler type which means nothing at all to the end user (and not much
to the developer) was used.
Use the description of the file format instead and also always give the name
of the file that we failed to load.
Finally, remove the test for file existence: this is one of many reasons why
opening the file could fail and it doesn't make sense to handle it specially,
just let the underlying stream generate the appropriate error message in all
cases.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66251 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't consume mouse events outside of the area occupied by the items in the
generic implementation of wxDataViewCtrl as this prevented wxEVT_CONTEXT_MENU
events from being generated.
Closes#12706.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66250 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fix VC6 compilation broken by r66237: don't return the result from a void
function, this compiler doesn't support this C++ feature.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66246 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Try to make the chain of preprocessor checks for different ways of getting
time zone from the CRT more clear.
Also call _tzset() for all MSVC versions, not just MSVC8+ (closes#12700). We
should probably call tzset() for the other compilers too, in fact.
And multiply the timezone returned from ftime() by 60 as it's supposed to be
in minutes and not seconds as needed.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66245 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxProgressDialog was created without the parent when using task dialogs so it
was centred on screen and not on its parent as usual. Fix this by explicitly
positioning it so that it's centered over the parent.
Closes#12699.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66244 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Even though this behaviour is somewhat counterintuitive, the documentation
mentions that this is what should happen and wxGTK and wxOSX already behave
like this so bring wxMSW in line.
wxListBox::DeselectAll() should probably just call SetSelection(wxNOT_FOUND)
when the item to leave selected is not specified too now.
Closes#12705.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66243 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
We must call _tzset() before calling _get_timezone() as while this is normally
done implicitly by the other time functions, it might not have been done yet
if create a wxDateTime::TimeZone before calling any of them.
Closes#12700.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66241 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxUniv build was broken since the base class of wxStatusBar was changed from
wxWindow to wxControl in r66226 because it derived twice from wxInputConsumer
now.
Fix this by simply not inheriting wxStatusBarUniv from wxInputConsumer any
more, it already derives from it via wxControl now.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66239 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Finally it's unnecessary to define WXUSINGDLL when building wxScintilla
library as it doesn't use the main DLL, it is simply used as part of it.
This reverts r66222 and finally closes#12626.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66238 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This is either unnecessary or doesn't work anyhow (they are always centered on
the parent window) and just results in debug error messages.
Simply don't do anything in wxMessageDialog::Centre() when using task dialog
implementation under MSW.
Closes#12699.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66237 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The total width of status bar panes must add up to the size of the status bar
as otherwise an extra unwanted border is drawn after the last pane and we did
have this border for status bar with a size grip.
So while we still use the width without the size grip for calculating the
fields widths, pass the width with the size grip to Windows to prevent this
from happening.
Also, don't pretend that the last field stretches up to the status bar edge
when it should end before the size grip and Windows even already helpfully
does it for us.
Closes#12655.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
SBARS_SIZEGRIP and CCS_TOP should be added to the normal style, not the
extended one. This restores the behaviour broken by r66227.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66235 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
WINDRES_CPU_DEFINE is just another resource compiler flag which should be part
of RESFLAGS instead of being added to RESCOMP definition itself. This is not
only more logical but also fixes the problem with matching RESCOMP against
"windres" or "wrc" in wx-config.
See #12356.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66234 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Setting sash size to non default value didn't work correctly and didn't make
much sense anyhow as the sash appearance is platform-dependent and current
code for drawing it doesn't work for arbitrary sizes.
Simply remove the possibility to set the sash size.
Closes#12412.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Setting the background colour for the status bar explicitly is unnecessary and
probably prevents it from rendering correctly with some themes. Simply remove
the call to SetBackgroundColour() from wxStatusBar::Create().
We should also define Get[Class]DefaultAttributes() in wxStatusBar in the
future.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66231 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Any border specified for wxSplitterWindow was explicitly discarded when
creating it but there doesn't seem to be any reason to forbid it, the original
code probably predated the addition of wxWindow::GetDefaultBorder() which
allowed to have different borders by default for different classes.
In any case, simply remove this code now to allow creating splitters with
borders if so desired.
Closes#12413.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775