X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f6bcfd974ef26faf6f91a62cac09827e09463fd1..156194e1d525407e90c21552f8f7aa05756e0ddc:/include/wx/module.h?ds=sidebyside

diff --git a/include/wx/module.h b/include/wx/module.h
index 73e913ee1b..852b341db4 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(NO_GCC_PRAGMA)
     #pragma interface "module.h"
 #endif
 
@@ -21,26 +21,31 @@
 
 // declare a linked list of modules
 class wxModule;
-WX_DECLARE_EXPORTED_LIST(wxModule, wxModuleList);
+WX_DECLARE_USER_EXPORTED_LIST(wxModule, wxModuleList, WXDLLIMPEXP_BASE);
 
 // declaring a class derived from wxModule will automatically create an
 // instance of this class on program startup, call its OnInit() method and call
 // OnExit() on program termination (but only if OnInit() succeeded)
-class WXDLLEXPORT wxModule : public wxObject
+class WXDLLIMPEXP_BASE wxModule : public wxObject
 {
 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;