Commit Graph

79 Commits

Author SHA1 Message Date
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
Roger Gammans
9b386ecadb * add documentation for wxMemoryBuffer
* add suport for values of type REG_BINARY in the msw registry.

   Such values are converted to wxMemoryBuffer for internal handling


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28258 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-16 13:09:52 +00:00
Julian Smart
655719367a Use old licence name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00
Julian Smart
77ffb5937e Name and version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00