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:
@ -244,21 +244,24 @@ gdk_selection_property_get (GdkWindow *requestor,
|
||||
|
||||
if (prop_type != None)
|
||||
{
|
||||
*data = g_new (guchar, length);
|
||||
|
||||
if (prop_type == XA_ATOM || prop_type == gdk_x11_get_xatom_by_name ("ATOM_PAIR"))
|
||||
{
|
||||
Atom* atoms = (Atom*) t;
|
||||
GdkAtom* atoms_dest = (GdkAtom*) *data;
|
||||
GdkAtom* atoms_dest;
|
||||
gint num_atom, i;
|
||||
|
||||
num_atom = (length - 1) / sizeof (Atom);
|
||||
length = sizeof (GdkAtom) * num_atom + 1;
|
||||
*data = g_malloc (length);
|
||||
(*data)[length - 1] = '\0';
|
||||
atoms_dest = (GdkAtom *)(*data);
|
||||
|
||||
num_atom = (length - 1) / sizeof (GdkAtom);
|
||||
for (i=0; i < num_atom; i++)
|
||||
atoms_dest[i] = gdk_x11_xatom_to_atom (atoms[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
memcpy (*data, t, length);
|
||||
*data = g_memdup (t, length);
|
||||
}
|
||||
|
||||
if (t)
|
||||
|
||||
Reference in New Issue
Block a user