]> git.saurik.com Git - wxWidgets.git/commitdiff
Fixed crash-on-exit bug due to status bar being deleted twice (MDI apps);
authorJulian Smart <julian@anthemion.co.uk>
Tue, 14 Mar 2000 11:25:54 +0000 (11:25 +0000)
committerJulian Smart <julian@anthemion.co.uk>
Tue, 14 Mar 2000 11:25:54 +0000 (11:25 +0000)
small changes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6677 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

docs/latex/wx/bitmap.tex
docs/latex/wx/spinctrl.tex
docs/latex/wx/wx.hpj
docs/msw/bc_ide.txt
docs/msw/install.txt
src/common/unzip.c
src/common/unzip.h
src/generic/sashwin.cpp
src/generic/splitter.cpp
src/msw/mdi.cpp

index 0fffc0a71a947f95fa10ed55baf046b32b9cd507..fa15dd36d38410552ab9a4684ad745f24f85aeac 100644 (file)
@@ -199,7 +199,7 @@ Deletes all bitmap handlers.
 
 This function is called by wxWindows on exit.
 
 
 This function is called by wxWindows on exit.
 
-\membersection{wxBitmap::Create}
+\membersection{wxBitmap::Create}\label{wxbitmapcreate}
 
 \func{virtual bool}{Create}{\param{int}{ width}, \param{int}{ height}, \param{int}{ depth = -1}}
 
 
 \func{virtual bool}{Create}{\param{int}{ width}, \param{int}{ height}, \param{int}{ depth = -1}}
 
index f72c25c168611cf2d6bb36a6e4c236324b125edc..44570693f64f3f65c314aa8743107281ca8a43c7 100644 (file)
@@ -3,7 +3,6 @@
 % spinctrl.h at 11/Mar/00 00:22:05
 %
 
 % spinctrl.h at 11/Mar/00 00:22:05
 %
 
-
 \section{\class{wxSpinCtrl}}\label{wxspinctrl}
 
 wxSpinCtrl combines \helpref{wxTextCtrl}{wxtextctrl} and 
 \section{\class{wxSpinCtrl}}\label{wxspinctrl}
 
 wxSpinCtrl combines \helpref{wxTextCtrl}{wxtextctrl} and 
@@ -34,29 +33,24 @@ To process input from a spin button, use one of these event handler macros to di
 functions that take a \helpref{wxScrollEvent}{wxscrollevent} argument:
 
 \twocolwidtha{7cm}
 functions that take a \helpref{wxScrollEvent}{wxscrollevent} argument:
 
 \twocolwidtha{7cm}
-\begin{twocollist}
+\begin{twocollist}\itemsep=0pt
 \twocolitem{{\bf EVT\_SPINCTRL(id, func)}}{Generated whenever spinctrl is updated}
 \end{twocollist}%
 
 \twocolitem{{\bf EVT\_SPINCTRL(id, func)}}{Generated whenever spinctrl is updated}
 \end{twocollist}%
 
-
 \wxheading{See also}
 
 \helpref{Event handling overview}{eventhandlingoverview},
 \helpref{wxSpinButton}{wxspinbutton},
 \helpref{wxControl}{wxcontrol}
 
 \wxheading{See also}
 
 \helpref{Event handling overview}{eventhandlingoverview},
 \helpref{wxSpinButton}{wxspinbutton},
 \helpref{wxControl}{wxcontrol}
 
-
 \latexignore{\rtfignore{\wxheading{Members}}}
 
 \latexignore{\rtfignore{\wxheading{Members}}}
 
-
 \membersection{wxSpinCtrl::wxSpinCtrl}\label{wxspinctrlwxspinctrl}
 
 \func{}{wxSpinCtrl}{\void}
 
 Default constructor.
 
 \membersection{wxSpinCtrl::wxSpinCtrl}\label{wxspinctrlwxspinctrl}
 
 \func{}{wxSpinCtrl}{\void}
 
 Default constructor.
 
-\membersection{wxSpinCtrl::wxSpinCtrl}\label{wxspinctrlwxspinctrl}
-
 \func{}{wxSpinCtrl}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = -1}, \param{const wxString\& }{value = wxEmptyString}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxSP\_ARROW\_KEYS}, \param{int }{min = 0}, \param{int }{max = 100}, \param{int }{initial = 0}, \param{const wxString\& }{name = \_T("wxSpinCtrl")}}
 
 Constructor, creating and showing a spin control.
 \func{}{wxSpinCtrl}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = -1}, \param{const wxString\& }{value = wxEmptyString}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxSP\_ARROW\_KEYS}, \param{int }{min = 0}, \param{int }{max = 100}, \param{int }{initial = 0}, \param{const wxString\& }{name = \_T("wxSpinCtrl")}}
 
 Constructor, creating and showing a spin control.
