From 963526152c18eb08fca5ab9197cadaa2f68d2061 Mon Sep 17 00:00:00 2001 From: Till Adam Date: Tue, 26 Feb 2002 21:12:45 +0000 Subject: [PATCH] - use the view->changed flag again and set it whenever necessary (I hope ;) - hopefully fix core on bsd reported by kirby kuehl SVN revision: 5988 --- src/e_view_machine.c | 2 ++ src/e_view_model.c | 1 + src/iconbar.c | 2 -- src/icons.c | 9 ++++----- src/view.c | 23 +++++++---------------- src/view.h | 2 -- 6 files changed, 14 insertions(+), 25 deletions(-) diff --git a/src/e_view_machine.c b/src/e_view_machine.c index 86412de6e..a099050eb 100644 --- a/src/e_view_machine.c +++ b/src/e_view_machine.c @@ -11,6 +11,8 @@ e_view_machine_init() D_ENTER; /* FIXME make this a singleton */ VM= NEW(E_View_Model, 1); + VM->views = NULL; + VM->models = NULL; e_view_init(); e_view_model_init(); D_RETURN; diff --git a/src/e_view_model.c b/src/e_view_model.c index 7325bc032..9c308fd9c 100644 --- a/src/e_view_model.c +++ b/src/e_view_model.c @@ -397,6 +397,7 @@ e_view_model_handle_efsd_event_reply_getmeta(EfsdEvent *ev) ecore_window_move(v->win.base, v->location.x, v->location.y); ecore_window_resize(v->win.base, v->size.w, v->size.h); v->size.force = 1; + v->changed = 1; /* We have received all metadata we need, display the view */ if ((!v->geom_get.x) && diff --git a/src/iconbar.c b/src/iconbar.c index d2ab5d6b7..df8675f3c 100644 --- a/src/iconbar.c +++ b/src/iconbar.c @@ -1764,7 +1764,5 @@ e_iconbar_set_view_window_spacing (E_Iconbar * ib) else ib->view->spacing.window.b = (ib->view->size.h - y) / 2 + 15; } - - D_RETURN; } diff --git a/src/icons.c b/src/icons.c index 083711450..781286d54 100644 --- a/src/icons.c +++ b/src/icons.c @@ -730,7 +730,6 @@ e_icon_update_state(E_Icon *ic) { char icon[PATH_MAX]; int iw, ih; - int gw, gh; D_ENTER; if (!ic->file->info.icon) @@ -806,11 +805,11 @@ e_icon_update_state(E_Icon *ic) evas_set_image_file(ic->view->evas, ic->obj.icon, icon); evas_get_image_size(ic->view->evas, ic->obj.icon, &iw, &ih); e_icon_check_permissions(ic); - gw = ic->geom.icon.w; - gh = ic->geom.icon.h; e_icon_apply_xy(ic); - if ((iw == gw) && (ih == gh)) D_RETURN; - e_view_queue_resort(ic->view); + ic->view->changed = 1; + + if ((iw != ic->geom.icon.w) || (ih != ic->geom.icon.h)) + e_view_queue_resort(ic->view); D_RETURN; } diff --git a/src/view.c b/src/view.c index ad89e2072..717781eef 100644 --- a/src/view.c +++ b/src/view.c @@ -235,6 +235,7 @@ e_view_selection_update(E_View *v) evas_del_object(v->evas, v->select.obj.grad_b); evas_del_object(v->evas, v->select.obj.clip); v->select.obj.middle = NULL; + v->changed = 1; D_RETURN; } if (!v->select.on) D_RETURN; @@ -272,7 +273,7 @@ e_view_selection_update(E_View *v) evas_show(v->evas, v->select.obj.grad_t); evas_show(v->evas, v->select.obj.grad_b); evas_show(v->evas, v->select.obj.clip); - + v->changed = 1; D_RETURN; } @@ -1512,6 +1513,7 @@ e_view_arrange(E_View *v) if (sr < sm) e_scrollbar_show(v->scrollbar.h); else e_scrollbar_hide(v->scrollbar.h); + v->changed = 1; D_RETURN; } @@ -1679,16 +1681,6 @@ _member.r = _r; _member.g = _g; _member.b = _b; _member.a = _a; D_RETURN_(v); } -void -e_view_set_background(E_View *v) -{ - D_ENTER; - - v->changed = 1; - - D_RETURN; -} - void e_view_set_dir(E_View *v, char *dir, int is_desktop) { @@ -1838,11 +1830,8 @@ e_view_update(E_View *v) D_ENTER; - /* FIXME find all places where setting the dirty flag is needed */ -/* - * if (!v->changed) - * D_RETURN; - */ + if (!v->changed) + D_RETURN; if(v->drag.icon_hide) { @@ -1938,6 +1927,7 @@ e_view_file_changed(E_View *v, E_File *f) if (ic) { } + v->changed = 1; D_RETURN; } @@ -2036,6 +2026,7 @@ e_view_bg_reload(E_View *v) e_bg_show(v->bg); } } + v->changed = 1; D_RETURN; } diff --git a/src/view.h b/src/view.h index a13911a1a..d125536f3 100644 --- a/src/view.h +++ b/src/view.h @@ -215,8 +215,6 @@ E_View *e_view_find_by_window(Window win); */ E_View *e_view_new(void); -void e_view_set_background(E_View *v); - /** * e_view_set_dir - Sets view to a given directory * @v The view for which to set the directory