viking

webkit based web browser for Enlightenment
Log | Files | Refs | LICENSE

commit 9884a2c1fcb56c510b8e8a2a9f3a0afed81b0f55
parent ed96fcc95a9f8e459ea677d6b093285e346777b6
Author: Kyle Milz <kmilz@ucalgary.ca>
Date:   Sat, 20 Oct 2012 00:57:00 -0600

main: always save session when session_save() called

Diffstat:
Msrc/main.c | 27+++++++++------------------
1 file changed, 9 insertions(+), 18 deletions(-)

diff --git a/src/main.c b/src/main.c @@ -31,49 +31,40 @@ session_save_cb(void *data) Buffer_Data *bd; Eina_List *buffer_iter, *win_iter; Session_Item *si; - Eina_Bool changed = EINA_FALSE; App_Data *ad = data; + Eina_Bool focused; + // int sx, sy; + /* TODO: only save when something has changed */ if (!config_restore_state_get(ad->config)) goto end; EINA_LIST_FOREACH(ad->windows, win_iter, wd) { EINA_LIST_FOREACH(wd->buffer_list, buffer_iter, bd) { - Evas_Object *view = bd->view; - const Eina_Bool focused = bd == wd->cur_buf; - const char *url, *wk_url; - // int sx, sy; + Evas_Object *view = bd->view; + focused = (bd == wd->cur_buf); si = evas_object_data_get(bd->view, "session"); if (!si) - printf("chrome %p doesn't have a Session_Item, ignoring\n", bd); + printf("buffer %p doesn't have a Session_Item, ignoring\n", bd); - url = session_item_url_get(si); - wk_url = ewk_view_url_get(view); - if ((url && wk_url && strcmp(url, wk_url)) || (wk_url && !url)) { - session_item_url_set(si, wk_url); - changed = EINA_TRUE; - } + session_item_url_set(si, ewk_view_url_get(view)); /* ewk_frame_scroll_pos_get(frame, &sx, &sy); if (session_item_scroll_x_get(si) != sx || session_item_scroll_y_get(si) != sy) { session_item_scroll_x_set(si, sx); session_item_scroll_y_set(si, sy); - changed = EINA_TRUE; } */ - if (session_item_focused_get(si) != focused) { + if (session_item_focused_get(si) != focused) session_item_focused_set(si, focused); - changed = EINA_TRUE; - } } } - if (changed) - session_save(ad->session, NULL); + session_save(ad->session, NULL); end: return ECORE_CALLBACK_RENEW; }