Fixed crash-on-exit bug due to status bar being deleted twice (MDI apps);

small changes


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@6677 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2000-03-14 11:25:54 +00:00
parent bc7e88ae03
commit c0bcc48068
10 changed files with 47 additions and 34 deletions

View 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}}

View 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} \section{\class{wxSpinCtrl}}\label{wxspinctrl}
wxSpinCtrl combines \helpref{wxTextCtrl}{wxtextctrl} and 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: functions that take a \helpref{wxScrollEvent}{wxscrollevent} argument:
\twocolwidtha{7cm} \twocolwidtha{7cm}
\begin{twocollist} \begin{twocollist}\itemsep=0pt
\twocolitem{{\bf EVT\_SPINCTRL(id, func)}}{Generated whenever spinctrl is updated} \twocolitem{{\bf EVT\_SPINCTRL(id, func)}}{Generated whenever spinctrl is updated}
\end{twocollist}% \end{twocollist}%
\wxheading{See also} \wxheading{See also}
\helpref{Event handling overview}{eventhandlingoverview}, \helpref{Event handling overview}{eventhandlingoverview},
\helpref{wxSpinButton}{wxspinbutton}, \helpref{wxSpinButton}{wxspinbutton},
\helpref{wxControl}{wxcontrol} \helpref{wxControl}{wxcontrol}
\latexignore{\rtfignore{\wxheading{Members}}} \latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxSpinCtrl::wxSpinCtrl}\label{wxspinctrlwxspinctrl} \membersection{wxSpinCtrl::wxSpinCtrl}\label{wxspinctrlwxspinctrl}
\func{}{wxSpinCtrl}{\void} \func{}{wxSpinCtrl}{\void}
Default constructor. 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")}} \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. 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} \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")}} \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. 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}

View 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 TITLE=wxWindows Manual
CONTENTS=Contents CONTENTS=Contents
COMPRESS=HIGH COMPRESS=HIGH

View File

@@ -1,15 +1,15 @@
Readme for wxWindows 2.0 Ide-files Readme for wxWindows 2.0 Ide-files
First release Feb. 1999, detlev@reymann-online.de 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 2. Where to install the files
3. How to modify them for your own needs 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 create the wxWindows libraries from within the Ide of Borlands
C++, v. 5.x. Note that this doesn't include debugging code: you C++, v. 5.x. Note that this doesn't include debugging code: you
need to change the settings if you wish to include debug 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. a. Choose Project->New target... and type in e.g.
samples\newsample. Press OK. 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 d. Right-click on the new node, choose Edit Local Options.. and
add in Directories, specify the following: add in Directories, specify the following:
@@ -54,23 +56,25 @@ d. Right-click on the new node, choose Edit Local Options.. and
Intermediate: .\newsample Intermediate: .\newsample
Final: .\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 program. So I will only describe what is neccessary to link
yout programm with the wxWindows-library. If you want to create yout program with the wxWindows library. If you want to create
a ide-file for your own wxWindows-program, create a new project 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 the include-path of wxWindows to the include-path in the
options-dialog (options->project->directories->include). The options-dialog (options->project->directories->include). The
result should be something like: result should be something like:
path_of_my_program;\bc5\include;\wxwin2\include; Then you have path_of_my_program;\bc5\include;\wxwin2\include; Then you have
to add the libraries to the project. Open the project-view and to add the libraries to the project. Open the project-view and
activate your programm. Then right-click and choose "add" and activate your program. Then right-click and choose "add" and
select the wxWindows-library (e.g. \wxwin\lib\wx32.lib). select the wxWindows library (e.g. \wxwin\lib\wx32.lib). Also
add the xpm library.

View File

@@ -211,7 +211,7 @@ Compiling using the makefiles:
2. Change directory to wx\src\msw. Type 'make -f makefile.b32' to 2. Change directory to wx\src\msw. Type 'make -f makefile.b32' to
make the wxWindows core library. Ignore the warnings about make the wxWindows core library. Ignore the warnings about
'XXX' not found in library. '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'. 'make -f makefile.b32'.
4. For release versions, recompile wxWindows and samples using 4. For release versions, recompile wxWindows and samples using
'make -f makefile.b32 clean' 'make -f makefile.b32 clean'
@@ -259,11 +259,16 @@ Compiling using the IDE files:
since some (notably the wxHTML samples) look for files since some (notably the wxHTML samples) look for files
relative to the working directory. 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 Note (3): the debug version of the wxWindows library is about 40 MB, and the
release version is around 3 MB. release version is around 5 MB.
See also the file bc_ide.txt for further instructions and details See also the file bc_ide.txt for further instructions and details
of how to create your own project files. of how to create your own project files.

View File

@@ -144,7 +144,7 @@ typedef struct
file if we are decompressing it */ file if we are decompressing it */
} unz_s; } unz_s;
#if defined (__VISAGECPP__) #if defined (__VISAGECPP__) || defined(__BORLANDC__)
/* VA always requires prototypes */ /* VA always requires prototypes */
int unzlocal_CheckCurrentFileCoherencyHeader (unz_s*, uInt*, uLong*, uInt*); int unzlocal_CheckCurrentFileCoherencyHeader (unz_s*, uInt*, uLong*, uInt*);
#endif #endif

View 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*/ /*Visualage complains of no prototypes*/
int unzlocal_getByte(FILE* , int*); int unzlocal_getByte(FILE* , int*);
int strcmpcasenosensitive_internal (const char*, const char*); int strcmpcasenosensitive_internal (const char*, const char*);

View File

@@ -304,6 +304,10 @@ void wxSashWindow::OnMouseEvent(wxMouseEvent& event)
SetCursor(*m_sashCursorNS); SetCursor(*m_sashCursorNS);
} }
} }
else
{
SetCursor(* wxSTANDARD_CURSOR);
}
} }
else if ( event.Dragging() && else if ( event.Dragging() &&
((m_dragMode == wxSASH_DRAG_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 // Draw a drak grey line on the top to indicate that the
// sash is raised // sash is raised
dc.SetPen(mediumShadowPen); dc.SetPen(mediumShadowPen);
dc.DrawLine(1, GetEdgeMargin(edge), w, GetEdgeMargin(edge)); dc.DrawLine(1, GetEdgeMargin(edge), w-1, GetEdgeMargin(edge));
} }
} }
} }

View 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? // where else do we unset the cursor?
SetCursor(* wxSTANDARD_CURSOR); SetCursor(* wxSTANDARD_CURSOR);
} }

View File

@@ -230,6 +230,7 @@ wxMDIParentFrame::~wxMDIParentFrame()
DestroyChildren(); DestroyChildren();
// already delete by DestroyChildren() // already delete by DestroyChildren()
m_frameToolBar = NULL; m_frameToolBar = NULL;
m_frameStatusBar = NULL;
// ::DestroyMenu((HMENU)m_windowMenu); // ::DestroyMenu((HMENU)m_windowMenu);
if (m_windowMenu) if (m_windowMenu)