]> git.saurik.com Git - wxWidgets.git/blob - src/common/appcmn.cpp
33d0cc195646f0626d8ecd67dfc741b42561df02
[wxWidgets.git] / src / common / appcmn.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: common/appcmn.cpp
3 // Purpose: wxAppBase methods common to all platforms
4 // Author: Vadim Zeitlin
5 // Modified by:
6 // Created: 18.10.99
7 // RCS-ID: $Id$
8 // Copyright: (c) Vadim Zeitlin
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 // ============================================================================
13 // declarations
14 // ============================================================================
15
16 // ---------------------------------------------------------------------------
17 // headers
18 // ---------------------------------------------------------------------------
19
20 #ifdef __GNUG__
21 #pragma implementation "appbase.h"
22 #endif
23
24 // For compilers that support precompilation, includes "wx.h".
25 #include "wx/wxprec.h"
26
27 #if defined(__BORLANDC__)
28 #pragma hdrstop
29 #endif
30
31 #ifndef WX_PRECOMP
32 #include "wx/app.h"
33 #endif
34
35 #include "wx/thread.h"
36
37 // ===========================================================================
38 // implementation
39 // ===========================================================================
40
41 // ----------------------------------------------------------------------------
42 // some global data defined here
43 // ----------------------------------------------------------------------------
44
45 IMPLEMENT_DYNAMIC_CLASS(wxClipboardModule, wxModule)
46
47 // ---------------------------------------------------------------------------
48 // wxAppBase
49 // ----------------------------------------------------------------------------
50
51 void wxAppBase::ProcessPendingEvents()
52 {
53 // ensure that we're the only thread to modify the pending events list
54 wxCRIT_SECT_LOCKER(locker, wxPendingEventsLocker);
55
56 if ( !wxPendingEvents )
57 return;
58
59 // iterate until the list becomes empty
60 wxNode *node = wxPendingEvents->First();
61 while (node)
62 {
63 wxEvtHandler *handler = (wxEvtHandler *)node->Data();
64
65 handler->ProcessPendingEvents();
66
67 delete node;
68 node = wxPendingEvents->First();
69 }
70 }
71