@@ -87,14 +81,13 @@ Constructor, creating and showing a spin control.
 
 \helpref{wxSpinCtrl::Create}{wxspinctrlcreate}
 
 
 \helpref{wxSpinCtrl::Create}{wxspinctrlcreate}
 
-
 \membersection{wxSpinCtrl::Create}\label{wxspinctrlcreate}
 
 \func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = -1}, \param{const wxString\& }{value = wxEmptyString}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxSP\_ARROW\_KEYS}, \param{int }{min = 0}, \param{int }{max = 100}, \param{int }{initial = 0}, \param{const wxString\& }{name = \_T("wxSpinCtrl")}}
 
 Creation function called by the spin control constructor.
 \membersection{wxSpinCtrl::Create}\label{wxspinctrlcreate}
 
 \func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id = -1}, \param{const wxString\& }{value = wxEmptyString}, \param{const wxPoint\& }{pos = wxDefaultPosition}, \param{const wxSize\& }{size = wxDefaultSize}, \param{long }{style = wxSP\_ARROW\_KEYS}, \param{int }{min = 0}, \param{int }{max = 100}, \param{int }{initial = 0}, \param{const wxString\& }{name = \_T("wxSpinCtrl")}}
 
 Creation function called by the spin control constructor.
-See \helpref{wxSpinCtrl::wxSpinCtrl}{wxspinctrlwxspinctrl} for details.
 
 
+See \helpref{wxSpinCtrl::wxSpinCtrl}{wxspinctrlwxspinctrl} for details.
 
 \membersection{wxSpinCtrl::SetValue}\label{wxspinctrlsetvalue}
 
 
 \membersection{wxSpinCtrl::SetValue}\label{wxspinctrlsetvalue}
 
index 43d8c3717649f8f6647d6c78559db5dcd8778168..5bf567ae88d787ec44eb4b000f61a6857265055a 100644 (file)
@@ -1,5 +1,5 @@
 [OPTIONS]
 [OPTIONS]
-BMROOT=d:\wx2\wxWindows\docs\latex\wx ; Assume that bitmaps are where the source is
+BMROOT=d:\wx2\wxWind~1\docs/latex/wx ; Assume that bitmaps are where the source is
 TITLE=wxWindows Manual
 CONTENTS=Contents
 COMPRESS=HIGH
 TITLE=wxWindows Manual
 CONTENTS=Contents
 COMPRESS=HIGH
index c1aa6e37c77c6d499d7a0e7c65649f31feba51b9..d0e0e59b7f4f8d440bcab4b32475e459fd57efbf 100644 (file)
@@ -1,15 +1,15 @@
 Readme for wxWindows 2.0 Ide-files
 First release Feb. 1999, detlev@reymann-online.de
 
 Readme for wxWindows 2.0 Ide-files
 First release Feb. 1999, detlev@reymann-online.de
 
-1. What you can do with this ide-files
+1. What you can do with this IDE files
 2. Where to install the files
 3. How to modify them for your own needs
 2. Where to install the files
 3. How to modify them for your own needs
-4. How to create ide-files for your own wxWindows-programs
+4. How to create IDE files for your own wxWindows-programs
 
 
-1. What you can do with this ide-files
+1. What you can do with this IDE files
 ======================================
 
 ======================================
 
-There are two ide-files. src\bc32.ide should help you to
+There are two IDE files. src\bc32.ide should help you to
 create the wxWindows libraries from within the Ide of Borlands
 C++, v. 5.x. Note that this doesn't include debugging code: you
 need to change the settings if you wish to include debug
 create the wxWindows libraries from within the Ide of Borlands
 C++, v. 5.x. Note that this doesn't include debugging code: you
 need to change the settings if you wish to include debug
@@ -42,9 +42,11 @@ To add a new sample to samples\bc32.ide, follow these steps:
 
 a. Choose Project->New target... and type in e.g.
    samples\newsample. Press OK.
 
 a. Choose Project->New target... and type in e.g.
    samples\newsample. Press OK.
-b. Static, no OWL, MFC or class libraries. Press OK.
+b. Static, no OWL, MFC or class libraries. Check Multithread
+   on. Press OK.
 c. Right-click on the new node, choose Add node... and add
 c. Right-click on the new node, choose Add node... and add
