]> Pileus Git - ~andy/gtk/blobdiff - ChangeLog.pre-2-6
new function gtk_signal_handler_pending() returning the id of the next
[~andy/gtk] / ChangeLog.pre-2-6
index 7e4fe5e4333c31b63447a5cf1c0b567e8555508f..191f117bae3d929d8067bf0dd440030fdc02d11b 100644 (file)
@@ -1,5 +1,213 @@
+Wed Feb 11 00:18:31 1998  Tim Janik  <timj@gimp.org>
+
+       * gtk/gtksignal.h:
+       * gtk/gtksignal.c: new function gtk_signal_handler_pending() returning
+         the id of the next handler pending for that signal or 0.
+         put struct GtkHandler back into gtksignal.c along with
+         gtk_signal_get_handlers.
+
+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 ;)
+
+Mon Feb  9 23:08:16 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gtk/gtkwidget.c (gtk_widget_unparent): Check for
+         the RESIZE_NEEDED flag and remove the widget from the list.
+         Remove the check from gtk_widget_destroy (no longer needed).
+
+       * Unrealize widget _before_ calling "destroy" signal, and
+         unset VISIBLE flag.
+
+       * Unrealize child widgets _after_ unrealizing parent to improve
+         visual appearance.
+
+Mon Feb  9 16:42:21 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
+
+       * gtk/gtksignal.c (gtk_signal_get_handlers): no longer a private
+       routine;
+       gtksignal.h: export gtk_signal_get_handlers and GtkHandlers type. 
+
+Sun Feb  8 07:06:54 1998  Tim Janik  <timj@gimp.org>
+
+       * gtk/gtkmenu.c (gtk_menu_get_attach_widget): new function to return
+         the widget that the menu is attached to.
+
+Sat Feb  7 11:33:08 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gdk/gdkgc.c (gdk_gc_copy): use a mask of 0xffffffff
+         instead of 0xffff, since there are 22 flags currently
+         defined. (From: Jon Trowbridge <trow@emccta.com>)
+
+         Changed to something better. ~((~1) << GCLastBit)
+                  (From: from Daniel Stephens <daniel@cheeseplant.org>)
+       
+Sat Feb  7 02:29:01 1998  Tim Janik  <timj@gimp.org>
+
+       * gdk/gdk.c (gdk_event_translate): don't wipe out window_private's x
+         and y coordinates if the configure notify is only about resizing,
+         query the correct origin instead.
+
+Wed Feb  4 23:05:28 1998  Scott Goehring  <scott@poverty.bloomington.in.us>
+
+       * gtk/gtkmenufactory.c: menufactories now ref&sink the menus they
+       create
+
+Thu Feb  5 02:13:08 1998  Tim Janik  <timj@gimp.org>
+
+       * gtk/gtklist.h:
+       * gtk/gtklist.c (gtk_list_remove_items_no_unref): new function
+         to perform the same actions as gtk_list_remove_items, but
+         supply the removed widgets with an additional reference count.
+
+       * gtk/gtkmain.c (gtk_main_iteration_do): ignore events
+         with event_widget == NULL, since they are bogus events
+         from destroyed GdkWindows, exept for the case where
+         event->type==GDK_PROPERTY_NOTIFY. Always handle expired
+         timeout functions when returning from this function.
+
+       * gtk/gtkwidget.c (gtk_widget_event): ignore GDK_EXPOSE events
+         if event->window == NULL. Also, if this function couldn't handle
+         the event for any reason (including failing assumptions), make
+         the return value to look as if the event had been handled to
+         avoid further processing (and warnings).
+         
+       * gtk/gtkwidget.h:
+       * gtk/gtkwidget.c: remove gtk_widget_sink, because there is
+         no point in providing such a function.
+
+       * gdk/gdk.c (gdk_init): changed options `-name' and `-class'
+         to `--name' and `--class', because the old names would
+         confuse getopt(). these arguments have been introduced in the
+         changes from gtk+970916 to gtk+970925 without a ChangeLog entry,
+         changing argument names is painful, it would be nice if people
+         would care about compatibility and consistency in the first place!
+
+Tue Feb  3 15:09:55 1998  Tim Janik  <timj@gimp.org>
+       
+       * docs/widget_system.txt: new file containing notes about
+         the inner workings of the widget system of GTK+, a widget
+         flag description and certain invariants about widget states.
+       
+       * docs/refcounting.txt: moved file (previously REFCOUNTING)
+         introducing The Reference Counting Scheme of GDK an GTK+.
+         lots of additions/corrections.
+
+        * gtk/gtksignal.c (gtk_signal_real_emit): for the emission
+          of AFTER signals, fetch the objects signals via
+          gtk_signal_get_handlers again. some handlers might have
+          been removed or added. not doing this would mess up the
+          memchunk allocation of signal handlers (this had been
+          triggered by multiple *_while_alive connections), bad, bad, bad!
+          (gtk_handlers_run): do the referencing on signal handlers
+          unconditionally, the invokation of AFTER handlers will now take
+          care of modified lists.
+
+        * gtk/gtksignal.h: added gtk_signal_connect_while_alive.
+
+Tue Feb  3 15:34:27 1998  Owen Taylor  <owt1@cornell.edu>
+
+       * gdk/gdkcolor.c (gdk_colormap_get_system): Only query
+         the colormap for GRAYSCALE and PSEUDOCOLOR visuals,
+         and don't ask for more than 256 colors in any case.
+
+       * gdk/gdkwindow.c (gdk_window_internal_destroy): Remove
+         the input window information when we destroy the window,
+         not when we are notified of it.
+
+       * gdk/gdkinputcommon.h (gdk_input_device_new): Work around
+         bug in XFree86 3.3.1's handling of Wacom macro buttons.
+         by assumming no device will report exactly 25 buttons.
+
+       * gdk/gdkinputcommon.h (gdk_input_common_other_event): Fill
+         in string translation for generated key press events,
+         do sanity checking on received key codes.
+
+       * gdk/gdkcc.c (gdk_color_context_new): Allocate enough
+         room for a GdkColorContextPrivate, not just for a 
+         GdkColorContext.
+
+Tue Feb  3 15:09:55 1998  Tim Janik  <timj@gimp.org>
+
+       * gtk/testgtk.c: don't add the same menu to different menuitems/
+         optionmenus.
+
+       * gtk/gtkmenuitem.h:
+       * gtk/gtkmenuitem.c: new function gtk_menu_item_remove_submenu ro
+         be consistent with optionmenu. use gtk_menu_attach_to_widget/
+         gtk_menu_detach for setting/removing the submenu.
+         invoke gtk_widget_destroy(submenu) in destructor to be consistent
+         with other destructors.
+
+       * gtk/gtkoptionmenu.h: 
+       * gtk/gtkoptionmenu.c: attach/detach to menu widget via
+         gtk_menu_attach_to_widget/gtk_menu_detach.
+         invoke gtk_widget_destroy(menu) in destructor to be consistent
+         with other destructors.
+
+       * gtk/gtkmenu.h: 
+       * gtk/gtkmenu.c: new functions gtk_menu_attach_to_widget
+         and gtk_menu_detach that correspond to the action of
+         gtk_widget_set_parent and gtk_widget_unparent.
+
+       * gtk/widget.c: few fixups.
+
+Tue Feb  3 00:12:00 1998  Owen Taylor  <owt1@cornell.edu>
+       * gtk/gtktable.c 
+         Fixed problem with division by zero in row/column-spanned
+         tables. Also removed a bunch of conditionals by making
+         the observation that x/1 == x.
+
 Mon Feb  2 04:15:08 1998  Tim Janik  <timj@gimp.org>
 
