Bläddra i källkod

Use const reference instead of copy constructor.

Sascha Zelzer 14 år sedan
förälder
incheckning
32d4469d1d

+ 3 - 2
Libs/PluginFramework/ctkPluginContext.cpp

@@ -153,7 +153,7 @@ ctkServiceReference ctkPluginContext::getServiceReference(const QString& clazz)
 }
 
 //----------------------------------------------------------------------------
-QObject* ctkPluginContext::getService(ctkServiceReference reference)
+QObject* ctkPluginContext::getService(const ctkServiceReference& reference)
 {
   Q_D(ctkPluginContext);
   d->isPluginContextValid();
@@ -162,7 +162,8 @@ QObject* ctkPluginContext::getService(ctkServiceReference reference)
   {
     throw std::invalid_argument("Default constructed ctkServiceReference is not a valid input to getService()");
   }
-  return reference.d_func()->getService(d->plugin->q_func());
+  ctkServiceReference internalRef(reference);
+  return internalRef.d_func()->getService(d->plugin->q_func());
 }
 
 //----------------------------------------------------------------------------

+ 2 - 2
Libs/PluginFramework/ctkPluginContext.h

@@ -438,7 +438,7 @@ public:
    * @see #ungetService(const ctkServiceReference&)
    * @see ctkServiceFactory
    */
-  QObject* getService(ctkServiceReference reference);
+  QObject* getService(const ctkServiceReference& reference);
 
   /**
    * Returns the service object referenced by the specified
@@ -464,7 +464,7 @@ public:
    * @see ctkServiceFactory
    */
   template<class S>
-  S* getService(ctkServiceReference reference)
+  S* getService(const ctkServiceReference& reference)
   {
     return qobject_cast<S*>(getService(reference));
   }