Commit Graph

88 Commits

Author SHA1 Message Date
Vadim Zeitlin
daa3509726 No changes, just silence some MSVC 11 static analyzer warnings.
This is an aborted attempt to make wxWidgets code compile without warnings
when using MSVC 11 /analyze option, as it was supposed to have become much
better. Unfortunately it still produces way too many false positives to be
really useful, in particular NULL pointer detection is completely broken as
even the code such as (from object.cpp):

        wxClassInfo *info = sm_first;
        while (info)
        {
            if ( info->m_next == this )
                ...
        }

provokes tons of warnings about "info" being NULL inside the loop which is
clearly impossible.

So this commit just fixes a few obvious warnings, mostly about variable
shadowing but also a couple about possibly passing NULL to memcpy().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72496 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-15 23:20:23 +00:00
Vadim Zeitlin
1582a1db62 No changes, just fix some typos in comments.
Closes #14494.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72163 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-07-20 11:55:18 +00:00
Vadim Zeitlin
f2c6e60762 Ensure wxCharTypeBuffer data is NUL-terminated after extend() call.
As wxCharTypeBuffer ctor taking the length NUL-terminates the buffer, it may
be expected that extend() does the same but it did not. Do add the NUL at the
end for consistency, even though it's not really needed for the existing code
using extend() in wxWidgets itself.

Closes #13885.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70417 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-20 22:11:51 +00:00
Vadim Zeitlin
846b6c8658 Added wxMemoryBuffer::Clear() and IsEmpty() methods.
Add two convenient methods which may be used instead of testing or setting the
buffer length.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-20 12:22:22 +00:00
Vadim Zeitlin
bd362275b8 Remove Palm OS port.
The platform targeted by this port doesn't exist any more and the port never
achieved really working state so remove the code to avoid having to maintain
it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-15 01:05:28 +00:00
Stefan Csomor
df04f800b8 supporting clang 2.0 under xcode, see #12332
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-27 11:00:26 +00:00
Václav Slavík
338084945b Fix wxScopedCharTypeBuffer<T>::CreateOwned() to match docs.
The documentation says that it takes ownership of the memory block
passed to it, but the implementation made a copy.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-05 07:45:33 +00:00
Václav Slavík
8dffb6b1a7 Add wxMemoryBuffer::release().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-26 20:51:07 +00:00
Václav Slavík
8d94819c43 Remove wxUSE_WCHAR_T checks.
wxWidgets requires wchar_t for some time now; wx/chartype.h has a check
to fail complation without it. Simplify code by removing now-dead code
for the !wxUSE_WCHAR_T case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63991 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-16 10:43:18 +00:00
Vadim Zeitlin
b96a56e60e Make it possible to use wxCharBuffer during program initialization.
wxCharBuffer might be used during static initialization, even if only
implicitly. E.g. it is used by wxString::Format() which can be used to
initialize a global string. But it uses the global s_untypedNullData variable
might not be initialized yet resulting in mysterious failures.

