X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/766fc092881a3095587161c1a6c48f636a91de04..e7aa9bb7c0381c735cecba13abc7cb2b3c077c66:/src/unix/dir.cpp diff --git a/src/unix/dir.cpp b/src/unix/dir.cpp index 5a0554edf4..f274a208d1 100644 --- a/src/unix/dir.cpp +++ b/src/unix/dir.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: unix/dir.cpp +// Name: src/unix/dir.cpp // Purpose: wxDir implementation for Unix/POSIX systems // Author: Vadim Zeitlin // Modified by: @@ -197,16 +197,6 @@ bool wxDirData::Read(wxString * WXUNUSED(filename)) #endif // not or new VMS/old VMS -// ---------------------------------------------------------------------------- -// wxDir helpers -// ---------------------------------------------------------------------------- - -/* static */ -bool wxDir::Exists(const wxString& dir) -{ - return wxDirExists(dir); -} - // ---------------------------------------------------------------------------- // wxDir construction/destruction // ---------------------------------------------------------------------------- @@ -245,19 +235,26 @@ wxString wxDir::GetName() const if ( m_data ) { name = M_DIR->GetName(); - if ( !name.empty() && (name.Last() == wxT('/')) ) + + // Notice that we need to check for length > 1 as we shouldn't remove + // the last slash from the root directory! + if ( name.length() > 1 && (name.Last() == wxT('/')) ) { - // chop off the last (back)slash - name.Truncate(name.length() - 1); + // chop off the last slash + name.RemoveLast(); } } return name; } -wxDir::~wxDir() +void wxDir::Close() { - delete M_DIR; + if ( m_data ) + { + delete m_data; + m_data = NULL; + } } // ----------------------------------------------------------------------------