From fbdcff4a78e03963d750546b8a74752247b38d40 Mon Sep 17 00:00:00 2001
From: Julian Smart <julian@anthemion.co.uk>
Date: Fri, 5 May 2000 16:40:32 +0000
Subject: [PATCH] Misc fixes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@7357 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 distrib/msw/patch.rsp      | 18 +++---------------
 distrib/msw/zipdist.bat    |  3 ++-
 docs/html/news.htm         |  2 +-
 docs/latex/wx/tunicode.tex |  2 +-
 docs/readme.txt            | 13 +++++++------
 include/wx/arrimpl.cpp     |  6 ++++++
 src/common/cmdline.cpp     | 20 ++++++--------------
 src/common/cmndata.cpp     |  6 ++----
 src/common/config.cpp      |  3 +--
 src/common/db.cpp          | 26 +++++++++++++-------------
 src/common/fontmap.cpp     |  3 +--
 src/makevc.env             |  3 +++
 src/msw/makefile.vc        |  2 ++
 src/msw/treectrl.cpp       |  9 +++++++++
 utils/projgen/makeproj.cpp |  2 +-
 15 files changed, 58 insertions(+), 60 deletions(-)

diff --git a/distrib/msw/patch.rsp b/distrib/msw/patch.rsp
index 80185ac474..bc2643ce0b 100644
--- a/distrib/msw/patch.rsp
+++ b/distrib/msw/patch.rsp
@@ -1,16 +1,4 @@
-include/wx/wxchar.h
-include/wx/msw/setup.h
-samples/dnd/*.wxr
-src/unix/fontutil.cpp
-src/common/fontmap.cpp
-src/msw/statbox.cpp
-include/wx/msw/statbox.h
-utils/ogl/samples/ogledit/palette.cpp
-utils/ogl/samples/studio/shapes.cpp
-utils/ogl/samples/studio/shapes.h
-utils/ogl/samples/studio/studio.h
-utils/dialoged/src/dialoged.cpp
-utils/dialoged/src/dlghndlr.cpp
-utils/dialoged/src/reseditr.cpp
-utils/dialoged/src/dialoged.h
+include/wx/datetime.inl
+src/msw/treectrl.cpp
+samples/treectrl/TreectrlVC.dsp
 
diff --git a/distrib/msw/zipdist.bat b/distrib/msw/zipdist.bat
index ca4889596d..846fd6f117 100755
--- a/distrib/msw/zipdist.bat
+++ b/distrib/msw/zipdist.bat
@@ -89,7 +89,7 @@ zip32 -@ %dest\tiff.zip < %src\distrib\msw\tiff.rsp
 rem Dialog Editor source and binary
 erase %dest\dialoged_source.zip
 zip32 -@ %dest\dialoged_source.zip < %src\distrib\msw\dialoged.rsp
-zip32 -j %dest\dialoged.zip %dest\dialoged_source.zip %src\bin\dialoged.exe %src\bin\dialoged.hlp %src\bin\dialoged.cnt
+zip32 -j %dest\dialoged.zip %dest\dialoged_source.zip %src\bin\dialoged.exe %src\docs\winhelp\dialoged.hlp %src\docs\winhelp\dialoged.cnt
 erase %dest\dialoged_source.zip
 
 rem Misc. utils not in the main distribution
@@ -143,6 +143,7 @@ erase /Y contrib\docs\winhelp\mmedia.*
 erase /Y contrib\docs\winhelp\stc.*
 erase /Y contrib\docs\pdf\*.*
 deltree /Y contrib\docs\latex\ogl
+erase /Y src\mingegcs.bat
 
 rem Now copy some binary files to 'bin'
 if not isdir bin mkdir bin
diff --git a/docs/html/news.htm b/docs/html/news.htm
index 83822071ff..6b9af3c139 100644
--- a/docs/html/news.htm
+++ b/docs/html/news.htm
@@ -18,7 +18,7 @@ News
 </tr>
 </table>
 
-<H3><a name="release2_1_14">March 19th, 2000</H3><P>
+<H3><a name="release2_1_14">March 21st, 2000</H3><P>
 
 <ul>
 <li><a href="download.htm" target=wxmain>wxWindows 2.1.14</a> is now available for Windows, Motif and GTK.
diff --git a/docs/latex/wx/tunicode.tex b/docs/latex/wx/tunicode.tex
index 2f4f472597..3dd9814926 100644
--- a/docs/latex/wx/tunicode.tex
+++ b/docs/latex/wx/tunicode.tex
@@ -96,7 +96,7 @@ section.
 
 \subsection{Unicode support in wxWindows}
 
-In wxWindows, the code fragment froim above should be written instead:
+In wxWindows, the code fragment from above should be written instead:
 
 \begin{verbatim}
     wxChar ch = wxT('*');
diff --git a/docs/readme.txt b/docs/readme.txt
index c3f7ac1b6c..8d649fd4ca 100644
--- a/docs/readme.txt
+++ b/docs/readme.txt
@@ -15,8 +15,8 @@ tree controls on Unix, they are emulated.
 A detailed 1100-page reference manual is supplied in HTML, PDF and
 Windows Help form: see the docs hierarchy.
 
-For a quick start, point your Web browser at docs/html/index.htm for a list of
-important documents and samples.
+For a quick start, point your Web browser at docs/html/index.htm for a
+list of important documents and samples.
 
 Changes in this release
 -----------------------
@@ -109,11 +109,12 @@ wxWindows for Windows distribution
 As well as the core source, the Windows setup contains:
 
 - Windows Help versions of the documentation (docs/winhelp);
-- wxGLCanvas (OpenGL integration, in utils/glcanvas);
-- OGL 3 (Object Graphics Library, in utils/ogl);
-- wxTreeLayout (for tree drawing, in utils/wxtree);
+- OGL 3 (Object Graphics Library, in contrib/src/ogl);
 - a Dialog Editor binary;
-- the JPEG library.
+- a Tex2RTF binary;
+- Life! sample binary;
+- the JPEG library source;
+- the TIFF library source.
 
 setup.exe               Setup file (Windows 95/98, NT)
 setup.*                 Other setup files
diff --git a/include/wx/arrimpl.cpp b/include/wx/arrimpl.cpp
index 585893ccc7..6496ca6b75 100644
--- a/include/wx/arrimpl.cpp
+++ b/include/wx/arrimpl.cpp
@@ -21,7 +21,13 @@
  *****************************************************************************/
 
 // needed to resolve the conflict between global T and macro parameter T
