| 537 } |
537 } |
| 538 |
538 |
| 539 #if GTK_CHECK_VERSION(2,2,0) |
539 #if GTK_CHECK_VERSION(2,2,0) |
| 540 static void gtk_imhtml_clipboard_get(GtkClipboard *clipboard, GtkSelectionData *selection_data, guint info, GtkIMHtml *imhtml) { |
540 static void gtk_imhtml_clipboard_get(GtkClipboard *clipboard, GtkSelectionData *selection_data, guint info, GtkIMHtml *imhtml) { |
| 541 char *text; |
541 char *text; |
| |
542 gboolean primary; |
| 542 GtkTextIter start, end; |
543 GtkTextIter start, end; |
| 543 GtkTextMark *sel = gtk_text_buffer_get_selection_bound(imhtml->text_buffer); |
544 GtkTextMark *sel = gtk_text_buffer_get_selection_bound(imhtml->text_buffer); |
| 544 GtkTextMark *ins = gtk_text_buffer_get_insert(imhtml->text_buffer); |
545 GtkTextMark *ins = gtk_text_buffer_get_insert(imhtml->text_buffer); |
| 545 |
546 |
| 546 gtk_text_buffer_get_iter_at_mark(imhtml->text_buffer, &start, sel); |
547 gtk_text_buffer_get_iter_at_mark(imhtml->text_buffer, &start, sel); |
| 547 gtk_text_buffer_get_iter_at_mark(imhtml->text_buffer, &end, ins); |
548 gtk_text_buffer_get_iter_at_mark(imhtml->text_buffer, &end, ins); |
| 548 gboolean primary = gtk_widget_get_clipboard(GTK_WIDGET(imhtml), GDK_SELECTION_PRIMARY) == clipboard; |
549 primary = gtk_widget_get_clipboard(GTK_WIDGET(imhtml), GDK_SELECTION_PRIMARY) == clipboard; |
| 549 |
550 |
| 550 if (info == TARGET_HTML) { |
551 if (info == TARGET_HTML) { |
| 551 int len; |
552 int len; |
| 552 char *selection; |
553 char *selection; |
| 553 GString *str = g_string_new(NULL); |
554 GString *str = g_string_new(NULL); |