- GtkClipboard *clipboard = gtk_clipboard_get (GDK_SELECTION_PRIMARY);
- selection = gtk_clipboard_wait_for_text (clipboard);
+ gboolean do_check = TRUE;
+ GtkClipboard *clipboard;
+ if (GTK_IS_HTML (focused)) {
+ const gchar *sel;
+ int len = -1;
+ sel = gtk_html_get_selection_html (GTK_HTML (focused), &len);
+ do_check = !((sel == NULL) || (sel[0] == '\0'));
+ }
+ if (do_check) {
+ clipboard = gtk_clipboard_get (GDK_SELECTION_PRIMARY);
+ selection = gtk_clipboard_wait_for_text (clipboard);
+ } else {
+ selection = NULL;
+ }