]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/gnome/gvfs.cpp
fix for scrolling wxSpinCtrl, broken by fix for scrolling wxStaticBox (rev 48550)
[wxWidgets.git] / src / gtk / gnome / gvfs.cpp
index 7e44a62b6caca34f296cb559f337900e3c00c043..0651c72f82885eaa22a6ec77adb010b15425d610 100644 (file)
@@ -42,12 +42,16 @@ public:
     wxGnomeVFSLibrary();
     ~wxGnomeVFSLibrary();
 
+private:
     bool IsOk();
-    void InitializeMethods();
+    bool InitializeMethods();
 
-private:
-    bool              m_ok;
-    wxDynamicLibrary *m_gnome_vfs_lib;
+    wxDynamicLibrary m_libGnomeVFS;
+
+    // only true if we successfully loaded the library above
+    //
+    // don't rename this field, it's used by wxDL_XXX macros internally
+    bool m_ok;
 
 public:
     wxDL_METHOD_DEFINE( gboolean, gnome_vfs_init,
@@ -61,21 +65,14 @@ public:
 
 wxGnomeVFSLibrary::wxGnomeVFSLibrary()
 {
-    m_gnome_vfs_lib = NULL;
-
     wxLogNull log;
 
-    m_gnome_vfs_lib = new wxDynamicLibrary( wxT("libgnomevfs-2.so.0") );
-    m_ok = m_gnome_vfs_lib->IsLoaded();
-    if (!m_ok) return;
-
-    InitializeMethods();
+    m_libGnomeVFS.Load("libgnomevfs-2.so.0");
+    m_ok = m_libGnomeVFS.IsLoaded() && InitializeMethods();
 }
 
 wxGnomeVFSLibrary::~wxGnomeVFSLibrary()
 {
-    if (m_gnome_vfs_lib)
-        delete m_gnome_vfs_lib;
 }
 
 bool wxGnomeVFSLibrary::IsOk()
@@ -83,15 +80,12 @@ bool wxGnomeVFSLibrary::IsOk()
     return m_ok;
 }
 
-void wxGnomeVFSLibrary::InitializeMethods()
+bool wxGnomeVFSLibrary::InitializeMethods()
 {
-    m_ok = false;
-    bool success;
-
-    wxDL_METHOD_LOAD( m_gnome_vfs_lib, gnome_vfs_init, success )
-    wxDL_METHOD_LOAD( m_gnome_vfs_lib, gnome_vfs_shutdown, success )
+    wxDL_METHOD_LOAD( m_libGnomeVFS, gnome_vfs_init )
+    wxDL_METHOD_LOAD( m_libGnomeVFS, gnome_vfs_shutdown )
 
-    m_ok = true;
+    return true;
 }
 
 static wxGnomeVFSLibrary* gs_lgvfs = NULL;
@@ -166,6 +160,4 @@ void wxGnomeVFSModule::OnExit()
 
 IMPLEMENT_DYNAMIC_CLASS(wxGnomeVFSModule, wxModule)
 
-#endif
-    // wxUSE_LIBGNOMEVFS
-    // wxUSE_MIMETYPE
+#endif // wxUSE_LIBGNOMEVFS && wxUSE_MIMETYPE