From 22f3361e1cf25c52a2da8fdfc5cb081809e18fb9 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 2 Jan 2003 23:38:11 +0000 Subject: [PATCH] use DECLARE_NO_COPY_CLASS() where applicable (patch 633384) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/buffer.h | 2 + include/wx/busyinfo.h | 2 + include/wx/caret.h | 2 + include/wx/clipbrd.h | 2 + include/wx/cmdline.h | 2 + include/wx/cmdproc.h | 1 + include/wx/confbase.h | 2 + include/wx/cshelp.h | 2 + include/wx/dataobj.h | 2 + include/wx/datstrm.h | 4 ++ include/wx/dcbuffer.h | 2 + include/wx/dir.h | 2 + include/wx/dnd.h | 4 ++ include/wx/docmdi.h | 2 + include/wx/docview.h | 10 ++- include/wx/encconv.h | 1 + include/wx/evtloop.h | 2 + include/wx/fdrepdlg.h | 2 + include/wx/fileconf.h | 2 + include/wx/filesys.h | 2 + include/wx/fontenum.h | 2 + include/wx/fontmap.h | 2 + include/wx/frame.h | 1 + include/wx/fs_zip.h | 2 + include/wx/generic/calctrl.h | 1 + include/wx/generic/choicdgg.h | 2 + include/wx/generic/dirctrlg.h | 2 + include/wx/generic/dragimgg.h | 1 + include/wx/generic/grid.h | 9 +++ include/wx/generic/gridsel.h | 2 + include/wx/generic/progdlgg.h | 2 + include/wx/generic/sashwin.h | 1 + include/wx/generic/splash.h | 1 + include/wx/generic/splitter.h | 1 + include/wx/generic/textdlgg.h | 1 + include/wx/generic/treectlg.h | 1 + include/wx/generic/treelay.h | 1 + include/wx/generic/wizard.h | 1 + include/wx/gifdecod.h | 4 ++ include/wx/hashmap.h | 4 ++ include/wx/html/helpctrl.h | 2 + include/wx/html/helpdata.h | 6 ++ include/wx/html/helpfrm.h | 1 + include/wx/html/htmlcell.h | 6 ++ include/wx/html/htmlpars.h | 6 ++ include/wx/html/htmltag.h | 4 ++ include/wx/html/htmlwin.h | 1 + include/wx/html/htmprint.h | 6 ++ include/wx/html/winpars.h | 4 ++ include/wx/intl.h | 2 + include/wx/ipcbase.h | 2 + include/wx/layout.h | 2 + include/wx/log.h | 6 ++ include/wx/menu.h | 4 ++ include/wx/mstream.h | 4 ++ include/wx/msw/bitmap.h | 2 + include/wx/msw/dc.h | 1 + include/wx/msw/dde.h | 2 + include/wx/msw/dialog.h | 1 + include/wx/msw/dragimag.h | 1 + include/wx/msw/fdrepdlg.h | 1 + include/wx/msw/filedlg.h | 1 + include/wx/msw/helpbest.h | 1 + include/wx/msw/listctrl.h | 1 + include/wx/msw/mdi.h | 1 + include/wx/msw/msgdlg.h | 2 + include/wx/msw/ole/automtn.h | 2 + include/wx/msw/ole/dataobj.h | 2 + include/wx/msw/ole/dataobj2.h | 4 ++ include/wx/msw/ole/dropsrc.h | 2 + include/wx/msw/ole/droptgt.h | 2 + include/wx/msw/pen.h | 8 +++ include/wx/msw/printdlg.h | 4 ++ include/wx/msw/printwin.h | 2 + include/wx/msw/private.h | 6 ++ include/wx/msw/radiobox.h | 1 + include/wx/msw/spinctrl.h | 1 + include/wx/msw/statbmp.h | 1 + include/wx/msw/tabctrl.h | 1 + include/wx/msw/tbar95.h | 1 + include/wx/msw/tooltip.h | 1 + include/wx/msw/toplevel.h | 1 + include/wx/msw/treectrl.h | 1 + include/wx/msw/wave.h | 2 + include/wx/notebook.h | 2 + include/wx/popupwin.h | 1 + include/wx/prntbase.h | 7 ++ include/wx/process.h | 1 + include/wx/protocol/http.h | 2 + include/wx/protocol/protocol.h | 1 + include/wx/sckipc.h | 4 ++ include/wx/sckstrm.h | 4 ++ include/wx/scrolwin.h | 2 + include/wx/sizer.h | 4 ++ include/wx/snglinst.h | 2 + include/wx/socket.h | 2 + include/wx/statusbr.h | 2 + include/wx/stream.h | 18 ++++++ include/wx/tbarbase.h | 2 + include/wx/timer.h | 2 + include/wx/tipwin.h | 2 + include/wx/valgen.h | 8 +++ include/wx/valtext.h | 8 +++ include/wx/wfstream.h | 8 +++ include/wx/wizard.h | 2 + include/wx/wxexpr.h | 3 + include/wx/zipstrm.h | 2 + include/wx/zstream.h | 4 ++ src/common/cshelp.cpp | 2 + src/common/execcmn.cpp | 2 + src/common/fileconf.cpp | 6 ++ src/common/fontmap.cpp | 2 + src/common/fs_mem.cpp | 2 + src/common/ftp.cpp | 4 ++ src/common/http.cpp | 2 + src/common/image.cpp | 2 + src/common/intl.cpp | 2 + src/common/popupcmn.cpp | 2 + src/common/socket.cpp | 2 + src/common/variant.cpp | 2 + src/generic/calctrl.cpp | 2 + src/generic/grid.cpp | 11 ++++ src/generic/logg.cpp | 2 + src/generic/numdlgg.cpp | 1 + src/generic/scrlwing.cpp | 4 ++ src/generic/tipdlg.cpp | 1 + src/generic/tipwin.cpp | 1 + src/generic/treectlg.cpp | 7 ++ src/html/helpdata.cpp | 2 + src/html/helpfrm.cpp | 3 + src/html/m_image.cpp | 4 ++ src/html/m_tables.cpp | 2 + src/msw/accel.cpp | 2 + src/msw/checklst.cpp | 2 + src/msw/dir.cpp | 2 + src/msw/fdrepdlg.cpp | 2 + src/msw/fontenum.cpp | 2 + src/msw/listctrl.cpp | 4 ++ src/msw/notebook.cpp | 115 +++++++++++++++++++-------------- src/msw/ole/dataobj.cpp | 4 ++ src/msw/ole/dropsrc.cpp | 2 + src/msw/ole/droptgt.cpp | 2 + src/msw/region.cpp | 8 +++ src/msw/snglinst.cpp | 2 + src/msw/thread.cpp | 6 ++ src/msw/treectrl.cpp | 6 ++ src/msw/utils.cpp | 2 + src/msw/utilsexc.cpp | 4 ++ 148 files changed, 480 insertions(+), 51 deletions(-) diff --git a/include/wx/buffer.h b/include/wx/buffer.h index ad956432ee..edbe953b21 100644 --- a/include/wx/buffer.h +++ b/include/wx/buffer.h @@ -172,6 +172,8 @@ private: // the reference count size_t m_ref; + + DECLARE_NO_COPY_CLASS(wxMemoryBufferData) }; diff --git a/include/wx/busyinfo.h b/include/wx/busyinfo.h index ab9f5a6f2d..b4a902dc15 100644 --- a/include/wx/busyinfo.h +++ b/include/wx/busyinfo.h @@ -46,6 +46,8 @@ public: private: wxInfoFrame *m_InfoFrame; + + DECLARE_NO_COPY_CLASS(wxBusyInfo) }; diff --git a/include/wx/caret.h b/include/wx/caret.h index d1dba59761..e34ed29d12 100644 --- a/include/wx/caret.h +++ b/include/wx/caret.h @@ -224,6 +224,8 @@ public: private: wxCaret *m_caret; + + DECLARE_NO_COPY_CLASS(wxCaretSuspend) }; #endif // wxUSE_CARET diff --git a/include/wx/clipbrd.h b/include/wx/clipbrd.h index f0a58a62ac..2e22ea752a 100644 --- a/include/wx/clipbrd.h +++ b/include/wx/clipbrd.h @@ -135,6 +135,8 @@ public: private: wxClipboard *m_clipboard; + + DECLARE_NO_COPY_CLASS(wxClipboardLocker) }; #endif // wxUSE_CLIPBOARD diff --git a/include/wx/cmdline.h b/include/wx/cmdline.h index bc8c893654..a6808091ea 100644 --- a/include/wx/cmdline.h +++ b/include/wx/cmdline.h @@ -209,6 +209,8 @@ private: void Init(); struct wxCmdLineParserData *m_data; + + DECLARE_NO_COPY_CLASS(wxCmdLineParser) }; #else // !wxUSE_CMDLINE_PARSER diff --git a/include/wx/cmdproc.h b/include/wx/cmdproc.h index 4092fdffda..f059bd5187 100644 --- a/include/wx/cmdproc.h +++ b/include/wx/cmdproc.h @@ -123,6 +123,7 @@ protected: private: DECLARE_DYNAMIC_CLASS(wxCommandProcessor) + DECLARE_NO_COPY_CLASS(wxCommandProcessor) }; #endif // _WX_CMDPROC_H_ diff --git a/include/wx/confbase.h b/include/wx/confbase.h index 73c5e6a968..ba65608a01 100644 --- a/include/wx/confbase.h +++ b/include/wx/confbase.h @@ -307,6 +307,8 @@ private: wxString m_strName, // name of entry (i.e. name only) m_strOldPath; // saved path bool m_bChanged; // was the path changed? + + DECLARE_NO_COPY_CLASS(wxConfigPathChanger) }; diff --git a/include/wx/cshelp.h b/include/wx/cshelp.h index 89caf0084e..4b0b75c53b 100644 --- a/include/wx/cshelp.h +++ b/include/wx/cshelp.h @@ -174,6 +174,8 @@ public: protected: wxHelpControllerBase* m_helpController; + + DECLARE_NO_COPY_CLASS(wxHelpControllerHelpProvider) }; // Convenience function for turning context id into wxString diff --git a/include/wx/dataobj.h b/include/wx/dataobj.h index d87edeaff7..c35bbc0e0c 100644 --- a/include/wx/dataobj.h +++ b/include/wx/dataobj.h @@ -447,6 +447,8 @@ private: { return(wxDataObjectSimple::GetDataHere(format, pBuf)); } bool SetData(const wxDataFormat& format, size_t nLen, const void* pBuf) { return(wxDataObjectSimple::SetData(format, nLen, pBuf)); } + + DECLARE_NO_COPY_CLASS(wxCustomDataObject) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/datstrm.h b/include/wx/datstrm.h index 0551b437cc..dc6e3f51a6 100644 --- a/include/wx/datstrm.h +++ b/include/wx/datstrm.h @@ -60,6 +60,8 @@ protected: #if wxUSE_UNICODE wxMBConv& m_conv; #endif + + DECLARE_NO_COPY_CLASS(wxDataInputStream) }; class WXDLLEXPORT wxDataOutputStream @@ -101,6 +103,8 @@ protected: #if wxUSE_UNICODE wxMBConv& m_conv; #endif + + DECLARE_NO_COPY_CLASS(wxDataOutputStream) }; #endif diff --git a/include/wx/dcbuffer.h b/include/wx/dcbuffer.h index 51682aad1a..fc9454e4e3 100644 --- a/include/wx/dcbuffer.h +++ b/include/wx/dcbuffer.h @@ -72,6 +72,8 @@ public: // to) is destroyed. void UnMask(); + + DECLARE_NO_COPY_CLASS(wxBufferedDC) }; diff --git a/include/wx/dir.h b/include/wx/dir.h index 53d2214740..1e32ce38a5 100644 --- a/include/wx/dir.h +++ b/include/wx/dir.h @@ -132,6 +132,8 @@ private: friend class WXDLLEXPORT wxDirData; wxDirData *m_data; + + DECLARE_NO_COPY_CLASS(wxDir) }; #endif // _WX_DIR_H_ diff --git a/include/wx/dnd.h b/include/wx/dnd.h index 9f62351647..d908020f3c 100644 --- a/include/wx/dnd.h +++ b/include/wx/dnd.h @@ -119,6 +119,8 @@ protected: wxCursor m_cursorCopy, m_cursorMove, m_cursorStop; + + DECLARE_NO_COPY_CLASS(wxDropSourceBase) }; // ---------------------------------------------------------------------------- @@ -192,6 +194,8 @@ public: protected: wxDataObject *m_dataObject; + + DECLARE_NO_COPY_CLASS(wxDropTargetBase) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/docmdi.h b/include/wx/docmdi.h index 089a328ce4..be6f89a6eb 100644 --- a/include/wx/docmdi.h +++ b/include/wx/docmdi.h @@ -49,6 +49,7 @@ protected: private: DECLARE_CLASS(wxDocMDIParentFrame) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxDocMDIParentFrame) }; /* @@ -82,6 +83,7 @@ protected: private: DECLARE_EVENT_TABLE() DECLARE_CLASS(wxDocMDIChildFrame) + DECLARE_NO_COPY_CLASS(wxDocMDIChildFrame) }; #endif diff --git a/include/wx/docview.h b/include/wx/docview.h index 0a6ca711f4..fab912f35f 100644 --- a/include/wx/docview.h +++ b/include/wx/docview.h @@ -161,6 +161,7 @@ protected: private: DECLARE_ABSTRACT_CLASS(wxDocument) + DECLARE_NO_COPY_CLASS(wxDocument) }; class WXDLLEXPORT wxView: public wxEvtHandler @@ -221,9 +222,10 @@ protected: wxDocument* m_viewDocument; wxString m_viewTypeName; wxWindow* m_viewFrame; - + private: DECLARE_ABSTRACT_CLASS(wxView) + DECLARE_NO_COPY_CLASS(wxView) }; // Represents user interface (and other) properties of documents and views @@ -290,6 +292,7 @@ protected: private: DECLARE_CLASS(wxDocTemplate) + DECLARE_NO_COPY_CLASS(wxDocTemplate) }; // One object of this class may be created in an application, to manage all @@ -420,6 +423,7 @@ protected: static wxDocManager* sm_docManager; DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxDocManager) }; // ---------------------------------------------------------------------------- @@ -459,6 +463,7 @@ protected: private: DECLARE_CLASS(wxDocChildFrame) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxDocChildFrame) }; // ---------------------------------------------------------------------------- @@ -492,6 +497,7 @@ protected: private: DECLARE_CLASS(wxDocParentFrame) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxDocParentFrame) }; // ---------------------------------------------------------------------------- @@ -515,6 +521,7 @@ protected: private: DECLARE_DYNAMIC_CLASS(wxDocPrintout) + DECLARE_NO_COPY_CLASS(wxDocPrintout) }; #endif // wxUSE_PRINTING_ARCHITECTURE @@ -566,6 +573,7 @@ protected: private: DECLARE_DYNAMIC_CLASS(wxFileHistory) + DECLARE_NO_COPY_CLASS(wxFileHistory) }; #if wxUSE_STD_IOSTREAM diff --git a/include/wx/encconv.h b/include/wx/encconv.h index 7b9589f355..71b4812e79 100644 --- a/include/wx/encconv.h +++ b/include/wx/encconv.h @@ -148,6 +148,7 @@ class WXDLLEXPORT wxEncodingConverter : public wxObject bool m_UnicodeInput, m_UnicodeOutput; bool m_JustCopy; + DECLARE_NO_COPY_CLASS(wxEncodingConverter) }; #endif // wxUSE_FONTMAP diff --git a/include/wx/evtloop.h b/include/wx/evtloop.h index 80f0916e85..e2ae68ce6c 100644 --- a/include/wx/evtloop.h +++ b/include/wx/evtloop.h @@ -55,6 +55,8 @@ protected: class WXDLLEXPORT wxEventLoopImpl *m_impl; // the pointer to currently active loop static wxEventLoop *ms_activeLoop; + + DECLARE_NO_COPY_CLASS(wxEventLoop) }; #endif // _WX_EVTLOOP_H_ diff --git a/include/wx/fdrepdlg.h b/include/wx/fdrepdlg.h index aa3965ff6b..cc27bb9786 100644 --- a/include/wx/fdrepdlg.h +++ b/include/wx/fdrepdlg.h @@ -124,6 +124,8 @@ protected: // the last string we searched for wxString m_lastSearch; + + DECLARE_NO_COPY_CLASS(wxFindReplaceDialogBase) }; // include wxFindReplaceDialog declaration diff --git a/include/wx/fileconf.h b/include/wx/fileconf.h index f96d602b8a..b0e0b0b917 100644 --- a/include/wx/fileconf.h +++ b/include/wx/fileconf.h @@ -210,6 +210,8 @@ private: #ifdef __UNIX__ int m_umask; // the umask to use for file creation #endif // __UNIX__ + + DECLARE_NO_COPY_CLASS(wxFileConfig) }; #endif diff --git a/include/wx/filesys.h b/include/wx/filesys.h index 814a41a314..f648962080 100644 --- a/include/wx/filesys.h +++ b/include/wx/filesys.h @@ -79,6 +79,7 @@ private: wxDateTime m_Modif; DECLARE_ABSTRACT_CLASS(wxFSFile) + DECLARE_NO_COPY_CLASS(wxFSFile) }; @@ -202,6 +203,7 @@ protected: // handler that succeed in FindFirst query DECLARE_DYNAMIC_CLASS(wxFileSystem) + DECLARE_NO_COPY_CLASS(wxFileSystem) }; diff --git a/include/wx/fontenum.h b/include/wx/fontenum.h index 587dad4a66..35bde85fc1 100644 --- a/include/wx/fontenum.h +++ b/include/wx/fontenum.h @@ -84,6 +84,8 @@ public: private: wxArrayString *m_Facenames, *m_Encodings; + + DECLARE_NO_COPY_CLASS(wxFontEnumerator) }; #endif // _WX_FONTENUM_H_ diff --git a/include/wx/fontmap.h b/include/wx/fontmap.h index eb4c48ea7d..726ce43fdf 100644 --- a/include/wx/fontmap.h +++ b/include/wx/fontmap.h @@ -188,6 +188,8 @@ protected: private: static wxFontMapper *sm_instance; + + DECLARE_NO_COPY_CLASS(wxFontMapper) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/frame.h b/include/wx/frame.h index 4228ea0c10..0fbb3f4e06 100644 --- a/include/wx/frame.h +++ b/include/wx/frame.h @@ -220,6 +220,7 @@ protected: #endif // wxUSE_TOOLBAR DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxFrameBase) }; // include the real class declaration diff --git a/include/wx/fs_zip.h b/include/wx/fs_zip.h index 0678587f36..5f4dc0b883 100644 --- a/include/wx/fs_zip.h +++ b/include/wx/fs_zip.h @@ -48,6 +48,8 @@ class WXDLLEXPORT wxZipFSHandler : public wxFileSystemHandler wxHashTableLong *m_DirsFound; wxString DoFind(); + + DECLARE_NO_COPY_CLASS(wxZipFSHandler) }; diff --git a/include/wx/generic/calctrl.h b/include/wx/generic/calctrl.h index 879ddcda07..209ef34855 100644 --- a/include/wx/generic/calctrl.h +++ b/include/wx/generic/calctrl.h @@ -298,6 +298,7 @@ private: DECLARE_DYNAMIC_CLASS(wxCalendarCtrl) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxCalendarCtrl) }; #endif // _WX_GENERIC_CALCTRL_H diff --git a/include/wx/generic/choicdgg.h b/include/wx/generic/choicdgg.h index 683092a3ee..b342683bb8 100644 --- a/include/wx/generic/choicdgg.h +++ b/include/wx/generic/choicdgg.h @@ -61,6 +61,8 @@ public: protected: wxListBox *m_listbox; + + DECLARE_NO_COPY_CLASS(wxAnyChoiceDialog) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/generic/dirctrlg.h b/include/wx/generic/dirctrlg.h index b19d21f647..27b5fa36ef 100644 --- a/include/wx/generic/dirctrlg.h +++ b/include/wx/generic/dirctrlg.h @@ -184,6 +184,7 @@ private: private: DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(wxGenericDirCtrl) + DECLARE_NO_COPY_CLASS(wxGenericDirCtrl) }; //----------------------------------------------------------------------------- @@ -223,6 +224,7 @@ protected: DECLARE_EVENT_TABLE() DECLARE_CLASS(wxDirFilterListCtrl) + DECLARE_NO_COPY_CLASS(wxDirFilterListCtrl) }; #if !defined(__WXMSW__) && !defined(__WXMAC__) && !defined(__WXPM__) diff --git a/include/wx/generic/dragimgg.h b/include/wx/generic/dragimgg.h index ad24c31e6e..cbfa4afb43 100644 --- a/include/wx/generic/dragimgg.h +++ b/include/wx/generic/dragimgg.h @@ -288,6 +288,7 @@ protected: private: DECLARE_DYNAMIC_CLASS(wxGenericDragImage) + DECLARE_NO_COPY_CLASS(wxGenericDragImage) }; #endif diff --git a/include/wx/generic/grid.h b/include/wx/generic/grid.h index 164353ff47..7962a189dc 100644 --- a/include/wx/generic/grid.h +++ b/include/wx/generic/grid.h @@ -384,6 +384,8 @@ protected: // suppress the stupid gcc warning about the class having private dtor and // no friends friend class wxGridCellEditorDummyFriend; + + DECLARE_NO_COPY_CLASS(wxGridCellEditor) }; #if wxUSE_TEXTCTRL @@ -768,6 +770,8 @@ private: void InitData(); wxGridCellAttrProviderData *m_data; + + DECLARE_NO_COPY_CLASS(wxGridCellAttrProvider) }; ////////////////////////////////////////////////////////////////////// @@ -856,6 +860,7 @@ private: wxGridCellAttrProvider *m_attrProvider; DECLARE_ABSTRACT_CLASS( wxGridTableBase ); + DECLARE_NO_COPY_CLASS(wxGridTableBase) }; @@ -899,6 +904,8 @@ private: int m_id; int m_comInt1; int m_comInt2; + + DECLARE_NO_COPY_CLASS(wxGridTableMessage) }; @@ -1853,6 +1860,7 @@ protected: DECLARE_DYNAMIC_CLASS( wxGrid ) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxGrid) }; // ---------------------------------------------------------------------------- @@ -2001,6 +2009,7 @@ private: wxControl* m_ctrl; DECLARE_DYNAMIC_CLASS(wxGridEditorCreatedEvent) + DECLARE_NO_COPY_CLASS(wxGridEditorCreatedEvent) }; diff --git a/include/wx/generic/gridsel.h b/include/wx/generic/gridsel.h index 87fc640315..cae07fe7ef 100644 --- a/include/wx/generic/gridsel.h +++ b/include/wx/generic/gridsel.h @@ -83,6 +83,8 @@ private: wxGrid::wxGridSelectionModes m_selectionMode; friend class WXDLLEXPORT wxGrid; + + DECLARE_NO_COPY_CLASS(wxGridSelection) }; #endif // #ifdef __WXGRIDSEL_H__ diff --git a/include/wx/generic/progdlgg.h b/include/wx/generic/progdlgg.h index 11c64d291e..cc98a5ca9a 100644 --- a/include/wx/generic/progdlgg.h +++ b/include/wx/generic/progdlgg.h @@ -124,6 +124,8 @@ private: private: // Virtual function hiding supression virtual void Update() { wxDialog::Update(); } + + DECLARE_NO_COPY_CLASS(wxProgressDialog) }; #endif diff --git a/include/wx/generic/sashwin.h b/include/wx/generic/sashwin.h index dcd39f47f5..5d69c4cd9f 100644 --- a/include/wx/generic/sashwin.h +++ b/include/wx/generic/sashwin.h @@ -193,6 +193,7 @@ private: private: DECLARE_DYNAMIC_CLASS(wxSashWindow) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxSashWindow) }; BEGIN_DECLARE_EVENT_TYPES() diff --git a/include/wx/generic/splash.h b/include/wx/generic/splash.h index 2bc789fad8..a3ccfa3897 100644 --- a/include/wx/generic/splash.h +++ b/include/wx/generic/splash.h @@ -67,6 +67,7 @@ protected: DECLARE_DYNAMIC_CLASS(wxSplashScreen) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxSplashScreen) }; /* diff --git a/include/wx/generic/splitter.h b/include/wx/generic/splitter.h index 26480fe129..8e1b7483e1 100644 --- a/include/wx/generic/splitter.h +++ b/include/wx/generic/splitter.h @@ -285,6 +285,7 @@ private: DECLARE_DYNAMIC_CLASS(wxSplitterWindow) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxSplitterWindow) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/generic/textdlgg.h b/include/wx/generic/textdlgg.h index 74fa8fa12e..e723081d02 100644 --- a/include/wx/generic/textdlgg.h +++ b/include/wx/generic/textdlgg.h @@ -66,6 +66,7 @@ protected: private: DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(wxTextEntryDialog) + DECLARE_NO_COPY_CLASS(wxTextEntryDialog) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/generic/treectlg.h b/include/wx/generic/treectlg.h index 7d42d09ae2..e24dd825ce 100644 --- a/include/wx/generic/treectlg.h +++ b/include/wx/generic/treectlg.h @@ -467,6 +467,7 @@ protected: private: DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(wxGenericTreeCtrl) + DECLARE_NO_COPY_CLASS(wxGenericTreeCtrl) }; #if !defined(__WXMSW__) || defined(__WIN16__) || defined(__WXUNIVERSAL__) diff --git a/include/wx/generic/treelay.h b/include/wx/generic/treelay.h index b202da646e..9a1973f37b 100644 --- a/include/wx/generic/treelay.h +++ b/include/wx/generic/treelay.h @@ -140,6 +140,7 @@ private: private: DECLARE_DYNAMIC_CLASS(wxTreeLayoutStored) + DECLARE_NO_COPY_CLASS(wxTreeLayoutStored) }; // For backward compatibility diff --git a/include/wx/generic/wizard.h b/include/wx/generic/wizard.h index 68362e06ec..c74b7578f0 100644 --- a/include/wx/generic/wizard.h +++ b/include/wx/generic/wizard.h @@ -97,5 +97,6 @@ private: DECLARE_DYNAMIC_CLASS(wxWizard) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxWizard) }; diff --git a/include/wx/gifdecod.h b/include/wx/gifdecod.h index 13a3a7b5a8..fac5e45639 100644 --- a/include/wx/gifdecod.h +++ b/include/wx/gifdecod.h @@ -78,6 +78,8 @@ public: unsigned char *pal; /* palette */ GIFImage *next; /* next image */ GIFImage *prev; /* prev image */ + + DECLARE_NO_COPY_CLASS(GIFImage) }; @@ -148,6 +150,8 @@ public: // convert current frame to wxImage bool ConvertToImage(wxImage *image) const; + + DECLARE_NO_COPY_CLASS(wxGIFDecoder) }; diff --git a/include/wx/hashmap.h b/include/wx/hashmap.h index b17e283841..57a51c3b9c 100644 --- a/include/wx/hashmap.h +++ b/include/wx/hashmap.h @@ -24,6 +24,10 @@ struct WXDLLEXPORT _wxHashTable_NodeBase _wxHashTable_NodeBase() : m_nxt(0) {} _wxHashTable_NodeBase* m_nxt; + +// Cannot do this: +// DECLARE_NO_COPY_CLASS(_wxHashTable_NodeBase) +// without rewriting the macros, which require a public copy constructor. }; // private diff --git a/include/wx/html/helpctrl.h b/include/wx/html/helpctrl.h index a2a795b243..c9981302fa 100644 --- a/include/wx/html/helpctrl.h +++ b/include/wx/html/helpctrl.h @@ -99,6 +99,8 @@ protected: wxString m_titleFormat; int m_FrameStyle; // DECLARE_EVENT_TABLE() + + DECLARE_NO_COPY_CLASS(wxHtmlHelpController) }; #endif // wxUSE_WXHTML_HELP diff --git a/include/wx/html/helpdata.h b/include/wx/html/helpdata.h index cf318613f2..7439b3570f 100644 --- a/include/wx/html/helpdata.h +++ b/include/wx/html/helpdata.h @@ -115,6 +115,8 @@ private: wxChar *m_Keyword; bool m_CaseSensitive; bool m_WholeWords; + + DECLARE_NO_COPY_CLASS(wxSearchEngine) }; @@ -147,6 +149,8 @@ private: int m_CurIndex; // where we are now int m_MaxIndex; // number of files we search // For progress bar: 100*curindex/maxindex = % complete + + DECLARE_NO_COPY_CLASS(wxHtmlSearchStatus) }; class WXDLLEXPORT wxHtmlHelpData : public wxObject @@ -205,6 +209,8 @@ protected: bool LoadCachedBook(wxHtmlBookRecord *book, wxInputStream *f); // Writes binary book bool SaveCachedBook(wxHtmlBookRecord *book, wxOutputStream *f); + + DECLARE_NO_COPY_CLASS(wxHtmlHelpData) }; #endif diff --git a/include/wx/html/helpfrm.h b/include/wx/html/helpfrm.h index 3e0e6e9264..0f6ac5b4e6 100644 --- a/include/wx/html/helpfrm.h +++ b/include/wx/html/helpfrm.h @@ -226,6 +226,7 @@ protected: int m_hfStyle; DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxHtmlHelpFrame) }; #endif // wxUSE_WXHTML_HELP diff --git a/include/wx/html/htmlcell.h b/include/wx/html/htmlcell.h index eb2b4bee51..f5bc99c58b 100644 --- a/include/wx/html/htmlcell.h +++ b/include/wx/html/htmlcell.h @@ -146,6 +146,8 @@ protected: // true if this cell can be placed on pagebreak, false otherwise wxString m_id; // unique identifier of the cell, generated from "id" property of tags + + DECLARE_NO_COPY_CLASS(wxHtmlCell) }; @@ -259,6 +261,8 @@ protected: int m_LastLayout; // if != -1 then call to Layout may be no-op // if previous call to Layout has same argument + + DECLARE_NO_COPY_CLASS(wxHtmlContainerCell) }; @@ -330,6 +334,8 @@ protected: wxWindow* m_Wnd; int m_WidthFloat; // width float is used in adjustWidth (it is in percents) + + DECLARE_NO_COPY_CLASS(wxHtmlWidgetCell) }; diff --git a/include/wx/html/htmlpars.h b/include/wx/html/htmlpars.h index 58f2f2bcc0..bcb7a9a030 100644 --- a/include/wx/html/htmlpars.h +++ b/include/wx/html/htmlpars.h @@ -174,6 +174,8 @@ protected: wxList m_HandlersList; wxHashTable m_HandlersHash; + DECLARE_NO_COPY_CLASS(wxHtmlParser) + // class for opening files (file system) wxFileSystem *m_FS; // handlers stack used by PushTagHandler and PopTagHandler @@ -228,6 +230,8 @@ protected: { m_Parser->DoParsing(tag.GetBeginPos(), tag.GetEndPos1()); } wxHtmlParser *m_Parser; + + DECLARE_NO_COPY_CLASS(wxHtmlTagHandler) }; @@ -264,6 +268,8 @@ protected: wxMBConv *m_conv; wxFontEncoding m_encoding; #endif + + DECLARE_NO_COPY_CLASS(wxHtmlEntitiesParser) }; diff --git a/include/wx/html/htmltag.h b/include/wx/html/htmltag.h index 0dc91747ed..42927905cb 100644 --- a/include/wx/html/htmltag.h +++ b/include/wx/html/htmltag.h @@ -47,6 +47,8 @@ public: // Finds parameters for tag starting at at and fills the variables void QueryTag(int at, int* end1, int* end2); + + DECLARE_NO_COPY_CLASS(wxHtmlTagsCache) }; @@ -142,6 +144,8 @@ private: wxHtmlTag *m_Prev; wxHtmlTag *m_FirstChild, *m_LastChild; wxHtmlTag *m_Parent; + + DECLARE_NO_COPY_CLASS(wxHtmlTag) }; diff --git a/include/wx/html/htmlwin.h b/include/wx/html/htmlwin.h index 14ed7b410b..76d1c2c840 100644 --- a/include/wx/html/htmlwin.h +++ b/include/wx/html/htmlwin.h @@ -269,6 +269,7 @@ private: static wxHtmlProcessorList *m_GlobalProcessors; DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxHtmlWindow) }; diff --git a/include/wx/html/htmprint.h b/include/wx/html/htmprint.h index 713d1ef895..79f3528bb9 100644 --- a/include/wx/html/htmprint.h +++ b/include/wx/html/htmprint.h @@ -74,6 +74,8 @@ private: wxFileSystem *m_FS; wxHtmlContainerCell *m_Cells; int m_MaxWidth, m_Width, m_Height; + + DECLARE_NO_COPY_CLASS(wxHtmlDCRenderer) }; @@ -155,6 +157,8 @@ private: int m_HeaderHeight, m_FooterHeight; wxHtmlDCRenderer *m_Renderer, *m_RendererHdr; float m_MarginTop, m_MarginBottom, m_MarginLeft, m_MarginRight, m_MarginSpace; + + DECLARE_NO_COPY_CLASS(wxHtmlPrintout) }; @@ -219,6 +223,8 @@ private: wxString m_Name; wxString m_Headers[2], m_Footers[2]; wxFrame *m_Frame; + + DECLARE_NO_COPY_CLASS(wxHtmlEasyPrinting) }; diff --git a/include/wx/html/winpars.h b/include/wx/html/winpars.h index 23905552f7..d2dd340230 100644 --- a/include/wx/html/winpars.h +++ b/include/wx/html/winpars.h @@ -176,6 +176,8 @@ private: wxString m_FontFaceFixed, m_FontFaceNormal; // html font sizes and faces of fixed and proportional fonts + DECLARE_NO_COPY_CLASS(wxHtmlWinParser) + #if !wxUSE_UNICODE wxFontEncoding m_InputEnc, m_OutputEnc; // I/O font encodings @@ -206,6 +208,8 @@ public: protected: wxHtmlWinParser *m_WParser; // same as m_Parser, but overcasted + + DECLARE_NO_COPY_CLASS(wxHtmlWinTagHandler) }; diff --git a/include/wx/intl.h b/include/wx/intl.h index 2c7023bb01..2f50345325 100644 --- a/include/wx/intl.h +++ b/include/wx/intl.h @@ -502,6 +502,8 @@ private: bool m_bConvertEncoding; static wxLanguageInfoArray *ms_languagesDB; + + DECLARE_NO_COPY_CLASS(wxLocale) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/ipcbase.h b/include/wx/ipcbase.h index 49a9f59f9b..6b1d39d41d 100644 --- a/include/wx/ipcbase.h +++ b/include/wx/ipcbase.h @@ -122,6 +122,8 @@ private: wxChar * m_buffer; size_t m_buffersize; bool m_deletebufferwhendone; + + DECLARE_NO_COPY_CLASS(wxConnectionBase) }; diff --git a/include/wx/layout.h b/include/wx/layout.h index fe232e266a..736c16c9a3 100644 --- a/include/wx/layout.h +++ b/include/wx/layout.h @@ -148,6 +148,8 @@ public: // Get the value of this edge or dimension, or if this // is not determinable, -1. int GetEdge(wxEdge which, wxWindowBase *thisWin, wxWindowBase *other) const; + + DECLARE_NO_COPY_CLASS(wxIndividualLayoutConstraint) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/log.h b/include/wx/log.h index ee2f933f8f..04efbd0bd8 100644 --- a/include/wx/log.h +++ b/include/wx/log.h @@ -369,6 +369,8 @@ private: // do we pass the messages to the old logger? bool m_bPassMessages; + + DECLARE_NO_COPY_CLASS(wxLogChain) }; // a chain log target which uses itself as the new logger @@ -400,6 +402,8 @@ private: // the control we use wxTextCtrl *m_pTextCtrl; + + DECLARE_NO_COPY_CLASS(wxLogTextCtrl) }; #endif // wxUSE_TEXTCTRL @@ -478,6 +482,8 @@ protected: private: wxLogFrame *m_pLogFrame; // the log frame + + DECLARE_NO_COPY_CLASS(wxLogWindow) }; #endif // wxUSE_LOGWINDOW diff --git a/include/wx/menu.h b/include/wx/menu.h index ccdac72ffa..9fe5a2aa5c 100644 --- a/include/wx/menu.h +++ b/include/wx/menu.h @@ -389,6 +389,8 @@ protected: long m_style; // combination of wxMENU_XXX flags wxEvtHandler *m_eventHandler; // a pluggable in event handler + + DECLARE_NO_COPY_CLASS(wxMenuBase) }; // ---------------------------------------------------------------------------- @@ -516,6 +518,8 @@ protected: // the frame we are attached to (may be NULL) wxFrame *m_menuBarFrame; + + DECLARE_NO_COPY_CLASS(wxMenuBarBase) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/mstream.h b/include/wx/mstream.h index b1b15cb8d6..d80cd3a401 100644 --- a/include/wx/mstream.h +++ b/include/wx/mstream.h @@ -40,6 +40,8 @@ protected: private: size_t m_length; + + DECLARE_NO_COPY_CLASS(wxMemoryInputStream) }; class WXDLLEXPORT wxMemoryOutputStream : public wxOutputStream @@ -64,6 +66,8 @@ protected: size_t OnSysWrite(const void *buffer, size_t nbytes); off_t OnSysSeek(off_t pos, wxSeekMode mode); off_t OnSysTell() const; + + DECLARE_NO_COPY_CLASS(wxMemoryOutputStream) }; #endif diff --git a/include/wx/msw/bitmap.h b/include/wx/msw/bitmap.h index da82b22d7d..8abc0799cc 100644 --- a/include/wx/msw/bitmap.h +++ b/include/wx/msw/bitmap.h @@ -64,6 +64,8 @@ public: // optional mask for transparent drawing wxMask *m_bitmapMask; + DECLARE_NO_COPY_CLASS(wxBitmapRefData) + #if wxUSE_DIB_FOR_BITMAP WXHANDLE m_hFileMap; // file mapping handle for large DIB's #endif diff --git a/include/wx/msw/dc.h b/include/wx/msw/dc.h index dde2cf4246..ac1f0a3989 100644 --- a/include/wx/msw/dc.h +++ b/include/wx/msw/dc.h @@ -241,6 +241,7 @@ protected: #endif DECLARE_DYNAMIC_CLASS(wxDC) + DECLARE_NO_COPY_CLASS(wxDC) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/msw/dde.h b/include/wx/msw/dde.h index 56813e4340..4d305f46b6 100644 --- a/include/wx/msw/dde.h +++ b/include/wx/msw/dde.h @@ -78,6 +78,8 @@ public: wxChar* m_sendingData; int m_dataSize; wxIPCFormat m_dataType; + + DECLARE_NO_COPY_CLASS(wxDDEConnection) }; class WXDLLEXPORT wxDDEServer: public wxServerBase diff --git a/include/wx/msw/dialog.h b/include/wx/msw/dialog.h index 2c3b5b2088..e47ddcde3c 100644 --- a/include/wx/msw/dialog.h +++ b/include/wx/msw/dialog.h @@ -121,6 +121,7 @@ private: DECLARE_DYNAMIC_CLASS(wxDialog) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxDialog) }; #endif diff --git a/include/wx/msw/dragimag.h b/include/wx/msw/dragimag.h index bf5dbdc9fa..49b745c836 100644 --- a/include/wx/msw/dragimag.h +++ b/include/wx/msw/dragimag.h @@ -260,6 +260,7 @@ protected: private: DECLARE_DYNAMIC_CLASS(wxDragImage) + DECLARE_NO_COPY_CLASS(wxDragImage) }; #endif diff --git a/include/wx/msw/fdrepdlg.h b/include/wx/msw/fdrepdlg.h index 919ef8d7ab..2e84c9567b 100644 --- a/include/wx/msw/fdrepdlg.h +++ b/include/wx/msw/fdrepdlg.h @@ -57,6 +57,7 @@ protected: wxFindReplaceDialogImpl *m_impl; DECLARE_DYNAMIC_CLASS(wxFindReplaceDialog) + DECLARE_NO_COPY_CLASS(wxFindReplaceDialog) }; diff --git a/include/wx/msw/filedlg.h b/include/wx/msw/filedlg.h index f4637fcc78..523d75626b 100644 --- a/include/wx/msw/filedlg.h +++ b/include/wx/msw/filedlg.h @@ -69,6 +69,7 @@ protected: private: DECLARE_DYNAMIC_CLASS(wxFileDialog) + DECLARE_NO_COPY_CLASS(wxFileDialog) }; // File selector - backward compatibility diff --git a/include/wx/msw/helpbest.h b/include/wx/msw/helpbest.h index 3709a6ab63..0345d504b5 100644 --- a/include/wx/msw/helpbest.h +++ b/include/wx/msw/helpbest.h @@ -110,6 +110,7 @@ protected: wxHelpControllerBase* m_helpController; DECLARE_DYNAMIC_CLASS(wxBestHelpController) + DECLARE_NO_COPY_CLASS(wxBestHelpController) }; #endif // wxUSE_HELP && wxUSE_MS_HTML_HELP && defined(__WIN95__) && wxUSE_WXHTML_HELP diff --git a/include/wx/msw/listctrl.h b/include/wx/msw/listctrl.h index fc495d9950..5de83175f9 100644 --- a/include/wx/msw/listctrl.h +++ b/include/wx/msw/listctrl.h @@ -397,6 +397,7 @@ private: DECLARE_DYNAMIC_CLASS(wxListCtrl) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxListCtrl) }; #endif // wxUSE_LISTCTRL diff --git a/include/wx/msw/mdi.h b/include/wx/msw/mdi.h index d70470724b..dec7df2826 100644 --- a/include/wx/msw/mdi.h +++ b/include/wx/msw/mdi.h @@ -114,6 +114,7 @@ private: DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(wxMDIParentFrame) + DECLARE_NO_COPY_CLASS(wxMDIParentFrame) }; // --------------------------------------------------------------------------- diff --git a/include/wx/msw/msgdlg.h b/include/wx/msw/msgdlg.h index eeccdf6c91..52720f1296 100644 --- a/include/wx/msw/msgdlg.h +++ b/include/wx/msw/msgdlg.h @@ -38,6 +38,8 @@ public: long style = wxOK|wxCENTRE, const wxPoint& pos = wxDefaultPosition); int ShowModal(void); + + DECLARE_NO_COPY_CLASS(wxMessageDialog) }; diff --git a/include/wx/msw/ole/automtn.h b/include/wx/msw/ole/automtn.h index 95ea0215c8..083cbef370 100644 --- a/include/wx/msw/ole/automtn.h +++ b/include/wx/msw/ole/automtn.h @@ -92,6 +92,8 @@ public: public: WXIDISPATCH* m_dispatchPtr; + + DECLARE_NO_COPY_CLASS(wxAutomationObject) }; diff --git a/include/wx/msw/ole/dataobj.h b/include/wx/msw/ole/dataobj.h index 8f8fb8f235..f686ef4bb7 100644 --- a/include/wx/msw/ole/dataobj.h +++ b/include/wx/msw/ole/dataobj.h @@ -58,6 +58,8 @@ public: virtual size_t GetBufferOffset( const wxDataFormat& format ); private: IDataObject *m_pIDataObject; // pointer to the COM interface + + DECLARE_NO_COPY_CLASS(wxDataObject) }; #endif //_WX_MSW_OLE_DATAOBJ_H diff --git a/include/wx/msw/ole/dataobj2.h b/include/wx/msw/ole/dataobj2.h index 6f3740d972..0fb5a1cb39 100644 --- a/include/wx/msw/ole/dataobj2.h +++ b/include/wx/msw/ole/dataobj2.h @@ -41,6 +41,8 @@ public: private: // the DIB data void /* BITMAPINFO */ *m_data; + + DECLARE_NO_COPY_CLASS(wxBitmapDataObject) }; // ---------------------------------------------------------------------------- @@ -101,6 +103,8 @@ public: private: // last data object we got data in wxDataObjectSimple *m_dataObjectLast; + + DECLARE_NO_COPY_CLASS(wxURLDataObject) }; #endif // _WX_MSW_OLE_DATAOBJ2_H diff --git a/include/wx/msw/ole/dropsrc.h b/include/wx/msw/ole/dropsrc.h index 24a3153738..7090d31b1c 100644 --- a/include/wx/msw/ole/dropsrc.h +++ b/include/wx/msw/ole/dropsrc.h @@ -76,6 +76,8 @@ protected: private: wxIDropSource *m_pIDropSource; // the pointer to COM interface + + DECLARE_NO_COPY_CLASS(wxDropSource) }; #endif //_WX_OLEDROPSRC_H diff --git a/include/wx/msw/ole/droptgt.h b/include/wx/msw/ole/droptgt.h index a4648b5edf..2d3c84c5bd 100644 --- a/include/wx/msw/ole/droptgt.h +++ b/include/wx/msw/ole/droptgt.h @@ -69,6 +69,8 @@ private: wxIDropTarget *m_pIDropTarget; // the pointer to our COM interface IDataObject *m_pIDataSource; // the pointer to the source data object + + DECLARE_NO_COPY_CLASS(wxDropTarget) }; #endif //_WX_OLEDROPTGT_H diff --git a/include/wx/msw/pen.h b/include/wx/msw/pen.h index a653d39db0..61ce98dfe9 100644 --- a/include/wx/msw/pen.h +++ b/include/wx/msw/pen.h @@ -41,6 +41,14 @@ protected: wxDash * m_dash ; wxColour m_colour; WXHPEN m_hPen; + +private: +// Cannot use +// DECLARE_NO_COPY_CLASS(wxPenRefData) +// because copy constructor is explicitly declared above; +// but no copy assignment operator is defined, so declare +// it private to prevent the compiler from defining it: + wxPenRefData& operator=(const wxPenRefData&); }; #define M_PENDATA ((wxPenRefData *)m_refData) diff --git a/include/wx/msw/printdlg.h b/include/wx/msw/printdlg.h index 7704c3f15d..eea912b333 100644 --- a/include/wx/msw/printdlg.h +++ b/include/wx/msw/printdlg.h @@ -49,6 +49,8 @@ private: wxDC* m_printerDC; bool m_destroyDC; wxWindow* m_dialogParent; + + DECLARE_NO_COPY_CLASS(wxPrintDialog) }; class WXDLLEXPORT wxPageSetupDialog: public wxDialog @@ -68,6 +70,8 @@ public: private: wxPageSetupData m_pageSetupData; wxWindow* m_dialogParent; + + DECLARE_NO_COPY_CLASS(wxPageSetupDialog) }; #endif // wxUSE_PRINTING_ARCHITECTURE diff --git a/include/wx/msw/printwin.h b/include/wx/msw/printwin.h index 9f7d368f7a..b5947de4fb 100644 --- a/include/wx/msw/printwin.h +++ b/include/wx/msw/printwin.h @@ -38,6 +38,8 @@ public: private: WXFARPROC m_lpAbortProc; + + DECLARE_NO_COPY_CLASS(wxWindowsPrinter) }; // --------------------------------------------------------------------------- diff --git a/include/wx/msw/private.h b/include/wx/msw/private.h index 21ce06bcf9..f4cb8b3908 100644 --- a/include/wx/msw/private.h +++ b/include/wx/msw/private.h @@ -346,6 +346,8 @@ public: private: HDC m_hdc; + + DECLARE_NO_COPY_CLASS(ScreenHDC) }; // the same as ScreenHDC but for memory DCs: creates the HDC in ctor and @@ -360,6 +362,8 @@ public: private: HDC m_hdc; + + DECLARE_NO_COPY_CLASS(MemoryHDC) }; // a class which selects a GDI object into a DC in its ctor and deselects in @@ -378,6 +382,8 @@ public: private: HDC m_hdc; HGDIOBJ m_hgdiobj; + + DECLARE_NO_COPY_CLASS(SelectInHDC) }; // --------------------------------------------------------------------------- diff --git a/include/wx/msw/radiobox.h b/include/wx/msw/radiobox.h index 1ba95def67..58bd4bbe01 100644 --- a/include/wx/msw/radiobox.h +++ b/include/wx/msw/radiobox.h @@ -134,6 +134,7 @@ protected: private: DECLARE_DYNAMIC_CLASS(wxRadioBox) + DECLARE_NO_COPY_CLASS(wxRadioBox) }; #endif diff --git a/include/wx/msw/spinctrl.h b/include/wx/msw/spinctrl.h index 70dc78a208..5d4d2824a2 100644 --- a/include/wx/msw/spinctrl.h +++ b/include/wx/msw/spinctrl.h @@ -112,6 +112,7 @@ protected: private: DECLARE_DYNAMIC_CLASS(wxSpinCtrl) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxSpinCtrl) }; #endif // _WX_MSW_SPINCTRL_H_ diff --git a/include/wx/msw/statbmp.h b/include/wx/msw/statbmp.h index 85f801a163..38a12b3a55 100644 --- a/include/wx/msw/statbmp.h +++ b/include/wx/msw/statbmp.h @@ -99,6 +99,7 @@ protected: private: DECLARE_DYNAMIC_CLASS(wxStaticBitmap) + DECLARE_NO_COPY_CLASS(wxStaticBitmap) }; #endif diff --git a/include/wx/msw/tabctrl.h b/include/wx/msw/tabctrl.h index 014ea3167b..4a11d95c35 100644 --- a/include/wx/msw/tabctrl.h +++ b/include/wx/msw/tabctrl.h @@ -124,6 +124,7 @@ protected: wxImageList* m_imageList; DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxTabCtrl) }; class WXDLLEXPORT wxTabEvent : public wxNotifyEvent diff --git a/include/wx/msw/tbar95.h b/include/wx/msw/tbar95.h index 980714d08e..ae0994cb71 100644 --- a/include/wx/msw/tbar95.h +++ b/include/wx/msw/tbar95.h @@ -127,6 +127,7 @@ protected: private: DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS(wxToolBar) + DECLARE_NO_COPY_CLASS(wxToolBar) }; #endif // wxUSE_TOOLBAR diff --git a/include/wx/msw/tooltip.h b/include/wx/msw/tooltip.h index d1b1cb3b9c..ad456a3271 100644 --- a/include/wx/msw/tooltip.h +++ b/include/wx/msw/tooltip.h @@ -55,5 +55,6 @@ private: wxWindow *m_window; // window we're associated with DECLARE_ABSTRACT_CLASS(wxToolTip) + DECLARE_NO_COPY_CLASS(wxToolTip) }; diff --git a/include/wx/msw/toplevel.h b/include/wx/msw/toplevel.h index 202983d285..b4e77b09da 100644 --- a/include/wx/msw/toplevel.h +++ b/include/wx/msw/toplevel.h @@ -120,6 +120,7 @@ protected: wxWindow *m_winLastFocused; DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxTopLevelWindowMSW) }; // list of all frames and modeless dialogs diff --git a/include/wx/msw/treectrl.h b/include/wx/msw/treectrl.h index 8191e7d94d..1b56eb819c 100644 --- a/include/wx/msw/treectrl.h +++ b/include/wx/msw/treectrl.h @@ -478,6 +478,7 @@ private: friend class wxTreeSortHelper; DECLARE_DYNAMIC_CLASS(wxTreeCtrl) + DECLARE_NO_COPY_CLASS(wxTreeCtrl) }; #endif // wxUSE_TREECTRL diff --git a/include/wx/msw/wave.h b/include/wx/msw/wave.h index 12807e7e20..cd025e863a 100644 --- a/include/wx/msw/wave.h +++ b/include/wx/msw/wave.h @@ -44,6 +44,8 @@ private: wxByte* m_waveData; int m_waveLength; bool m_isResource; + + DECLARE_NO_COPY_CLASS(wxWave) }; #endif #endif diff --git a/include/wx/notebook.h b/include/wx/notebook.h index a7583c5857..0afe7a1f8b 100644 --- a/include/wx/notebook.h +++ b/include/wx/notebook.h @@ -165,6 +165,8 @@ protected: wxArrayPages m_pages; // array of pages wxImageList *m_imageList; // we can have an associated image list bool m_ownsImageList; // true if we must delete m_imageList + + DECLARE_NO_COPY_CLASS(wxNotebookBase) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/popupwin.h b/include/wx/popupwin.h index 185d8c7f65..6bee065b9e 100644 --- a/include/wx/popupwin.h +++ b/include/wx/popupwin.h @@ -127,6 +127,7 @@ protected: wxPopupFocusHandler *m_handlerFocus; DECLARE_DYNAMIC_CLASS(wxPopupTransientWindow) + DECLARE_NO_COPY_CLASS(wxPopupTransientWindow) }; #if wxUSE_COMBOBOX && defined(__WXUNIVERSAL__) diff --git a/include/wx/prntbase.h b/include/wx/prntbase.h index d8357cb11b..8e926ce966 100644 --- a/include/wx/prntbase.h +++ b/include/wx/prntbase.h @@ -85,6 +85,7 @@ public: private: DECLARE_CLASS(wxPrinterBase) + DECLARE_NO_COPY_CLASS(wxPrinterBase) }; /* @@ -150,6 +151,7 @@ private: private: DECLARE_ABSTRACT_CLASS(wxPrintout) + DECLARE_NO_COPY_CLASS(wxPrintout) }; /* @@ -178,6 +180,7 @@ private: DECLARE_CLASS(wxPreviewCanvas) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxPreviewCanvas) }; /* @@ -209,6 +212,7 @@ protected: private: DECLARE_CLASS(wxPreviewFrame) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxPreviewFrame) }; /* @@ -289,6 +293,7 @@ protected: private: DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxPreviewControlBar) }; /* @@ -377,6 +382,8 @@ protected: private: void Init(wxPrintout *printout, wxPrintout *printoutForPrinting); + + DECLARE_NO_COPY_CLASS(wxPrintPreviewBase) }; /* diff --git a/include/wx/process.h b/include/wx/process.h index e488f264d2..083ddf6dc7 100644 --- a/include/wx/process.h +++ b/include/wx/process.h @@ -128,6 +128,7 @@ protected: bool m_redirect; DECLARE_DYNAMIC_CLASS(wxProcess) + DECLARE_NO_COPY_CLASS(wxProcess) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/protocol/http.h b/include/wx/protocol/http.h index 72080ba71d..feb10b3947 100644 --- a/include/wx/protocol/http.h +++ b/include/wx/protocol/http.h @@ -53,6 +53,8 @@ protected: // deletes the header value strings void ClearHeaders(); + + DECLARE_NO_COPY_CLASS(wxHTTP) }; #endif // wxUSE_PROTOCOL_HTTP diff --git a/include/wx/protocol/protocol.h b/include/wx/protocol/protocol.h index d17e4dd637..f880e07877 100644 --- a/include/wx/protocol/protocol.h +++ b/include/wx/protocol/protocol.h @@ -127,6 +127,7 @@ protected: friend class wxURL; DECLARE_DYNAMIC_CLASS(wxProtoInfo) + DECLARE_NO_COPY_CLASS(wxProtoInfo) }; #endif // wxUSE_PROTOCOL diff --git a/include/wx/sckipc.h b/include/wx/sckipc.h index 89f216d0fc..e682906171 100644 --- a/include/wx/sckipc.h +++ b/include/wx/sckipc.h @@ -102,6 +102,8 @@ private: // virtual bool Execute(const wxString& str) { return Execute(str, -1, wxIPC_TEXT); } + + DECLARE_NO_COPY_CLASS(wxTCPConnection) }; class wxTCPServer: public wxServerBase @@ -127,6 +129,8 @@ protected: // the name of the file associated to the Unix domain socket, may be empty wxString m_filename; #endif // __UNIX_LIKE__ + + DECLARE_NO_COPY_CLASS(wxTCPServer) }; class wxTCPClient: public wxClientBase diff --git a/include/wx/sckstrm.h b/include/wx/sckstrm.h index d649b74793..b6a060d298 100644 --- a/include/wx/sckstrm.h +++ b/include/wx/sckstrm.h @@ -36,6 +36,8 @@ class WXDLLEXPORT wxSocketOutputStream : public wxOutputStream wxSocketBase *m_o_socket; size_t OnSysWrite(const void *buffer, size_t bufsize); + + DECLARE_NO_COPY_CLASS(wxSocketOutputStream) }; class WXDLLEXPORT wxSocketInputStream : public wxInputStream @@ -53,6 +55,8 @@ class WXDLLEXPORT wxSocketInputStream : public wxInputStream wxSocketBase *m_i_socket; size_t OnSysRead(void *buffer, size_t bufsize); + + DECLARE_NO_COPY_CLASS(wxSocketInputStream) }; class WXDLLEXPORT wxSocketStream : public wxSocketInputStream, diff --git a/include/wx/scrolwin.h b/include/wx/scrolwin.h index 11ba4edb59..e4c0a96763 100644 --- a/include/wx/scrolwin.h +++ b/include/wx/scrolwin.h @@ -201,6 +201,8 @@ protected: #endif // wxUSE_MOUSEWHEEL wxScrollHelperEvtHandler *m_handler; + + DECLARE_NO_COPY_CLASS(wxScrollHelper) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/sizer.h b/include/wx/sizer.h index 412f6a2f54..10899c790a 100644 --- a/include/wx/sizer.h +++ b/include/wx/sizer.h @@ -130,6 +130,7 @@ protected: private: DECLARE_CLASS(wxSizerItem); + DECLARE_NO_COPY_CLASS(wxSizerItem) }; //--------------------------------------------------------------------------- @@ -317,6 +318,7 @@ protected: private: DECLARE_CLASS(wxFlexGridSizer); + DECLARE_NO_COPY_CLASS(wxFlexGridSizer) }; //--------------------------------------------------------------------------- @@ -373,6 +375,7 @@ protected: private: DECLARE_CLASS(wxStaticBoxSizer); + DECLARE_NO_COPY_CLASS(wxStaticBoxSizer) }; #endif // wxUSE_STATBOX @@ -401,6 +404,7 @@ protected: private: DECLARE_CLASS(wxNotebookSizer); + DECLARE_NO_COPY_CLASS(wxNotebookSizer) }; #endif // wxUSE_NOTEBOOK diff --git a/include/wx/snglinst.h b/include/wx/snglinst.h index b940f3dd12..114b73b3d1 100644 --- a/include/wx/snglinst.h +++ b/include/wx/snglinst.h @@ -60,6 +60,8 @@ private: // the implementation details (platform specific) class WXDLLEXPORT wxSingleInstanceCheckerImpl *m_impl; + + DECLARE_NO_COPY_CLASS(wxSingleInstanceChecker) }; #endif // wxUSE_SNGLINST_CHECKER diff --git a/include/wx/socket.h b/include/wx/socket.h index dbde09bff7..d52e133473 100644 --- a/include/wx/socket.h +++ b/include/wx/socket.h @@ -261,6 +261,8 @@ private: wxSockCbk m_cbk; // callback char *m_cdata; // callback data #endif // WXWIN_COMPATIBILITY + + DECLARE_NO_COPY_CLASS(wxSocketBase) }; diff --git a/include/wx/statusbr.h b/include/wx/statusbr.h index adafc8bfce..0ae464c94e 100644 --- a/include/wx/statusbr.h +++ b/include/wx/statusbr.h @@ -111,6 +111,8 @@ protected: // stacks of previous values for PushStatusText/PopStatusText // this is created on demand, use GetStatusStack/GetOrCreateStatusStack wxListString **m_statusTextStacks; + + DECLARE_NO_COPY_CLASS(wxStatusBarBase) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/stream.h b/include/wx/stream.h index 5b80f8766c..83551e2127 100644 --- a/include/wx/stream.h +++ b/include/wx/stream.h @@ -98,6 +98,8 @@ protected: wxStreamError m_lasterror; friend class wxStreamBuffer; + + DECLARE_NO_COPY_CLASS(wxInputStream) }; // ---------------------------------------------------------------------------- @@ -307,6 +309,8 @@ public: protected: wxInputStream *m_parent_i_stream; + + DECLARE_NO_COPY_CLASS(wxFilterInputStream) }; class WXDLLEXPORT wxFilterOutputStream : public wxOutputStream @@ -322,6 +326,8 @@ public: protected: wxOutputStream *m_parent_o_stream; + + DECLARE_NO_COPY_CLASS(wxFilterOutputStream) }; // ============================================================================ @@ -437,6 +443,14 @@ protected: bool m_destroybuf, // deallocate buffer? m_fixed, m_flushable; + +private: +// Cannot use +// DECLARE_NO_COPY_CLASS(wxStreamBuffer) +// because copy constructor is explicitly declared above; +// but no copy assignment operator is defined, so declare +// it private to prevent the compiler from defining it: + wxStreamBuffer& operator=(const wxStreamBuffer&); }; // --------------------------------------------------------------------------- @@ -471,6 +485,8 @@ protected: virtual off_t OnSysTell() const; wxStreamBuffer *m_i_streambuf; + + DECLARE_NO_COPY_CLASS(wxBufferedInputStream) }; // ---------------------------------------------------------------------------- @@ -508,6 +524,8 @@ protected: virtual off_t OnSysTell() const; wxStreamBuffer *m_o_streambuf; + + DECLARE_NO_COPY_CLASS(wxBufferedOutputStream) }; #endif // wxUSE_STREAMS diff --git a/include/wx/tbarbase.h b/include/wx/tbarbase.h index c96bef2acf..9cd4e2ea77 100644 --- a/include/wx/tbarbase.h +++ b/include/wx/tbarbase.h @@ -234,6 +234,8 @@ protected: // short and long help strings wxString m_shortHelpString; wxString m_longHelpString; + + DECLARE_NO_COPY_CLASS(wxToolBarToolBase) }; // a list of toolbar tools diff --git a/include/wx/timer.h b/include/wx/timer.h index 2c030fbd07..288f51fb1d 100644 --- a/include/wx/timer.h +++ b/include/wx/timer.h @@ -103,6 +103,8 @@ protected: int m_milli; // the timer interval bool m_oneShot; // TRUE if one shot + + DECLARE_NO_COPY_CLASS(wxTimerBase) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/tipwin.h b/include/wx/tipwin.h index be2b8bbc28..7adfac1545 100644 --- a/include/wx/tipwin.h +++ b/include/wx/tipwin.h @@ -92,6 +92,8 @@ private: DECLARE_EVENT_TABLE() friend class wxTipWindowView; + + DECLARE_NO_COPY_CLASS(wxTipWindow) }; #endif // wxUSE_TIPWINDOW diff --git a/include/wx/valgen.h b/include/wx/valgen.h index f80ced14c3..fadac6da7e 100644 --- a/include/wx/valgen.h +++ b/include/wx/valgen.h @@ -56,6 +56,14 @@ protected: int* m_pInt; wxString* m_pString; wxArrayInt* m_pArrayInt; + +private: +// Cannot use +// DECLARE_NO_COPY_CLASS(wxGenericValidator) +// because copy constructor is explicitly declared above; +// but no copy assignment operator is defined, so declare +// it private to prevent the compiler from defining it: + wxGenericValidator& operator=(const wxGenericValidator&); }; #endif diff --git a/include/wx/valtext.h b/include/wx/valtext.h index cf15da9903..418c5d01bb 100644 --- a/include/wx/valtext.h +++ b/include/wx/valtext.h @@ -95,6 +95,14 @@ protected: return TRUE; } + +private: +// Cannot use +// DECLARE_NO_COPY_CLASS(wxTextValidator) +// because copy constructor is explicitly declared above; +// but no copy assignment operator is defined, so declare +// it private to prevent the compiler from defining it: + wxTextValidator& operator=(const wxTextValidator&); }; #endif diff --git a/include/wx/wfstream.h b/include/wx/wfstream.h index 3987d3e1dc..de639c6262 100644 --- a/include/wx/wfstream.h +++ b/include/wx/wfstream.h @@ -51,6 +51,8 @@ class WXDLLEXPORT wxFileInputStream: public wxInputStream { protected: wxFile *m_file; bool m_file_destroy; + + DECLARE_NO_COPY_CLASS(wxFileInputStream) }; class WXDLLEXPORT wxFileOutputStream: public wxOutputStream { @@ -79,6 +81,8 @@ class WXDLLEXPORT wxFileOutputStream: public wxOutputStream { protected: wxFile *m_file; bool m_file_destroy; + + DECLARE_NO_COPY_CLASS(wxFileOutputStream) }; class WXDLLEXPORT wxFileStream: public wxFileInputStream, public wxFileOutputStream { @@ -111,6 +115,8 @@ class WXDLLEXPORT wxFFileInputStream: public wxInputStream { protected: wxFFile *m_file; bool m_file_destroy; + + DECLARE_NO_COPY_CLASS(wxFFileInputStream) }; class WXDLLEXPORT wxFFileOutputStream: public wxOutputStream { @@ -139,6 +145,8 @@ class WXDLLEXPORT wxFFileOutputStream: public wxOutputStream { protected: wxFFile *m_file; bool m_file_destroy; + + DECLARE_NO_COPY_CLASS(wxFFileOutputStream) }; class WXDLLEXPORT wxFFileStream: public wxFFileInputStream, public wxFFileOutputStream { diff --git a/include/wx/wizard.h b/include/wx/wizard.h index db4dbbf752..5bd94c0e2f 100644 --- a/include/wx/wizard.h +++ b/include/wx/wizard.h @@ -147,6 +147,7 @@ private: *m_next; DECLARE_DYNAMIC_CLASS(wxWizardPageSimple) + DECLARE_NO_COPY_CLASS(wxWizardPageSimple) }; // ---------------------------------------------------------------------------- @@ -242,6 +243,7 @@ private: wxWizardPage* m_page; DECLARE_DYNAMIC_CLASS(wxWizardEvent) + DECLARE_NO_COPY_CLASS(wxWizardEvent) }; // ---------------------------------------------------------------------------- diff --git a/include/wx/wxexpr.h b/include/wx/wxexpr.h index 031bced15b..7df1bf9b54 100644 --- a/include/wx/wxexpr.h +++ b/include/wx/wxexpr.h @@ -190,6 +190,8 @@ class WXDLLEXPORT wxExpr // so we can index into the wxExpr database and fish out the pointer. inline void SetClientData(wxObject *data) { client_data = data; } inline wxObject *GetClientData(void) const { return client_data; } + + DECLARE_NO_COPY_CLASS(wxExpr) }; class WXDLLEXPORT wxExprDatabase: public wxList @@ -249,6 +251,7 @@ public: private: DECLARE_DYNAMIC_CLASS(wxExprDatabase) + DECLARE_NO_COPY_CLASS(wxExprDatabase) }; // Function call-style interface - some more convenience wrappers/unwrappers diff --git a/include/wx/zipstrm.h b/include/wx/zipstrm.h index 4f53254dc0..77236c3f63 100644 --- a/include/wx/zipstrm.h +++ b/include/wx/zipstrm.h @@ -49,6 +49,8 @@ private: // this void* is handle of archive . I'm sorry it is void and not proper // type but I don't want to make unzip.h header public. void *m_Archive; + + DECLARE_NO_COPY_CLASS(wxZipInputStream) }; diff --git a/include/wx/zstream.h b/include/wx/zstream.h index fa3d534fe9..2bbeb2fc52 100644 --- a/include/wx/zstream.h +++ b/include/wx/zstream.h @@ -33,6 +33,8 @@ class WXDLLEXPORT wxZlibInputStream: public wxFilterInputStream { size_t m_z_size; unsigned char *m_z_buffer; struct z_stream_s *m_inflate; + + DECLARE_NO_COPY_CLASS(wxZlibInputStream) }; class WXDLLEXPORT wxZlibOutputStream: public wxFilterOutputStream { @@ -49,6 +51,8 @@ class WXDLLEXPORT wxZlibOutputStream: public wxFilterOutputStream { size_t m_z_size; unsigned char *m_z_buffer; struct z_stream_s *m_deflate; + + DECLARE_NO_COPY_CLASS(wxZlibOutputStream) }; #endif diff --git a/src/common/cshelp.cpp b/src/common/cshelp.cpp index 75749750c9..b5091e8369 100644 --- a/src/common/cshelp.cpp +++ b/src/common/cshelp.cpp @@ -56,6 +56,8 @@ public: //// Data wxContextHelp* m_contextHelp; + + DECLARE_NO_COPY_CLASS(wxContextHelpEvtHandler) }; // ============================================================================ diff --git a/src/common/execcmn.cpp b/src/common/execcmn.cpp index 9e9012f244..6b7eca6b37 100644 --- a/src/common/execcmn.cpp +++ b/src/common/execcmn.cpp @@ -65,6 +65,8 @@ private: // the size of the buffer size_t m_size; + + DECLARE_NO_COPY_CLASS(wxStreamTempInputBuffer) }; inline wxStreamTempInputBuffer::wxStreamTempInputBuffer() diff --git a/src/common/fileconf.cpp b/src/common/fileconf.cpp index c93a8f5d01..46a5dc8e1d 100644 --- a/src/common/fileconf.cpp +++ b/src/common/fileconf.cpp @@ -137,6 +137,8 @@ private: wxString m_strLine; // line contents wxFileConfigLineList *m_pNext, // next node *m_pPrev; // previous one + + DECLARE_NO_COPY_CLASS(wxFileConfigLineList) }; // ---------------------------------------------------------------------------- @@ -179,6 +181,8 @@ public: void SetValue(const wxString& strValue, bool bUser = TRUE); void SetDirty(); void SetLine(wxFileConfigLineList *pLine); + + DECLARE_NO_COPY_CLASS(wxFileConfigEntry) }; // ---------------------------------------------------------------------------- @@ -248,6 +252,8 @@ public: // called by entries/subgroups when they're created/deleted void SetLastEntry(wxFileConfigEntry *pEntry) { m_pLastEntry = pEntry; } void SetLastGroup(wxFileConfigGroup *pGroup) { m_pLastGroup = pGroup; } + + DECLARE_NO_COPY_CLASS(wxFileConfigGroup) }; // ============================================================================ diff --git a/src/common/fontmap.cpp b/src/common/fontmap.cpp index 5e75f2f751..b6bfa89bd5 100644 --- a/src/common/fontmap.cpp +++ b/src/common/fontmap.cpp @@ -211,6 +211,8 @@ private: wxFontMapper *m_fontMapper; bool m_ok; wxString m_pathOld; + + DECLARE_NO_COPY_CLASS(wxFontMapperPathChanger) }; // ============================================================================ diff --git a/src/common/fs_mem.cpp b/src/common/fs_mem.cpp index eca35ac6ff..19f5da5fc5 100644 --- a/src/common/fs_mem.cpp +++ b/src/common/fs_mem.cpp @@ -57,6 +57,8 @@ class MemFSHashObj : public wxObject char *m_Data; size_t m_Len; wxDateTime m_Time; + + DECLARE_NO_COPY_CLASS(MemFSHashObj) }; diff --git a/src/common/ftp.cpp b/src/common/ftp.cpp index 23dde41989..cd5435952e 100644 --- a/src/common/ftp.cpp +++ b/src/common/ftp.cpp @@ -524,6 +524,8 @@ public: wxFTP *m_ftp; size_t m_ftpsize; + + DECLARE_NO_COPY_CLASS(wxInputFTPStream) }; class wxOutputFTPStream : public wxSocketOutputStream @@ -558,6 +560,8 @@ public: } wxFTP *m_ftp; + + DECLARE_NO_COPY_CLASS(wxOutputFTPStream) }; wxSocketClient *wxFTP::GetPort() diff --git a/src/common/http.cpp b/src/common/http.cpp index eca6160a5e..5a79944d28 100644 --- a/src/common/http.cpp +++ b/src/common/http.cpp @@ -287,6 +287,8 @@ public: protected: size_t OnSysRead(void *buffer, size_t bufsize); + + DECLARE_NO_COPY_CLASS(wxHTTPStream) }; size_t wxHTTPStream::OnSysRead(void *buffer, size_t bufsize) diff --git a/src/common/image.cpp b/src/common/image.cpp index 5a357beca3..6aea2037fc 100644 --- a/src/common/image.cpp +++ b/src/common/image.cpp @@ -63,6 +63,8 @@ public: #endif // wxUSE_PALETTE wxArrayString m_optionNames; wxArrayString m_optionValues; + + DECLARE_NO_COPY_CLASS(wxImageRefData) }; wxImageRefData::wxImageRefData() diff --git a/src/common/intl.cpp b/src/common/intl.cpp index e78f74483a..92185e3f22 100644 --- a/src/common/intl.cpp +++ b/src/common/intl.cpp @@ -202,6 +202,8 @@ private: inline size_t32 Swap(size_t32 ui) const; bool m_bSwapped; // wrong endianness? + + DECLARE_NO_COPY_CLASS(wxMsgCatalogFile) }; diff --git a/src/common/popupcmn.cpp b/src/common/popupcmn.cpp index 7c8de4c9b7..ed80ddb959 100644 --- a/src/common/popupcmn.cpp +++ b/src/common/popupcmn.cpp @@ -74,6 +74,7 @@ private: wxPopupTransientWindow *m_popup; DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxPopupWindowHandler) }; class wxPopupFocusHandler : public wxEvtHandler @@ -104,6 +105,7 @@ private: #endif // __WXGTK__ DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxPopupFocusHandler) }; // ---------------------------------------------------------------------------- diff --git a/src/common/socket.cpp b/src/common/socket.cpp index 2848d09a9a..2c44f0dd13 100644 --- a/src/common/socket.cpp +++ b/src/common/socket.cpp @@ -106,6 +106,8 @@ public: public: wxSocketState() : wxObject() {} + + DECLARE_NO_COPY_CLASS(wxSocketState) }; // ========================================================================== diff --git a/src/common/variant.cpp b/src/common/variant.cpp index 48d54c7ec1..9ef2f1ae93 100644 --- a/src/common/variant.cpp +++ b/src/common/variant.cpp @@ -1026,6 +1026,8 @@ public: protected: void* m_value; + + DECLARE_NO_COPY_CLASS(wxVariantDataVoidPtr) }; IMPLEMENT_DYNAMIC_CLASS(wxVariantDataVoidPtr, wxVariantData) diff --git a/src/generic/calctrl.cpp b/src/generic/calctrl.cpp index b1e3317091..bf04de7d3a 100644 --- a/src/generic/calctrl.cpp +++ b/src/generic/calctrl.cpp @@ -60,6 +60,7 @@ private: wxCalendarCtrl *m_cal; DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxMonthComboBox) }; class wxYearSpinCtrl : public wxSpinCtrl @@ -74,6 +75,7 @@ private: wxCalendarCtrl *m_cal; DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxYearSpinCtrl) }; // ---------------------------------------------------------------------------- diff --git a/src/generic/grid.cpp b/src/generic/grid.cpp index 2f12b4028e..47a7c9a1e7 100644 --- a/src/generic/grid.cpp +++ b/src/generic/grid.cpp @@ -89,6 +89,10 @@ struct wxGridCellWithAttr wxGridCellCoords coords; wxGridCellAttr *attr; + +// Cannot do this: +// DECLARE_NO_COPY_CLASS(wxGridCellWithAttr) +// without rewriting the macros, which require a public copy constructor. }; WX_DECLARE_EXPORTED_OBJARRAY(wxGridCellWithAttr, wxGridCellWithAttrArray); @@ -141,6 +145,7 @@ private: DECLARE_DYNAMIC_CLASS(wxGridRowLabelWindow) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxGridRowLabelWindow) }; @@ -162,6 +167,7 @@ private: DECLARE_DYNAMIC_CLASS(wxGridColLabelWindow) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxGridColLabelWindow) }; @@ -183,6 +189,7 @@ private: DECLARE_DYNAMIC_CLASS(wxGridCornerLabelWindow) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxGridCornerLabelWindow) }; class WXDLLEXPORT wxGridWindow : public wxWindow @@ -220,6 +227,7 @@ private: DECLARE_DYNAMIC_CLASS(wxGridWindow) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxGridWindow) }; @@ -242,6 +250,7 @@ private: wxGridCellEditor* m_editor; DECLARE_DYNAMIC_CLASS(wxGridCellEditorEvtHandler) DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxGridCellEditorEvtHandler) }; @@ -322,6 +331,8 @@ struct wxGridDataTypeInfo wxString m_typeName; wxGridCellRenderer* m_renderer; wxGridCellEditor* m_editor; + + DECLARE_NO_COPY_CLASS(wxGridDataTypeInfo) }; diff --git a/src/generic/logg.cpp b/src/generic/logg.cpp index 969ccb4b2d..5e1c3ce2b4 100644 --- a/src/generic/logg.cpp +++ b/src/generic/logg.cpp @@ -140,6 +140,7 @@ private: static wxString ms_details; DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxLogDialog) }; BEGIN_EVENT_TABLE(wxLogDialog, wxDialog) @@ -450,6 +451,7 @@ private: wxLogWindow *m_log; DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxLogFrame) }; BEGIN_EVENT_TABLE(wxLogFrame, wxFrame) diff --git a/src/generic/numdlgg.cpp b/src/generic/numdlgg.cpp index 9fa5693a4d..397ae9af39 100644 --- a/src/generic/numdlgg.cpp +++ b/src/generic/numdlgg.cpp @@ -85,6 +85,7 @@ protected: private: DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxNumberEntryDialog) }; // ============================================================================ diff --git a/src/generic/scrlwing.cpp b/src/generic/scrlwing.cpp index 4da24ea311..16b2368cdc 100644 --- a/src/generic/scrlwing.cpp +++ b/src/generic/scrlwing.cpp @@ -82,6 +82,8 @@ private: wxScrollHelper *m_scrollHelper; bool m_hasDrawnWindow; + + DECLARE_NO_COPY_CLASS(wxScrollHelperEvtHandler) }; // ---------------------------------------------------------------------------- @@ -104,6 +106,8 @@ private: wxEventType m_eventType; int m_pos, m_orient; + + DECLARE_NO_COPY_CLASS(wxAutoScrollTimer) }; // ============================================================================ diff --git a/src/generic/tipdlg.cpp b/src/generic/tipdlg.cpp index 603f7881a9..bfb16d90ec 100644 --- a/src/generic/tipdlg.cpp +++ b/src/generic/tipdlg.cpp @@ -115,6 +115,7 @@ private: wxCheckBox *m_checkbox; DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxTipDialog) }; // ============================================================================ diff --git a/src/generic/tipwin.cpp b/src/generic/tipwin.cpp index 84d8d86f62..f580c85899 100644 --- a/src/generic/tipwin.cpp +++ b/src/generic/tipwin.cpp @@ -76,6 +76,7 @@ private: #endif // !wxUSE_POPUPWIN DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxTipWindowView) }; // ============================================================================ diff --git a/src/generic/treectlg.cpp b/src/generic/treectlg.cpp index 46dc5f2919..c02717df41 100644 --- a/src/generic/treectlg.cpp +++ b/src/generic/treectlg.cpp @@ -120,6 +120,8 @@ public: private: wxGenericTreeCtrl *m_owner; + + DECLARE_NO_COPY_CLASS(wxTreeRenameTimer) }; // control used for in-place edit @@ -143,6 +145,7 @@ private: bool m_finished; DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxTreeTextCtrl) }; // timer used to clear wxGenericTreeCtrl::m_findPrefix if no key was pressed @@ -159,6 +162,8 @@ public: private: wxGenericTreeCtrl *m_owner; + + DECLARE_NO_COPY_CLASS(wxTreeFindTimer) }; // a tree item @@ -298,6 +303,8 @@ private: // children but has a [+] button int m_isBold :1; // render the label in bold font int m_ownsAttr :1; // delete attribute when done + + DECLARE_NO_COPY_CLASS(wxGenericTreeItem) }; // ============================================================================= diff --git a/src/html/helpdata.cpp b/src/html/helpdata.cpp index 1864c907e5..8ebc82d3a5 100644 --- a/src/html/helpdata.cpp +++ b/src/html/helpdata.cpp @@ -114,6 +114,8 @@ class HP_TagHandler : public wxHtmlTagHandler bool HandleTag(const wxHtmlTag& tag); void WriteOut(wxHtmlContentsItem*& array, int& size); void ReadIn(wxHtmlContentsItem* array, int size); + + DECLARE_NO_COPY_CLASS(HP_TagHandler) }; diff --git a/src/html/helpfrm.cpp b/src/html/helpfrm.cpp index 31eab70e8c..43d9494eec 100644 --- a/src/html/helpfrm.cpp +++ b/src/html/helpfrm.cpp @@ -113,6 +113,8 @@ class wxHtmlHelpHtmlWindow : public wxHtmlWindow private: wxHtmlHelpFrame *m_Frame; + + DECLARE_NO_COPY_CLASS(wxHtmlHelpHtmlWindow) }; @@ -1026,6 +1028,7 @@ Normal face
(and underlined. Italic face. \ } DECLARE_EVENT_TABLE() + DECLARE_NO_COPY_CLASS(wxHtmlHelpFrameOptionsDialog) }; BEGIN_EVENT_TABLE(wxHtmlHelpFrameOptionsDialog, wxDialog) diff --git a/src/html/m_image.cpp b/src/html/m_image.cpp index aaf6a8fa4a..909c32a3fc 100644 --- a/src/html/m_image.cpp +++ b/src/html/m_image.cpp @@ -303,6 +303,8 @@ private: double m_scale; wxHtmlImageMapCell *m_imageMap; wxString m_mapName; + + DECLARE_NO_COPY_CLASS(wxHtmlImageCell) }; #if wxUSE_GIF && wxUSE_TIMER @@ -317,6 +319,8 @@ class wxGIFTimer : public wxTimer private: wxHtmlImageCell *m_cell; + + DECLARE_NO_COPY_CLASS(wxGIFTimer) }; #endif diff --git a/src/html/m_tables.cpp b/src/html/m_tables.cpp index 07aa795bac..aa2292aa2b 100644 --- a/src/html/m_tables.cpp +++ b/src/html/m_tables.cpp @@ -125,6 +125,8 @@ private: // Computes minimal and maximal widths of columns. Needs to be called // only once, before first Layout(). void ComputeMinMaxWidths(); + + DECLARE_NO_COPY_CLASS(wxHtmlTableCell) }; diff --git a/src/msw/accel.cpp b/src/msw/accel.cpp index 559f3eaae7..dd112f385a 100644 --- a/src/msw/accel.cpp +++ b/src/msw/accel.cpp @@ -41,6 +41,8 @@ public: protected: HACCEL m_hAccel; bool m_ok; + + DECLARE_NO_COPY_CLASS(wxAcceleratorRefData) }; #define M_ACCELDATA ((wxAcceleratorRefData *)m_refData) diff --git a/src/msw/checklst.cpp b/src/msw/checklst.cpp index 9c688afc3b..f74f6dd59c 100644 --- a/src/msw/checklst.cpp +++ b/src/msw/checklst.cpp @@ -90,6 +90,8 @@ public: void SendEvent(); private: + + DECLARE_NO_COPY_CLASS(wxCheckListBoxItem) bool m_bChecked; wxCheckListBox *m_pParent; size_t m_nIndex; diff --git a/src/msw/dir.cpp b/src/msw/dir.cpp index 6e51506f8b..273734724d 100644 --- a/src/msw/dir.cpp +++ b/src/msw/dir.cpp @@ -224,6 +224,8 @@ private: wxString m_filespec; int m_flags; + + DECLARE_NO_COPY_CLASS(wxDirData) }; // ============================================================================ diff --git a/src/msw/fdrepdlg.cpp b/src/msw/fdrepdlg.cpp index 5cc89364cd..27eb2be03d 100644 --- a/src/msw/fdrepdlg.cpp +++ b/src/msw/fdrepdlg.cpp @@ -102,6 +102,8 @@ private: // registered Message for Dialog static UINT ms_msgFindDialog; + + DECLARE_NO_COPY_CLASS(wxFindReplaceDialogImpl) }; UINT wxFindReplaceDialogImpl::ms_msgFindDialog = 0; diff --git a/src/msw/fontenum.cpp b/src/msw/fontenum.cpp index 55a34f3c4d..e92dde8150 100644 --- a/src/msw/fontenum.cpp +++ b/src/msw/fontenum.cpp @@ -90,6 +90,8 @@ private: // the list of facenames we already found while enumerating facenames wxArrayString m_facenames; + + DECLARE_NO_COPY_CLASS(wxFontEnumeratorHelper) }; // ---------------------------------------------------------------------------- diff --git a/src/msw/listctrl.cpp b/src/msw/listctrl.cpp index 4b6191aa84..ee5bcf35af 100644 --- a/src/msw/listctrl.cpp +++ b/src/msw/listctrl.cpp @@ -137,6 +137,8 @@ private: #endif // wxUSE_UNICODE/!wxUSE_UNICODE LV_ITEM *m_item; + + DECLARE_NO_COPY_CLASS(wxLV_ITEM) }; /////////////////////////////////////////////////////// @@ -183,6 +185,8 @@ public: if (attr) delete attr; }; + + DECLARE_NO_COPY_CLASS(wxListItemInternalData) }; // Get the internal data structure diff --git a/src/msw/notebook.cpp b/src/msw/notebook.cpp index d492f461cb..f2920163e9 100644 --- a/src/msw/notebook.cpp +++ b/src/msw/notebook.cpp @@ -402,70 +402,85 @@ bool wxNotebook::InsertPage(int nPage, bool bSelect, int imageId) { - wxASSERT( pPage != NULL ); - wxCHECK( IS_VALID_PAGE(nPage) || nPage == GetPageCount(), FALSE ); + wxCHECK_MSG( pPage != NULL, FALSE, _T("NULL page in wxNotebook::InsertPage") ); + wxCHECK_MSG( IS_VALID_PAGE(nPage) || nPage == GetPageCount(), FALSE, + _T("invalid index in wxNotebook::InsertPage") ); - // do add the tab to the control - // init all fields to 0 - TC_ITEM tcItem; - memset(&tcItem, 0, sizeof(tcItem)); + // add a new tab to the control + // ---------------------------- - if ( imageId != -1 ) - { - tcItem.mask |= TCIF_IMAGE; - tcItem.iImage = imageId; - } + // init all fields to 0 + TC_ITEM tcItem; + wxZeroMemory(tcItem); - if ( !strText.IsEmpty() ) - { - tcItem.mask |= TCIF_TEXT; - tcItem.pszText = (wxChar *)strText.c_str(); // const_cast - } + // set the image, if any + if ( imageId != -1 ) + { + tcItem.mask |= TCIF_IMAGE; + tcItem.iImage = imageId; + } - if ( TabCtrl_InsertItem(m_hwnd, nPage, &tcItem) == -1 ) { - wxLogError(wxT("Can't create the notebook page '%s'."), strText.c_str()); + // and the text + if ( !strText.IsEmpty() ) + { + tcItem.mask |= TCIF_TEXT; + tcItem.pszText = (wxChar *)strText.c_str(); // const_cast + } - return FALSE; - } + // fit the notebook page to the tab control's display area: this should be + // done before adding it to the notebook or TabCtrl_InsertItem() will + // change the notebooks size itself! + RECT rc; + rc.left = rc.top = 0; + GetSize((int *)&rc.right, (int *)&rc.bottom); + TabCtrl_AdjustRect(m_hwnd, FALSE, &rc); + pPage->SetSize(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top); - // if the inserted page is before the selected one, we must update the - // index of the selected page - if ( nPage <= m_nSelection ) - { - // one extra page added - m_nSelection++; - } - // save the pointer to the page - m_pages.Insert(pPage, nPage); + // finally do insert it + if ( TabCtrl_InsertItem(m_hwnd, nPage, &tcItem) == -1 ) { + wxLogError(wxT("Can't create the notebook page '%s'."), strText.c_str()); + + return FALSE; + } - // don't show pages by default (we'll need to adjust their size first) - HWND hwnd = GetWinHwnd(pPage); - SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_VISIBLE); + // succeeded: save the pointer to the page + m_pages.Insert(pPage, nPage); - // this updates internal flag too - otherwise it will get out of sync - pPage->Show(FALSE); + // hide the page: unless it is selected, it shouldn't be shown (and if it + // is selected it will be shown later) + HWND hwnd = GetWinHwnd(pPage); + SetWindowLong(hwnd, GWL_STYLE, GetWindowLong(hwnd, GWL_STYLE) & ~WS_VISIBLE); - // fit the notebook page to the tab control's display area - RECT rc; - rc.left = rc.top = 0; - GetSize((int *)&rc.right, (int *)&rc.bottom); - TabCtrl_AdjustRect(m_hwnd, FALSE, &rc); - pPage->SetSize(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top); + // this updates internal flag too -- otherwise it would get out of sync + // with the real state + pPage->Show(FALSE); - // some page should be selected: either this one or the first one if there is - // still no selection - int selNew = -1; - if ( bSelect ) - selNew = nPage; - else if ( m_nSelection == -1 ) - selNew = 0; - if ( selNew != -1 ) - SetSelection(selNew); + // now deal with the selection + // --------------------------- - return TRUE; + // if the inserted page is before the selected one, we must update the + // index of the selected page + if ( nPage <= m_nSelection ) + { + // one extra page added + m_nSelection++; + } + + // some page should be selected: either this one or the first one if there + // is still no selection + int selNew = -1; + if ( bSelect ) + selNew = nPage; + else if ( m_nSelection == -1 ) + selNew = 0; + + if ( selNew != -1 ) + SetSelection(selNew); + + return TRUE; } // ---------------------------------------------------------------------------- diff --git a/src/msw/ole/dataobj.cpp b/src/msw/ole/dataobj.cpp index 7e2d2132a8..8661eaf36b 100644 --- a/src/msw/ole/dataobj.cpp +++ b/src/msw/ole/dataobj.cpp @@ -95,6 +95,8 @@ private: CLIPFORMAT *m_formats; // formats we can provide data in ULONG m_nCount, // number of formats we support m_nCurrent; // current enum position + + DECLARE_NO_COPY_CLASS(wxIEnumFORMATETC) }; // ---------------------------------------------------------------------------- @@ -129,6 +131,8 @@ private: wxDataObject *m_pDataObject; // pointer to C++ class we belong to bool m_mustDelete; + + DECLARE_NO_COPY_CLASS(wxIDataObject) }; // ============================================================================ diff --git a/src/msw/ole/dropsrc.cpp b/src/msw/ole/dropsrc.cpp index 8f0ab7e6f4..27dab34ead 100644 --- a/src/msw/ole/dropsrc.cpp +++ b/src/msw/ole/dropsrc.cpp @@ -71,6 +71,8 @@ public: private: DWORD m_grfInitKeyState; // button which started the d&d operation wxDropSource *m_pDropSource; // pointer to C++ class we belong to + + DECLARE_NO_COPY_CLASS(wxIDropSource) }; // ============================================================================ diff --git a/src/msw/ole/droptgt.cpp b/src/msw/ole/droptgt.cpp index c24d9d4008..c24f6e5ae6 100644 --- a/src/msw/ole/droptgt.cpp +++ b/src/msw/ole/droptgt.cpp @@ -85,6 +85,8 @@ protected: // get default drop effect for given keyboard flags static inline DWORD GetDropEffect(DWORD flags); + + DECLARE_NO_COPY_CLASS(wxIDropTarget) }; // ---------------------------------------------------------------------------- diff --git a/src/msw/region.cpp b/src/msw/region.cpp index 4da2054b10..38d3267d44 100644 --- a/src/msw/region.cpp +++ b/src/msw/region.cpp @@ -70,6 +70,14 @@ public: } HRGN m_region; + +private: +// Cannot use +// DECLARE_NO_COPY_CLASS(wxRegionRefData) +// because copy constructor is explicitly declared above; +// but no copy assignment operator is defined, so declare +// it private to prevent the compiler from defining it: + wxRegionRefData& operator=(const wxRegionRefData&); }; #define M_REGION (((wxRegionRefData*)m_refData)->m_region) diff --git a/src/msw/snglinst.cpp b/src/msw/snglinst.cpp index ab93c3d66b..1593db9662 100644 --- a/src/msw/snglinst.cpp +++ b/src/msw/snglinst.cpp @@ -95,6 +95,8 @@ private: // the mutex handle, may be NULL HANDLE m_hMutex; + + DECLARE_NO_COPY_CLASS(wxSingleInstanceCheckerImpl) }; // ============================================================================ diff --git a/src/msw/thread.cpp b/src/msw/thread.cpp index 4cbf5710d5..cf2353b615 100644 --- a/src/msw/thread.cpp +++ b/src/msw/thread.cpp @@ -174,6 +174,8 @@ private: wxMutexError LockTimeout(DWORD milliseconds); HANDLE m_mutex; + + DECLARE_NO_COPY_CLASS(wxMutexInternal) }; // all mutexes are recursive under Win32 so we don't use mutexType @@ -272,6 +274,8 @@ public: private: HANDLE m_semaphore; + + DECLARE_NO_COPY_CLASS(wxSemaphoreInternal) }; wxSemaphoreInternal::wxSemaphoreInternal(int initialcount, int maxcount) @@ -536,6 +540,8 @@ private: wxThreadState m_state; // state, see wxThreadState enum unsigned int m_priority; // thread priority in "wx" units DWORD m_tid; // thread id + + DECLARE_NO_COPY_CLASS(wxThreadInternal) }; THREAD_RETVAL THREAD_CALLCONV wxThreadInternal::WinThreadStart(void *param) diff --git a/src/msw/treectrl.cpp b/src/msw/treectrl.cpp index f8e18e26d0..bffbc68439 100644 --- a/src/msw/treectrl.cpp +++ b/src/msw/treectrl.cpp @@ -322,6 +322,8 @@ public: private: wxTreeItemData *m_data; + + DECLARE_NO_COPY_CLASS(wxVirtualNode) }; #ifdef __VISUALC__ @@ -360,6 +362,8 @@ private: bool Traverse(const wxTreeItemId& root, bool recursively); const wxTreeCtrl *m_tree; + + DECLARE_NO_COPY_CLASS(wxTreeTraversal) }; // internal class for getting the selected items @@ -487,6 +491,8 @@ private: // the real client data wxTreeItemData *m_data; + + DECLARE_NO_COPY_CLASS(wxTreeItemIndirectData) }; // ---------------------------------------------------------------------------- diff --git a/src/msw/utils.cpp b/src/msw/utils.cpp index 66414baaa2..271a75da76 100644 --- a/src/msw/utils.cpp +++ b/src/msw/utils.cpp @@ -662,6 +662,8 @@ struct wxFindByPidParams // the PID we're looking from DWORD pid; + + DECLARE_NO_COPY_CLASS(wxFindByPidParams) }; // wxKill helper: EnumWindows() callback which is used to find the first (top diff --git a/src/msw/utilsexc.cpp b/src/msw/utilsexc.cpp index ae26542774..28fc5edfed 100644 --- a/src/msw/utilsexc.cpp +++ b/src/msw/utilsexc.cpp @@ -146,6 +146,8 @@ protected: protected: HANDLE m_hInput; + + DECLARE_NO_COPY_CLASS(wxPipeInputStream) }; class wxPipeOutputStream: public wxOutputStream @@ -159,6 +161,8 @@ protected: protected: HANDLE m_hOutput; + + DECLARE_NO_COPY_CLASS(wxPipeOutputStream) }; // define this to let wxexec.cpp know that we know what we're doing -- 2.45.2