summaryrefslogtreecommitdiff
authoralwin <alwin>2005-03-07 13:03:38 (UTC)
committer alwin <alwin>2005-03-07 13:03:38 (UTC)
commitc26df8eafe66bded4a4af4f95830fd2187bfa2ca (patch) (unidiff)
tree561f0da611b70fe5c415bf636307289b9507e6e6
parent4515ff72db76ba63dcf3b29b19d930b7e083d508 (diff)
downloadopie-c26df8eafe66bded4a4af4f95830fd2187bfa2ca.zip
opie-c26df8eafe66bded4a4af4f95830fd2187bfa2ca.tar.gz
opie-c26df8eafe66bded4a4af4f95830fd2187bfa2ca.tar.bz2
fixed a very interesting crasher.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/documentlist.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/core/launcher/documentlist.cpp b/core/launcher/documentlist.cpp
index d2b9afa..b8bf4e0 100644
--- a/core/launcher/documentlist.cpp
+++ b/core/launcher/documentlist.cpp
@@ -385,33 +385,33 @@ void DocumentList::DiffAppLnks()
385 AppLnk *i; 385 AppLnk *i;
386 AppLnk *j; 386 AppLnk *j;
387 bool found; 387 bool found;
388 388
389 while ( (j=it2.current()) ) { 389 while ( (j=it2.current()) ) {
390 it1 = appLnkSet->children(); 390 it1 = appLnkSet->children();
391 found = false; 391 found = false;
392 while ( (i=it1.current()) ){ 392 while ( (i=it1.current()) ){
393 if (strcmp(i->name().ascii(),j->name().ascii()) == 0) 393 if (j->name().ascii() && i->name().ascii() && strcmp(i->name().ascii(),j->name().ascii()) == 0)
394 found = true; 394 found = true;
395 ++it1; 395 ++it1;
396 } 396 }
397 if (!found) { 397 if (!found) {
398 odebug << "Item " << j->name().ascii() << " needs to be added" << oendl; 398 odebug << "Item " << j->name().ascii() << " needs to be added" << oendl;
399 d->serverGui->applicationAdded( j->type(), *j ); 399 d->serverGui->applicationAdded( j->type(), *j );
400 } 400 }
401 ++it2; 401 ++it2;
402 } 402 }
403 403
404 it1 = appLnkSet->children(); 404 it1 = appLnkSet->children();
405 while ( (i=it1.current()) ) { 405 while ( (i=it1.current()) ) {
406 it2 = appLnkSet2->children(); 406 it2 = appLnkSet2->children();
407 found = false; 407 found = false;
408 while ( (j=it2.current()) ){ 408 while ( (j=it2.current()) ){
409 if (strcmp(i->name().ascii(),j->name().ascii()) == 0) 409 if (j->name().ascii() && i->name().ascii() && strcmp(i->name().ascii(),j->name().ascii()) == 0)
410 found = true; 410 found = true;
411 ++it2; 411 ++it2;
412 } 412 }
413 if (!found) { 413 if (!found) {
414 odebug << "Item " << i->name().ascii() << " needs to be removed" << oendl; 414 odebug << "Item " << i->name().ascii() << " needs to be removed" << oendl;
415 d->serverGui->applicationRemoved( i->type(), *i ); 415 d->serverGui->applicationRemoved( i->type(), *i );
416 } 416 }
417 417