Index: khtml_part.cpp
===================================================================
RCS file: /home/kde/kdelibs/khtml/khtml_part.cpp,v
retrieving revision 1.954
diff -u -p -r1.954 khtml_part.cpp
--- khtml_part.cpp 1 Jan 2004 15:12:26 -0000 1.954
+++ khtml_part.cpp 4 Jan 2004 09:28:09 -0000
@@ -3917,31 +3917,32 @@ KParts::ReadOnlyPart *KHTMLPart::createP
if ( offers.isEmpty() )
return 0L;
- KService::Ptr service = *offers.begin();
-
- KLibFactory *factory = KLibLoader::self()->factory( QFile::encodeName(service->library()) );
-
- if ( !factory )
- return 0L;
-
- KParts::ReadOnlyPart *res = 0L;
-
- const char *className = "KParts::ReadOnlyPart";
- if ( service->serviceTypes().contains( "Browser/View" ) )
- className = "Browser/View";
+ KTrader::OfferList::Iterator it = offers.begin();
+ for ( ; it != offers.end() ; ++it )
+ {
+ KService::Ptr service = (*it);
- if ( factory->inherits( "KParts::Factory" ) )
- res = static_cast(static_cast( factory )->createPart( parentWidget, widgetName, parent, name, className, params ));
- else
- res = static_cast(factory->create( parentWidget, widgetName, className ));
+ KLibFactory *factory = KLibLoader::self()->factory( QFile::encodeName(service->library()) );
+ if ( factory ) {
+ KParts::ReadOnlyPart *res = 0L;
- if ( !res )
- return res;
+ const char *className = "KParts::ReadOnlyPart";
+ if ( service->serviceTypes().contains( "Browser/View" ) )
+ className = "Browser/View";
- serviceTypes = service->serviceTypes();
- serviceName = service->name();
+ if ( factory->inherits( "KParts::Factory" ) )
+ res = static_cast(static_cast( factory )->createPart( parentWidget, widgetName, parent, name, className, params ));
+ else
+ res = static_cast(factory->create( parentWidget, widgetName, className ));
- return res;
+ if ( res ) {
+ serviceTypes = service->serviceTypes();
+ serviceName = service->name();
+ return res;
+ }
+ }
+ }
+ return 0;
}
KParts::PartManager *KHTMLPart::partManager()