Fix this in the usual way by wrapping access to the variable via a function.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-28 11:09:26 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Václav Slavík
fb5ae4f6d9 (blind) fix for VC6s' warning about non-dll base template class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60134 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-14 07:02:59 +00:00
Václav Slavík
197380a09f always return (owned or non-owned, depending on build) wxScopedCharBuffer from utf8_str() and ToUTF8()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-30 18:28:42 +00:00
Václav Slavík
a6bb7a282d fixed size of buffer returned by wxFormatConverter (it was too large before)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-30 11:54:41 +00:00
Václav Slavík
6df09f32fd added length to wx(Scoped)CharBuffer to improve handling of embedded NULs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59927 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-29 20:58:39 +00:00
Václav Slavík
3339414ae8 don't duplicate copy ctor and assignment operator code in wxCharTypeBuffer<T>, it was identical to base class' version
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-28 09:35:53 +00:00
Václav Slavík
de4983f323 split wxCharTypeBuffer<T> into wxScopedCharTypeBuffer<T> and wxCharTypeBuffer<T> -- the former is for transient data with validity limited to parent's lifetime, the latter is for permanent storage of string data (bug #9638)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59887 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-27 15:33:55 +00:00
Vadim Zeitlin
c0c133e13b add wx-prefixed and semicolon-requiring versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 11:45:59 +00:00
Chris Elliott
5953e7c7d6 fix for Borland compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57387 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-17 09:26:58 +00:00
Vadim Zeitlin
5c69ef61f3 fix some of icc 11.0 warnings and disable a few others
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56792 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-16 14:24:13 +00:00
Vadim Zeitlin
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Vadim Zeitlin
4e79262f78 resolve the DLL linking problems with MSVC due to use of static variables of template types by replacing them by a non-template unique untypedNullDataPtr
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 01:48:36 +00:00
Vadim Zeitlin
6b583d40a8 fix linking problems due to MSVC implicitly considering template classes specializations used as base classes DLL-exported even though it doesn't actually export them when building the DLL (with or without explicit declspec(dllexport)); also replace wxCharTypeBuffer::NullData with a static function to allow not DLL-exporting this class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-30 23:04:29 +00:00
Václav Slavík
fda71b397a re-fix MinGW DLL compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55133 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-20 21:35:55 +00:00
Vadim Zeitlin
aa74cc2120 don't use WXDLLIMPEXP_BASE_DATA() around member data, this results in an error in MSVC DLL build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-18 19:52:00 +00:00
Václav Slavík
03af437f75 made wxCharTypeBuffer<T>::release() const again, for compatibility
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55067 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-12 15:10:57 +00:00
Václav Slavík
7113846bc8 DLLs linking fix wxCharTypeBuffer<T>::NullData
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55052 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-10 20:41:10 +00:00
Václav Slavík
5c1de526d2 added refcounting to wxCharBuffer to fix passing of wxCharBuffer to printf-like functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-10 19:37:51 +00:00
Vadim Zeitlin
9b4da62701 PalmOS compilation fixes (wx-trunk-out.diff part of patch 1894861)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-02 00:43:06 +00:00
Paul Cornett
162e998c2f check for self-assignment in operator=
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51123 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-09 04:08:33 +00:00
Vadim Zeitlin
53c75dc2f2 test for wxUSE_UNICODE_UTF8 in wxUTF8Buf definition was reversed, correct it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-01 15:14:39 +00:00
Vadim Zeitlin
30386aeb86 define wxUTF8Buf as the type returned by wxString::utf8_str()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-10-20 22:52:36 +00:00
Vadim Zeitlin
7c77f33480 added WXDLLIMPEXP_TEMPLATE_INSTANCE_BASE() macro and use it to work around VC6 warnings about non DLL-exported templates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-14 21:02:09 +00:00
Vadim Zeitlin
4ec4d8610a added WXDLLIMPEXP_BASE for a couple of template classes having only inline functions as VC7 still needs them in DLL build if these classes are used as base classes or members of other DLL-exported classes (replaces first two parts of the patch 1779004)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-14 17:04:27 +00:00
Václav Slavík
b5dbe15d0b added WXDLLIMPEXP_FWD_FOO macros in addition to WXDLLIMPEXP_FOO for use with forward declarations (in preparation for GCC visibility support)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-09 10:09:52 +00:00
Václav Slavík
541aa82180 fixed VC6 warnings about non-dllexported members in dllexported classes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46407 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-11 19:59:11 +00:00
Václav Slavík
52de37c78f 1. made CRT wrappers definitions indepenent of wxUSE_UNICODE: both ANSI and Unicode variants are now defined
2. split wxcrt.h into wxcrtbase.h with lowlevel compiler-specific definitions and wxcrt.h with ANSI- and Unicode-compatible wx wrappers


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-10 17:14:14 +00:00
Václav Slavík
8db4a5d27a added missing forward declaration for wxCStrData
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-19 11:25:34 +00:00
Václav Slavík
e713a90b3f moved vararg CRT functions wrappers to a new wxcrtvararg.h header
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45531 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-19 07:44:16 +00:00
Václav Slavík
681e441286 added wxCStrData::As[W]CharBuf() that doesn't keep converted string in memory for longer than needed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-16 06:59:04 +00:00
Václav Slavík
486a594182 added ability to create 'non-owned' buffers that aren't freed by wxCharBuffer dtor
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-14 16:58:48 +00:00
Václav Slavík
817270659e initial version of UTF-8 strings representation (still converting to wchar_t* a lot); it has to be explicitly enabled with --enable-utf8 for now
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-12 21:15:07 +00:00
Václav Slavík
11aac4baa6 provide both const char* and const wchar_t* implicit conversion of wxCStrData regardless of the build type
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45262 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-05 21:28:14 +00:00
Václav Slavík
665e6a8753 added missing public keyword to wxWritableCharTypeBuffer declaration
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45177 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-30 20:30:34 +00:00
Václav Slavík
ef0f138756 added char_str() and wchar_str() methods to wxString for obtaining char*/wchar_t* pointers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-30 20:09:02 +00:00
Vadim Zeitlin
ccd4deab6b fix DLL build with MSVC: it wasn't happy that some functions of a template class were not implemented, so get rid of FromCStrData() and implement its logic in one of the 2 derived classes ctors instead
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45026 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-23 00:04:15 +00:00
Václav Slavík
d18c8d3d94 reimplemented wx[W]CharBuffer using templates
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45025 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-22 23:31:08 +00:00
Vadim Zeitlin
414b7b4016 added ctor for wxChar/WCharBuffer from wxCStrData in ANSI/Unicode build to make it possible to compile code like "wxCharBuffer buf = s.c_str()" again (in particular, fixes wxGTK1 compilation)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44924 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-19 13:18:02 +00:00
Vadim Zeitlin
2f4f6de77b added wxWxCharBuffer which stands for buffer of wxChars
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38645 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-10 01:35:21 +00:00
Vadim Zeitlin
11fead7c46 added wxBuffer::reset()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-02 14:57:36 +00:00