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:
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);