summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Atallah <datallah@pidgin.im>2007-10-25 04:39:54 +0000
committerDaniel Atallah <datallah@pidgin.im>2007-10-25 04:39:54 +0000
commitcc03ee83e5c69ede60714cdd2b799b2901ef57b9 (patch)
tree979ffa09b0a1c170b44c425c482f31796c5ff8e6
parent3e4debd65db27ef176ba9567a8d115e523fce787 (diff)
downloadpidgin-cc03ee83e5c69ede60714cdd2b799b2901ef57b9.tar.gz
applied changes from 19bcca8f96fcaa68dcad666f4fd3753a279184ba
through 1d22d94af90b1e45912ef1b50960e676dd578f35
-rw-r--r--pidgin/gtkimhtml.c38
1 files changed, 11 insertions, 27 deletions
diff --git a/pidgin/gtkimhtml.c b/pidgin/gtkimhtml.c
index b11befd9df..0286df42b8 100644
--- a/pidgin/gtkimhtml.c
+++ b/pidgin/gtkimhtml.c
@@ -138,7 +138,7 @@ static guint signals [LAST_SIGNAL] = { 0 };
static char *html_clipboard = NULL;
static char *text_clipboard = NULL;
-GtkClipboard *clipboard_selection = NULL;
+static GtkClipboard *clipboard_selection = NULL;
static GtkTargetEntry selection_targets[] = {
#ifndef _WIN32
@@ -898,10 +898,9 @@ static void gtk_imhtml_clipboard_get(GtkClipboard *clipboard, GtkSelectionData *
char *text = NULL;
gboolean primary = (clipboard != clipboard_selection);
GtkTextIter start, end;
- GtkTextMark *sel = NULL;
- GtkTextMark *ins = NULL;
- if (primary) {
+ if (primary) {
+ GtkTextMark *sel = NULL, *ins = NULL;
ins = gtk_text_buffer_get_insert(imhtml->text_buffer);
sel = gtk_text_buffer_get_selection_bound(imhtml->text_buffer);
gtk_text_buffer_get_iter_at_mark(imhtml->text_buffer, &start, sel);
@@ -969,20 +968,16 @@ static void copy_clipboard_cb(GtkIMHtml *imhtml, gpointer unused)
if (gtk_text_buffer_get_selection_bounds(imhtml->text_buffer, &start, &end)) {
if (!clipboard_selection)
clipboard_selection = gtk_widget_get_clipboard(GTK_WIDGET(imhtml), GDK_SELECTION_CLIPBOARD);
- gtk_clipboard_set_with_owner(clipboard_selection,
+ gtk_clipboard_set_with_data(clipboard_selection,
selection_targets, sizeof(selection_targets) / sizeof(GtkTargetEntry),
(GtkClipboardGetFunc)gtk_imhtml_clipboard_get,
- (GtkClipboardClearFunc)gtk_imhtml_clipboard_clear, G_OBJECT(imhtml));
+ (GtkClipboardClearFunc)gtk_imhtml_clipboard_clear, NULL);
g_free(html_clipboard);
g_free(text_clipboard);
- imhtml->clipboard_html_string = gtk_imhtml_get_markup_range(imhtml, &start, &end);
- imhtml->clipboard_text_string = gtk_imhtml_get_text(imhtml, &start, &end);
-
- text_clipboard = imhtml->clipboard_text_string;
- html_clipboard = imhtml->clipboard_html_string;
-
+ html_clipboard = gtk_imhtml_get_markup_range(imhtml, &start, &end);
+ text_clipboard = gtk_imhtml_get_text(imhtml, &start, &end);
}
g_signal_stop_emission_by_name(imhtml, "copy-clipboard");
@@ -994,19 +989,16 @@ static void cut_clipboard_cb(GtkIMHtml *imhtml, gpointer unused)
if (gtk_text_buffer_get_selection_bounds(imhtml->text_buffer, &start, &end)) {
if (!clipboard_selection)
clipboard_selection = gtk_widget_get_clipboard(GTK_WIDGET(imhtml), GDK_SELECTION_CLIPBOARD);
- gtk_clipboard_set_with_owner(clipboard_selection,
+ gtk_clipboard_set_with_data(clipboard_selection,
selection_targets, sizeof(selection_targets) / sizeof(GtkTargetEntry),
(GtkClipboardGetFunc)gtk_imhtml_clipboard_get,
- (GtkClipboardClearFunc)gtk_imhtml_clipboard_clear, G_OBJECT(imhtml));
+ (GtkClipboardClearFunc)gtk_imhtml_clipboard_clear, NULL);
g_free(html_clipboard);
g_free(text_clipboard);
- imhtml->clipboard_html_string = gtk_imhtml_get_markup_range(imhtml, &start, &end);
- imhtml->clipboard_text_string = gtk_imhtml_get_text(imhtml, &start, &end);
-
- text_clipboard = imhtml->clipboard_text_string;
- html_clipboard = imhtml->clipboard_html_string;
+ html_clipboard = gtk_imhtml_get_markup_range(imhtml, &start, &end);
+ text_clipboard = gtk_imhtml_get_text(imhtml, &start, &end);
if (imhtml->editable)
gtk_text_buffer_delete_selection(imhtml->text_buffer, FALSE, FALSE);
@@ -1269,11 +1261,6 @@ gtk_imhtml_finalize (GObject *object)
g_free(imhtml->search_string);
g_object_unref(imhtml->undo_manager);
G_OBJECT_CLASS(parent_class)->finalize (object);
- if (clipboard_selection)
- gtk_clipboard_set_with_owner(clipboard_selection,
- selection_targets, sizeof(selection_targets) / sizeof(GtkTargetEntry),
- (GtkClipboardGetFunc)gtk_imhtml_clipboard_get,
- (GtkClipboardClearFunc)NULL, G_OBJECT(imhtml));
}
@@ -1464,9 +1451,6 @@ static void gtk_imhtml_init (GtkIMHtml *imhtml)
gtk_widget_add_events(GTK_WIDGET(imhtml),
GDK_LEAVE_NOTIFY_MASK | GDK_ENTER_NOTIFY_MASK);
- imhtml->clipboard_text_string = NULL;
- imhtml->clipboard_html_string = NULL;
-
imhtml->tip = NULL;
imhtml->tip_timer = 0;
imhtml->tip_window = NULL;