dnd support




hi aopwith (and gtk folks),

while fixing the gtkcolorselection segfault,
i took a look at the current state of the dnd
implementation.

at the moment gtk_widget_dnd_drag_set() and
gtk_widget_dnd_drop_set() need the corresponding widget to have
a realized window, therefore these functions can not be called
before gtk_widget_show() on the corresponding toplevel
widget (calling gtk_widget_realize() inside this functions
doesn't help).

i would therefore like to propose to implement a new signal
like widget::dnd-setup (or such) to be emitted *after*
the widgets realization.
this would then make the coresponding calls to
gdk_window_dnd_drag_set() and gdk_window_dnd_drop_set() which
got queued in preceeding calls to gtk_widget_dnd_drag_set()/
gtk_widget_dnd_drop_set().

also, for preventing the
> Run testgtk
> Open the button window
> Drag button one onto button two
> Close the button window
> Open the button window
> Drag button one onto button two
> Poof!
segfault, there should be a widget::dnd-setup counterpart to
unconnect the window from any dnd stuff (like e.g. widget::dnd-cleanup).
this would then be emitted *before* the emission of widget::unrealize.

any objections, suggesions etc... ?

sopwith, could you explain what else for the dnd section is to
come / will be implemented later?


ALSO:	i would like to *strongly* encourage people to stick
	to peter's coding conventions and to use the malloc()
	free() etc replacements from glib.
	a call to XFree(something) like the one in testgtk.c
	*must* be wrapped by gtk (or more appropriate: gdk).
	we all know that it's quite hard to stick to the coding
	conventions if so many fellow programmers are working
	on the same project.
	so please please please everyone, have enough discipline
	to keep the coding style as stable and consistent as
	the libraries themselves!
	
	
---
ciaoTJ



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