summaryrefslogtreecommitdiff
Unidiff
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
@@ -369,65 +369,65 @@ void DocumentList::DiffAppLnks()
369 d->serverGui->typeAdded( *ittypes, name.isNull() ? (*ittypes) : name, pm, bgPm ); 369 d->serverGui->typeAdded( *ittypes, name.isNull() ? (*ittypes) : name, pm, bgPm );
370 } 370 }
371 prevTypeList.remove(*ittypes); 371 prevTypeList.remove(*ittypes);
372 } 372 }
373 } 373 }
374 for ( QStringList::Iterator ittypes=prevTypeList.begin(); ittypes!=prevTypeList.end(); ++ittypes) { 374 for ( QStringList::Iterator ittypes=prevTypeList.begin(); ittypes!=prevTypeList.end(); ++ittypes) {
375 odebug << "removing type " << (*ittypes) << "" << oendl; 375 odebug << "removing type " << (*ittypes) << "" << oendl;
376 d->serverGui->typeRemoved(*ittypes); 376 d->serverGui->typeRemoved(*ittypes);
377 } 377 }
378 prevTypeList = types; 378 prevTypeList = types;
379 } 379 }
380 380
381 381
382 QListIterator<AppLnk> it1( appLnkSet->children() ); 382 QListIterator<AppLnk> it1( appLnkSet->children() );
383 QListIterator<AppLnk> it2( appLnkSet2->children() ); 383 QListIterator<AppLnk> it2( appLnkSet2->children() );
384 384
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
418 ++it1; 418 ++it1;
419 } 419 }
420 420
421 delete appLnkSet; 421 delete appLnkSet;
422 appLnkSet = appLnkSet2; 422 appLnkSet = appLnkSet2;
423 423
424} 424}
425void DocumentList::storageChanged() 425void DocumentList::storageChanged()
426{ 426{
427 QTime t; 427 QTime t;
428 // ### can implement better 428 // ### can implement better
429 429
430 t.start(); 430 t.start();
431 DiffAppLnks(); 431 DiffAppLnks();
432// reloadAppLnks(); 432// reloadAppLnks();
433 odebug << "Reload App links took " << t.elapsed() << " ms" << oendl; 433 odebug << "Reload App links took " << t.elapsed() << " ms" << oendl;