+       * gtk/gtkwindow.c:
+       * gtk/gtkwidget.c:
+       * gtk/gtkmain.c:
+       * gtk/gtkwidget.c:
+       * gtk/gtkcontainer.c:
+       * gtk/gtkprivate.h (GTK_PRIVATE_UNSET_FLAG) (GTK_PRIVATE_UNSET_FLAGS): 
+         changed name to reflect that these macros in fact can't operate on
+         multiple flags.
+
+       * gtk/gtktoolbar.c: fixed destroy handler, so it doesn't
+         segfault with the new refcounting scheme anymore.
+
+       * gtk/gtkhandlebox.c:
+       * gtk/gtkclist.c:
+       * gtk/gtkentry.c:
+       * gtk/gtkrange.c:
+       * gtk/gtktext.c:
+       * gtk/gtkviewport.c:
+         enforced
+                 gdk_window_set_user_data (window, NULL);
+         gdk_window_destroy (window);
+         window = NULL;
+         throughout the code.
+
        * gtk/gtkmain.c (gtk_propagate_event): fixed a bad, bad referencing
          bug that could caused unreferencing of finalized objects.
 
@@ -353,7 +561,7 @@ Thu Jan 22 18:58:44 1998  Federico Mena  <federico@bananoid.nuclecu.unam.mx>
 
 Thu Jan 22 02:32:06 1998  Scott Goehring  <scott@poverty.bloomington.in.us>
 
-       * gtk/Makefile.am: Fixed the called to runelisp to use $(SHELL).
+       * gtk/Makefile.am: Fixed the call to runelisp to use $(SHELL).
          (Cannot rely on the script having execute permissions.)
 
 Wed Jan 21 17:29:54 CST 1998 Shawn T. Amundson <amundson@gimp.org>