Commit Graph

82 Commits

Author SHA1 Message Date
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
Vadim Zeitlin
6901ac371f added extend() method which realloc()s the buffer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-01 02:58:56 +00:00
Vadim Zeitlin
fedde9b906 default ctor should create an empty/uninitialized buffer, not one with a single character string
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-31 23:33:38 +00:00
Vadim Zeitlin
ae0ca7559c renamed BLOCK_SIZE which conflicts with a #define in a std Linux (and maybe not only) header (bug 1339731)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36037 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-29 17:46:12 +00:00
Vadim Zeitlin
68bc51a9ed missing const added (patch 1295036)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35664 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-24 21:28:15 +00:00
Robin Dunn
22faef6ced Allow wxCharBuffer to be constructed without parameters (making a zero
length string by default) so it can be used in SWIG typemaps.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-04-16 04:08:35 +00:00
Václav Slavík
b08a2401a3 dllexport buffer classes used by wxString
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28969 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-08-30 21:31:38 +00:00