-   ..\lib\wx32.lib. Add any other source files you require.
+   ..\lib\wx32.lib and ..\lib\xpm.lib. Add any other source
+   files you require.
 d. Right-click on the new node, choose Edit Local Options.. and
    add in Directories, specify the following:
 
 d. Right-click on the new node, choose Edit Local Options.. and
    add in Directories, specify the following:
 
@@ -54,23 +56,25 @@ d. Right-click on the new node, choose Edit Local Options.. and
    Intermediate: .\newsample
    Final: .\newsample
 
    Intermediate: .\newsample
    Final: .\newsample
 
-4. How to create ide-files for your own wxWindows-programs
+4. How to create IDE files for your own wxWindows-programs
 ==========================================================
 
 I think you are familiar with the necessary options for your own
 ==========================================================
 
 I think you are familiar with the necessary options for your own
-programm. So I will only describe what is neccessary to link
-yout programm with the wxWindows-library. If you want to create
-a ide-file for your own wxWindows-program, create a new project
+program. So I will only describe what is neccessary to link
+yout program with the wxWindows library. If you want to create
+an IDE file for your own wxWindows program, create a new project
 from the menu file->new->project. Deactivate all the
 from the menu file->new->project. Deactivate all the
-standard-options, the only two thing that should be activated is
+standard-options, the only three thing that should be activated is
 "static" for the libraries, if you want to use the library
 "static" for the libraries, if you want to use the library
-produced with the library-ide and the checkbox OLE (You can
+produced with the library-ide, the checkbox OLE (you can
 leave this checkbox unchecked, but then you have to add the
 leave this checkbox unchecked, but then you have to add the
-library \bc5\lib\ole2w32.lib to your project). You have to add
+library \bc5\lib\ole2w32.lib to your project), and the
+Multithread checkbox. You have to add
 the include-path of wxWindows to the include-path in the
 options-dialog (options->project->directories->include). The
 result should be something like:
 path_of_my_program;\bc5\include;\wxwin2\include; Then you have
 to add the libraries to the project. Open the project-view and
 the include-path of wxWindows to the include-path in the
 options-dialog (options->project->directories->include). The
 result should be something like:
 path_of_my_program;\bc5\include;\wxwin2\include; Then you have
 to add the libraries to the project. Open the project-view and
-activate your programm. Then right-click and choose "add" and
-select the wxWindows-library (e.g. \wxwin\lib\wx32.lib).
\ No newline at end of file
+activate your program. Then right-click and choose "add" and
+select the wxWindows library (e.g. \wxwin\lib\wx32.lib). Also
+add the xpm library.
index 3521834eea9a87deb8804dd5978ca434cbcb6a46..dfe44b62eca1b4707eded7af0984ea53067bb741 100644 (file)
@@ -211,7 +211,7 @@ Compiling using the makefiles:
 2. Change directory to wx\src\msw. Type 'make -f makefile.b32' to
    make the wxWindows core library. Ignore the warnings about
    'XXX' not found in library.
 2. Change directory to wx\src\msw. Type 'make -f makefile.b32' to
    make the wxWindows core library. Ignore the warnings about
    'XXX' not found in library.
-3. Change directory to a sample such as minimal, and type
+3. Change directory to a sample or demo such as samples\minimal, and type
   'make -f makefile.b32'.
 4. For release versions, recompile wxWindows and samples using
    'make -f makefile.b32 clean'
   'make -f makefile.b32'.
 4. For release versions, recompile wxWindows and samples using
    'make -f makefile.b32 clean'
@@ -259,11 +259,16 @@ Compiling using the IDE files:
    since some (notably the wxHTML samples) look for files
    relative to the working directory.
 
    since some (notably the wxHTML samples) look for files
    relative to the working directory.
 
-Note that to make the png, xpm, zlib and jpeg libraries (needed for
+Note (1): the samples project file contains a selection of
+samples, and not all samples. The remaining samples can be made
+with the makefiles. See also the demos hierarchy which doesn't
+have any BC++ project files yet.
+
+Note (2): to make the png, xpm, zlib, jpeg and tiff libraries (needed for
 some samples) you need to compile them with bc32.ide.
 
 some samples) you need to compile them with bc32.ide.
 
-The debug version of the wxWindows library is about 37 MB, and the
-release version is around 3 MB.
+Note (3): the debug version of the wxWindows library is about 40 MB, and the
+release version is around 5 MB.
 
 See also the file bc_ide.txt for further instructions and details
 of how to create your own project files.
 
 See also the file bc_ide.txt for further instructions and details
 of how to create your own project files.
