[Date Prev][Date Next][Thread Prev][Thread Next][Thread Index]

[XaraXtreme-commits] Commit Complete



Commit by  : alex
Repository : xara
Revision   : 1283
Date       : Fri Jun  9 11:45:35 BST 2006

Changed paths:
   M /Trunk/XaraLX/wxOil/basestr.h
   M /Trunk/XaraLX/wxOil/fixst128.cpp
   M /Trunk/XaraLX/wxOil/fixst128.h
   M /Trunk/XaraLX/wxOil/fixst256.cpp
   M /Trunk/XaraLX/wxOil/fixst256.h
   M /Trunk/XaraLX/wxOil/fixstr16.cpp
   M /Trunk/XaraLX/wxOil/fixstr16.h
   M /Trunk/XaraLX/wxOil/fixstr32.cpp
   M /Trunk/XaraLX/wxOil/fixstr32.h
   M /Trunk/XaraLX/wxOil/fixstr64.cpp
   M /Trunk/XaraLX/wxOil/fixstr64.h
   M /Trunk/XaraLX/wxOil/fixstr8.cpp
   M /Trunk/XaraLX/wxOil/fixstr8.h

Fix nasty include-file ordering bug which was causing SEGVs


Diff:
Index: Trunk/XaraLX/wxOil/fixstr16.cpp
===================================================================
--- Trunk/XaraLX/wxOil/fixstr16.cpp	(revision 1282)
+++ Trunk/XaraLX/wxOil/fixstr16.cpp	(revision 1283)
@@ -99,6 +99,7 @@
 #include "camtypes.h"
 //#include "fixstr16.h" - in camtypes.h [AUTOMATICALLY REMOVED]
 
+DEFINE_BUFSIZE(16);
 
 /**************************************************************************************
 >	String_16::String_16(const TCHAR* psz = 0)
Index: Trunk/XaraLX/wxOil/fixstr64.cpp
===================================================================
--- Trunk/XaraLX/wxOil/fixstr64.cpp	(revision 1282)
+++ Trunk/XaraLX/wxOil/fixstr64.cpp	(revision 1283)
@@ -99,6 +99,7 @@
 #include "camtypes.h"
 //#include "fixstr64.h" - in camtypes.h [AUTOMATICALLY REMOVED]
 
+DEFINE_BUFSIZE(64);
 
 /**************************************************************************************
 >	String_64::String_64(const TCHAR* psz = 0)
Index: Trunk/XaraLX/wxOil/fixstr8.cpp
===================================================================
--- Trunk/XaraLX/wxOil/fixstr8.cpp	(revision 1282)
+++ Trunk/XaraLX/wxOil/fixstr8.cpp	(revision 1283)
@@ -99,6 +99,7 @@
 #include "camtypes.h"
 //#include "fixstr8.h" - in camtypes.h [AUTOMATICALLY REMOVED]
 
+DEFINE_BUFSIZE(8);
 
 /**************************************************************************************
 >	String_8::String_8(const TCHAR* psz = 0)
Index: Trunk/XaraLX/wxOil/fixst256.cpp
===================================================================
--- Trunk/XaraLX/wxOil/fixst256.cpp	(revision 1282)
+++ Trunk/XaraLX/wxOil/fixst256.cpp	(revision 1283)
@@ -99,7 +99,9 @@
 #include "camtypes.h"
 //#include "fixst256.h" - in camtypes.h [AUTOMATICALLY REMOVED]
 
+DEFINE_BUFSIZE(256);
 
+
 /**************************************************************************************
 >	String_256::String_256(const TCHAR* psz = 0)
 
Index: Trunk/XaraLX/wxOil/fixst256.h
===================================================================
--- Trunk/XaraLX/wxOil/fixst256.h	(revision 1282)
+++ Trunk/XaraLX/wxOil/fixst256.h	(revision 1283)
@@ -96,14 +96,6 @@
 =================================XARAHEADEREND============================
  */
 
-// To handle (non-Unicode) muti-byte character sets, double the width of
-// fixed-length character buffers.
-#undef	FIX_LEN_BUFSIZE
-#ifdef _UNICODE
-#define	FIX_LEN_BUFSIZE		(256 + 1)
-#else
-#define	FIX_LEN_BUFSIZE		((256 + 1) * 2)
-#endif
 
 #ifndef INC__FIXSTRING256
 #define INC__FIXSTRING256
