--- a/pidgin/gtkwebview.c Sun Jun 03 21:00:43 2012 +0000
+++ b/pidgin/gtkwebview.c Sun Jun 03 21:13:19 2012 +0000
@@ -840,6 +840,22 @@
+gtk_webview_get_selected_text(GtkWebView *webview) + WebKitDOMDocument *dom; + WebKitDOMDOMWindow *win; + WebKitDOMDOMSelection *sel; + dom = webkit_web_view_get_dom_document(WEBKIT_WEB_VIEW(webview)); + 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); + return webkit_dom_range_get_text(range); gtk_webview_get_format_functions(GtkWebView *webview)
--- a/pidgin/gtkwebview.h Sun Jun 03 21:00:43 2012 +0000
+++ b/pidgin/gtkwebview.h Sun Jun 03 21:13:19 2012 +0000
@@ -309,7 +309,16 @@
* @return The HTML-free text that is currently displayed.
gchar *gtk_webview_get_body_text(GtkWebView *webview);
-gchar *gtk_webview_get_head_text(GtkWebView *webview);
+ * Gets the selected text of a GtkWebView. + * @param webview The GtkWebView + * @return The HTML-free text that is currently selected, or NULL if nothing is +gchar *gtk_webview_get_selected_text(GtkWebView *webview); * Clear all the formatting on a GtkWebView.
--- a/pidgin/gtkwebviewtoolbar.c Sun Jun 03 21:00:43 2012 +0000
+++ b/pidgin/gtkwebviewtoolbar.c Sun Jun 03 21:13:19 2012 +0000
@@ -509,9 +509,6 @@
PurpleRequestFields *fields;
PurpleRequestFieldGroup *group;
PurpleRequestField *field;
- GtkTextIter start, end;
@@ -525,11 +522,7 @@
purple_request_field_group_add_field(group, field);
if (gtk_webview_get_format_functions(GTK_WEBVIEW(toolbar->webview)) & GTK_WEBVIEW_LINKDESC) {
- if (gtk_text_buffer_get_selection_bounds(GTK_WEBVIEW(toolbar->webview)->text_buffer, &start, &end)) {
- desc = gtk_webview_get_text(GTK_WEBVIEW(toolbar->webview), &start, &end);
+ desc = gtk_webview_get_selected_text(GTK_WEBVIEW(toolbar->webview)); field = purple_request_field_string_new("description", _("_Description"),
purple_request_field_group_add_field(group, field);