gtk-2 bug, inconsistency or simply misunderstanding on my side ?

Olivier Fourdan fourdan at xfce.org
Fri Sep 27 09:57:14 CEST 2002


Hi Owen,

> How are you removing it? What do you mean by "freed twice"?
> Can you provide a small test case?

The container is removed with gtk_widget_destroy. By "freed twice", I
mean that the widget destroy routine "mywidget_destroy(GtkObject
*object)" is called twice, usually leading to a core dump.

The gtkdial widget, given as example in gtk+-2.0.x source tree should be
enough to see the problem, by adding a simple trace to
gtk_dial_destroy() every time it's called.

> Two signal emissions of ::destroy is legitimate and will happen
> under some circumstances, but is usually not visible to apps
> because signals handler are removed when ::destroy is 
> emitted.

I'll try to make a simple test case that shows this behaviour. As I
said, I might just be misunderstanding something, so I don't pretend
that anything is not legitimate in gtk :)

Best regards,
-- 
Olivier               <fourdan at xfce.org>            http://www.xfce.org
-----------------------------------------------------------------------
XFce is a lightweight  desktop  environment  for  various *NIX systems.
Designed for productivity,  it loads  and  executes  applications fast,
while conserving  system resources. XFce is all free software, released
under GNU General Public License.    Available from http://www.xfce.org




More information about the Xfce4-dev mailing list