index 20d33af180805a503b8b464b033d530aac5f54ab..c78982488cff94c9e192b6a01263847bd27622dd 100644 (file)
@@ -144,7 +144,7 @@ typedef struct
                                            file if we are decompressing it */
 } unz_s;
 
                                            file if we are decompressing it */
 } unz_s;
 
-#if defined (__VISAGECPP__)
+#if defined (__VISAGECPP__) || defined(__BORLANDC__)
 /* VA always requires prototypes */
 int unzlocal_CheckCurrentFileCoherencyHeader (unz_s*, uInt*, uLong*, uInt*);
 #endif
 /* VA always requires prototypes */
 int unzlocal_CheckCurrentFileCoherencyHeader (unz_s*, uInt*, uLong*, uInt*);
 #endif
index cb37bef3254c09fd70a5831e64f51d5707ce57e0..494beebfc4754d6542142d7047248c0011db52f0 100644 (file)
@@ -275,7 +275,7 @@ extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file,
        the error code
 */
 
        the error code
 */
 
-#if defined(__VISAGECPP__)
+#if defined(__VISAGECPP__) || defined(__BORLANDC__)
 /*Visualage complains of no prototypes*/
 int unzlocal_getByte(FILE* , int*);
 int strcmpcasenosensitive_internal (const char*, const char*);
 /*Visualage complains of no prototypes*/
 int unzlocal_getByte(FILE* , int*);
 int strcmpcasenosensitive_internal (const char*, const char*);
index a443cc9f07456f1f2ba4bd5b7ebbce0c83025134..5f0bbe3ba1b0cd014029d5bbd7312e35aacb3be3 100644 (file)
@@ -304,6 +304,10 @@ void wxSashWindow::OnMouseEvent(wxMouseEvent& event)
                 SetCursor(*m_sashCursorNS);
             }
         }
                 SetCursor(*m_sashCursorNS);
             }
         }
+        else
+        {
+            SetCursor(* wxSTANDARD_CURSOR);
+        }
     }
     else if ( event.Dragging() &&
               ((m_dragMode == wxSASH_DRAG_DRAGGING) ||
     }
     else if ( event.Dragging() &&
               ((m_dragMode == wxSASH_DRAG_DRAGGING) ||
@@ -520,7 +524,7 @@ void wxSashWindow::DrawSash(wxSashEdgePosition edge, wxDC& dc)
                 // Draw a drak grey line on the top to indicate that the
                 // sash is raised
                 dc.SetPen(mediumShadowPen);
                 // Draw a drak grey line on the top to indicate that the
                 // sash is raised
                 dc.SetPen(mediumShadowPen);
-                dc.DrawLine(1, GetEdgeMargin(edge), w, GetEdgeMargin(edge));
+                dc.DrawLine(1, GetEdgeMargin(edge), w-1, GetEdgeMargin(edge));
             }
         }
     }
             }
         }
     }
index 6f45254813e16188c000d716f43d8d4ecae62391..60ffc6dc7248e44880e587a7e9b7d2b4a94d1adf 100644 (file)
@@ -283,9 +283,15 @@ void wxSplitterWindow::OnMouseEvent(wxMouseEvent& event)
                     SetCursor(*m_sashCursorNS);
                 }
         }
                     SetCursor(*m_sashCursorNS);
                 }
         }
-#ifdef __WXGTK__
+#if defined(__WXGTK__) || defined(__WXMSW__)
         else
         {
         else
         {
+            // We must set the normal cursor in MSW, because
+            // if the child window doesn't have a cursor, the
+            // parent's (splitter window) will be used, and this
+            // must be the standard cursor.
+            wxLogDebug("wxSplitterWindow: Setting to standard cursor");
+
             // where else do we unset the cursor?
             SetCursor(* wxSTANDARD_CURSOR);
         }
             // where else do we unset the cursor?
             SetCursor(* wxSTANDARD_CURSOR);
         }
index 25cf16bbce08f8028320d29bde4bde60e584df85..25b5282c7e816f8c9e9653c45464c8e36483e41a 100644 (file)
@@ -230,6 +230,7 @@ wxMDIParentFrame::~wxMDIParentFrame()
     DestroyChildren();
     // already delete by DestroyChildren()
     m_frameToolBar = NULL;
     DestroyChildren();
     // already delete by DestroyChildren()
     m_frameToolBar = NULL;
+    m_frameStatusBar = NULL;
 
     // ::DestroyMenu((HMENU)m_windowMenu);
     if (m_windowMenu)
 
     // ::DestroyMenu((HMENU)m_windowMenu);
     if (m_windowMenu)