summaryrefslogtreecommitdiff
authorzecke <zecke>2004-06-20 19:03:56 (UTC)
committer zecke <zecke>2004-06-20 19:03:56 (UTC)
commit44d69b04b5257592639d2a494c448202c86978c2 (patch) (side-by-side diff)
tree9d776e08f6efa53abc6e2658c94b9e0e18324692
parent2055cb9e96b27f95720240a2035ade27cb7bc098 (diff)
downloadopie-44d69b04b5257592639d2a494c448202c86978c2.zip
opie-44d69b04b5257592639d2a494c448202c86978c2.tar.gz
opie-44d69b04b5257592639d2a494c448202c86978c2.tar.bz2
Use A higher prime number in AppLnk
Somehow the Launcher triggers issues with libqpe and MimeType. Due the mix of calling MimeType::clear, MimeType type(doclnk.linkFile()), MimeType::clear the registration of Application was cleared and not reentered due the inner static variable in MimeType::init which was set. Now make sure that if we clear that we will reenter the Application in all cases!
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/applnk.cpp2
-rw-r--r--library/mimetype.cpp10
2 files changed, 8 insertions, 4 deletions
diff --git a/library/applnk.cpp b/library/applnk.cpp
index 5f7da8e..e9d519e 100644
--- a/library/applnk.cpp
+++ b/library/applnk.cpp
@@ -1278,3 +1278,3 @@ DocLnkSet::DocLnkSet( const QString &directory, const QString& mimefilter ) :
mFile = dir.dirName();
- QDict<void> reference;
+ QDict<void> reference(1021);
diff --git a/library/mimetype.cpp b/library/mimetype.cpp
index 23de70b..ec45794 100644
--- a/library/mimetype.cpp
+++ b/library/mimetype.cpp
@@ -113,2 +113,3 @@ static QMap<QString,QString> *typeFor = 0;
static QMap<QString,QStringList> *extFor = 0;
+static bool appsUpdated = FALSE;
@@ -273,2 +274,5 @@ void MimeType::clear()
d = 0;
+ delete typeFor; typeFor = 0;
+ delete extFor ; extFor = 0;
+ appsUpdated = FALSE;
}
@@ -324,5 +328,4 @@ void MimeType::init( const QString& ext_or_id )
}
- static bool appsUpdated = FALSE;
+
if ( !appsUpdated ) {
- appsUpdated = TRUE;
updateApplications();
@@ -355,3 +358,4 @@ void MimeType::updateApplications()
{
- clear();
+// clear();
+ appsUpdated = true;
AppLnkSet apps( appsFolderName() );