]> git.saurik.com Git - wxWidgets.git/blob - src/common/clipcmn.cpp
create wxTheClipboard on first use, not startup -- this fixes crash in console-only...
[wxWidgets.git] / src / common / clipcmn.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: common/clipcmn.cpp
3 // Purpose: common (to all ports) wxClipboard functions
4 // Author: Robert Roebling
5 // Modified by:
6 // Created: 28.06.99
7 // RCS-ID: $Id$
8 // Copyright: (c) Robert Roebling
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 // ============================================================================
13 // declarations
14 // ============================================================================
15
16 // ----------------------------------------------------------------------------
17 // headers
18 // ----------------------------------------------------------------------------
19
20 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
21 #pragma implementation "clipboardbase.h"
22 #endif
23
24 // For compilers that support precompilation, includes "wx.h".
25 #include "wx/wxprec.h"
26
27 #ifdef __BORLANDC__
28 #pragma hdrstop
29 #endif
30
31 #include "wx/clipbrd.h"
32 #include "wx/module.h"
33
34 #if wxUSE_CLIPBOARD
35
36 static wxClipboard *gs_clipboard = NULL;
37
38 /*static*/ wxClipboard *wxClipboardBase::Get()
39 {
40 if ( !gs_clipboard )
41 {
42 gs_clipboard = new wxClipboard;
43 }
44 return gs_clipboard;
45 }
46
47 // ----------------------------------------------------------------------------
48 // wxClipboardModule: module responsible for destroying the global clipboard
49 // object
50 // ----------------------------------------------------------------------------
51
52 class wxClipboardModule : public wxModule
53 {
54 public:
55 bool OnInit() { return true; }
56 void OnExit() { wxDELETE(gs_clipboard); }
57
58 private:
59 DECLARE_DYNAMIC_CLASS(wxClipboardModule)
60 };
61
62 IMPLEMENT_DYNAMIC_CLASS(wxClipboardModule, wxModule)
63
64 #endif // wxUSE_CLIPBOARD