[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: patch: background refresh
From: Geert Jansen <g.t.jansen () stud ! tue ! nl>
Date: 2000-08-28 10:07:53
[Download RAW message or body]
Hi!
The patch below hould fix the problem that a background program (xearth) is
not updated, when exports are off. Please revise.
Greetings,
Geert
["difje" (text/x-c++)]
Index: bgmanager.cc
===================================================================
RCS file: /home/kde/kdebase/kdesktop/bgmanager.cc,v
retrieving revision 1.49
diff -u -r1.49 bgmanager.cc
--- bgmanager.cc 2000/07/16 07:54:22 1.49
+++ bgmanager.cc 2000/08/28 09:40:22
@@ -23,6 +23,7 @@
#include <qwhatsthis.h>
#include <qpainter.h>
#include <qscrollview.h>
+#include <qarray.h>
#include <kglobal.h>
#include <klocale.h>
@@ -48,6 +49,7 @@
template class QVector<KBackgroundRenderer>;
template class QVector<KBackgroundCacheEntry>;
+template class QArray<int>;
/**** KBackgroundManager ****/
@@ -488,14 +490,17 @@
*/
void KBackgroundManager::slotTimeout()
{
+ QArray<int> running(m_Renderer.size());
+ running.fill(0);
+
for (unsigned i=0; i<m_Renderer.size(); i++)
{
KBackgroundRenderer *r = m_Renderer[i];
bool change = false;
if ((r->backgroundMode() == KBackgroundSettings::Program) &&
- (m_Cache[i]->hash != 0) &&
- (r->KBackgroundProgram::needUpdate())
+ (r->KBackgroundProgram::needUpdate()) &&
+ (!running.contains(r->hash()))
)
{
r->KBackgroundProgram::update();
@@ -509,7 +514,10 @@
}
if (change)
+ {
+ running[i] = r->hash();
r->start();
+ }
}
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic