diff options
author | Johannes Hofmann <Johannes.Hofmann@gmx.de> | 2009-01-09 11:05:54 +0100 |
---|---|---|
committer | Johannes Hofmann <Johannes.Hofmann@gmx.de> | 2009-01-09 11:05:54 +0100 |
commit | 3ac2a750cff9237342432c3175387b49f295767e (patch) | |
tree | 8a465ed37366c4658ea377544f314a1b7e12e76c /src/dicache.c | |
parent | e705debdae8d2ff8e4331246e4d51c077a4235ba (diff) |
Backed out changeset abdae95b1c9e
The optimization was causing crashes.
Diffstat (limited to 'src/dicache.c')
-rw-r--r-- | src/dicache.c | 8 |
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); |