-rw-r--r-- | library/mimetype.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/library/mimetype.cpp b/library/mimetype.cpp index 23de70b..ec45794 100644 --- a/library/mimetype.cpp +++ b/library/mimetype.cpp @@ -110,8 +110,9 @@ public: MimeType::Private* MimeType::d=0; static QMap<QString,QString> *typeFor = 0; static QMap<QString,QStringList> *extFor = 0; +static bool appsUpdated = FALSE; MimeType::Private& MimeType::data() { if ( !d ) { @@ -270,8 +271,11 @@ void MimeType::registerApp( const AppLnk& lnk ) void MimeType::clear() { delete d; d = 0; + delete typeFor; typeFor = 0; + delete extFor ; extFor = 0; + appsUpdated = FALSE; } void MimeType::loadExtensions() { @@ -321,11 +325,10 @@ void MimeType::init( const QString& ext_or_id ) i = (*typeFor)[ext.lower()]; if ( i.isNull() ) i = "application/octet-stream"; } - static bool appsUpdated = FALSE; + if ( !appsUpdated ) { - appsUpdated = TRUE; updateApplications(); } } @@ -352,9 +355,10 @@ QString MimeType::appsFolderName() Reloads application definitions. */ void MimeType::updateApplications() { - clear(); +// clear(); + appsUpdated = true; AppLnkSet apps( appsFolderName() ); updateApplications(&apps); } |