1. 12 May, 1998 4 commits
    • Federico Mena Quintero's avatar
      The commit to the stable branch is on its way... · 2fa59370
      Federico Mena Quintero authored
      1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
      
      	* gtk/gtkpreview.c (gtk_preview_realize): Create the window using
      	GtkPreview's visual and colormap, otherwise things can BadMatch.
      
      	* gtk/testgtk.c (create_color_preview):
      	(create_gray_preview): Removed pushing/popping of visual/colormap
      	now that GtkPreview does things correctly.
      
      	* gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame):
      	(gtk_color_selection_draw_wheel): Pick the style from the correct
      	place (the colorsel->wheel_area widget) so that the GCs will match
      	with where we are going to paint to.
      
      	* gtk/testgtk.c (create_color_selection): Removed pushing/popping
      	of visual/colormap now that GtkColorSelection does things the
      	right way.
      2fa59370
    • Owen Taylor's avatar
      changed log · 62f865ee
      Owen Taylor authored
      62f865ee
    • Owen Taylor's avatar
      Use the previously unused window->need_resize flag to mark if a window's · 962386fb
      Owen Taylor authored
      Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
      	previously unused window->need_resize flag to mark if a window's
      	descendents changed size while the window was not visible. In this
      	case, when the window becomes visible, we reallocate everything,
      	since we didn't keep track of what actually changed.
      
      	(Fixes bug where changing the popdown strings of a
      	combo to something of the same length caused them to
      	blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
      962386fb
    • Tim Janik's avatar
      [security audit by Alan Cox] · 075cb432
      Tim Janik authored
      Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>
      
              [security audit by Alan Cox]
      
              * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
              exceed maximum assumed size.
      
              * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
              not exceed maximum assumed size.
              (gtk_menu_factory_remove): likewise.
              (gtk_menu_factory_find_recurse): likewise.
      075cb432
  2. 11 May, 1998 5 commits
    • Tim Janik's avatar
      queue the idle_sizer with GTK_PRIORITY_INTERNAL - 1, so widgets get first · f15bd558
      Tim Janik authored
      Tue May 12 00:21:33 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
              GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
              redrawn if that is still neccessary. don't allow queueing of already
              destructed objects.
              (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
              widgets which are in the queue can be destroyed savely, handle
              requeueing properly.
              (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
              widgets which are in the queue can be destroyed/unrealized savely.
      f15bd558
    • BST 1998 Tony Gale's avatar
      add question on multi-threading, minor URL cleanups. · 387379e6
      BST 1998 Tony Gale authored
      Mon May 11 17:54:44 BST 1998 Tony Gale  <gale@gtk.org>
      
              * gtkfaq.sgml: add question on multi-threading,
                minor URL cleanups.
      387379e6
    • Tim Janik's avatar
      compilation fixups · ad137948
      Tim Janik authored
      ad137948
    • Tim Janik's avatar
      preserve automake CFLAGS. · e8df8ce1
      Tim Janik authored
      Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>
      
              * configure.in (cflags_set): preserve automake CFLAGS.
      
              * Makefile.am: fully rename the created libraries to libgtk-1.1.la
              and libgdk-1.1.la. this means we need to change certain portions of
              the Makefile.am on major/minor version bumps.
      
              * ltmain.sh: the -release option is not required anymore.
      
              * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
              of the first argument to be of type GtkObject. unconditionally compile
              this function. removed __GNUC__ dependancy of the gtk_object_ref and
              gtk_object_unref macro wrappers for this function.
      
      Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>
      
              * configure.in: preserve automake CFLAGS.
      
              * Makefile.am: fully rename the created library to libglib-1.1.la.
              this means we need to change certain portions of the Makefile.am on
              major/minor version bumps.
      
              * ltmain.sh: the -release option is not required anymore.
      
              * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
              avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
              MIN, ABS and CLAMP, these macros might be screwed from other headers.
      e8df8ce1
    • Tim Janik's avatar
      new file, gdatasets implement the object data mechanism from GtkObject. a · 01003779
      Tim Janik authored
      Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>
      
              * gdataset.c: new file, gdatasets implement the object data
              mechanism from GtkObject. a generic data pointer is associated with
              a certain location and a key id.
      
      Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkobject.h:
              * gtk/gtkobject.c:
              (gtk_object_data_try_key):
              (gtk_object_data_force_id): these are now macros substituting the old
              functions. we just use the corresponding g_dataset_* functions for
              key->id associations. (this is to assure unique key<->id associations).
      01003779
  3. 10 May, 1998 5 commits
    • Stefan Jeske's avatar
      Started documentation of GtkCTree. · cb12593d
      Stefan Jeske authored
      cb12593d
    • Tim Janik's avatar
      218e6199
    • Tim Janik's avatar
    • Tim Janik's avatar
      minor cleanups and merges · 315affdf
      Tim Janik authored
      315affdf
    • Owen Taylor's avatar
      Try to figure out if this is Digital Unix and we need -std1 to get the · f75d8b0c
      Owen Taylor authored
      Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* configure.in (LIBS): Try to figure out if this
      	is Digital Unix and we need -std1 to get the
      	right prototypes.
      
      Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* glib/gmem.c: Experimentally restore GMemChunk
      	to its primeval state - where mem areas are
      	freed incrementally instead of searching the tree
      	every time a mem area is completely empty. Also,
      	always keep one mem chunk around. (Reduced calls
      	to malloc() a lot, but doesn't really improve
      	performance significiantly)
      
      Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
      	draw-queue when we are done.
      
      	(gtk_widget_queue_draw/_queu_resize): Always return
      	FALSE and avoid having two idles at the same time.
      
      Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtktext.c: Various fixes to make sure cache
      	lines are freed if line_start_cache doesn't point to the
      	beginning of the cache.
      
      Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* style_set improvements for GtkText and GtkEntry
      
      Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
      	to speed things up and remove code duplication.
      
      	Reintegrated buffer overflow patches, and added
      	some extra paranoia.
      
      Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gdk/gdk.c (gdk_event_translate): A guint * was
      	being passed where X expected a Keysym *, and
      	keysyms are long's on Alpha Linux. This was causing
      	segfaults in Xlib, apparently because of alignment.
      	(Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
      
      Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
      	set GDK_EXPOSURE_MASK for DrawingAreas
      
      Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
      	(superceded by RC file reparsing capabilities)
      
      	* gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
      	events. (Shouldn't be sent to the InputOnly leader, which
      	it is now by gdk_event_send_clientmessage_toall
      
      	* gtk/testgtk.c: Added extra button to rcfiles test
      	to send out _GDK_READ_RCFILES events.
      
      Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkselection.c (gtk_selection_clear): Fixed
      	reversed conditionals that caused segfault on some
      	platforms.
      
      Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
      	cast to GTK_OBJECT for gtk_object_ref.
      f75d8b0c
  4. 09 May, 1998 2 commits
    • BST 1998 Tony Gale's avatar
      update of Italian tutorial translation from Daniele Canazza · aab3106a
      BST 1998 Tony Gale authored
      Sat May  9 16:30:33 BST 1998 Tony Gale  <gale@gtk.org>
      
              * docs/gtk_tut_it.sgml: update of Italian tutorial
                translation from Daniele Canazza <dcanazz@tin.it>
      aab3106a
    • Tim Janik's avatar
      new file used as template for new file to define macros indicating newly · 9775962a
      Tim Janik authored
      Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkfeatures.h.in: new file used as template for
              * gtk/gtkfeatures.h: new file to define macros indicating newly
              introduced features, such as GTK_HAVE_SIGNAL_INIT.
      
              * gtk/gtksignal.c:
              (gtk_signal_emitv_by_name):
              (gtk_signal_emitv):
              new functions to emit signals with an already provided parameter set.
              (provided by Kenneth Albanowski <kjahds@kjahds.com>).
              (gtk_signal_real_emit): prototype changes, so this functions always
              gets its parameters and signal structure as arguments.
              (gtk_signal_emit): provide the signal structure and parameter list for
              gtk_signal_real_emit.
              (gtk_signal_emit_by_name): likewise.
      9775962a
  5. 08 May, 1998 1 commit
    • Tim Janik's avatar
      reflect the presence of signal connections through unsetting · 142c8483
      Tim Janik authored
      Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
              signal connections through unsetting GTK_CONNECTED.
              (gtk_signal_handler_insert): reflect the presence of signal connections
              through setting GTK_CONNECTED.
              (gtk_signal_real_emit): only check for handler emissions if the object
              has the GTK_CONNECTED flag set.
              (gtk_signal_handler_pending): don't check for pending handlers if the
              GTK_CONNECTED flag is not set for this object.
      
              * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
              a GtkObject has signal handler connections.
      
              * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
              set for this object call gtk_signal_handlers_destroy().
      
              * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
              multiple processing of macro args.
      
              * gtk/gtktypeutils.c:
              * gtk/gtkobject.c:
              * gtk/gtkwidget.c:
              * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
      142c8483
  6. 07 May, 1998 7 commits
    • rhlabs's avatar
      Handle the -1.1 on libraries. · 6e99903a
      rhlabs authored
      Is this really a good idea?  Isn't that what sonames are for?
      
      -Marc
      6e99903a
    • Tim Janik's avatar
      asure that the type system has been initialized. · 1f455e53
      Tim Janik authored
      Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
                      been initialized.
      1f455e53
    • 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
      ooops, fogot this on my last commit... · 8b667441
      Tim Janik authored
      8b667441
    • Tim Janik's avatar
      macros to facilitate the printf/scanf format argument checking of gcc. · 38fc79fc
      Tim Janik authored
      Thu May  7 08:17:28 1998  Tim Janik  <timj@gtk.org>
      
              * glib.h (G_GNUC_PRINTF):
              (G_GNUC_SCANF): macros to facilitate the printf/scanf format argument
              checking of gcc.
      
              * gstring.c: const corrections, string!=NULL checks at function entry.
              (g_string_down): new function for tolower(3) conversion.
              (g_string_up): new function for toupper(3) conversion.
      
              * gutils.c: const corrections.
              (g_strdown): g_string_down() counterpart.
              (g_strup): g_string_up() counterpart.
      
              * gscanner.c (g_scanner_unexp_token):
              (g_scanner_error):
              (g_scanner_warn): new functions to let a scanner put out warnings
              or errors, especially to react on unexpected tokens.
      
              * gslist.c:
              (g_slist_index): find out about about the position of a
              certain data pointer.
              (g_slist_position): find out about about the position of a
              certain node.
      
              * glist.c:
              (g_list_index): find out about about the position of a
              certain data pointer.
      38fc79fc
    • 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
  7. 06 May, 1998 4 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
    • Arturo Espinosa's avatar
      ChangeLog · 513a06e9
      Arturo Espinosa authored
      513a06e9
    • 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
  8. 05 May, 1998 2 commits
  9. 04 May, 1998 5 commits
  10. 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
  11. 02 May, 1998 1 commit
    • 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