Commit Graph

770 Commits

Author SHA1 Message Date
Tim Janik
9258a7aecb new function to perform the same actions as gtk_list_remove_items, but
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!
1998-02-05 03:53:41 +00:00
Tim Janik
b45cd0430c attach/detach to menu widget via
Tue Feb  3 15:09:55 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkoptionmenu.h:
        * gtk/gtkoptionmenu.c: attach/detach to menu widget via

        * 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.
1998-02-03 14:13:05 +00:00
Tim Janik
fc86f630a6 dunno, what cvs wants right now. i just told me these
changes are already commited... ;(
-timj
1998-02-02 21:41:24 +00:00
Tim Janik
eeaefdf04f 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.
1998-02-02 18:44:28 +00:00
Tim Janik
eef38289b2 GTK_RESIZE_NEEDED is a private flag now.
Mon Feb  2 04:15:08 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkcontainer.h:
        * gtk/gtkcontainer.c: GTK_RESIZE_NEEDED is a private flag now.
          (gtk_container_register_toplevel): new function.
          (gtk_container_unregister_toplevel): new function.

        * gtk/gtkmain.c: GTK_LEAVE_PENDING is a private flag now.

        * gtk/gtkmenu.c: call gtk_container_register_toplevel in
          gtk_menu_class_init instead of this dirty gtk_widget_set_parent(,NULL)
          hack. new default handler gtk_menu_destroy for calling
          gtk_container_unregister_toplevel. removed GTK_ANCHORED, GTK_UNMAPPED.

        * gtk/gtkobject.h: macro cleanups, added GTK_DESTROYED flag.

        * gtk/gtkobject.c: only emit DESTROY signal if !GTK_OBJECT_DESTROYED
          (object).

        * gtk/gtkprivate.h: new file that will not be automatically included.
          it holds the private flags for GtkWidget along with it's SET/UNSET
          and examination macros.

        * gtk/gtkwidget.c: private flags: GTK_RESIZE_NEEDED, GTK_REDRAW_PENDING,
          GTK_RESIZE_PENDING, GTK_IN_REPARENT, GTK_USER_STYLE. GTK_ANCHORED is
          replaced by GTK_TOPLEVEL. added missing UNSET for GTK_IN_REPARENT.
          removed the gtk_widget_set_parent(, NULL) hack for toplevels.
          upon destroy free memory for widgets with GTK_WIDGET_HAS_SHAPE_MASK.

        * gtk/gtkwidget.h: split up the widget flags into a public and a private
          portion. added an extra field private_flags to GtkWidget without making
          it bigger by using an alignment gap of 16 bit. macro cleanups.

        * gtk/gtkwindow.c: removed GTK_ANCHORED. new function gtk_window_destroy
          for calling gtk_container_unregister_toplevel. removed the
          gtk_widget_set_parent(,NULL), call gtk_container_register_toplevel
          instead. remove GTK_UNMAPPED. GTK_RESIZE_NEEDED is private now.

        * gtk/gtksignal.c (gtk_signal_disconnect): removed a bug on
          removal that cut off the handler list -> living_objects == 0
          with testgtk. made some warnings more descriptive.
          new function gtk_signal_connect_object_while_alive, which
          will automatically destroy the connection once one of the objects
          is destroyed. didn't include this before removal of the above
          mentioned bug.

* reflected refcounting revolution in ChangeLog
1998-02-02 04:54:25 +00:00
Tim Janik
4af33fa24d hm, initital refcount revolution commit ;)
still some gnits left, but keep working on it ;)
-timj
1998-01-30 23:47:09 +00:00
Tim Janik
1ff162c445 some bugs worked out.
comment cleanups
-timj
1998-01-30 01:34:19 +00:00
Tim Janik
edf9e176db added new widget flag GTK_LEAVE_PENDING. if a widget has GTK_LEAVE_PENDING
Sun Jan 25 19:15:32 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkwidget.h (enum): added new widget flag GTK_LEAVE_PENDING.
        * gtk/gtkmain.c (gtk_main_iteration_do): if a widget has
          GTK_LEAVE_PENDING set, send it its LEAVE_NOTIFY event, regardless
          of a grab or sensitivity.
          changed the compression code for enter/leave notify events to
          free *both* compressed event, and removed an unneccessary call
          to g_list_remove.

        * ChangeLog: finally catched up with the recent changes on my part.