+
+// VC++ can't cope with string concatenation in Unicode mode
+#if defined(wxUSE_UNICODE) && wxUSE_UNICODE
+#define _WX_ERROR_REMOVE2(x)     wxT("bad index in ::RemoveAt()")
+#else
 #define _WX_ERROR_REMOVE2(x)     wxT("bad index in " #x "::RemoveAt()")
+#endif
 
 // macro implements remaining (not inline) methods of template list
 // (it's private to this file)
diff --git a/src/common/cmdline.cpp b/src/common/cmdline.cpp
index 40700df5af..d98bb96d48 100644
--- a/src/common/cmdline.cpp
+++ b/src/common/cmdline.cpp
@@ -348,14 +348,12 @@ void wxCmdLineParser::AddParam(const wxString& desc,
         wxCmdLineParam& param = m_data->m_paramDesc.Last();
 
         wxASSERT_MSG( !(param.flags & wxCMD_LINE_PARAM_MULTIPLE),
-                      _T("all parameters after the one with "
-                         "wxCMD_LINE_PARAM_MULTIPLE style will be ignored") );
+                      _T("all parameters after the one with wxCMD_LINE_PARAM_MULTIPLE style will be ignored") );
 
         if ( !(flags & wxCMD_LINE_PARAM_OPTIONAL) )
         {
             wxASSERT_MSG( !(param.flags & wxCMD_LINE_PARAM_OPTIONAL),
-                          _T("a required parameter can't follow an "
-                             "optional one") );
+                          _T("a required parameter can't follow an optional one") );
         }
     }
 #endif // Debug
@@ -589,8 +587,7 @@ int wxCmdLineParser::Parse()
 
                     if ( *p++ != _T('=') )
                     {
-                        wxLogError(_("Option '%s' requires a value, '=' "
-                                     "expected."), name.c_str());
+                        wxLogError(_("Option '%s' requires a value, '=' expected."), name.c_str());
 
                         ok = FALSE;
                     }
