Convert over to using an GtkInvisible - selections don't work properly

Sun Feb 24 23:23:28 2002  Owen Taylor  <otaylor@redhat.com>

	* tests/testselection.c (main): Convert over to using
	an GtkInvisible - selections don't work properly
	with now NO_WINDOW GtkToggleButton. (Example really
	should be using GtkClipboard.)

	* gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
	Fix  problems if sizeof(GdkAtom) != sizeof(Atom). (Unlikely)

	* gdk/x11/gdkproperty-x11.c (gdk_property_get): Set
	actual_length when converting atoms as well.
	(Gregory Merchan, #72074)
This commit is contained in:
Owen Taylor
2002-02-25 05:12:14 +00:00
committed by Owen Taylor
parent f9debe2f69
commit 3ce820584f
10 changed files with 117 additions and 10 deletions

View File

@ -105,6 +105,7 @@ static int num_targets = sizeof(targets)/sizeof(Target);
static int have_selection = FALSE;
GtkWidget *selection_widget;
GtkWidget *selection_text;
GtkWidget *selection_button;
GString *selection_string = NULL;
@ -367,7 +368,7 @@ paste (GtkWidget *widget, GtkWidget *entry)
return;
}
gtk_selection_convert (selection_button, GDK_SELECTION_PRIMARY, atom,
gtk_selection_convert (selection_widget, GDK_SELECTION_PRIMARY, atom,
GDK_CURRENT_TIME);
}
@ -400,6 +401,8 @@ main (int argc, char *argv[])
init_atoms();
selection_widget = gtk_invisible_new ();
dialog = gtk_dialog_new ();
gtk_widget_set_name (dialog, "Test Input");
gtk_container_set_border_width (GTK_CONTAINER(dialog), 0);
@ -425,15 +428,15 @@ main (int argc, char *argv[])
gtk_signal_connect (GTK_OBJECT(selection_button), "toggled",
GTK_SIGNAL_FUNC (selection_toggled), NULL);
gtk_signal_connect (GTK_OBJECT(selection_button), "selection_clear_event",
gtk_signal_connect (GTK_OBJECT(selection_widget), "selection_clear_event",
GTK_SIGNAL_FUNC (selection_clear), NULL);
gtk_signal_connect (GTK_OBJECT(selection_button), "selection_received",
gtk_signal_connect (GTK_OBJECT(selection_widget), "selection_received",
GTK_SIGNAL_FUNC (selection_received), NULL);
gtk_selection_add_targets (selection_button, GDK_SELECTION_PRIMARY,
gtk_selection_add_targets (selection_widget, GDK_SELECTION_PRIMARY,
targetlist, ntargets);
gtk_signal_connect (GTK_OBJECT(selection_button), "selection_get",
gtk_signal_connect (GTK_OBJECT(selection_widget), "selection_get",
GTK_SIGNAL_FUNC (selection_get), NULL);
selection_text = gtk_text_new (NULL, NULL);