aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Fabio Bas2009-01-23 17:30:44 +0000
committerGravatar Fabio Bas2009-01-23 17:30:44 +0000
commita84bb76230b7cc9f0bbf3b1890672dad88e62287 (patch)
tree0941610d6d5d63f98e678c1115cee8c2b9eef789 /src
parentreverting part of the previous commit (diff)
downloadKVIrc-a84bb76230b7cc9f0bbf3b1890672dad88e62287.tar.gz
KVIrc-a84bb76230b7cc9f0bbf3b1890672dad88e62287.tar.bz2
KVIrc-a84bb76230b7cc9f0bbf3b1890672dad88e62287.zip
fixed avatar caching for avatars that needs to be cached; was causing major problems with animated avatars
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@3032 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
-rw-r--r--src/kvilib/ext/kvi_animatedpixmap.cpp1
-rw-r--r--src/kvilib/ext/kvi_animatedpixmapcache.cpp12
-rw-r--r--src/kvilib/irc/kvi_avatar.cpp3
3 files changed, 8 insertions, 8 deletions
diff --git a/src/kvilib/ext/kvi_animatedpixmap.cpp b/src/kvilib/ext/kvi_animatedpixmap.cpp
index f406601e7..ab3a85796 100644
--- a/src/kvilib/ext/kvi_animatedpixmap.cpp
+++ b/src/kvilib/ext/kvi_animatedpixmap.cpp
@@ -82,7 +82,6 @@ void KviAnimatedPixmap::nextFrame()
m_uCurrentFrameNumber++;
//Ensure, that we are not out of bounds
m_uCurrentFrameNumber %= m_lFrames->count();
-
emit(frameChanged());
//run timer again
diff --git a/src/kvilib/ext/kvi_animatedpixmapcache.cpp b/src/kvilib/ext/kvi_animatedpixmapcache.cpp
index 04dec62fb..ea46e4470 100644
--- a/src/kvilib/ext/kvi_animatedpixmapcache.cpp
+++ b/src/kvilib/ext/kvi_animatedpixmapcache.cpp
@@ -184,6 +184,7 @@ void KviAnimatedPixmapCache::internalSceduleFrameChange(uint delay,KviAnimatedP
if(needTimerChange)
{
+ m_animationTimer.stop();
m_animationTimer.start(delay);
}
@@ -213,7 +214,7 @@ void KviAnimatedPixmapCache::timeoutEvent()
*/
long long now = KviTimeUtils::getCurrentTimeMills() + 3;
-// m_timerMutex.lock();
+ //m_timerMutex.lock();
QMultiMap<long long, KviAnimatedPixmapInterface*>::iterator i =
m_timerData.begin();
@@ -225,19 +226,20 @@ void KviAnimatedPixmapCache::timeoutEvent()
i = m_timerData.erase(i);
}
+ // m_timerMutex.unlock();
+
if (i != m_timerData.end())
{
long long nextDelay = i.key();
uint delay = (uint) (nextDelay - KviTimeUtils::getCurrentTimeMills());
-/*
- if (delay < 0)
+
+ if ((int) delay < 0)
{
delay = 0;
}
-*/
+
m_animationTimer.start(delay);
}
-// m_timerMutex.unlock();
}
void KviAnimatedPixmapCache::sceduleFrameChange(uint when,KviAnimatedPixmapInterface* receiver)
diff --git a/src/kvilib/irc/kvi_avatar.cpp b/src/kvilib/irc/kvi_avatar.cpp
index e7ceb7b70..51508f159 100644
--- a/src/kvilib/irc/kvi_avatar.cpp
+++ b/src/kvilib/irc/kvi_avatar.cpp
@@ -133,11 +133,10 @@ KviAnimatedPixmap * KviAvatar::forSize(const QSize& size)
{
return m_scaledPixmapsCache[size];
}
-
KviAnimatedPixmap* scaledPixmap = new KviAnimatedPixmap(m_pPixmap);
scaledPixmap->resize(size,Qt::KeepAspectRatio);
- m_scaledPixmapsCache.insert(scaledPixmap->size(),scaledPixmap);
+ m_scaledPixmapsCache.insert(size,scaledPixmap);
return scaledPixmap;
}