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

List:       kde-commits
Subject:    KDE/kdelibs/kio/kio
From:       David Faure <faure () kde ! org>
Date:       2010-09-30 22:13:37
Message-ID: 20100930221337.0E933AC891 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1181399 by dfaure:

Apply changes to the configuration immediately (e.g. reload useragent \
configs), before we open any URL. Otherwise one had to hit "reload" after \
using the uachanger plugin, just because the dbus signal was processed \
after the openUrl call. Tested on http://whatsmyuseragent.com/


 M  +12 -4     scheduler.cpp  
 M  +1 -1      scheduler.h  


--- trunk/KDE/kdelibs/kio/kio/scheduler.cpp #1181398:1181399
@@ -705,7 +705,7 @@
     void slotSlaveStatus(pid_t pid, const QByteArray &protocol,
                          const QString &host, bool connected);
 
-    void slotReparseSlaveConfiguration(const QString &);
+    void slotReparseSlaveConfiguration(const QString &, const \
QDBusMessage&);  
     void slotSlaveConnected();
     void slotSlaveError(int error, const QString &errorMsg);
@@ -758,7 +758,7 @@
     dbus.registerObject( "/KIO/Scheduler", this, \
                QDBusConnection::ExportScriptableSlots |
                                                  \
                QDBusConnection::ExportScriptableSignals );
     dbus.connect(QString(), dbusPath, dbusInterface, \
                "reparseSlaveConfiguration",
-                 this, SLOT(slotReparseSlaveConfiguration(QString)));
+                 this, \
SLOT(slotReparseSlaveConfiguration(QString,QDBusMessage)));  }
 
 Scheduler::~Scheduler()
@@ -863,12 +863,20 @@
 void Scheduler::emitReparseSlaveConfiguration()
 {
     emit self()->reparseSlaveConfiguration( QString() );
+
+    // Do it immediately in this process, otherwise we might send a \
request before reparsing +    // (e.g. when changing useragent in the \
plugin) +    schedulerPrivate->slotReparseSlaveConfiguration(QString(), \
QDBusMessage());  }
 
 
-void SchedulerPrivate::slotReparseSlaveConfiguration(const QString &proto)
+void SchedulerPrivate::slotReparseSlaveConfiguration(const QString &proto, \
const QDBusMessage& msg)  {
-    kDebug(7006) << proto;
+    if (QDBusConnection::sessionBus().baseService() == msg.service()) {
+        kDebug(7006) << "Ignoring signal sent by myself";
+        return;
+    }
+    kDebug(7006) << "proto=" << proto;
     KProtocolManager::reparseConfiguration();
     SlaveConfig::self()->reset();
     sessionData.reset();
--- trunk/KDE/kdelibs/kio/kio/scheduler.h #1181398:1181399
@@ -283,7 +283,7 @@
                                                const QString &host, bool \
connected))  
         // connected to D-Bus signal:
-        Q_PRIVATE_SLOT(schedulerPrivate, void \
slotReparseSlaveConfiguration(const QString &)) +        \
Q_PRIVATE_SLOT(schedulerPrivate, void slotReparseSlaveConfiguration(const \
QString &, const QDBusMessage&))  
         Q_PRIVATE_SLOT(schedulerPrivate, void slotSlaveConnected())
         Q_PRIVATE_SLOT(schedulerPrivate, void slotSlaveError(int error, \
const QString &errorMsg))


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

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