From 0d3a69ec7039f1c77bb3c23d1bfabb13d5df223f Mon Sep 17 00:00:00 2001
From: Julian Smart <julian@anthemion.co.uk>
Date: Sun, 12 Mar 2000 15:04:12 +0000
Subject: [PATCH] Added project files for STC; fixed wxStringList memory leaks;
 small doc changes;

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 contrib/src/stc/StcVC.dsp  | 222 +++++++++++++++++++++++++++++++
 contrib/src/stc/StcVC.dsw  |  29 +++++
 distrib/msw/generic.rsp    |   1 +
 distrib/msw/stc.rsp        |  30 +++++
 distrib/msw/vc.rsp         |  12 ++
 distrib/msw/zipstc.bat     |  30 +++++
 docs/html/index.htm        |   9 +-
 docs/latex/wx/helpinst.tex |   9 +-
 docs/latex/wx/hthelpct.tex |   8 +-
 include/wx/list.h          |   2 +-
 src/common/list.cpp        |   1 +
 src/stc/StcVC.dsp          | 222 +++++++++++++++++++++++++++++++
 src/stc/StcVC.dsw          |  29 +++++
 utils/projgen/makeproj.cpp | 258 +++++++++++--------------------------
 utils/projgen/makeproj.h   |   4 +-
 15 files changed, 667 insertions(+), 199 deletions(-)
 create mode 100644 contrib/src/stc/StcVC.dsp
 create mode 100644 contrib/src/stc/StcVC.dsw
 create mode 100644 distrib/msw/stc.rsp
 create mode 100755 distrib/msw/zipstc.bat
 create mode 100644 src/stc/StcVC.dsp
 create mode 100644 src/stc/StcVC.dsw

diff --git a/contrib/src/stc/StcVC.dsp b/contrib/src/stc/StcVC.dsp
new file mode 100644
index 0000000000..3b8fc6d9e7
--- /dev/null
+++ b/contrib/src/stc/StcVC.dsp
@@ -0,0 +1,222 @@
+# Microsoft Developer Studio Project File - Name="StcVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+CFG=StcVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "StcVC.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "StcVC.mak" CFG="StcVC - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "StcVC - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "StcVC - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "StcVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../include" /I "scintilla/include" /I "scintilla/src" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D "__WX__" /D "SCI_LEXER" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"..\..\lib\stc.lib"
+
+!ELSEIF  "$(CFG)" == "StcVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /GX /Z7 /Od /I "../../../include" /I "../../include" /I "scintilla/include" /I "scintilla/src" /D "_DEBUG" /D DEBUG=1 /D "__WXDEBUG__" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D "__WX__" /D "SCI_LEXER" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"..\..\lib\stcd.lib"
+
+!ENDIF 
+
+# Begin Target
+
+# Name "StcVC - Win32 Release"
+# Name "StcVC - Win32 Debug"
+# Begin Group "Stc"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\PlatWX.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ScintillaWX.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ScintillaWX.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\stc.cpp
+# End Source File
+# End Group
+# Begin Group "Scintilla"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\scintilla\src\Accessor.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\AutoComplete.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\AutoComplete.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\CallTip.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\CallTip.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\CellBuffer.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\CellBuffer.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\ContractionState.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\ContractionState.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\Document.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\Document.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\Editor.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\Editor.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\Indicator.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\Indicator.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\KeyMap.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\KeyMap.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\KeyWords.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\LineMarker.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\LineMarker.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\PropSet.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\ScintillaBase.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\ScintillaBase.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\Style.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\Style.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\SVector.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\ViewStyle.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\ViewStyle.h
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/contrib/src/stc/StcVC.dsw b/contrib/src/stc/StcVC.dsw
new file mode 100644
index 0000000000..b0e6f7d228
--- /dev/null
+++ b/contrib/src/stc/StcVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "StcVC"=.\StcVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/distrib/msw/generic.rsp b/distrib/msw/generic.rsp
index ed0349a7ea..430cecab93 100644
--- a/distrib/msw/generic.rsp
+++ b/distrib/msw/generic.rsp
@@ -967,6 +967,7 @@ samples/statbar/*.rc
 samples/statbar/*.def
 samples/statbar/*.ico
 samples/statbar/*.xpm
+samples/statbar/*.bmp
 samples/statbar/*.txt
 
 samples/plot/*.cpp
diff --git a/distrib/msw/stc.rsp b/distrib/msw/stc.rsp
new file mode 100644
index 0000000000..4b7ce49777
--- /dev/null
+++ b/distrib/msw/stc.rsp
@@ -0,0 +1,30 @@
+contrib/src/stc/*.cpp
+contrib/src/stc/*.h
+contrib/src/stc/*.rc
+contrib/src/stc/*.def
+contrib/src/stc/*.xbm
+contrib/src/stc/*.xpm
+contrib/src/stc/make*.*
+contrib/src/stc/*.txt
+contrib/src/stc/*.ico
+contrib/src/stc/*.bmp
+
+contrib/include/wx/stc/*.h
+
+contrib/samples/stc/*.cpp
+contrib/samples/stc/*.h
+contrib/samples/stc/*.rc
+contrib/samples/stc/*.def
+contrib/samples/stc/*.xbm
+contrib/samples/stc/make*.*
+contrib/samples/stc/Makefile
+contrib/samples/stc/*.txt
+contrib/samples/stc/*.ico
+contrib/samples/stc/*.bmp
+contrib/samples/stc/*.xpm
+contrib/samples/stc/*.wxr
+contrib/samples/stc/bitmaps/*.bmp
+contrib/samples/stc/bitmaps/*.gif
+contrib/samples/stc/bitmaps/*.xbm
+contrib/samples/stc/bitmaps/*.xpm
+
diff --git a/distrib/msw/vc.rsp b/distrib/msw/vc.rsp
index acf888ce8b..ac8a3e83a6 100644
--- a/distrib/msw/vc.rsp
+++ b/distrib/msw/vc.rsp
@@ -178,12 +178,18 @@ samples/sockets/ServerVC.dsw
 samples/splitter/SplitterVC.dsp
 samples/splitter/SplitterVC.dsw
 
+samples/statbar/StatbarVC.dsp
+samples/statbar/StatbarVC.dsw
+
 samples/tab/TabVC.dsp
 samples/tab/TabVC.dsw
 
 samples/taskbar/TaskbarVC.dsp
 samples/taskbar/TaskbarVC.dsw
 
+samples/text/TextVC.dsp
+samples/text/TextVC.dsw
+
 samples/thread/ThreadVC.dsp
 samples/thread/ThreadVC.dsw
 
@@ -250,3 +256,9 @@ contrib/src/mmedia/MMediaVC.dsw
 contrib/samples/mmedia/MmboardVC.dsp
 contrib/samples/mmedia/MmboardVC.dsw
 
+contrib/src/stc/StcVC.dsp
+contrib/src/stc/StcVC.dsw
+
+contrib/samples/stc/StcTestVC.dsp
+contrib/samples/stc/StcTestVC.dsw
+
diff --git a/distrib/msw/zipstc.bat b/distrib/msw/zipstc.bat
new file mode 100755
index 0000000000..e888906fd7
--- /dev/null
+++ b/distrib/msw/zipstc.bat
@@ -0,0 +1,30 @@
+@echo off
+rem Zip up an external distribution of STC (wxStyledTextCtrl)
+set src=d:\wx2\wxWindows
+set dest=d:\wx2\wxWindows\deliver
+
+if "%src" == "" goto usage
+if "%dest" == "" goto usage
+echo About to archive an external STC distribution:
+echo   From   %src
+echo   To     %dest\stc3.zip
+echo CTRL-C if this is not correct.
+inkey /W4 `Press any key to continue...` %%input
+
+erase %dest\stc3.zip
+cd %src
+zip32 -@ %dest\stc3.zip < %src\distrib\msw\stc.rsp
+
+cd %dest
+
+echo STC archived.
+goto end
+
+:usage
+echo DOS STC distribution.
+echo Usage: zipstc source destination
+echo e.g. zipstc d:\wx2\wxWindows d:\wx2\wxWindows\deliver
+
+:end
+
+
diff --git a/docs/html/index.htm b/docs/html/index.htm
index 35800afd73..de8a154f92 100644
--- a/docs/html/index.htm
+++ b/docs/html/index.htm
@@ -182,14 +182,16 @@ using wxMDIParentFrame, wxMDIChildFrame.
 dynamically.
 <li><a href="../../samples/exec">exec</a>: demonstrates wxExecute.
 <li><a href="../../samples/font">font</a>: tests fonts, font enumerator, font encodings.
-<li><a href="../../samples/grid">grid</a>: demonstrates the wxGrid class.
+<li><a href="../../samples/grid">grid</a>: demonstrates the wxGrid class. This demo should work
+when the old grid implementation is compiled into wxWindows, and also with the new implementation.
+Please see newgrid below for a full demo of the new implementation's capabilities.
 <li><a href="../../samples/help">help</a>: shows how to use wxHelpController.
 <li><a href="../../samples/html">html</a>: a number of demos for the wxHTML class library, used inside
 applications and also as a help facility.
   <ul>
   <li><a href="../../samples/html/about">about</a>: shows use of a wxHTML widget inside an About box.
   <li><a href="../../samples/html/help">help</a>: shows use of wxHtmlHelpController to display wxHTML help.
-  <li><a href="../../samples/html/helpview">helpview</a>: a stand-alone wxHTML help viewer.
+  <li><a href="../../samples/html/helpview">helpview</a>: a stand-alone wxHTML help viewer for any .htb book.
   <li><a href="../../samples/html/printing">printing</a>: shows how easy it is to preview and print HTML files.
   <li><a href="../../samples/html/test">test</a>: general wxHTML test application.
   <li><a href="../../samples/html/virtual">virtual</a>: demonstrates the virtual file system feature.
@@ -215,7 +217,7 @@ platforms that don't support it, a normal-sized title bar is displayed.
 small a wxWindows application as you can get.
 <li><a href="../../samples/nativdlg">nativdlg</a>: shows how wxWindows can load a standard Windows
 dialog resource, translating the controls into wxWindows controls (Windows only).
-<li><a href="../../samples/newgrid">newgrid</a>: demonstrates the new wxGrid implementation, by Michael Bedward.
+<li><a href="../../samples/newgrid">newgrid</a>: demonstrates the new wxGrid implementation, by Michael Bedward and others.
 <li><a href="../../samples/notebook">notebook</a>: shows the wxNotebook (tabbed window) control.
 <li><a href="../../samples/oleauto">oleauto</a>: a little OLE automation controller (Windows only; requires
 Excel to be present).
@@ -238,6 +240,7 @@ the user to resize subwindows.
 an embedded window.
 <li><a href="../../samples/sockets">sockets</a>: demonstrates the TCP/IP family of classes.
 <li><a href="../../samples/splitter">splitter</a>: demonstrates the wxSplitterWindow class.
+<li><a href="../../samples/statbar">statbar</a>: demonstrates the wxStatusBar class.
 <li><a href="../../samples/tab">tab</a>: demonstrates the generic tab window class. You should
 normally use wxNotebook instead, but the generic code is sometimes useful, for example for
 implementing wxNotebook on platforms with no native support.
diff --git a/docs/latex/wx/helpinst.tex b/docs/latex/wx/helpinst.tex
index c645e06d26..02d878d1d3 100644
--- a/docs/latex/wx/helpinst.tex
+++ b/docs/latex/wx/helpinst.tex
@@ -38,7 +38,8 @@ is reasonably close to the wxWindows help controller API; see {\tt wx/helpwxht.h
 details of use.
 \item \helpref{wxHtmlHelpController}{wxhtmlhelpcontroller}, a more sophisticated help controller using \helpref{wxHTML}{wxhtml}, in
 a similar style to the Windows HTML Help viewer and using some of the same files.
-%The API is not the same as the standard API, which is why it is documented separately.
+Although it has an API compatible with other help controllers, it has more advanced features, so it is
+recommended that you use the specific API for this class instead.
 \end{itemize}
 
 \wxheading{Derived from}
@@ -51,9 +52,9 @@ wxHelpControllerBase\\
 <wx/help.h> (wxWindows chooses the appropriate help controller class)\\
 <wx/helpbase.h> (wxHelpControllerBase class)\\
 <wx/helpwin.h> (Windows Help controller)\\
-<wx/generic/helpext.h> (external HTML browser controller)
-<wx/generic/helpwxht.h> (wxHTML based help controller)
-<wx/html/helpctrl.h> (Advanced wxHTML based help controller: wxHtmlHelpController)
+<wx/generic/helpext.h> (external HTML browser controller)\\
+<wx/generic/helpwxht.h> (simple wxHTML-based help controller)\\
+<wx/html/helpctrl.h> (advanced wxHTML based help controller: wxHtmlHelpController)
 
 \wxheading{See also}
 
diff --git a/docs/latex/wx/hthelpct.tex b/docs/latex/wx/hthelpct.tex
index 996abf852a..8081007380 100644
--- a/docs/latex/wx/hthelpct.tex
+++ b/docs/latex/wx/hthelpct.tex
@@ -5,8 +5,9 @@
 
 \section{\class{wxHtmlHelpController}}\label{wxhtmlhelpcontroller}
 
-{\bf WARNING! This help controller has an API incompatible with wxWindows
-wxHelpController!}
+{\bf WARNING! Although this class has an API compatible with other wxWindows
+help controllers as documented by \helpref{wxHelpController}{wxhelpcontroller}, it
+is recommended that you use the enhanced capabilities of wxHtmlHelpController's API.}
 
 This help controller provides an easy way of displaying HTML help in your
 application (see {\it test} sample). The help system is based on {\bf books} 
@@ -40,7 +41,7 @@ sample for demonstration of its use.
 
 \wxheading{Derived from}
 
-\helpref{wxEvtHandler}{wxevthandler}
+wxHelpControllerBase
 
 \wxheading{Include files}
 
@@ -194,4 +195,3 @@ default wxConfig object if available (for details see
 
 Stores controllers setting (position of window etc.)
 
-
diff --git a/include/wx/list.h b/include/wx/list.h
index f42942f442..ff710bd22c 100644
--- a/include/wx/list.h
+++ b/include/wx/list.h
@@ -501,7 +501,7 @@ public:
 
         // copying the string list: the strings are copied, too (extremely
         // inefficient!)
-    wxStringList(const wxStringList& other) { DoCopy(other); }
+    wxStringList(const wxStringList& other) { DeleteContents(TRUE); DoCopy(other); }
     wxStringList& operator=(const wxStringList& other)
         { Clear(); DoCopy(other); return *this; }
 
diff --git a/src/common/list.cpp b/src/common/list.cpp
index b56beb3dec..971dca379c 100644
--- a/src/common/list.cpp
+++ b/src/common/list.cpp
@@ -578,6 +578,7 @@ void wxStringList::DoCopy(const wxStringList& other)
 // Makes new storage for the strings
 wxStringList::wxStringList (const wxChar *first, ...)
 {
+  DeleteContents(TRUE);
   if ( !first )
     return;
 
diff --git a/src/stc/StcVC.dsp b/src/stc/StcVC.dsp
new file mode 100644
index 0000000000..3b8fc6d9e7
--- /dev/null
+++ b/src/stc/StcVC.dsp
@@ -0,0 +1,222 @@
+# Microsoft Developer Studio Project File - Name="StcVC" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+CFG=StcVC - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "StcVC.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "StcVC.mak" CFG="StcVC - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "StcVC - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "StcVC - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "StcVC - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MD /W3 /GX /O1 /Ob2 /I "../../../include" /I "../../include" /I "scintilla/include" /I "scintilla/src" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D "__WX__" /D "SCI_LEXER" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"..\..\lib\stc.lib"
+
+!ELSEIF  "$(CFG)" == "StcVC - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
+# ADD CPP /nologo /MDd /W3 /GX /Z7 /Od /I "../../../include" /I "../../include" /I "scintilla/include" /I "scintilla/src" /D "_DEBUG" /D DEBUG=1 /D "__WXDEBUG__" /D "WIN32" /D "_WINDOWS" /D "__WINDOWS__" /D "__WXMSW__" /D "__WIN95__" /D "__WIN32__" /D WINVER=0x0400 /D "STRICT" /D "__WX__" /D "SCI_LEXER" /FD /c
+# SUBTRACT CPP /YX
+# ADD BASE RSC /l 0x809
+# ADD RSC /l 0x809
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo /out:"..\..\lib\stcd.lib"
+
+!ENDIF 
+
+# Begin Target
+
+# Name "StcVC - Win32 Release"
+# Name "StcVC - Win32 Debug"
+# Begin Group "Stc"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\PlatWX.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ScintillaWX.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\ScintillaWX.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\stc.cpp
+# End Source File
+# End Group
+# Begin Group "Scintilla"
+
+# PROP Default_Filter ""
+# Begin Source File
+
+SOURCE=.\scintilla\src\Accessor.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\AutoComplete.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\AutoComplete.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\CallTip.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\CallTip.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\CellBuffer.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\CellBuffer.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\ContractionState.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\ContractionState.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\Document.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\Document.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\Editor.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\Editor.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\Indicator.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\Indicator.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\KeyMap.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\KeyMap.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\KeyWords.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\LineMarker.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\LineMarker.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\PropSet.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\ScintillaBase.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\ScintillaBase.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\Style.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\Style.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\SVector.h
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\ViewStyle.cxx
+# End Source File
+# Begin Source File
+
+SOURCE=.\scintilla\src\ViewStyle.h
+# End Source File
+# End Group
+# End Target
+# End Project
diff --git a/src/stc/StcVC.dsw b/src/stc/StcVC.dsw
new file mode 100644
index 0000000000..b0e6f7d228
--- /dev/null
+++ b/src/stc/StcVC.dsw
@@ -0,0 +1,29 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "StcVC"=.\StcVC.dsp - Package Owner=<4>
+
+Package=<5>
+{{{
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/utils/projgen/makeproj.cpp b/utils/projgen/makeproj.cpp
index 7c31c2fe9d..faf28b883d 100644
--- a/utils/projgen/makeproj.cpp
+++ b/utils/projgen/makeproj.cpp
@@ -41,6 +41,8 @@
 // private classes
 // ----------------------------------------------------------------------------
 
+const wxStringList wxEmptyStringList;
+
 // Define a new application type, each program should derive a class from wxApp
 class MyApp : public wxApp
 {
@@ -54,7 +56,9 @@ public:
     virtual bool OnInit();
 
     bool GenerateSample(const wxString& projectName, const wxString& targetName,
-        const wxString& path, const wxStringList& sourceFiles, const wxString& relativeRootPath = "../..");
+        const wxString& path, const wxStringList& sourceFiles, const wxString& relativeRootPath = "../..",
+        const wxStringList& extraLibsDebug = wxEmptyStringList,
+        const wxStringList& extraLibsRelease = wxEmptyStringList);
     void GenerateSamples(const wxString& dir); // Takes wxWindows directory path
 };
 
@@ -164,32 +168,25 @@ bool MyApp::OnInit()
 }
 
 bool MyApp::GenerateSample(const wxString& projectName, const wxString& targetName,
-    const wxString& path, const wxStringList& sourceFiles, const wxString& relativeRootPath)
+    const wxString& path, const wxStringList& sourceFiles, const wxString& relativeRootPath,
+    const wxStringList& extraLibsDebug, const wxStringList& extraLibsRelease)
 {
     wxString relativeIncludePath(relativeRootPath + wxString("/include"));
     wxString relativeLibPath(relativeRootPath + wxString("/lib"));
-#if 0
-    wxString relativeDebugPath(relativeRootPath + wxString("/src/Debug"));
-    wxString relativeReleasePath(relativeRootPath + wxString("/src/Release"));
-    wxString relativeDebugPathJPEG(relativeRootPath + wxString("/src/jpeg/Debug"));
-    wxString relativeReleasePathJPEG(relativeRootPath + wxString("/src/jpeg/Release"));
-    wxString relativeDebugPathTIFF(relativeRootPath + wxString("/src/tiff/Debug"));
-    wxString relativeReleasePathTIFF(relativeRootPath + wxString("/src/tiff/Release"));
-#endif
+    wxString relativeIncludePathContrib(relativeRootPath + wxString("/contrib/include"));
+    wxString relativeLibPathContrib(relativeRootPath + wxString("/contrib/lib"));
 
     wxProject project;
 
     // For all samples
-    project.SetIncludeDirs(wxStringList((const char*) relativeIncludePath, 0));
-    project.SetResourceIncludeDirs(wxStringList((const char*) relativeIncludePath, 0));
-    project.SetLibDirs(wxStringList((const char*) relativeLibPath, 0));
-#if 0
-    project.SetDebugLibDirs(wxStringList((const char*) relativeDebugPath, (const char*) relativeDebugPathJPEG, (const char*) relativeDebugPathTIFF, 0));
-    project.SetReleaseLibDirs(wxStringList((const char*) relativeReleasePath, (const char*) relativeReleasePathJPEG, (const char*) relativeReleasePathTIFF, 0));
-#endif
+    project.SetIncludeDirs(wxStringList((const char*) relativeIncludePath, (const char*) relativeIncludePathContrib, 0));
+    project.SetResourceIncludeDirs(wxStringList((const char*) relativeIncludePath, (const char*) relativeIncludePathContrib, 0));
+    project.SetLibDirs(wxStringList((const char*) relativeLibPath, (const char*) relativeLibPathContrib, 0));
 
-    project.SetExtraLibsRelease(wxStringList("opengl32.lib", "glu32.lib", 0));
-    project.SetExtraLibsDebug(wxStringList("opengl32.lib", "glu32.lib", 0));
+//    project.SetExtraLibsDebug(wxStringList("opengl32.lib", "glu32.lib", 0));
+//    project.SetExtraLibsRelease(wxStringList("opengl32.lib", "glu32.lib", 0));
+    project.SetExtraLibsDebug(extraLibsDebug);
+    project.SetExtraLibsRelease(extraLibsRelease);
 
     project.SetProjectName(projectName);
     project.SetTargetName(targetName);
@@ -237,11 +234,12 @@ void MyApp::GenerateSamples(const wxString& dir)
 
     // OpenGL samples
     GenerateSample("CubeVC", "cube", dir + wxString("/samples/opengl/cube"), wxStringList("cube.cpp", "cube.h", 0),
-        "../../..");
+        "../../..", wxStringList("opengl32.lib", "glu32.lib", 0), wxStringList("opengl32.lib", "glu32.lib", 0));
     GenerateSample("IsosurfVC", "isosurf", dir + wxString("/samples/opengl/isosurf"), wxStringList("isosurf.cpp", "isousrf.h", 0),
-        "../../..");
+        "../../..", wxStringList("opengl32.lib", "glu32.lib", 0), wxStringList("opengl32.lib", "glu32.lib", 0));
     GenerateSample("PenguinVC", "penguin", dir + wxString("/samples/opengl/penguin"), wxStringList("penguin.cpp", "penguin.h",
-        "lw.cpp", "lw.h", "trackball.c", "trackball.h", 0), "../../..");
+        "lw.cpp", "lw.h", "trackball.c", "trackball.h", 0),
+        "../../..", wxStringList("opengl32.lib", "glu32.lib", 0), wxStringList("opengl32.lib", "glu32.lib", 0));
 
     // wxHTML samples
     GenerateSample("AboutVC", "about", dir + wxString("/samples/html/about"), wxStringList("about.cpp", 0),
@@ -289,6 +287,7 @@ void MyApp::GenerateSamples(const wxString& dir)
     GenerateSample("ScrollVC", "scroll", dir + wxString("/samples/scroll"), wxStringList("scroll.cpp", 0));
     GenerateSample("ScrollsubVC", "scrollsub", dir + wxString("/samples/scrollsub"), wxStringList("scrollsub.cpp", 0));
     GenerateSample("SplitterVC", "test", dir + wxString("/samples/splitter"), wxStringList("test.cpp", 0));
+    GenerateSample("StatbarVC", "statbar", dir + wxString("/samples/statbar"), wxStringList("statbar.cpp", 0));
     GenerateSample("TabVC", "test", dir + wxString("/samples/tab"), wxStringList("test.cpp", "test.h", 0));
     GenerateSample("TaskbarVC", "tbtest", dir + wxString("/samples/taskbar"), wxStringList("tbtest.cpp", "tbtest.h", 0));
     GenerateSample("TextVC", "text", dir + wxString("/samples/text"), wxStringList("text.cpp", 0));
@@ -336,192 +335,81 @@ void MyApp::GenerateSamples(const wxString& dir)
         "dbbrowse.h", "browsedb.h", "dbgrid.h", "dbtree.h", "dlguser.h", "doc.h", "pgmctrl.h", "std.h", "tabpgwin.h",
         0));
 
+    //// Samples in contrib
+
+    // OGLEdit
+
+    GenerateSample("OGLEditVC", "ogledit", dir + wxString("/contrib/samples/ogl/ogledit"),
+        wxStringList("ogledit.cpp", "doc.cpp", "palette.cpp", "view.cpp",
+        "doc.h", "ogledit.h", "palette.h", "view.h", 0),
+        "../../../..",
+        wxStringList("ogld.lib", 0), wxStringList("ogl.lib", 0));
+
+    // OGL Studio
+
+    GenerateSample("StudioVC", "studio", dir + wxString("/contrib/samples/ogl/studio"),
+        wxStringList("studio.cpp", "cspalette.cpp", "dialogs.cpp", "view.cpp",
+        "doc.cpp", "mainfrm.cpp", "project.cpp", "shapes.cpp", "symbols.cpp", "csprint.cpp",
+        "studio.h", "cspalette.h", "dialogs.h", "view.h",
+        "doc.h", "mainfrm.h", "project.h", "shapes.h", "symbols.h", 0),
+        "../../../..",
+        wxStringList("ogld.lib", 0), wxStringList("ogl.lib", 0));
+
+    // MMedia mmboard
+
+    GenerateSample("MMboardVC", "mmboard", dir + wxString("/contrib/samples/mmedia"),
+        wxStringList("mmboard.cpp", "mmboard.h", "mmbman.cpp", "mmbman.h", 0),
+        "../../..",
+        wxStringList("mmediad.lib", 0), wxStringList("mmedia.lib", 0));
+
+    // STC (Scintilla widget)
+
+    GenerateSample("StcTestVC", "stctest", dir + wxString("/contrib/samples/stc"),
+        wxStringList("stctest.cpp", 0),
+        "../../..",
+        wxStringList("stcd.lib", 0), wxStringList("stc.lib", 0));
+
     //// Utilities
 
     // Dialog Editor
-    wxProject project;
-
-    project.SetIncludeDirs(wxStringList("../../../include", 0));
-    project.SetResourceIncludeDirs(wxStringList("../../../include", 0));
-    project.SetLibDirs(wxStringList("../../../lib", 0));
-#if 0
-    project.SetDebugLibDirs(wxStringList("../../../src/Debug", "../../../src/jpeg/Debug", "../../../src/tiff/Debug", 0));
-    project.SetReleaseLibDirs(wxStringList("../../../src/Release", "../../../src/jpeg/Release", "../../../src/tiff/Release", 0));
-#endif
 
-    project.SetProjectName("DialogEdVC");
-    project.SetTargetName("dialoged");
-    project.SetProjectPath(dir + wxString("/utils/dialoged/src"));
-    project.SetSourceFiles(wxStringList("dialoged.cpp", "dlghndlr.cpp", "edlist.cpp", "edtree.cpp",
+    GenerateSample("DialogEdVC", "dialoged", dir + wxString("/utils/dialoged/src"),
+        wxStringList("dialoged.cpp", "dlghndlr.cpp", "edlist.cpp", "edtree.cpp",
         "reseditr.cpp", "reswrite.cpp", "symbtabl.cpp", "winstyle.cpp", "winprop.cpp",
         "dialoged.h", "dlghndlr.h", "edlist.h", "edtree.h", "reseditr.h", "symbtabl.h", "winprop.h",
-        "winstyle.h",
-        0));
-
-    if (!project.GenerateVCProject())
-    {
-        wxString msg("Could not generate Dialog Editor project");
-        wxMessageBox(msg);
-    }
+        "winstyle.h", 0),
+        "../../..");
 
     // Tex2RTF
-    project.SetIncludeDirs(wxStringList("../../../include", 0));
-    project.SetResourceIncludeDirs(wxStringList("../../../include", 0));
-    project.SetLibDirs(wxStringList("../../../lib", 0));
-#if 0
-    project.SetDebugLibDirs(wxStringList("../../../src/Debug", "../../../src/jpeg/Debug", "../../../src/tiff/Debug", 0));
-    project.SetReleaseLibDirs(wxStringList("../../../src/Release", "../../../src/jpeg/Release", "../../../src/tiff/Release", 0));
-#endif
 
-    project.SetProjectName("Tex2RTFVC");
-    project.SetTargetName("tex2rtf");
-    project.SetProjectPath(dir + wxString("/utils/tex2rtf/src"));
-    project.SetSourceFiles(wxStringList("tex2rtf.cpp", "htmlutil.cpp", "readshg.cpp", "rtfutils.cpp",
+    GenerateSample("Tex2RTFVC", "tex2rtf", dir + wxString("/utils/tex2rtf/src"),
+        wxStringList("tex2rtf.cpp", "htmlutil.cpp", "readshg.cpp", "rtfutils.cpp",
         "table.cpp", "tex2any.cpp", "texutils.cpp", "xlputils.cpp",
         "bmputils.h", "readshg.h", "rtfutils.h", "table.h", "tex2any.h", "tex2rtf.h", "wxhlpblk.h",
-        0));
-
-    if (!project.GenerateVCProject())
-    {
-        wxString msg("Could not generate Tex2RTF project");
-        wxMessageBox(msg);
-    }
+        0),
+        "../../..");
 
     // HelpGen
-    project.SetIncludeDirs(wxStringList("../../../include", 0));
-    project.SetResourceIncludeDirs(wxStringList("../../../include", 0));
-    project.SetLibDirs(wxStringList("../../../lib", 0));
-#if 0
-    project.SetDebugLibDirs(wxStringList("../../../src/Debug", "../../../src/jpeg/Debug", "../../../src/tiff/Debug", 0));
-    project.SetReleaseLibDirs(wxStringList("../../../src/Release", "../../../src/jpeg/Release", "../../../src/tiff/Release", 0));
-#endif
 
-    project.SetProjectName("HelpGenVC");
-    project.SetTargetName("helpgen");
-    project.SetProjectPath(dir + wxString("/utils/helpgen/src"));
-    project.SetSourceFiles(wxStringList("helpgen.cpp", "cjparser.cpp", "docripper.cpp", "ifcontext.cpp",
+    GenerateSample("HelpGenVC", "helpgen", dir + wxString("/utils/helpgen/src"),
+        wxStringList("helpgen.cpp", "cjparser.cpp", "docripper.cpp", "ifcontext.cpp",
         "markup.cpp", "ripper_main.cpp", "scriptbinder.cpp", "sourcepainter.cpp",
         "srcparser.cpp",
         "cjparser.h", "docripper.h", "ifcontext.h", "markup.h", "scriptbinder.h", "sourcepainter.h",
-        "srcparser.h", "wxstlac.h", "wxstllst.h", "wxstlvec.h", 0));
-
-    if (!project.GenerateVCProject())
-    {
-        wxString msg("Could not generate HelpGen project");
-        wxMessageBox(msg);
-    }
+        "srcparser.h", "wxstlac.h", "wxstllst.h", "wxstlvec.h", 0),
+        "../../..");
 
     // ProjGen
-    project.SetIncludeDirs(wxStringList("../../include", 0));
-    project.SetResourceIncludeDirs(wxStringList("../../include", 0));
-    project.SetLibDirs(wxStringList("../../lib", 0));
-#if 0
-    project.SetDebugLibDirs(wxStringList("../../src/Debug", "../../src/jpeg/Debug", "../../src/tiff/Debug", 0));
-    project.SetReleaseLibDirs(wxStringList("../../src/Release", "../../src/jpeg/Release", "../../src/tiff/Release", 0));
-#endif
-
-    project.SetProjectName("ProjGenVC");
-    project.SetTargetName("makeproj");
-    project.SetProjectPath(dir + wxString("/utils/projgen"));
-    project.SetSourceFiles(wxStringList("makeproj.cpp", "makeproj.h", 0));
-
-    if (!project.GenerateVCProject())
-    {
-        wxString msg("Could not generate ProjGen project");
-        wxMessageBox(msg);
-    }
+    GenerateSample("ProjGenVC", "makeproj", dir + wxString("/utils/projgen"),
+        wxStringList("makeproj.cpp", "makeproj.h", 0),
+        "../..");
 
     // hhp2cached
-    project.SetIncludeDirs(wxStringList("../../include", 0));
-    project.SetResourceIncludeDirs(wxStringList("../../include", 0));
-    project.SetLibDirs(wxStringList("../../lib", 0));
-#if 0
-    project.SetDebugLibDirs(wxStringList("../../src/Debug", "../../src/jpeg/Debug", "../../src/tiff/Debug", 0));
-    project.SetReleaseLibDirs(wxStringList("../../src/Release", "../../src/jpeg/Release", "../../src/tiff/Release", 0));
-#endif
 
-    project.SetProjectName("hhp2cachedVC");
-    project.SetTargetName("hhp2cached");
-    project.SetProjectPath(dir + wxString("/utils/hhp2cached"));
-    project.SetSourceFiles(wxStringList("hhp2cached.cpp", 0));
+    GenerateSample("hhp2cachedVC", "hhp2cached", dir + wxString("/utils/hhp2cached"),
+        wxStringList("hhp2cached.cpp", 0),
+        "../..");
 
-    if (!project.GenerateVCProject())
-    {
-        wxString msg("Could not generate hhp2cached project");
-        wxMessageBox(msg);
-    }
-
-    // OGLEdit. We have to do it the long way because we need to add the extra ogl.lib.
-
-    project.SetIncludeDirs(wxStringList("../../../../include", "../../../include", 0));
-    project.SetResourceIncludeDirs(wxStringList("../../../../include", "../../../include", 0));
-    project.SetLibDirs(wxStringList("../../../../lib", "../../../lib", 0));
-#if 0
-    project.SetDebugLibDirs(wxStringList("../../../../src/Debug", "../../../src/ogl/Debug", "../../../../src/jpeg/Debug", "../../../../src/tiff/Debug", 0));
-    project.SetReleaseLibDirs(wxStringList("../../../../src/Release", "../../../src/ogl/Release", "../../../../src/jpeg/Release", "../../../../src/tiff/Release", 0));
-#endif
-
-    project.SetExtraLibsDebug(wxStringList("ogld.lib", 0));
-    project.SetExtraLibsRelease(wxStringList("ogl.lib", 0));
-
-    project.SetProjectName("OGLEditVC");
-    project.SetTargetName("ogledit");
-    project.SetProjectPath(dir + wxString("/contrib/samples/ogl/ogledit"));
-    project.SetSourceFiles(wxStringList("ogledit.cpp", "doc.cpp", "palette.cpp", "view.cpp",
-        "doc.h", "ogledit.h", "palette.h", "view.h",
-        0));
-
-    if (!project.GenerateVCProject())
-    {
-        wxString msg("Could not generate OGLEdit project");
-        wxMessageBox(msg);
-    }
-
-    // OGL Studio
-
-    project.SetIncludeDirs(wxStringList("../../../../include", "../../../include", 0));
-    project.SetResourceIncludeDirs(wxStringList("../../../../include", "../../../include", 0));
-    project.SetLibDirs(wxStringList("../../../../lib", "../../../lib", 0));
-#if 0
-    project.SetDebugLibDirs(wxStringList("../../../../src/Debug", "../../../src/ogl/Debug", "../../../../src/jpeg/Debug", "../../../../src/tiff/Debug", 0));
-    project.SetReleaseLibDirs(wxStringList("../../../../src/Release", "../../../src/ogl/Release", "../../../../src/jpeg/Release", "../../../../src/tiff/Release", 0));
-#endif
-    project.SetExtraLibsDebug(wxStringList("ogld.lib", 0));
-    project.SetExtraLibsRelease(wxStringList("ogl.lib", 0));
-
-    project.SetProjectName("StudioVC");
-    project.SetTargetName("studio");
-    project.SetProjectPath(dir + wxString("/contrib/samples/ogl/studio"));
-    project.SetSourceFiles(wxStringList("studio.cpp", "cspalette.cpp", "dialogs.cpp", "view.cpp",
-        "doc.cpp", "mainfrm.cpp", "project.cpp", "shapes.cpp", "symbols.cpp", "csprint.cpp",
-        "studio.h", "cspalette.h", "dialogs.h", "view.h",
-        "doc.h", "mainfrm.h", "project.h", "shapes.h", "symbols.h",
-        0));
-
-    if (!project.GenerateVCProject())
-    {
-        wxString msg("Could not generate OGL Studio project");
-        wxMessageBox(msg);
-    }
-
-    // MMedia mmboard
-
-    project.SetIncludeDirs(wxStringList("../../../include", "../../include", 0));
-    project.SetResourceIncludeDirs(wxStringList("../../../include", 0));
-    project.SetLibDirs(wxStringList("../../../lib", "../../lib", 0));
-    project.SetExtraLibsDebug(wxStringList("mmediad.lib", 0));
-    project.SetExtraLibsRelease(wxStringList("mmedia.lib", 0));
-
-    project.SetProjectName("MMboardVC");
-    project.SetTargetName("mmboard");
-    project.SetProjectPath(dir + wxString("/contrib/samples/mmedia"));
-    project.SetSourceFiles(wxStringList("mmboard.cpp", "mmboard.h", "mmbman.cpp", "mmbman.h", 0));
-
-    if (!project.GenerateVCProject())
-    {
-        wxString msg("Could not generate MMboard project");
-        wxMessageBox(msg);
-    }
 }
 
 // ----------------------------------------------------------------------------
diff --git a/utils/projgen/makeproj.h b/utils/projgen/makeproj.h
index d72f11be20..f0e34ab851 100644
--- a/utils/projgen/makeproj.h
+++ b/utils/projgen/makeproj.h
@@ -34,8 +34,8 @@ public:
     void SetLibDirs(const wxStringList& dirs) { m_libDirs = dirs; }
     void SetDebugLibDirs(const wxStringList& dirs) { m_debugLibDirs = dirs; }
     void SetReleaseLibDirs(const wxStringList& dirs) { m_releaseLibDirs = dirs; }
-    void SetExtraLibsDebug(const wxStringList& libs) { m_extraLibsRelease = libs; }
-    void SetExtraLibsRelease(const wxStringList& libs) { m_extraLibsDebug = libs; }
+    void SetExtraLibsDebug(const wxStringList& libs) { m_extraLibsDebug = libs; }
+    void SetExtraLibsRelease(const wxStringList& libs) { m_extraLibsRelease = libs; }
 
     inline wxString GetProjectName() const { return m_projectName; }
     inline wxString GetTargetName() const { return m_targetName; }
-- 
2.50.0

