X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8aa4edd248534c4c1879c93d363d1b7fb8e8c5c6..be6577566570876c0c00621ff98c786d7c6de80e:/include/wx/module.h

diff --git a/include/wx/module.h b/include/wx/module.h
index e15b4de06b..aeee79b942 100644
--- a/include/wx/module.h
+++ b/include/wx/module.h
@@ -12,7 +12,7 @@
 #ifndef _WX_MODULEH__
 #define _WX_MODULEH__
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
     #pragma interface "module.h"
 #endif
 
@@ -21,7 +21,7 @@
 
 // declare a linked list of modules
 class wxModule;
-WX_DECLARE_LIST(wxModule, wxModuleList);
+WX_DECLARE_EXPORTED_LIST(wxModule, wxModuleList);
 
 // declaring a class derived from wxModule will automatically create an
 // instance of this class on program startup, call its OnInit() method and call
@@ -32,15 +32,20 @@ public:
     wxModule() {}
     virtual ~wxModule() {}
 
-    // if module init routine returns FALSE application will fail to startup
+    	// if module init routine returns FALSE application
+	// will fail to startup
+
     bool Init() { return OnInit(); }
     void Exit() { OnExit(); }
 
-    // Override both of these
+	// Override both of these
         // called on program startup
+
     virtual bool OnInit() = 0;
-        // called just before program termination, but only if OnInit()
+
+    	// called just before program termination, but only if OnInit()
         // succeeded
+    
     virtual void OnExit() = 0;
 
     static void RegisterModule(wxModule* module);
@@ -48,6 +53,10 @@ public:
     static bool InitializeModules();
     static void CleanUpModules();
 
+    	// used by wxObjectLoader when unloading shared libs's
+
+    static void UnregisterModule(wxModule* module);
+
 protected:
     static wxModuleList m_modules;