1. 07 May, 1998 3 commits
    • Tim Janik's avatar
      allocate object data chunks through a global object data structure list. · 2934f4f5
      Tim Janik authored
      Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
                      data chunks through a global object data structure list. unlink
                              object data before invoking its destroy function.
                                      (gtk_object_finalize): slight modification to allow usage of object
                                              data during object finalization.
      2934f4f5
    • Tim Janik's avatar
      speedups speedups speedups.... · 8460f393
      Tim Janik authored
      this one is actually noticable on widget destruction.
      
      Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
              signal names, e.g. "signal-name" is now an alias for "signal_name".
              (gtk_signal_handler_new): allocate handlers through a global handler
              structure list, that's faster than memchunks.
              (gtk_emission_new): allocate emissions through a global emission
              structure list, that's faster than memchunks.
      8460f393
    • Tim Janik's avatar
      postfix -lg* libraries with LT_RELEASE. · 39ff37dc
      Tim Janik authored
      Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>
      
              * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
      
              * ltmain.sh: added a new commandline flag -postfix similar to -release,
              but will immediately change the library name.
      
              * gdk/Makefile.am:
              * gtk/Makefile.am: specify -postfix and -version-info
      
              * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
              GTK_BINARY_AGE. calculate LT_* variables for libtool.
      39ff37dc
  2. 06 May, 1998 3 commits
    • Federico Mena Quintero's avatar
      Oops, missed this in the last commit. The commit to the stable branch is underway. · 91d31765
      Federico Mena Quintero authored
      1998-05-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
      
      	* gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
      	background (fg_set -> bg_set confusion).
      91d31765
    • Stefan Jeske's avatar
      Removed code that caused an endless loop. · 1afc96a7
      Stefan Jeske authored
      	* gtk/testgtk.c (unselect_all): Removed code that caused an
      	endless loop.
      1afc96a7
    • 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
  3. 05 May, 1998 1 commit
  4. 04 May, 1998 3 commits
    • Federico Mena Quintero's avatar
      Added $x_libs in the other_libraries field in the check for · 12fd81ef
      Federico Mena Quintero authored
      1998-05-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
      
      	* configure.in: Added $x_libs in the other_libraries field in the
      	check for XShapeCombineMask.
      12fd81ef
    • Owen Taylor's avatar
      2780a82a
    • Owen Taylor's avatar
      Merges from the gtk-1-0 branch · d142827b
      Owen Taylor authored
      Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
      	"glibconfig.h" and another about writing another IRC
      	client.
      
      Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
      	parameters to log are doubles. Digital Unix apparently
      	is missing the argument in its prototype.
      
      Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtklabel.c (gtk_label_state_changed): Don't
      	force a clear until the widget is actually on
      	screen.
      
      Hopefully nothing else though CVS think there are a whole
      bunch more changed files.
      d142827b
  5. 03 May, 1998 4 commits
    • Owen Taylor's avatar
      configure.in acheader.h gdk/gdkwindow.c Check for Shape extension both on · 4851efe2
      Owen Taylor authored
      Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* configure.in acheader.h gdk/gdkwindow.c
      	Check for Shape extension both on the client and server
      	side. (And, more importantly, check for the shape extension
      	so we may include -lXext even when compiling with --disable-xshm)
      
      	Don't set override_redirect on all shaped windows. It isn't
      	necessary.
      
      	* gdk/gdkwindow.c: Set ->colormap to NULL for root
      	and foreign windows. Use this to check if we
      	need to get the colormap from X.
      
      Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkbutton.c (gtk_button_paint): Draw the areas
      	between the default and the button always in GTK_STATE_NORMAL.
      
      	* gtk/gtkrange.c (gtk_range_style_set): Added a style_set
      	callback.
      
      Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
      	  Fix a buffer overflow on pixmaps that claim to have
      	  more than 31 characters per pixel.
      
      	  (gdk_pixmap_read_string): Don't wrap around strings longer
       	  than half of address space ;-)
      
      	* gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
      	that were used for printing integers.
      
      	* */* (almost):
      
      	Style: All
      	  int foo () { ... }
      	changed to
      	  int foo (void) { ... }
      
      ^^^^^^^ This is why some many files changed
      
      	Even where there were proper prototypes elsewhere.
      
      	* gdk/gxid.c (handle_claim_device): Some extra checks.
      	It isn't safe against being fed bad X id's, but at
      	least it should be safe against deleting all your
      	files.
      4851efe2
    • Tim Janik's avatar
      hmmmm, corrections? · c0b92323
      Tim Janik authored
      c0b92323
    • Tim Janik's avatar
      new function to set the adjustments value without causing a current · 5c9af6b5
      Tim Janik authored
      Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
                      to set the adjustments value without causing a current emission of
                              "value_changed" to be restarted.
      
                                      * gtk/gtksignal.c: added new functions to retrive the number of
                                              existing emissions for a certain signal.
                                                      (gtk_signal_n_emissions): new function.
                                                              (gtk_signal_n_emissions_by_name): new function.
      5c9af6b5
    • Tim Janik's avatar
      new function to set the current focus_child of a container, does proper · 19bbe055
      Tim Janik authored
      Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
                      set the current focus_child of a container, does proper referencing and
                              adjusts the vadjustment/hadjustment associated with the focus widget.
      
                                      * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
                                              containers via gtk_container_set_focus_child.
      
                                                      * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
                                                              where appropriate.
      
                                                                      * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
                                                                              child since not every child removal goes through this function (this
                                                                                      showed up after gtk_container_set_focus_child() started to reference the
                                                                                              focus_child of a container).
      
                                                                                                      * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
                                                                                                              of a container from gtk_container_remove into this place.
      19bbe055
  6. 02 May, 1998 4 commits
    • Tim Janik's avatar
      added new functions to operate on intermediate function pointers. · 2ca03393
      Tim Janik authored
      Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.c: added new functions to operate on intermediate
                      function pointers. implemented incremental blocking.
                              (gtk_signal_disconnect_by_func): new function.
                                      (gtk_signal_handler_block_by_func): new function.
                                              (gtk_signal_handler_unblock_by_func): new function
      2ca03393
    • Owen Taylor's avatar
      merging owen's bug fix · 864a3863
      Owen Taylor authored
      Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>
      
              * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
                      Always show the scrollbars when the policy is
                              GTK_POLICY_ALWAYS...
      864a3863
    • Tim Janik's avatar
      only emit "value_changed" if we really passed a new value. · d466bcb7
      Tim Janik authored
      Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
                      "value_changed" if we really passed a new value.
                              (gtk_adjustment_changed): new function to emit the "changed" signal.
                                      (gtk_adjustment_set_value): new function to emit the "value_changed"
                                              signal.
      d466bcb7
    • Tim Janik's avatar
      do not just return if the combo-list is empty since that will cause the · 998ac310
      Tim Janik authored
      Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
                      the combo-list is empty since that will cause the combo to operate
                              on a non existing GtkList window.
                                      (gtk_combo_get_pos): provide the combo list with a usfull default
                                              height if empty.
                                                      (gtk_combo_popup_button_press): grab the focus.
                                                              (gtk_combo_activate): grab the focus.
      998ac310
  7. 01 May, 1998 5 commits
    • Owen Taylor's avatar
      Further changes to the way the window is popped up so that it will be · b0a28fda
      Owen Taylor authored
      Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkcombo.c: Further changes to the way the window
      	is popped up so that it will be compatible with
      	auto-scrolling in the future.
      b0a28fda
    • Owen Taylor's avatar
      New function to reset the RC styles for a heirarchy · de210bbd
      Owen Taylor authored
      Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
      	function to reset the RC styles for a heirarchy
      
              Clear the window background if necessary in
      	gtk_window_style_set.
      
      	* gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
      	rereads all previously read RC files.
      
      	* gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
      	(Should it just be called gdk_get_toplevels?)
      
      	* gtk/testgtk.c: New test to reload RC files.
      de210bbd
    • Tim Janik's avatar
      prefixed all clist flags with GTK_ to avoid name clashes. redefined · befef270
      Tim Janik authored
      Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkclist.h:
                      * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
                              clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
                                      GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
                                              the GTK_ prefix (this solution involved less changes in the
                                                      gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
                                                              the mem_chunk==NULL test in gtk_clist_construct. merged in changes
                                                                      from lars & stefan to support the derivation of GtkCtree.
      
                                                                              * gtkctree.h:
                                                                                      * gtkctree.c:
                                                                                              initial import of a tree widget derived from gtkclist, courtesy
                                                                                                      of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
                                                                                                              it just damn rocks!
      
      
      Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
              for us.
              (gtk_list_insert_items):
              (gtk_list_remove_items_internal):
              (gtk_list_clear_items):
              remove a possible pointer grab, we might get thrown into a loop
              otherwise.
              (gtk_list_button_press): grab the pointer *before* selecting the child,
              because selection of items may cause the lists children to change,
              resulting in a grab release.
              (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
              children.
              (gtk_list_shutdown): remove all children from the list.
              (gtk_real_list_unselect_child):
              (gtk_real_list_select_child): *always* put our internal structures into
              sane state *before* signal emisions (i.e. list->selection updates prior
              to gtk_list_item_[de]select() calls).
      
              * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
              focused child walks out of the window.
              removed CAN_FOCUS for the combo arrow's button since it doesn't react
              to keyboard events ("clicked" connection is missing).
      befef270
    • Owen Taylor's avatar
      changed log · ce46df0b
      Owen Taylor authored
      ce46df0b
    • Owen Taylor's avatar
      05bc6a5b
  8. 30 Apr, 1998 1 commit
    • Owen Taylor's avatar
      Allow the user to use the popup list like a menu. · 8850ce81
      Owen Taylor authored
      Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkcombo.[ch]: Allow the user to use the popup list
      	like a menu.
      
      	* gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
      	to gtkitem.c so dragging can also work in lists.
      
      	* gtk/gtklist.[ch]: Track child enter events and use
      	those to allow dragging the selection.
      
      Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtktext.c: Try enabling background pixmaps for editable text
      	widgets.  There is a bit of flashing, but not too bad. If you
      	don't want the flashing, you can always not set a background
      	pixmap.
      
      Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtktext.c: Fixed a bug where the drawn level
      	was being messed up when the text was scrolled
      	during a deletion.
      8850ce81
  9. 29 Apr, 1998 1 commit
  10. 24 Apr, 1998 2 commits
    • Owen Taylor's avatar
      merging changes from owen: · 5647eeec
      Owen Taylor authored
      
      Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>
      
              * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
              that when we are running with a non-installed colormap,
              in 8-bit pseudo-color, we actually are using the system
              visual. (Fixes *Bad Match* errors on Digital Unix machines
              with multiple 8-bit pseudo-color visuals)
      
      -r HEAD and -r gtk-1-0 are in sync now!
      5647eeec
    • Tim Janik's avatar
      changed ref_count field to be of type guint. added check for ref_count>0; · 3e3c14e9
      Tim Janik authored
      Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
                      field to be of type guint.
                              * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
                                      ref_count>0;
                                              (gtk_accelerator_table_install): keep a per object list of accelerator
                                                      tables that refer to this object.
                                                              (gtk_accelerator_table_remove): remove the accelerator table from the
                                                                      per object list.
                                                                              (gtk_accelerator_table_clean): warn if there are any object references
                                                                                      left in an accelerator table upon destruction.
                                                                                              (gtk_accelerator_tables_delete): new function to delete object
                                                                                                      references from the accelerator tables associated with this object.
      
                                                                                                              * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
                                                                                                                      GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
                                                                                                                              of an accelerator can be prevented by gtk_signal_emit_stop().
                                                                                                                                      (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
                                                                                                                                              so there are no stale pointers in accelerator tables left.
      
      
      
      this change is binary compatible, so just touch gtkaccelerator.h -r gtkwidget.h
      3e3c14e9
  11. 23 Apr, 1998 1 commit
  12. 22 Apr, 1998 1 commit
    • Tim Janik's avatar
      prepend the running_timeouts list with the tmp_list link itself, not with · 0dc21c56
      Tim Janik authored
      Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
                      running_timeouts list with the tmp_list link itself, not with a new
                              GList structure pointing to our link. that would fill up memory and
                                      causes the GList.data fields of the running_timeouts list to point to
                                              GList structures and not GtkTimeoutFunction structures which is a
                                                      *really* bad thing.
                                                              (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
                                                                      the above entry ;).
      0dc21c56
  13. 18 Apr, 1998 1 commit
    • Tim Janik's avatar
      new function ala gtk_radio_button_set_group. (gtk_radio_menu_item_init): · 57703d01
      Tim Janik authored
      Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkradiomenuitem.h:
                      * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
                              ala gtk_radio_button_set_group.
                                      (gtk_radio_menu_item_init): assure that we always have at least a group
                                              that points to self.
      
                                                      * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
                                                              added g_return_if_fail() statements.
                                                                      (gtk_radio_button_init): assure that we always have at least a group
                                                                              that points to self.
      57703d01
  14. 17 Apr, 1998 1 commit
  15. 15 Apr, 1998 2 commits
  16. 14 Apr, 1998 4 commits
    • PDT 1998 Shawn T. Amundson's avatar
      Released GTK+ 1.0.0 · 2b210ff4
      PDT 1998 Shawn T. Amundson authored
      Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
      
              * Released GTK+ 1.0.0
      2b210ff4
    • Owen Taylor's avatar
      Don't read the character past the end of the text. · 385164d6
      Owen Taylor authored
      Mon Apr 13 21:40:14 1998  Owen Taylor  <owt1@cornell.edu>
      
      	* gtk/gtktext.c (find_char_width): Don't read the
      	character past the end of the text.
      
      	* gtk/gtkrange.c (gtk_real_range_timer): If the mouse
      	button has been released before the timer is activated,
      	don't keep on scrolling.
      
      	* gdk/gdk.c (gdk_event_translate): Filter subsequent configure
      	events after we discard the first. Removed obsolete and
      	sometimes very slow GdkOtherEvent. (Left in gdktypes.h
      	with signal in GTK)
      385164d6
    • PDT 1998 Shawn T. Amundson's avatar
      update address info to gtk.org for ftp and web sites. · 5c67089e
      PDT 1998 Shawn T. Amundson authored
      Mon Apr 13 18:03:54 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
      
              * README: update address info to gtk.org for ftp and web sites.
      5c67089e
    • Federico Mena Quintero's avatar
      New function; wrapper for XPolygonRegion(). · af36f776
      Federico Mena Quintero authored
      1998-04-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
      
      	* gdk/gdkregion.c (gdk_region_polygon): New function; wrapper for
      	XPolygonRegion().
      
      	* gdk/gdk.h: Added prototype for gdk_region_polygon().
      
      	* gdk/gdktypes.h (GdkFillRule): New enum type of fill rule for polygons.
      af36f776
  17. 13 Apr, 1998 3 commits