]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/mimetype.cpp
Found bug that skrewed up display wrt horizontal
[wxWidgets.git] / src / unix / mimetype.cpp
index aa0fc4f3de9be44e6b3f855612f38367773037e3..e2a0e1d834d429cca04d39b989865446aab4fa29 100644 (file)
@@ -138,6 +138,11 @@ public:
     {
         m_next = NULL;
     }
     {
         m_next = NULL;
     }
+    
+    ~MailCapEntry()
+    {
+        if (m_next) delete m_next;
+    }
 
     // accessors
     const wxString& GetOpenCmd()  const { return m_openCmd;  }
 
     // accessors
     const wxString& GetOpenCmd()  const { return m_openCmd;  }
@@ -798,6 +803,7 @@ void wxKDEIconHandler::Init()
         dirs.Add(_T("/usr/share"));
         dirs.Add(_T("/opt/kde/share"));
         icondirs.Add(_T("/usr/share/icons/"));
         dirs.Add(_T("/usr/share"));
         dirs.Add(_T("/opt/kde/share"));
         icondirs.Add(_T("/usr/share/icons/"));
+        icondirs.Add(_T("/usr/X11R6/share/icons/")); // Debian/Corel linux
         icondirs.Add(_T("/opt/kde/share/icons/"));
     }
 
         icondirs.Add(_T("/opt/kde/share/icons/"));
     }
 
@@ -1040,6 +1046,14 @@ wxMimeTypesManagerImpl::wxMimeTypesManagerImpl()
         handlers[hn]->GetMimeInfoRecords(this);
 }
 
         handlers[hn]->GetMimeInfoRecords(this);
 }
 
+
+wxMimeTypesManagerImpl::~wxMimeTypesManagerImpl()
+{
+    size_t cnt = m_aEntries.GetCount();
+    for (size_t i = 0; i < cnt; i++) delete m_aEntries[i];
+}
+
+
 wxFileType *
 wxMimeTypesManagerImpl::GetFileTypeFromExtension(const wxString& ext)
 {
 wxFileType *
 wxMimeTypesManagerImpl::GetFileTypeFromExtension(const wxString& ext)
 {
@@ -1250,8 +1264,9 @@ bool wxMimeTypesManagerImpl::ReadMimeTypes(const wxString& strFileName)
                 }
             }
             else {
                 }
             }
             else {
-                // unquoted string ends at the first space
-                for ( pEnd = pc; !wxIsspace(*pEnd); pEnd++ )
+                // unquoted string ends at the first space or at the end of
+                // line
+                for ( pEnd = pc; *pEnd && !wxIsspace(*pEnd); pEnd++ )
                     ;
             }
 
                     ;
             }