Переглянути джерело

Register QtMobility services after plugin activation.

Sascha Zelzer 14 роки тому
батько
коміт
0c9e5b7772
1 змінених файлів з 14 додано та 12 видалено
  1. 14 12
      Libs/PluginFramework/ctkPlugin.cpp

+ 14 - 12
Libs/PluginFramework/ctkPlugin.cpp

@@ -83,18 +83,7 @@
     //4: Resolve plugin (if needed)
     d->getUpdatedState();
 
-    //5: Register Qt Mobility service xml files
-    //only register if we are not already in the STARTING state
-    if (d->state != STARTING)
-    {
-      QByteArray serviceDescriptor = getResource("servicedescriptor.xml");
-      if (!serviceDescriptor.isEmpty())
-      {
-        d->fwCtx->services.registerService(d, serviceDescriptor);
-      }
-    }
-
-    //6: Eager?
+    //5: Eager?
     if ((options & START_ACTIVATION_POLICY) && !d->eagerActivation )
     {
       if (STARTING == d->state) return;
@@ -107,6 +96,19 @@
     {
       d->finalizeActivation();
     }
+
+    //6: Register Qt Mobility service xml files
+    //only register if we are not already in the STARTING
+    //or ACTIVE state
+    if (d->state & STARTING || d->state & ACTIVE)
+    {
+      QByteArray serviceDescriptor = getResource("servicedescriptor.xml");
+      if (!serviceDescriptor.isEmpty())
+      {
+        d->fwCtx->services.registerService(d, serviceDescriptor);
+      }
+    }
+
   }
 
   void ctkPlugin::stop(const StopOptions& options)