diff -Nur skipstone-0.7.7-bak/src/support.c skipstone-0.7.7/src/support.c --- skipstone-0.7.7-bak/src/support.c Sat Dec 1 14:37:54 2001 +++ skipstone-0.7.7/src/support.c Wed Dec 5 07:28:06 2001 @@ -287,10 +287,24 @@ { NULL, 0} }; +typedef enum +{ + STRING, + COMPOUND_TEXT +} SelType; + +const GtkTargetEntry selection_types[] = +{ + { "STRING", 0, STRING }, + { "COMPOUND_TEXT", 0, COMPOUND_TEXT } +}; +const gint selection_types_num_targets = (sizeof (selection_types) / + sizeof (GtkTargetEntry)); + void set_selection_targets(GtkWidget *window, SkipStone *skipstone) { D_ENTER; - gtk_selection_add_target(window, GDK_SELECTION_PRIMARY, GDK_SELECTION_TYPE_STRING, 1); + gtk_selection_add_targets(GTK_WIDGET(window), GDK_SELECTION_PRIMARY, selection_types, selection_types_num_targets); gtk_signal_connect(GTK_OBJECT(window), "selection_get", GTK_SIGNAL_FUNC(on_selection_get), skipstone); gtk_signal_connect(GTK_OBJECT(window), "selection_received", GTK_SIGNAL_FUNC(on_selection_received), skipstone); D_RETURN; @@ -973,14 +987,15 @@ if (skipstone->clip) g_free(skipstone->clip); skipstone->clip = g_strdup(href); - if (!skipstone->is_notebook) + if (!skipstone->is_notebook) { selection = gtk_selection_owner_set(skipstone->window, GDK_SELECTION_PRIMARY, GDK_CURRENT_TIME); - else + } else { selection = gtk_selection_owner_set(main_window, GDK_SELECTION_PRIMARY, GDK_CURRENT_TIME); + } if (!selection) g_warning("Could not set selection\n"); D_RETURN;