aboutsummaryrefslogtreecommitdiff
path: root/src/dicache.c
diff options
context:
space:
mode:
authorJohannes Hofmann <Johannes.Hofmann@gmx.de>2009-01-09 11:05:54 +0100
committerJohannes Hofmann <Johannes.Hofmann@gmx.de>2009-01-09 11:05:54 +0100
commit3ac2a750cff9237342432c3175387b49f295767e (patch)
tree8a465ed37366c4658ea377544f314a1b7e12e76c /src/dicache.c
parente705debdae8d2ff8e4331246e4d51c077a4235ba (diff)
Backed out changeset abdae95b1c9e
The optimization was causing crashes.
Diffstat (limited to 'src/dicache.c')
-rw-r--r--src/dicache.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/dicache.c b/src/dicache.c
index 975b6a10..c8cf7471 100644
--- a/src/dicache.c
+++ b/src/dicache.c
@@ -388,12 +388,10 @@ void a_Dicache_callback(int Op, CacheClient_t *Client)
Client->Version = DicEntry->version;
/* Only call the decoder when necessary */
- int newData = FALSE;
if (Op == CA_Send && DicEntry->State < DIC_Close &&
DicEntry->DecodedSize < Client->BufSize) {
DicEntry->Decoder(Op, Client);
DicEntry->DecodedSize = Client->BufSize;
- newData = TRUE;
} else if (Op == CA_Close || Op == CA_Abort) {
if (DicEntry->State < DIC_Close) {
DicEntry->Decoder(Op, Client);
@@ -411,7 +409,7 @@ void a_Dicache_callback(int Op, CacheClient_t *Client)
DicEntry->version, DicEntry->width, DicEntry->height,
DicEntry->type);
}
- if (DicEntry->State == DIC_Write && newData) {
+ if (DicEntry->State == DIC_Write) {
if (DicEntry->ScanNumber == Image->ScanNumber) {
for (i = 0; i < DicEntry->height; ++i)
if (a_Bitvec_get_bit(DicEntry->BitVec, (int)i) &&
@@ -452,8 +450,8 @@ void a_Dicache_cleanup(void)
node = dList_nth_data(CachedIMGs, i);
/* iterate each entry of this node */
for (entry = node->first; entry; entry = entry->next) {
- if (entry->RefCount == 1 ||
- (entry->v_imgbuf && a_Imgbuf_last_reference(entry->v_imgbuf))) {
+ if (entry->v_imgbuf &&
+ a_Imgbuf_last_reference(entry->v_imgbuf)) {
/* free this unused entry */
if (entry->next) {
Dicache_remove(node->url, entry->version);