fixed a bad, bad referencing bug that could caused unreferencing of
Mon Feb 2 04:15:08 1998 Tim Janik <timj@gimp.org> * gtk/gtkmain.c (gtk_propagate_event): fixed a bad, bad referencing bug that could caused unreferencing of finalized objects. * gtk/testgtk.c: destroy fileselection on "OK" (this triggered the above mentioned bug). * gtk/gtkwidget.h: * gtk/gtkwidget.c: * gtk/gtkobject.h: * gtk/gtkobject.c: implemented and object reference tracer (gtk_trace_referencing) which is activated if GTK_TRACE_OBJECTS is defined (currently per default). in gdb: set the static variable `gtk_trace_object' to point to the object that you want to have reference traced. * gtk/gtkfileselection.c: few cleanups.
This commit is contained in:
		| @ -351,9 +351,9 @@ GtkWidget* gtk_widget_new		  (guint		type, | ||||
| GtkWidget* gtk_widget_newv		  (guint		type, | ||||
| 					   guint		nargs, | ||||
| 					   GtkArg	       *args); | ||||
| void       gtk_widget_sink                (GtkWidget           *widget); | ||||
| void       gtk_widget_ref                 (GtkWidget           *widget); | ||||
| void       gtk_widget_unref               (GtkWidget           *widget); | ||||
| void       gtk_widget_sink                (GtkWidget           *widget); | ||||
| void       gtk_widget_destroy             (GtkWidget           *widget); | ||||
| void       gtk_widget_destroyed           (GtkWidget           *widget, | ||||
| 					   GtkWidget          **widget_pointer); | ||||
| @ -509,6 +509,12 @@ void	     gtk_widget_dnd_data_set (GtkWidget	    *widget, | ||||
| 				      gpointer	     data, | ||||
| 				      gulong	     data_numbytes); | ||||
|  | ||||
| #if     defined (GTK_TRACE_OBJECTS) && defined (__GNUC__) | ||||
| #  define gtk_widget_ref gtk_object_ref | ||||
| #  define gtk_widget_unref gtk_object_unref | ||||
| #endif	/* GTK_TRACE_OBJECTS && __GNUC__ */ | ||||
|  | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif /* __cplusplus */ | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Tim Janik
					Tim Janik