svnno****@sourc*****
svnno****@sourc*****
Wed Feb 4 11:38:57 JST 2009
Revision: 3609 http://svn.sourceforge.jp/view?root=kazehakase&view=rev&rev=3609 Author: ikezoe Date: 2009-02-04 11:38:57 +0900 (Wed, 04 Feb 2009) Log Message: ----------- * module/embed/webkit-gtk/kz-webkit-gtk.c (copy_page): The current item passed to webkit_web_view_go_to_back_forward_item should be an item obtained from its parent web view. Modified Paths: -------------- kazehakase/trunk/ChangeLog kazehakase/trunk/module/embed/webkit-gtk/kz-webkit-gtk.c Modified: kazehakase/trunk/ChangeLog =================================================================== --- kazehakase/trunk/ChangeLog 2009-02-04 01:47:21 UTC (rev 3608) +++ kazehakase/trunk/ChangeLog 2009-02-04 02:38:57 UTC (rev 3609) @@ -12,6 +12,9 @@ shistory_copy. * module/embed/webkit-gtk/kz-webkit-gtk.c, module/embed/ie/kz-ie.c: Remove shistory_copy. + * module/embed/webkit-gtk/kz-webkit-gtk.c (copy_page): The current + item passed to webkit_web_view_go_to_back_forward_item should be an + item obtained from its parent web view. 2009-02-03 Hiroyuki Ikezoe <poinc****@ikezo*****> Modified: kazehakase/trunk/module/embed/webkit-gtk/kz-webkit-gtk.c =================================================================== --- kazehakase/trunk/module/embed/webkit-gtk/kz-webkit-gtk.c 2009-02-04 01:47:21 UTC (rev 3608) +++ kazehakase/trunk/module/embed/webkit-gtk/kz-webkit-gtk.c 2009-02-04 02:38:57 UTC (rev 3609) @@ -726,7 +726,6 @@ kz_bookmark_set_current(history, g_list_length(backward_items)); merge_item_to_history(history, &bookmark_node, current_item); - webkit_web_back_forward_list_get_current_item(list); merge_history_items_to_history(history, &bookmark_node, forward_items); @@ -764,7 +763,7 @@ KzBookmark *child = KZ_BOOKMARK(node->data); item = webkit_web_history_item_new_with_data(kz_bookmark_get_link(child), - kz_bookmark_get_title(child)); + kz_bookmark_get_title(child)); webkit_web_back_forward_list_add_item(list, item); total++; } @@ -779,8 +778,8 @@ copy_page (KzEmbed *src_embed, KzEmbed *dest_embed) { WebKitWebBackForwardList *src_list, *dest_list; - WebKitWebHistoryItem *current_item; - gint length, i; + WebKitWebHistoryItem *current_item = NULL; + gint length, i, current_position; src_list = webkit_web_view_get_back_forward_list(KZ_WEBKIT_GTK_GET_PRIVATE(src_embed)->web_view); if (!src_list) @@ -789,12 +788,11 @@ if (!dest_list) return; - current_item = webkit_web_back_forward_list_get_current_item(src_list); - /* Remove all items in dest list. */ webkit_web_back_forward_list_set_limit(dest_list, 0); length = webkit_web_back_forward_list_get_back_length(src_list); + current_position = length; length += webkit_web_back_forward_list_get_forward_length(src_list); length++; @@ -803,9 +801,14 @@ WebKitWebHistoryItem *item; item = webkit_web_back_forward_list_get_nth_item(src_list, i); webkit_web_back_forward_list_add_item(dest_list, item); + if (i == current_position) + current_item = item; } + if (current_item) { + webkit_web_view_go_to_back_forward_item(KZ_WEBKIT_GTK_GET_PRIVATE(dest_embed)->web_view, + current_item); + } - webkit_web_back_forward_list_go_to_item(dest_list, current_item); } static gboolean