--- a/pidgin/gtkwebview.c Tue Jun 05 23:59:36 2012 +0000
+++ b/pidgin/gtkwebview.c Wed Jun 06 01:55:02 2012 +0000
@@ -315,8 +315,8 @@
GtkWebViewPriv *priv = GTK_WEBVIEW_GET_PRIVATE(webview);
- WebKitDOMDOMWindow *win = NULL;
- WebKitDOMDOMSelection *sel;
+ WebKitDOMDOMWindow *win; + WebKitDOMDOMSelection *sel = NULL; WebKitDOMRange *range = NULL;
dom = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(webview));
@@ -324,7 +324,8 @@
win = webkit_dom_document_get_default_view(dom);
sel = webkit_dom_dom_window_get_selection(win);
- range = webkit_dom_dom_selection_get_range_at(sel, 0, NULL);
+ if (webkit_dom_dom_selection_get_range_count(sel) > 0) + range = webkit_dom_dom_selection_get_range_at(sel, 0, NULL); webkit_web_view_select_all(WEBKIT_WEB_VIEW(webview));
@@ -333,9 +334,12 @@
priv->edit.block_changed = FALSE;
- sel = webkit_dom_dom_window_get_selection(win);
- webkit_dom_dom_selection_remove_all_ranges(sel);
- webkit_dom_dom_selection_add_range(sel, range);
+ webkit_dom_dom_selection_remove_all_ranges(sel); + webkit_dom_dom_selection_add_range(sel, range); + webkit_dom_dom_selection_collapse_to_end(sel, NULL);