X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/55d99c7a77789ff4904bf96eddca3715eb5af9b9..7d3e806d86a159f3af1db1744a75de162e0e1a8d:/src/common/clipcmn.cpp diff --git a/src/common/clipcmn.cpp b/src/common/clipcmn.cpp index a0af907b6e..f253ccb9c1 100644 --- a/src/common/clipcmn.cpp +++ b/src/common/clipcmn.cpp @@ -17,7 +17,7 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "clipboardbase.h" #endif @@ -33,49 +33,32 @@ #if wxUSE_CLIPBOARD +static wxClipboard *gs_clipboard = NULL; + +/*static*/ wxClipboard *wxClipboardBase::Get() +{ + if ( !gs_clipboard ) + { + gs_clipboard = new wxClipboard; + } + return gs_clipboard; +} + // ---------------------------------------------------------------------------- -// wxClipboardModule: module responsible for initializing the global clipboard +// wxClipboardModule: module responsible for destroying the global clipboard // object // ---------------------------------------------------------------------------- class wxClipboardModule : public wxModule { public: - bool OnInit(); - void OnExit(); + bool OnInit() { return true; } + void OnExit() { wxDELETE(gs_clipboard); } private: DECLARE_DYNAMIC_CLASS(wxClipboardModule) }; -// ---------------------------------------------------------------------------- -// global data defined here -// ---------------------------------------------------------------------------- - IMPLEMENT_DYNAMIC_CLASS(wxClipboardModule, wxModule) -wxClipboard* wxTheClipboard = (wxClipboard *)NULL; - -// ---------------------------------------------------------------------------- -// implementation -// ---------------------------------------------------------------------------- - -wxClipboardBase::wxClipboardBase() -{ -} - -bool wxClipboardModule::OnInit() -{ - wxTheClipboard = new wxClipboard; - - return TRUE; -} - -void wxClipboardModule::OnExit() -{ - delete wxTheClipboard; - - wxTheClipboard = (wxClipboard *)NULL; -} - #endif // wxUSE_CLIPBOARD