@@ -123,6 +115,8 @@
 
 class CCAPI String_256 : public StringBase
 {
+	static const INT32 FIX_LEN_BUFSIZE;
+
 private:
 	void CopyConstruct( const StringBase &other );
 	
@@ -140,7 +134,7 @@
 	virtual BOOL Alloc(INT32 nSize);
 
 private:
-	TCHAR fixedbuf[FIX_LEN_BUFSIZE];
+	TCHAR fixedbuf[FIX_LEN_BUFM(256)];
 };
 
 
Index: Trunk/XaraLX/wxOil/basestr.h
===================================================================
--- Trunk/XaraLX/wxOil/basestr.h	(revision 1282)
+++ Trunk/XaraLX/wxOil/basestr.h	(revision 1283)
@@ -146,6 +146,14 @@
 #include "errors.h"
 // #include <stdarg.h>
 
+#ifdef _UNICODE
+#define FIX_LEN_BUFM(x) ((x)+1)
+#else
+#define FIX_LEN_BUFM(x) (((x)+1)*2)
+#endif
+
+#define DEFINE_BUFSIZE(x) const INT32 String_ ## x::FIX_LEN_BUFSIZE = FIX_LEN_BUFM(x);
+
 // Maximum number of characters in a string resource.
 const size_t MAX_STRING_RES_LENGTH = 255;
 const INT32 str_MAXEXCEPTIONS = 30;
Index: Trunk/XaraLX/wxOil/fixstr64.h
===================================================================
--- Trunk/XaraLX/wxOil/fixstr64.h	(revision 1282)
+++ Trunk/XaraLX/wxOil/fixstr64.h	(revision 1283)
@@ -96,14 +96,6 @@
 =================================XARAHEADEREND============================
  */
 
-// To handle (non-Unicode) muti-byte character sets, double the width of
-// fixed-length character buffers.
-#undef	FIX_LEN_BUFSIZE
-#ifdef _UNICODE
-#define	FIX_LEN_BUFSIZE		(64 + 1)
-#else
-#define	FIX_LEN_BUFSIZE		((64 + 1) * 2)
-#endif
 
 #ifndef INC__FIXSTRING64
 #define INC__FIXSTRING64
@@ -123,6 +115,8 @@
 
 class CCAPI String_64 : public StringBase
 {
+	static const INT32 FIX_LEN_BUFSIZE;
+
 private:
 	void CopyConstruct( const StringBase &other );
 	
@@ -137,7 +131,7 @@
 	virtual BOOL Alloc(INT32 nSize);
 
 private:
-	TCHAR fixedbuf[FIX_LEN_BUFSIZE];
+	TCHAR fixedbuf[FIX_LEN_BUFM(64)];
 };
 
 
Index: Trunk/XaraLX/wxOil/fixst128.cpp
===================================================================
--- Trunk/XaraLX/wxOil/fixst128.cpp	(revision 1282)
+++ Trunk/XaraLX/wxOil/fixst128.cpp	(revision 1283)
@@ -99,6 +99,7 @@
 #include "camtypes.h"
 //#include "fixst128.h" - in camtypes.h [AUTOMATICALLY REMOVED]
 
+DEFINE_BUFSIZE(128);
 
 /**************************************************************************************
 >	String_128::String_128(const TCHAR* psz = 0)
Index: Trunk/XaraLX/wxOil/fixstr32.h
===================================================================
--- Trunk/XaraLX/wxOil/fixstr32.h	(revision 1282)
+++ Trunk/XaraLX/wxOil/fixstr32.h	(revision 1283)
@@ -96,15 +96,6 @@
 =================================XARAHEADEREND============================
  */
 
-// To handle (non-Unicode) muti-byte character sets, double the width of
-// fixed-length character buffers.
-#undef	FIX_LEN_BUFSIZE
-#ifdef _UNICODE
-#define	FIX_LEN_BUFSIZE		(32 + 1)
-#else
-#define	FIX_LEN_BUFSIZE		((32 + 1) * 2)
-#endif
-
 #ifndef INC__FIXSTRING32
 #define INC__FIXSTRING32
 
@@ -123,6 +114,8 @@
 
 class CCAPI String_32 : public StringBase
 {
+	static const INT32 FIX_LEN_BUFSIZE;
+
 private:
 	void CopyConstruct( const StringBase &other );
 	
@@ -137,7 +130,7 @@
 	virtual BOOL Alloc(INT32 nSize);
 
 private:
-	TCHAR fixedbuf[FIX_LEN_BUFSIZE];
+	TCHAR fixedbuf[FIX_LEN_BUFM(32)];
 };
 
 
