summaryrefslogtreecommitdiff
path: root/qmake/tools/qgpluginmanager.cpp
Unidiff
Diffstat (limited to 'qmake/tools/qgpluginmanager.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--qmake/tools/qgpluginmanager.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/qmake/tools/qgpluginmanager.cpp b/qmake/tools/qgpluginmanager.cpp
index 46c85f5..72246ac 100644
--- a/qmake/tools/qgpluginmanager.cpp
+++ b/qmake/tools/qgpluginmanager.cpp
@@ -1,30 +1,30 @@
1/**************************************************************************** 1/****************************************************************************
2** $Id$ 2** $Id$
3** 3**
4** Implementation of QGPluginManager class 4** Implementation of QGPluginManager class
5** 5**
6** Copyright (C) 2000-2001 Trolltech AS. All rights reserved. 6** Copyright (C) 2000-2003 Trolltech AS. All rights reserved.
7** 7**
8** This file is part of the tools module of the Qt GUI Toolkit. 8** This file is part of the tools module of the Qt GUI Toolkit.
9** 9**
10** This file may be distributed under the terms of the Q Public License 10** This file may be distributed under the terms of the Q Public License
11** as defined by Trolltech AS of Norway and appearing in the file 11** as defined by Trolltech AS of Norway and appearing in the file
12** LICENSE.QPL included in the packaging of this file. 12** LICENSE.QPL included in the packaging of this file.
13** 13**
14** This file may be distributed and/or modified under the terms of the 14** This file may be distributed and/or modified under the terms of the
15** GNU General Public License version 2 as published by the Free Software 15** GNU General Public License version 2 as published by the Free Software
16** Foundation and appearing in the file LICENSE.GPL included in the 16** Foundation and appearing in the file LICENSE.GPL included in the
17** packaging of this file. 17** packaging of this file.
18** 18**
19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition 19** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
20** licenses may use this file in accordance with the Qt Commercial License 20** licenses may use this file in accordance with the Qt Commercial License
21** Agreement provided with the Software. 21** Agreement provided with the Software.
22** 22**
23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 23** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 24** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
25** 25**
26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for 26** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
27** information about Qt Commercial License Agreements. 27** information about Qt Commercial License Agreements.
28** See http://www.trolltech.com/qpl/ for QPL licensing information. 28** See http://www.trolltech.com/qpl/ for QPL licensing information.
29** See http://www.trolltech.com/gpl/ for GPL licensing information. 29** See http://www.trolltech.com/gpl/ for GPL licensing information.
30** 30**
@@ -454,49 +454,49 @@ bool QGPluginManager::addLibrary( QLibrary* lib )
454 454
455 QComLibrary* plugin = (QComLibrary*)lib; 455 QComLibrary* plugin = (QComLibrary*)lib;
456 bool useful = FALSE; 456 bool useful = FALSE;
457 457
458 QUnknownInterface* iFace = 0; 458 QUnknownInterface* iFace = 0;
459 plugin->queryInterface( interfaceId, &iFace ); 459 plugin->queryInterface( interfaceId, &iFace );
460 if ( iFace ) { 460 if ( iFace ) {
461 QFeatureListInterface *fliFace = 0; 461 QFeatureListInterface *fliFace = 0;
462 QComponentInformationInterface *cpiFace = 0; 462 QComponentInformationInterface *cpiFace = 0;
463 iFace->queryInterface( IID_QFeatureList, (QUnknownInterface**)&fliFace ); 463 iFace->queryInterface( IID_QFeatureList, (QUnknownInterface**)&fliFace );
464 if ( !fliFace ) 464 if ( !fliFace )
465 plugin->queryInterface( IID_QFeatureList, (QUnknownInterface**)&fliFace ); 465 plugin->queryInterface( IID_QFeatureList, (QUnknownInterface**)&fliFace );
466 if ( !fliFace ) { 466 if ( !fliFace ) {
467 iFace->queryInterface( IID_QComponentInformation, (QUnknownInterface**)&cpiFace ); 467 iFace->queryInterface( IID_QComponentInformation, (QUnknownInterface**)&cpiFace );
468 if ( !cpiFace ) 468 if ( !cpiFace )
469 plugin->queryInterface( IID_QComponentInformation, (QUnknownInterface**)&cpiFace ); 469 plugin->queryInterface( IID_QComponentInformation, (QUnknownInterface**)&cpiFace );
470 } 470 }
471 QStringList fl; 471 QStringList fl;
472 if ( fliFace ) 472 if ( fliFace )
473 // Map all found features to the library 473 // Map all found features to the library
474 fl = fliFace->featureList(); 474 fl = fliFace->featureList();
475 else if ( cpiFace ) 475 else if ( cpiFace )
476 fl << cpiFace->name(); 476 fl << cpiFace->name();
477 477
478 for ( QStringList::Iterator f = fl.begin(); f != fl.end(); f++ ) { 478 for ( QStringList::Iterator f = fl.begin(); f != fl.end(); ++f ) {
479 QLibrary *old = plugDict[*f]; 479 QLibrary *old = plugDict[*f];
480 if ( !old ) { 480 if ( !old ) {
481 useful = TRUE; 481 useful = TRUE;
482 plugDict.replace( *f, plugin ); 482 plugDict.replace( *f, plugin );
483 } else { 483 } else {
484 // we have old *and* plugin, which one to pick? 484 // we have old *and* plugin, which one to pick?
485 QComLibrary* first = (QComLibrary*)old; 485 QComLibrary* first = (QComLibrary*)old;
486 QComLibrary* second = (QComLibrary*)plugin; 486 QComLibrary* second = (QComLibrary*)plugin;
487 bool takeFirst = TRUE; 487 bool takeFirst = TRUE;
488 if ( first->qtVersion() != QT_VERSION ) { 488 if ( first->qtVersion() != QT_VERSION ) {
489 if ( second->qtVersion() == QT_VERSION ) 489 if ( second->qtVersion() == QT_VERSION )
490 takeFirst = FALSE; 490 takeFirst = FALSE;
491 else if ( second->qtVersion() < QT_VERSION && 491 else if ( second->qtVersion() < QT_VERSION &&
492 first->qtVersion() > QT_VERSION ) 492 first->qtVersion() > QT_VERSION )
493 takeFirst = FALSE; 493 takeFirst = FALSE;
494 } 494 }
495 if ( !takeFirst ) { 495 if ( !takeFirst ) {
496 useful = TRUE; 496 useful = TRUE;
497 plugDict.replace( *f, plugin ); 497 plugDict.replace( *f, plugin );
498 qWarning("%s: Discarding feature %s in %s!", 498 qWarning("%s: Discarding feature %s in %s!",
499 (const char*) QFile::encodeName( plugin->library()), 499 (const char*) QFile::encodeName( plugin->library()),
500 (*f).latin1(), 500 (*f).latin1(),
501 (const char*) QFile::encodeName( old->library() ) ); 501 (const char*) QFile::encodeName( old->library() ) );
502 } else { 502 } else {