CList DnD/selection "format" broken?



In gtkclist.c in GTK+ 1.2.8, we have:

	  gtk_selection_data_set (selection_data, selection_data->target,
				  GTK_TYPE_POINTER, (guchar *) &ret_info,
				  sizeof (GtkCListCellInfo));

But the reference says:

gtk_selection_data_set ()

-------------------------------------------------------------------------------
  void        gtk_selection_data_set          (GtkSelectionData *selection_data,
                                               GdkAtom type,
                                               gint format,
                                               guchar *data,
                                               gint length);


Store new data into a GtkSelectionData object. Should _only_ by called
from a selection handler callback. Null terminates the stored data.

   selection_data :
                                        
   type :
        the type of selection data
   format :
        format (number of bits in a unit)
   data :
        pointer to the data (will be copied)
   length :
        length of the data 
---------------------------------------------------------------------------------

if i read this right, this means that the above call is erroneous: the
3rd argument should denote the number of bits in a unit, and instead
its a enum (GTK_TYPE_POINTER) that has no relationship to the bits per
unit.

is this another one of those "oh yeah, CList is totally broken, use
1.3/2.0" type errors, or a misunderstanding on my part, or ...

does it really mean that you cannot drag from a CList to anything
else? why do I ask this? because over in gtkselection.c we have:
      
      g_return_val_if_fail ((data.format >= 8) && (data.format % 8 == 0), FALSE);

since GTK_TYPE_POINTER = 15, this causes gtk_selection_request() to
fail. needless to say, this seems bad. being able to drag from a clist
to another widget seems like a fairly obvious thing to do. am i
missing something?

--p







[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]