On Wednesday 27 August 2008, Petri Damstén wrote:
> On Wednesday 27 August 2008 20:04:11 Aaron J. Seigo wrote:

> All three ways works the same way. Debug output in previous email shows
> that it goes like this:
> checkForUpdate() -> relay->checkQueueing() -> where m_queued == false and
> signal won't get emitted. It gets set to true only in timerEvent(?) which
> is not called yet.

ah, you're connecting using a timeout (which is a bit odd in this case, 
really; why would you want a regularly timed update from a command vs getting 
it's output when it arrives?)

in any case .. this is probably due to the change i made the other day that 
doesn't immediately schedule an update if it is the first item connected.

can you try the attached patch and see if that helps any?

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Trolltech

Index: libs/plasma/private/datacontainer_p.cpp
===================================================================
--- libs/plasma/private/datacontainer_p.cpp	(revision 852899)
+++ libs/plasma/private/datacontainer_p.cpp	(working copy)
@@ -61,7 +61,7 @@
       m_interval(ival),
       m_align(align),
       m_resetTimer(true),
-      m_queued(false)
+      m_queued(true)
 {
     //kDebug() << "signal relay with time of" << m_timerId << "being set up";
     m_timerId = startTimer(immediateUpdate ? 0 : m_interval);
@@ -142,6 +142,7 @@
     if (d->hasUpdates()) {
         //kDebug() << "emitting data updated directly" << d->data;
         emit dataUpdated(dc->objectName(), d->data);
+        m_queued = false;
     } else {
         // the source wasn't actually updated; so let's put ourselves in the queue
         // so we get a dataUpdated() call when the data does arrive

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Plasma-devel mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to