viking

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

commit 1a822710ea45bf4b09f6b9dab75cfd58aef2e242
parent 56657f51e7989c5c9c6c3d0a5c8b08b37ad58658
Author: Kyle Milz <kmilz@ucalgary.ca>
Date:   Wed, 17 Oct 2012 22:07:38 -0600

hook up 2 more buffer signals

Diffstat:
Msrc/buffer.c | 20++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/src/buffer.c b/src/buffer.c @@ -509,7 +509,13 @@ close_window_cb(void *data, Evas_Object *obj, void *event_info) } static void -webview_free_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) +create_window_cb(void *data, Evas_Object *obj, void *event_info) +{ + printf("create_window()\n"); +} + +static void +free_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { Buffer_Data *bd = data; Window_Data *wd = bd->window; @@ -517,11 +523,16 @@ webview_free_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) if (!wd->app->exiting) wd->cur_buf->view = NULL; - + wd->buffer_list = eina_list_remove(wd->buffer_list, bd); if (eina_list_count(wd->buffer_list)) { - window_main_buffer_set(eina_list_nth(wd->buffer_list, 0)); + printf("buffer_free_cb() freeing buffer\n"); + // window_main_buffer_set(eina_list_nth(wd->buffer_list, 0)); + } + else { + printf("buffer_free_cb() all buffers are gone!\n"); + // evas_object_del(wd->win); } free(bd); @@ -720,6 +731,7 @@ buffer_add(const unsigned char flags, Window_Data *wd, const char *url, Session_ evas_object_smart_callback_add(v, "policy,decision,new,window", policy_new_window_cb, bd); evas_object_smart_callback_add(v, "close,window", close_window_cb, bd); + evas_object_smart_callback_add(v, "create,window", create_window_cb, bd); /* not yet implemented in ewebkit */ // evas_object_smart_callback_add(v, "link,hover,in", hoverlink_cb, td); @@ -727,7 +739,7 @@ buffer_add(const unsigned char flags, Window_Data *wd, const char *url, Session_ // evas_object_smart_callback_add(v, "inputmethod,changed", inputmethod_changed_cb, td); /* evas events */ - evas_object_event_callback_add(v, EVAS_CALLBACK_FREE, webview_free_cb, bd); + evas_object_event_callback_add(v, EVAS_CALLBACK_FREE, free_cb, bd); evas_object_event_callback_add(v, EVAS_CALLBACK_KEY_DOWN, webview_keypress_cb, bd); // evas_object_event_callback_add(v, EVAS_CALLBACK_MOUSE_UP, notify_event_cb, bd); evas_object_event_callback_add(v, EVAS_CALLBACK_MOUSE_WHEEL, mousewheel_cb, bd);