[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/4.4/kdelibs/plasma
From: Aaron J. Seigo <aseigo () kde ! org>
Date: 2010-02-03 10:30:31
Message-ID: 1265193031.306515.300.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1084578 by aseigo:
for consistency use khns3 dialog; look ma, no more memory leaks as a bonus!
BUG:225360
M +1 -1 CMakeLists.txt
M +10 -26 private/packages.cpp
M +3 -7 private/packages_p.h
--- branches/KDE/4.4/kdelibs/plasma/CMakeLists.txt #1084577:1084578
@@ -208,7 +208,7 @@
kde4_add_library(plasma SHARED ${plasma_LIB_SRCS})
-target_link_libraries(plasma ${KDE4_KIO_LIBS} ${KDE4_KFILE_LIBS} knewstuff2
+target_link_libraries(plasma ${KDE4_KIO_LIBS} ${KDE4_KFILE_LIBS} knewstuff3
${QT_QTUITOOLS_LIBRARY} ${QT_QTWEBKIT_LIBRARY}
kdnssd threadweaver ${KDE4_SOLID_LIBS} )
--- branches/KDE/4.4/kdelibs/plasma/private/packages.cpp #1084577:1084578
@@ -29,7 +29,7 @@
#include <klocale.h>
#include <kmessagebox.h>
-#include <knewstuff2/engine.h>
+#include <knewstuff3/downloaddialog.h>
#include "plasma/private/wallpaper_p.h"
@@ -37,8 +37,7 @@
{
PlasmoidPackage::PlasmoidPackage(QObject *parent)
- : Plasma::PackageStructure(parent, QString("Plasmoid")),
- m_knsEngine(0)
+ : Plasma::PackageStructure(parent, QString("Plasmoid"))
{
addDirectoryDefinition("images", "images/", i18n("Images"));
QStringList mimetypes;
@@ -70,13 +69,9 @@
PlasmoidPackage::~PlasmoidPackage()
{
- delete m_knsEngine;
+ delete m_knsDialog.data();
}
-void PlasmoidPackage::deleteNewStuffEngine()
-{
-}
-
void PlasmoidPackage::pathChanged()
{
KDesktopFile config(path() + "/metadata.desktop");
@@ -90,27 +85,16 @@
void PlasmoidPackage::createNewWidgetBrowser(QWidget *parent)
{
-//FIXME: memory leak below: it creates a new KNS::Engine every time it's called
-// however, due to issues in the KNS2 library, reusing the same engine causes crashes :(
-// if (!m_knsEngine) {
- m_knsEngine = new KNS::Engine(parent);
- kDebug() << "creating new kns engine" << m_knsEngine;
- if (!m_knsEngine->init("plasmoids.knsrc")) {
- delete m_knsEngine;
- m_knsEngine = 0;
- return;
- }
-// }
+ KNS3::DownloadDialog *knsDialog = m_knsDialog.data();
+ if (!knsDialog) {
+ m_knsDialog = knsDialog = new KNS3::DownloadDialog("plasmoids.knsrc", parent);
+ connect(knsDialog, SIGNAL(accepted()), this, SIGNAL(newWidgetBrowserFinished()));
+ }
- kDebug() << "successful kns engine" << m_knsEngine;
- m_knsEngine->downloadDialog(this, SLOT(widgetBrowserFinished()));
+ knsDialog->show();
+ knsDialog->raise();
}
-void PlasmoidPackage::widgetBrowserFinished()
-{
- emit newWidgetBrowserFinished();
-}
-
ThemePackage::ThemePackage(QObject *parent)
: Plasma::PackageStructure(parent, QString("Plasma Theme"))
{
--- branches/KDE/4.4/kdelibs/plasma/private/packages_p.h #1084577:1084578
@@ -24,9 +24,9 @@
#include "plasma/wallpaper.h"
#include "plasma/plasma.h"
-namespace KNS
+namespace KNS3
{
- class Engine;
+ class DownloadDialog;
} // namespace KNS
namespace Plasma
@@ -43,12 +43,8 @@
protected:
void pathChanged();
-protected Q_SLOTS:
- void widgetBrowserFinished();
- void deleteNewStuffEngine();
-
private:
- KNS::Engine *m_knsEngine;
+ QWeakPointer<KNS3::DownloadDialog> m_knsDialog;
};
class ThemePackage : public PackageStructure
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic