diff --git a/src/bin/e_zone.c b/src/bin/e_zone.c index 7c6901440..1f05a542e 100644 --- a/src/bin/e_zone.c +++ b/src/bin/e_zone.c @@ -1005,9 +1005,16 @@ e_zone_useful_geometry_get(E_Zone *zone, int *x, int *y, int *w, int *h) EAPI void e_zone_useful_geometry_dirty(E_Zone *zone) { + E_Event_Zone_Move_Resize *ev; + E_OBJECT_CHECK(zone); E_OBJECT_TYPE_CHECK(zone, E_ZONE_TYPE); + ev = E_NEW(E_Event_Zone_Move_Resize, 1); + ev->zone = zone; + e_object_ref(E_OBJECT(ev->zone)); + ecore_event_add(E_EVENT_ZONE_MOVE_RESIZE, ev, _e_zone_event_move_resize_free, NULL); + zone->useful_geometry.dirty = 1; zone->useful_geometry.x = -1; zone->useful_geometry.y = -1; diff --git a/src/modules/fileman/e_fwin.c b/src/modules/fileman/e_fwin.c index 1dd47da36..70a872922 100644 --- a/src/modules/fileman/e_fwin.c +++ b/src/modules/fileman/e_fwin.c @@ -179,6 +179,7 @@ e_fwin_zone_new(E_Zone *zone, const char *dev, const char *path) E_Fwin *fwin; E_Fwin_Page *page; Evas_Object *o; + int x, y, w, h; fwin = E_OBJECT_ALLOC(E_Fwin, E_FWIN_TYPE, _e_fwin_free); if (!fwin) return; @@ -249,8 +250,10 @@ e_fwin_zone_new(E_Zone *zone, const char *dev, const char *path) _e_fwin_pan_child_size_get); evas_object_propagate_events_set(page->fm_obj, 0); page->scrollframe_obj = o; - evas_object_move(o, fwin->zone->x, fwin->zone->y); - evas_object_resize(o, fwin->zone->w, fwin->zone->h); + + e_zone_useful_geometry_get(zone, &x, &y, &w, &h); + evas_object_move(o, x, y); + evas_object_resize(o, w, h); evas_object_show(o); e_fm2_window_object_set(page->fm_obj, E_OBJECT(fwin->zone)); @@ -1375,8 +1378,10 @@ _e_fwin_zone_move_resize(void *data, int type, void *event) } if (fwin->cur_page->scrollframe_obj) { - evas_object_move(fwin->cur_page->scrollframe_obj, ev->zone->x, ev->zone->y); - evas_object_resize(fwin->cur_page->scrollframe_obj, ev->zone->w, ev->zone->h); + int x, y, w, h; + e_zone_useful_geometry_get(ev->zone, &x, &y, &w, &h); + evas_object_move(fwin->cur_page->scrollframe_obj, x, y); + evas_object_resize(fwin->cur_page->scrollframe_obj, w, h); } return 1; }