Index: Trunk/XaraLX/wxOil/fixstr8.h
===================================================================
--- Trunk/XaraLX/wxOil/fixstr8.h	(revision 1282)
+++ Trunk/XaraLX/wxOil/fixstr8.h	(revision 1283)
@@ -95,8 +95,6 @@
 
 =================================XARAHEADEREND============================
  */
-#undef	FIX_LEN_BUFSIZE
-#define	FIX_LEN_BUFSIZE		(8 + 1)
 
 #ifndef INC__FIXSTRING8
 #define INC__FIXSTRING8
@@ -116,6 +114,8 @@
 
 class CCAPI String_8 : public StringBase
 {
+	static const INT32 FIX_LEN_BUFSIZE;
+
 private:
 	void CopyConstruct( const StringBase &other );
 	
@@ -130,7 +130,7 @@
 	virtual BOOL Alloc(INT32 nSize);
 
 private:
-	TCHAR fixedbuf[FIX_LEN_BUFSIZE];
+	TCHAR fixedbuf[FIX_LEN_BUFM(8)];
 };
 
 
Index: Trunk/XaraLX/wxOil/fixstr16.h
===================================================================
--- Trunk/XaraLX/wxOil/fixstr16.h	(revision 1282)
+++ Trunk/XaraLX/wxOil/fixstr16.h	(revision 1283)
@@ -96,14 +96,6 @@
 =================================XARAHEADEREND============================
  */
 
-// To handle (non-Unicode) muti-byte character sets, double the width of
-// fixed-length character buffers.
-#undef	FIX_LEN_BUFSIZE
-#ifdef _UNICODE
-#define	FIX_LEN_BUFSIZE		(16 + 1)
-#else
-#define	FIX_LEN_BUFSIZE		((16 + 1) * 2)
-#endif
 
 #ifndef INC__FIXSTRING16
 #define INC__FIXSTRING16
@@ -123,6 +115,8 @@
 
 class CCAPI String_16 : public StringBase
 {
+	static const INT32 FIX_LEN_BUFSIZE;
+
 private:
 	void CopyConstruct( const StringBase &other );
 	
@@ -137,7 +131,7 @@
 	virtual BOOL Alloc(INT32 nSize);
 
 private:
-	TCHAR fixedbuf[FIX_LEN_BUFSIZE];
+	TCHAR fixedbuf[FIX_LEN_BUFM(16)];
 };
 
 
Index: Trunk/XaraLX/wxOil/fixstr32.cpp
===================================================================
--- Trunk/XaraLX/wxOil/fixstr32.cpp	(revision 1282)
+++ Trunk/XaraLX/wxOil/fixstr32.cpp	(revision 1283)
@@ -99,6 +99,7 @@
 #include "camtypes.h"
 //#include "fixstr32.h" - in camtypes.h [AUTOMATICALLY REMOVED]
 
+DEFINE_BUFSIZE(32);
 
 /**************************************************************************************
 >	String_32::String_32(const TCHAR* psz = 0)
@@ -173,7 +174,7 @@
 	*(text = fixedbuf) = 0;
 	length = FIX_LEN_BUFSIZE;
 	if (!Load(resID, hinst))
-	{
+	{	
 		ERROR3("String resource failed to load");
 		TCHAR buf[128];
 		camSnprintf(buf, 128, TEXT("<%X:%X>"), (INT32) resID, (INT32) hinst);
Index: Trunk/XaraLX/wxOil/fixst128.h
===================================================================
--- Trunk/XaraLX/wxOil/fixst128.h	(revision 1282)
+++ Trunk/XaraLX/wxOil/fixst128.h	(revision 1283)
@@ -96,15 +96,6 @@
 =================================XARAHEADEREND============================
  */
 
-// To handle (non-Unicode) muti-byte character sets, double the width of
-// fixed-length character buffers.
-#undef	FIX_LEN_BUFSIZE
-#ifdef _UNICODE
-#define	FIX_LEN_BUFSIZE		(128 + 1)
-#else
-#define	FIX_LEN_BUFSIZE		((128 + 1) * 2)
-#endif
-
 #ifndef INC__FIXSTRING128
 #define INC__FIXSTRING128
 
@@ -123,6 +114,8 @@
 
 class CCAPI String_128 : public StringBase
 {
+	static const INT32 FIX_LEN_BUFSIZE;
+
 private:
 	void CopyConstruct( const StringBase &other );
 	
@@ -140,7 +133,7 @@
 	virtual BOOL Alloc(INT32 nSize);
 
 private:
-	TCHAR fixedbuf[FIX_LEN_BUFSIZE];
+	TCHAR fixedbuf[FIX_LEN_BUFM(128)];
 };
 
 


Xara