1998-01-25 18:45:56 +00:00
Tim Janik
1a8765e6ce this is a stack of grabbing widgets now, having unique entries. the
Mon Jan 19 09:16:38 1998  Tim Janik  <timj@psynet.net>

        * gtk/gtkmain.c (gtk_grab_add) (gtk_grab_remove): this is a stack
          of grabbing widgets now, having unique entries. the GTK_HAS_GRAB
          flag of a widget is set while it is on the stack (wasn't
          implemented before).
1998-01-19 08:23:24 +00:00
Tim Janik
59ff297c24 implementations of gtk_invoke_key_snoopers(), gtk_key_snooper_install()
implementations of
gtk_invoke_key_snoopers(),
gtk_key_snooper_install() and
gtk_key_snooper_remove()
-timj
1998-01-18 18:17:23 +00:00
Owen Taylor
443648028c Take putback events into account
* gdk/gdk.c (gdk_events_pending): Take putback events into
  account

* gdk/gdk.c (gdk_event_free): Handle dropdataavaible memory
  allocation correctly. (Incompatible change: client must
  _not_ fre event->data and event->data_type.)

* gdk/gdk.c (gdk_event_translate): Changed DND dragging
  so that we don't ungrab pointer when we reenter window
  to prevent extra Enter/Leave effects which had bad
  effects.
  Changed drag zone handling to not send uncessary
  DragEnter events.
  Fixed EnterNotify/LeaveNotify handling. (Only pay
  attention to events on window, don't specify these
  events to XGrabPointer - that isn't valid, and handle
  reverse the sense of the handling of LeaveNotify.)

* gdk/gdkwindow.c (gdk_window_remove_filter): Free removed
  filter.

* gtk/gtk.defs (GdkFont): gdk_font_free => gdk_font_unref

* gtk/gtkmain.{c,h} (gtk_events_pending): new function - apps
  should use this instead of gdk_events_pending.

* gtk/gtkvbbox.h: Fixed a duplication in the headers.

* gtk/testgtk.c (dnd_drop): Don't free the drop data,
  it belongs to the event.
1998-01-17 23:24:09 +00:00
Elliot Lee
5eee6416f5 New widget (GtkComboBox) and fixed gdk_window_init to initialize gdk_root_parent some more 1998-01-08 04:13:13 +00:00
Arturo Espinosa
303c8f03a8 I had forgot to put GDK_NO_EXPOSE and GDK_VISIBILITY_NOTIFY events in gtk_main_iteration() - Federico 1998-01-02 21:38:39 +00:00
Owen Taylor
d5d01a5af9 It's all in the changelog. Well, almost all.
-owt
1997-12-18 02:17:14 +00:00
Tim Janik
8a6dea2d55 GLib:
* glib_pre1.h:
        * glib_pre2.h:
        * glib.h: this file now gets concatenated by makeglib_h from
        glib_pre1.h and glib_pre2.h to merge in glibconfig.h wich got
        created by configure (done by Jay Painter).

        * glib_pre2.h: the g_assert*() and g_return_*_fail() macros
        are wrapped by G_STMT_START and G_STMT_END now, to avoid conflicts
        when used within if (...) g_macro(); else ... conditionals.
Gtk+:
        * fixed some compiler errors, because g_return_if_fail() wasn't used
        with a trailing semicolon in some places. fixed few other warnings also.

-timj
1997-12-10 22:43:24 +00:00
Elliot Lee
7e4ee8cb4f Read the ChangeLog :) 1997-12-06 22:12:10 +00:00
Owen Taylor
59af5a46f0 Removed some unused variables
-owt
1997-12-05 04:33:00 +00:00
Gnome CVS User
8d073b0232 new gtk_main_level(). fixes to gtk_window_show() to prevent -1x-1 size on
window creation. some indentation fixes.
this basically brings my tree back in sync with the repository again...
1997-11-28 01:22:38 +00:00
Gnome CVS User
aedb8717f1 Moved list concatenation code from gtkmain.c into its proper
place in glib/glist.c, added corresponding g_slist_concat.
1997-11-26 01:52:50 +00:00
Elliot Lee
9508b76bd2 Initial revision 1997-11-24 22:37:52 +00:00