Calling wxDataOutputStream::Write64() with a wxFileOffset argument is
ambiguous as wxFileOffset is neither wxInt64 nor wxUint64, so cast it to one
of them (it doesn't matter which) explicitly.
Zip archives with sizes larger 4GB or containing files larger than 4GB or more
than 65k files are saved in ZIP64 format which adds a few additional footers
and extra fields to allow to exceed these limits.
This implements the PKWARE specification available at:
https://www.pkware.com/support/zip-app-note
It has been tested for compatibility with Windows internal ZIP folders, OSX
Archive Utility and 7-zip.
Closes https://github.com/wxWidgets/wxWidgets/pull/72
When wxBitmapComboBox::DoInsertItems() is called from
wxBitmapComboBox::RecreateControl() then the existing bitmap array should be
reused and new bitmaps shouldn't be allocated.
Closes https://github.com/wxWidgets/wxWidgets/pull/71
When wxBitmapComboBox::DoInsertItems() is called and wxCB_SORT flag is set then
due to the sorting the position of the every element in the final item list
can be different than in the input table. To ensure consistency between item
list and bitmap array all new items should be added one by one. Based on the
actual index of every added item the bitmap array should be arranged
accordingly.
Closes#16627.
See https://github.com/wxWidgets/wxWidgets/pull/71
Outlined rectangles are one pixel larger with vector-based drawing,
adjust them to get consistent behavior.
Ellipses do not appear to need adjustment.
See #17091
"Edit" icon definition used internally in wxEditableListBox is moved to
wxDefaultArtProvider and exposed as wxART_EDIT.
While there is no native version of this icon yet, it could be added in the
future and in the meanwhile this commit will be useful to use only standard
bitmaps in wxEditableListBox.
In the unlikely but still possible case when neither TMP nor TEMP environment
variables are defined under Windows, we use the standard ::GetTempPath()
function which can return a path with trailing backslashes, e.g. if it takes
it from USERPROFILE environment variable. Ensure that these backslashes are
stripped in this case as well.
Closes https://github.com/wxWidgets/wxWidgets/pull/67
Bitmaps obtained using SHGetStockIconInfo can have only some predefined sizes.
If size of the retrieved bitmap doesn't correspond to the needed size or the
size given by wxArtProvider::GetNativeSizeHint() then the bitmap should be
rescaled appropriately.
Closes#17071.
Closes https://github.com/wxWidgets/wxWidgets/pull/64
Move duplicated code responsible for rescaling bitmaps in wxArtProvider to the
shared wxArtPrvider::RescaleBitmap() method.
Additionally, make this new method work even in wxUSE_IMAGE==0 case.
See #17071.
See https://github.com/wxWidgets/wxWidgets/pull/64.
Improve code quality and also fix the following issue: when 2 or more
wxDataViewCtrl were frozen, only the first one was sorted on thaw as g_column
was erased by the first wxDataViewCtrl to be sorted and so preventing the
other one from being sorted.
Closes https://github.com/wxWidgets/wxWidgets/pull/63
NSProcessInfo is the recommended way to determine OS X OS version, but the operatingSystemVersion property is only available in OS X 10.10+. Because of that a fallback to Gestalt() is implemented.
The NSProcessInfo.operatingSystemVersionString in the form “Version 10.10.4 (Build 14E46)" now used by wxGetOsDescription() should be more useful to the user than the carbon implementations darwin version.
Windows implements VerifyVersionInfo api since Win2k. Starting with Windows 8.1 GetVersionEx is deprecated and may not return the expected version number if the application does not contain the correct compatibility information in its manifest. VerifyVersionInfo works independent of manifest in the executable (and is the recommend way to check).
Existing code may already use wxPlatformInfo::CheckOSVersion() so the method forwards the call to wxCheckOsVersion if initialized for the current system.
Size of labels with new values can be different then size of current labels
and hence they should be re-laid out every time when the range is changed.
Closes#17093.
Remove UMAGetSystemVersion() function calling which produced the following
warning on the console for every call:
WARNING: The Gestalt selector gestaltSystemVersion is returning 10.9.4 instead
of 10.10.4. Use NSProcessInfo's operatingSystemVersion property to get correct
system version number.*
Replace UMAGetSystemVersion with wxPlatformInfo::CheckOSVersion() which
internally uses wxGetOSVersion, which uses Gestalt calls not resulting in this
runtime warning.
Closes https://github.com/wxWidgets/wxWidgets/pull/55
This seems to be unnecessary and generates GTK+ warnings as it results in
passing rectangle with negative (after accounting for padding/margins) size to
gtk_paint_box() in wxAuiGtkTabArt, as could be seen e.g. when closing
"wxTextCtrl 2" tab in the aui sample.
The code was always wrong as it added the control to a new sizer when it was
still element of an old one, but this went unnoticed until the changes of
efce9b2306 which now trigger an assert.
Fix this by deleting the old sizer, and thus breaking the association between
it and the controls inside it, before adding the controls to the new one.
Closes#17080.
TDM-GCC 4.9.2 gave many of these warnings for the calls to Windows common
controls macros, avoid them by adding error reporting where it makes sense or
just suppressing the warning by explicitly casting to void elsewhere (e.g. for
the macros which have no meaningful return value at all or return something
that we're not interested in instead of just success/failure indicator).
Reuse wxListCtrl::SetTextColour() instead of calling ListView_SetTextColor()
from wxListCtrl::SetForegroundColour().
This ensures that the two functions behave consistently, e.g. they now both
use palette-relative colour instead of a raw RGB value in the case of the
latter method as before. This probably doesn't change anything in practice
nowadays.
Do the same thing for tif_win32.c as f995dfcc20
did for tif_unix.c, i.e. use a union for casting between HANDLEs and ints to
avoid compiler warnings which were given for the explicit casts before.