@@ -649,9 +646,7 @@ int wxCmdLineParser::Parse()
                                 }
                                 else
                                 {
-                                    wxLogError(_("'%s' is not a correct "
-                                                 "numeric value for option "
-                                                 "'%s'."),
+                                    wxLogError(_("'%s' is not a correct numeric value for option '%s'."),
                                                value.c_str(), name.c_str());
 
                                     ok = FALSE;
@@ -665,8 +660,7 @@ int wxCmdLineParser::Parse()
                                 const wxChar *res = dt.ParseDate(value);
                                 if ( !res || *res )
                                 {
-                                    wxLogError(_("Option '%s': '%s' cannot "
-                                                  "be converted to a date."),
+                                    wxLogError(_("Option '%s': '%s' cannot be converted to a date."),
                                                name.c_str(), value.c_str());
 
                                     ok = FALSE;
@@ -699,9 +693,7 @@ int wxCmdLineParser::Parse()
                 else
                 {
                     wxASSERT_MSG( currentParam == countParam - 1,
-                                  _T("all parameters after the one with "
-                                     "wxCMD_LINE_PARAM_MULTIPLE style "
-                                     "are ignored") );
+                                  _T("all parameters after the one with wxCMD_LINE_PARAM_MULTIPLE style are ignored") );
 
                     // remember that we did have this last repeatable parameter
                     hadRepeatableParam = TRUE;
diff --git a/src/common/cmndata.cpp b/src/common/cmndata.cpp
index 2e612f6ad5..5919aa46a2 100644
--- a/src/common/cmndata.cpp
+++ b/src/common/cmndata.cpp
@@ -1435,8 +1435,7 @@ void wxPageSetupDialogData::SetPaperSize(wxPaperSize id)
 void wxPageSetupDialogData::CalculateIdFromPaperSize()
 {
     wxASSERT_MSG( (wxThePrintPaperDatabase != (wxPrintPaperDatabase*) NULL),
-                  wxT("wxThePrintPaperDatabase should not be NULL. "
-                     "Do not create global print dialog data objects.") );
+                  wxT("wxThePrintPaperDatabase should not be NULL. Do not create global print dialog data objects.") );
 
     wxSize sz = GetPaperSize();
 
@@ -1451,8 +1450,7 @@ void wxPageSetupDialogData::CalculateIdFromPaperSize()
 void wxPageSetupDialogData::CalculatePaperSizeFromId()
 {
     wxASSERT_MSG( (wxThePrintPaperDatabase != (wxPrintPaperDatabase*) NULL),
-                  wxT("wxThePrintPaperDatabase should not be NULL. "
-                     "Do not create global print dialog data objects.") );
+                  wxT("wxThePrintPaperDatabase should not be NULL. Do not create global print dialog data objects.") );
 
     wxSize sz = wxThePrintPaperDatabase->GetSize(m_printData.GetPaperId());
 
diff --git a/src/common/config.cpp b/src/common/config.cpp
index 6ad9263693..018b9e01df 100644
--- a/src/common/config.cpp
+++ b/src/common/config.cpp
@@ -339,8 +339,7 @@ wxString wxExpandEnvVars(const wxString& str)
           // check the closing bracket
           if ( bracket != Bracket_None ) {
             if ( m == str.Len() || str[m] != (char)bracket ) {
-              wxLogWarning(_("Environment variables expansion failed: "
-			     "missing '%c' at position %d in '%s'."),
+              wxLogWarning(_("Environment variables expansion failed: missing '%c' at position %d in '%s'."),
                            (char)bracket, m + 1, str.c_str());
             }
             else {
diff --git a/src/common/db.cpp b/src/common/db.cpp
index 4b23ad4a04..64c41312da 100644
--- a/src/common/db.cpp
+++ b/src/common/db.cpp
@@ -155,7 +155,7 @@ int wxColFor::Format(int Nation,int dbDataType,SWORD sqlDataType,short columnSiz
     i_Nation      = Nation;                                 // 0 = timestamp , 1=EU, 2=UK, 3=International, 4=US
     i_dbDataType  = dbDataType;
     i_sqlDataType = sqlDataType;
-    s_Field.Printf("%s%d",s_Menge[1].c_str(),i_Menge[1]);   // OK for VARCHAR, INTEGER and FLOAT
+    s_Field.Printf(wxT("%s%d"),s_Menge[1].c_str(),i_Menge[1]);   // OK for VARCHAR, INTEGER and FLOAT
     if (i_dbDataType == 0)                                  // Filter unsupported dbDataTypes
     {
         if ((i_sqlDataType == SQL_VARCHAR) || (i_sqlDataType == SQL_LONGVARCHAR))
@@ -185,8 +185,8 @@ int wxColFor::Format(int Nation,int dbDataType,SWORD sqlDataType,short columnSiz
             if (decimalDigits == 0)
                 decimalDigits = 2;
             Temp0 = "%";
-            Temp0.Printf("%s%d.%d",Temp0.c_str(),columnSize,decimalDigits);
-            s_Field.Printf("%sf",Temp0.c_str());        //
+            Temp0.Printf(wxT("%s%d.%d"),Temp0.c_str(),columnSize,decimalDigits);
+            s_Field.Printf(wxT("%sf"),Temp0.c_str());        //
             break;
         case DB_DATA_TYPE_DATE:
             if (i_Nation == 0)      // timestamp       YYYY-MM-DD HH:MM:SS.SSS (tested for SYBASE)
@@ -211,7 +211,7 @@ int wxColFor::Format(int Nation,int dbDataType,SWORD sqlDataType,short columnSiz
             }
             break;
         default:
-            s_Field.Printf("-E-> unknown Format(%d)-sql(%d)",dbDataType,sqlDataType);        //
+            s_Field.Printf(wxT("-E-> unknown Format(%d)-sql(%d)"),dbDataType,sqlDataType);        //
             break;
     };
     return TRUE;
@@ -227,32 +227,32 @@ wxDB::wxDB(HENV &aHenv, bool FwdOnlyCursors)
     sqlLogState   = sqlLogOFF;    // By default, logging is turned off
     nTables       = 0;
 
-    wxStrcpy(sqlState,"");
-    wxStrcpy(errorMsg,"");
+    wxStrcpy(sqlState,wxT(""));
+    wxStrcpy(errorMsg,wxT(""));
     nativeError = cbErrorMsg = 0;
     for (i = 0; i < DB_MAX_ERROR_HISTORY; i++)
-        wxStrcpy(errorList[i], "");
+        wxStrcpy(errorList[i], wxT(""));
 
     // Init typeInf structures
-    wxStrcpy(typeInfVarchar.TypeName,"");
+    wxStrcpy(typeInfVarchar.TypeName,wxT(""));
     typeInfVarchar.FsqlType      = 0;
     typeInfVarchar.Precision     = 0;
     typeInfVarchar.CaseSensitive = 0;
     typeInfVarchar.MaximumScale  = 0;
 
-    wxStrcpy(typeInfInteger.TypeName,"");
+    wxStrcpy(typeInfInteger.TypeName,wxT(""));
     typeInfInteger.FsqlType      = 0;
     typeInfInteger.Precision     = 0;
     typeInfInteger.CaseSensitive = 0;
     typeInfInteger.MaximumScale  = 0;
 
-    wxStrcpy(typeInfFloat.TypeName,"");
+    wxStrcpy(typeInfFloat.TypeName,wxT(""));
     typeInfFloat.FsqlType      = 0;
     typeInfFloat.Precision     = 0;
     typeInfFloat.CaseSensitive = 0;
     typeInfFloat.MaximumScale  = 0;
 
-    wxStrcpy(typeInfDate.TypeName,"");
+    wxStrcpy(typeInfDate.TypeName,wxT(""));
     typeInfDate.FsqlType      = 0;
     typeInfDate.Precision     = 0;
     typeInfDate.CaseSensitive = 0;
@@ -896,8 +896,8 @@ void wxDB::Close(void)
         tiu = (wxTablesInUse *)pNode->Data();
         if (tiu->pDb == this)
         {
-            s.sprintf("(%-20s)     tableID:[%6lu]     pDb:[%p]", tiu->tableName,tiu->tableID,tiu->pDb);
-            s2.sprintf("Orphaned found using pDb:[%p]",this);
+            s.sprintf(wxT("(%-20s)     tableID:[%6lu]     pDb:[%p]"), tiu->tableName,tiu->tableID,tiu->pDb);
+            s2.sprintf(wxT("Orphaned found using pDb:[%p]"),this);
             wxLogDebug (s.c_str(),s2.c_str());
         }
         pNode = pNode->Next();
diff --git a/src/common/fontmap.cpp b/src/common/fontmap.cpp
index 116565bbcf..61538ec230 100644
--- a/src/common/fontmap.cpp
+++ b/src/common/fontmap.cpp
@@ -208,8 +208,7 @@ wxFontMapper::~wxFontMapper()
 void wxFontMapper::SetConfigPath(const wxString& prefix)
 {
     wxCHECK_RET( !prefix.IsEmpty() && prefix[0] == wxCONFIG_PATH_SEPARATOR,
-                 wxT("an absolute path should be given to "
-                     "wxFontMapper::SetConfigPath()") );
+                 wxT("an absolute path should be given to wxFontMapper::SetConfigPath()") );
 
     m_configRootPath = prefix;
 }
diff --git a/src/makevc.env b/src/makevc.env
index 632816e59b..e611d32218 100644
--- a/src/makevc.env
+++ b/src/makevc.env
@@ -125,6 +125,9 @@ WXLIBNAME=$(NEW_WXLIBNAME)
 !if "$(FINAL)" == "1"
 D=Release
 !else
+guilibsdll=msvcrtd.lib oldnames.lib kernel32.lib \
+  ws2_32.lib mswsock.lib advapi32.lib user32.lib \
+  gdi32.lib comdlg32.lib winspool.lib
 D=Debug
 LIBEXT=d
 WXLIBNAME=$(WXLIBNAME)$(LIBEXT)
diff --git a/src/msw/makefile.vc b/src/msw/makefile.vc
index 6eadac6176..f3a5e7e367 100644
--- a/src/msw/makefile.vc
+++ b/src/msw/makefile.vc
@@ -27,6 +27,8 @@ LIBTARGET=$(WXLIB)
 DUMMYOBJ=$D\dummy.obj
 !endif
 
+USE_GLCANVAS=1
+
 # Please set these according to the settings in setup.h, so we can include
 # the appropriate libraries in wx.lib
 
diff --git a/src/msw/treectrl.cpp b/src/msw/treectrl.cpp
index 7f8403c58f..2d692a9a85 100644
--- a/src/msw/treectrl.cpp
+++ b/src/msw/treectrl.cpp
@@ -545,7 +545,16 @@ bool wxTreeCtrl::Create(wxWindow *parent,
     if ( !MSWCreateControl(WC_TREEVIEW, wstyle) )
         return FALSE;
 
+#if 0
     SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOW));
+#else
+    // This works around a bug in the Windows tree control whereby for some versions
+    // of comctrl32, setting any colour actually draws the background in black.
+    // This will initialise the background to the system colour.
+    ::SendMessage(GetHwnd(), TVM_SETBKCOLOR, 0,-1);
+    wxWindow::SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOW));
+#endif
+
     SetForegroundColour(wxWindow::GetParent()->GetForegroundColour());
 
     // VZ: this is some experimental code which may be used to get the
diff --git a/utils/projgen/makeproj.cpp b/utils/projgen/makeproj.cpp
index 70aa07289b..f068b5adbd 100644
--- a/utils/projgen/makeproj.cpp
+++ b/utils/projgen/makeproj.cpp
@@ -293,7 +293,7 @@ void MyApp::GenerateSamples(const wxString& dir)
     GenerateSample("TextVC", "text", dir + wxString("/samples/text"), wxStringList("text.cpp", 0));
     GenerateSample("ThreadVC", "thread", dir + wxString("/samples/thread"), wxStringList("thread.cpp", 0));
     GenerateSample("ToolbarVC", "toolbar", dir + wxString("/samples/toolbar"), wxStringList("toolbar.cpp", 0));
-    GenerateSample("TreectrlVC", "treectrl", dir + wxString("/samples/treectrl"), wxStringList("treectrl.cpp", "treetest.h", 0));
+    GenerateSample("TreectrlVC", "treectrl", dir + wxString("/samples/treectrl"), wxStringList("treectrl.cpp", "treectrl.h", 0));
     GenerateSample("TypetestVC", "typetest", dir + wxString("/samples/typetest"), wxStringList("typetest.cpp", "typetest.h", 0));
     GenerateSample("ValidateVC", "validate", dir + wxString("/samples/validate"), wxStringList("validate.cpp", "validate.h", 0));
     GenerateSample("ClientVC", "client", dir + wxString("/samples/sockets"), wxStringList("client.cpp", 0));
-- 
2.50.0

