diff options
| author | 2009-01-23 17:30:44 +0000 | |
|---|---|---|
| committer | 2009-01-23 17:30:44 +0000 | |
| commit | a84bb76230b7cc9f0bbf3b1890672dad88e62287 (patch) | |
| tree | 0941610d6d5d63f98e678c1115cee8c2b9eef789 /src | |
| parent | reverting part of the previous commit (diff) | |
| download | KVIrc-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.cpp | 1 | ||||
| -rw-r--r-- | src/kvilib/ext/kvi_animatedpixmapcache.cpp | 12 | ||||
| -rw-r--r-- | src/kvilib/irc/kvi_avatar.cpp | 3 |
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; } |
