comparison src/pan-item.c @ 138:71e1ebee420e

replaced gchar* path with FileData *fd
author nadvornik
date Tue, 11 Sep 2007 20:06:29 +0000
parents de64a683d5d0
children f6e307c7bad6
comparison
equal deleted inserted replaced
137:be3328a58875 138:71e1ebee420e
23 void pan_item_free(PanItem *pi) 23 void pan_item_free(PanItem *pi)
24 { 24 {
25 if (!pi) return; 25 if (!pi) return;
26 26
27 if (pi->pixbuf) g_object_unref(pi->pixbuf); 27 if (pi->pixbuf) g_object_unref(pi->pixbuf);
28 if (pi->fd) file_data_free(pi->fd); 28 if (pi->fd) file_data_unref(pi->fd);
29 g_free(pi->text); 29 g_free(pi->text);
30 g_free(pi->key); 30 g_free(pi->key);
31 g_free(pi->data); 31 g_free(pi->data);
32 32
33 g_free(pi); 33 g_free(pi);
605 605
606 work = pw->cache_list; 606 work = pw->cache_list;
607 while (work) 607 while (work)
608 { 608 {
609 PanCacheData *pc; 609 PanCacheData *pc;
610 gchar *path;
611 610
612 pc = work->data; 611 pc = work->data;
613 work = work->next; 612 work = work->next;
614 613
615 path = ((FileData *)pc)->path;
616
617 if (pc->cd && pc->cd->dimensions && 614 if (pc->cd && pc->cd->dimensions &&
618 path && strcmp(path, pi->fd->path) == 0) 615 pc->fd && pc->fd == pi->fd)
619 { 616 {
620 pi->width = MAX(1, pc->cd->width * pw->image_size / 100); 617 pi->width = MAX(1, pc->cd->width * pw->image_size / 100);
621 pi->height = MAX(1, pc->cd->height * pw->image_size / 100); 618 pi->height = MAX(1, pc->cd->height * pw->image_size / 100);
622 619
623 pw->cache_list = g_list_remove(pw->cache_list, pc); 620 pw->cache_list = g_list_remove(pw->cache_list, pc);
624 cache_sim_data_free(pc->cd); 621 cache_sim_data_free(pc->cd);
625 file_data_free((FileData *)pc); 622 file_data_unref(pc->fd);
623 g_free(pc);
626 return; 624 return;
627 } 625 }
628 } 626 }
629 } 627 }
630 628