forked from AuroraMiddleware/gtk
GTK is a multi-platform toolkit for creating graphical user interfaces.
6898536a02
Tue Feb 10 07:12:07 1998 Tim Janik <timj@gimp.org> * gtk/gtksignal.h: * gtk/gtksignal.c: ok, there have been several severe bugs in the signal handler referencing and ->next connection stuff. these bugs caused invokations of handlers that are disconnected and - worse - destroyed already. invokation of *destroyd* handlers mean: anything can be executed , because the handler structure can just as well be realocated. at the cost of an extra ->prev field per handler we should have a reasonable stable system now, because of the various places that can cause a handler to be disconnected (*any* handler invokation can cause *any* or *all* handlers to be disconnected, there is no way around a doubly linked list, actually handler disconnection has never worked correctly because of this. handlers are connected together via a *doubly* linked list now, and it is *not* valid to remove a handler out of this list untill all its references have been droped, i.e. handler->ref_count==0. to prevent emissions of disconnected but still referenced handlers, disconnected handlers are simply marked as blocked and get an id of 0 which is an invalid signal handler id. the handler->id has been changed to have 28 significant bits (using alignment gaps), since 65536 (old range: guint16) signal connections (as a total) can easily be reached by complex applications. this whole handler thingy is at least as tedious as writing doubly linked list implementations ;) |
||
---|---|---|
docs | ||
gdk | ||
glib | ||
gtk | ||
tests | ||
.cvsignore | ||
acconfig.h | ||
AUTHORS | ||
autogen.sh | ||
ChangeLog | ||
ChangeLog.pre-2-0 | ||
ChangeLog.pre-2-2 | ||
ChangeLog.pre-2-4 | ||
ChangeLog.pre-2-6 | ||
ChangeLog.pre-2-8 | ||
ChangeLog.pre-2-10 | ||
config.guess | ||
config.h.in | ||
config.sub | ||
configure.in | ||
COPYING | ||
gtk+.prj | ||
gtk+.xconfig.in | ||
HACKING | ||
INSTALL | ||
install-sh | ||
ltconfig | ||
ltmain.sh | ||
makecopyright | ||
Makefile.am | ||
Makefile.in | ||
missing | ||
mkinstalldirs | ||
NEWS | ||
README | ||
stamp-h.in | ||
TODO |
This is GTK+ version 0.99.3. GTK, which stands for the Gimp ToolKit, is a library for creating graphical user interfaces. The official ftp site is: ftp://ftp.gimp.org/pub/gtk Patches can be uploaded to: ftp://ftp.gimp.org/incoming A mailing list is located at: gtk-list@redhat.com To subscribe: mail -s subscribe gtk-list-request@redhat.com < /dev/null (Send mail to gtk-list-request@redhat.com with the subject "subscribe")