Skip to content
  • Tim Janik's avatar
    reimplemented the signal storage system to use a linear array rather than · 518a8a9c
    Tim Janik authored
    Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
    
            * gtk/gtksignal.c: reimplemented the signal storage system to use a
            linear array rather than a hash table.
            be carefull *not* to keep any GtkSignal pointers across invokations
            of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
            general code cleanups, made all allocations through memchunks.
            (gtk_signal_lookup): we now do the lookup of signals through a key_id
            for the signal names to avoid multiple hashing of the signal name on
            lookups for the several hirarchy levels of an object.
    
    Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
    
            * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
            checking for signal initialization in gtksignal.c.
    
            * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
            a long debugging period ;)
    
    Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
    
            * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
            gtk_type_is_a().
            * gtk/gtktypeutils.c: reimplemented the type storage system to use a
            linear array rather than a hash table. it actually speeded up testgtk
            for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
            pointers across invokations of gtk_type_node_next_and_invalidate() and
            therefore gtk_type_unique()!
    
            * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
            inheritance of a class pointer.
            (GTK_OBJECT): modifications for speedups.
            (GTK_IS_OBJECT): likewise.
            (GTK_OBJECT_CLASS): likewise.
            (suggested by owen).
    
            * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
    
            * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
    
            * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
            since its derivation changed 4 month ago ;(. showed up with the unique
            type name checking code in gtk_type_unique().
    
            * random guint->GtkType and macro fixups.
    518a8a9c