[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/4.2/kdeedu/marble/src/lib
From:       Patrick Spendrin <ps_ml () gmx ! de>
Date:       2009-02-06 1:30:48
Message-ID: 1233883848.528777.11340.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 921960 by sengels:

fix this again.
Maybe it was not such a great idea to simply take over instance() as a function name...

 M  +1 -1      MarbleRenderPlugin.h  
 M  +11 -2     PluginManager.cpp  


--- branches/KDE/4.2/kdeedu/marble/src/lib/MarbleRenderPlugin.h #921959:921960
@@ -69,7 +69,7 @@
 };
 
 #define MARBLE_PLUGIN(T) public:\
-    virtual MarbleRenderPlugin* instance() { return new T(); };
+    virtual MarbleRenderPlugin* pluginInstance() { return new T(); };
 }
 
 #endif // MARBLE_RENDER_PLUGIN_H
--- branches/KDE/4.2/kdeedu/marble/src/lib/PluginManager.cpp #921959:921960
@@ -49,8 +49,16 @@
 
 PluginManager::~PluginManager()
 {
-    qDeleteAll( d->m_renderPlugins );
+    qDebug() << "deleting all render Plugins!";
+    QList<MarbleRenderPlugin *>::const_iterator i;
+    for (i = d->m_renderPlugins.constBegin(); i != d->m_renderPlugins.constEnd(); ++i)
+    {
+        qDebug() << "rp:" << (long) (*i);
+    }
+    
+    QList<MarbleRenderPlugin*> plugs = d->m_renderPlugins;
     d->m_renderPlugins.clear();
+    qDeleteAll( plugs );
     delete d;
 }
 
@@ -96,9 +104,10 @@
 
         MarbleRenderPlugin * layerPlugin;
         if ( obj ) {
-            layerPlugin = qobject_cast<MarbleRenderPlugin *>(obj);
+            layerPlugin = qobject_cast<MarbleRenderPlugin *>(obj)->pluginInstance();
         }
 
+        qDebug() << "loading: " << obj << layerPlugin;
         if( obj && layerPlugin ) {
             d->m_renderPlugins.append( layerPlugin );
         }
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic