1 Sat May 23 17:48:58 1998 Owen Taylor <otaylor@gtk.org>
3 * gtk/gtkeventbox.c (gtk_event_box_size_allocate):
4 Locate child at (border_width,border_width), not
5 (2*border_width,2*border_width). [ The border is _outside_
8 * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
9 functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
11 1998-05-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
13 * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
16 1998-05-22 <sopwith@redhat.com>
18 * gtk/gtkeventbox.c: Pass size_allocate on to the child
19 regardless of whether it is visible or not. Also
20 locate child at (border_width,border_width), not (0,0)
22 Fri May 22 03:02:40 1998 Owen Taylor <otaylor@gtk.org>
24 * gtk/gtkhandlebox.c: Added style_set handler.
26 Fri May 22 02:55:57 1998 Owen Taylor <otaylor@gtk.org>
27 [ From: Chris Lahey <clahey@umich.edu> ]
29 * gtk/gtkeditable.c, gtk/gtkeditable.h,
30 gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
31 and set_position functions to get and set the cursor position.
33 * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
34 signal status. Make GtkText do user-controlled insertion
35 and deletion through the Editable widget so that these
36 signals are properly emitted.
38 * gtk/gtkentry.c: Changed gtk_entry_set_visibility to
39 display asterisks instead of empty space when visible = FALSE)
41 Fri May 22 08:51:10 CEST 1998 Paolo Molaro <lupus@debian.org>
43 * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
46 1998-05-21 <sopwith@redhat.com>
48 * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
49 custom routine for loading images specified in gtkrc's.
51 Tue May 19 23:41:04 1998 Owen Taylor <otaylor@gtk.org>
53 * configure.in: Use pthread_attr_init() as a test function,
54 since most of the rest of -lpthread is macros on DU4.
56 Tue, 19 May 1998 09:03:03 +0200 Paolo Molaro <lupus@debian.org>
58 * gtk/gtkcombo.c: implemented completion in the entry.
60 1998-05-18 <sopwith@moebuis.labs.redhat.com>
62 * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
64 Mon May 18 04:01:41 1998 Tim Janik <timj@gtk.org>
66 * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
67 "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
68 to be of runtype GTK_RUN_LAST.
70 * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
73 * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
76 Sat May 16 09:04:32 1998 Tim Janik <timj@gtk.org>
78 * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
79 text retrived from GtkEntry. only intercept the Tab key if there
80 was some text to complete.
82 Fri May 15 21:16:54 1998 Owen Taylor <otaylor@gtk.org>
84 Basic thread-awareness:
86 * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
88 * gdk/Makefile.am gdk/gdkthreads.c: Added new functions
89 gdk_threads_[init/enter/leave] for applications, plus
90 gdk_threads_wake to wake the mainloop thread out of
93 * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
95 Fri May 15 12:08:48 1998 Owen Taylor <otaylor@gtk.org>
97 * gtk/testgtk.c (list_clear): Account for the fact
98 that gtk_list_clear_items is not inclusive. (Clears
101 Fri May 15 12:31:27 1998 rodo <doulik@karlin.mff.cuni.cz>
103 * gdk/gdk.c: include gdkkeysyms.h always
106 Fri May 15 09:44:10 1998 Tim Janik <timj@gtk.org>
108 * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
109 the visibility_notify_event method and changed method order.
111 1998-05-14 <sopwith@moebuis.labs.redhat.com>
113 * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
115 Thu May 14 03:04:43 1998 Tim Janik <timj@gtk.org>
117 * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
118 from Olli Helenius <ollhel@batman.jytol.fi>.
120 * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
122 (gtk_type_set_chunk_alloc): new function to allow allocation of new
123 types from a mem_chunk of certain size (n_chunks==0 indicates allocation
126 * gtk/gtkobject.c (gtk_object_finalize): free an object through
129 * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
131 * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
132 * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
134 Wed May 13 00:53:52 1998 Owen Taylor <otaylor@gtk.org>
136 * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more
137 GPOINTER_TO_UINT fixes.
139 * gtk/gtksignal.c: Include <string.h> for memset.
141 Tue May 12 23:10:53 1998 Owen Taylor <otaylor@gtk.org>
142 (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
144 * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h:
145 Cleanups, comments and the ability to have rulers with
146 a reversed direction.
148 Tue May 12 19:37:55 1998 Owen Taylor <otaylor@gtk.org>
150 * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
151 that Sopwith missed when changing stat => lstat.
153 Tue May 12 19:19:29 1998 Owen Taylor <otaylor@gtk.org>
155 * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
156 gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
157 GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
159 * gdk/gdk.c: Print sizeof() results
160 as g_print("%ld", (glong)sizeof(foo)), to deal with
161 sizeof() being long on Alpha's.
163 * gtk/testgtk.c: include <string.h> for strlen
165 Tue May 12 16:56:35 1998 Owen Taylor <otaylor@gtk.org>
166 (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
168 * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
169 Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
171 * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
173 Tue May 12 15:16:10 1998 Owen Taylor <otaylor@gtk.org>
174 (From: Christopher James Lahey <clahey@umich.edu>)
176 * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
179 Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
180 (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
181 state. Added gtk_toolbar_{set,get}_button_relief, which set/get
182 the default relief for the toolbars buttons. Added an
183 toggle for the toolbar test in testgtk.c.
185 Tue May 12 00:24:59 1998 Owen Taylor <otaylor@gtk.org>
187 * docs/gtk-config.1: Rewritten and hopefully improved.
189 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
192 * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
194 1998-05-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
196 * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
197 GtkPreview's visual and colormap, otherwise things can BadMatch.
199 * gtk/testgtk.c (create_color_preview):
200 (create_gray_preview): Removed pushing/popping of visual/colormap
201 now that GtkPreview does things correctly.
203 * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame):
204 (gtk_color_selection_draw_wheel): Pick the style from the correct
205 place (the colorsel->wheel_area widget) so that the GCs will match
206 with where we are going to paint to.
208 * gtk/testgtk.c (create_color_selection): Removed pushing/popping
209 of visual/colormap now that GtkColorSelection does things the
212 Mon May 11 21:04:51 1998 Owen Taylor <otaylor@gtk.org>
214 * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
215 previously unused window->need_resize flag to mark if a window's
216 descendents changed size while the window was not visible. In this
217 case, when the window becomes visible, we reallocate everything,
218 since we didn't keep track of what actually changed.
220 (Fixes bug where changing the popdown strings of a
221 combo to something of the same length caused them to
222 blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
224 Tue May 12 02:31:57 1998 Tim Janik <timj@gtk.org>
226 [security audit by Alan Cox]
228 * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
229 exceed maximum assumed size.
231 * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
232 not exceed maximum assumed size.
233 (gtk_menu_factory_remove): likewise.
234 (gtk_menu_factory_find_recurse): likewise.
236 Mon May 11 23:53:38 1998 Tim Janik <timj@gtk.org>
238 * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
239 GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
240 redrawn if that is still neccessary. don't allow queueing of already
242 (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
243 widgets which are in the queue can be destroyed safely, handle
245 (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
246 widgets which are in the queue can be destroyed/unrealized safely.
248 Mon May 11 17:54:44 BST 1998 Tony Gale <gale@gtk.org>
250 * gtkfaq.sgml: add question on multi-threading,
253 Mon May 11 09:56:45 1998 Tim Janik <timj@gtk.org>
255 * configure.in (cflags_set): preserve automake CFLAGS.
257 * Makefile.am: fully rename the created libraries to libgtk-1.1.la
258 and libgdk-1.1.la. this means we need to change certain portions of
259 the Makefile.am on major/minor version bumps.
261 * ltmain.sh: the -release option is not required anymore.
263 * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
264 of the first argument to be of type GtkObject. unconditionally compile
265 this function. removed __GNUC__ dependancy of the gtk_object_ref and
266 gtk_object_unref macro wrappers for this function.
268 Mon May 11 02:31:19 1998 Tim Janik <timj@gtk.org>
272 (gtk_object_data_try_key):
273 (gtk_object_data_force_id): these are now macros substituting the old
274 functions. we just use the corresponding g_dataset_* functions for
275 key->id associations. (this is to assure unique key<->id associations).
277 1998-05-10 Stefan Jeske <stefan@gtk.org>
279 * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
282 * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
284 Sat May 9 20:11:20 1998 Owen Taylor <otaylor@gtk.org>
286 * configure.in (LIBS): Try to figure out if this
287 is Digital Unix and we need -std1 to get the
290 Sat May 9 16:30:33 BST 1998 Tony Gale <gale@gtk.org>
292 * docs/gtk_tut_it.sgml: update of Italian tutorial
293 translation from Daniele Canazza <dcanazz@tin.it>
295 Sat May 9 02:34:41 1998 Tim Janik <timj@gtk.org>
297 * gtk/gtkfeatures.h.in: new file used as template for
298 * gtk/gtkfeatures.h: new file to define macros indicating newly
299 introduced features, such as GTK_HAVE_SIGNAL_INIT.
302 (gtk_signal_emitv_by_name):
304 new functions to emit signals with an already provided parameter set.
305 (provided by Kenneth Albanowski <kjahds@kjahds.com>).
306 (gtk_signal_real_emit): prototype changes, so this functions always
307 gets its parameters and signal structure as arguments.
308 (gtk_signal_emit): provide the signal structure and parameter list for
309 gtk_signal_real_emit.
310 (gtk_signal_emit_by_name): likewise.
312 Sat May 9 00:03:12 1998 Tim Janik <timj@gtk.org>
314 * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
315 signal connections through unsetting GTK_CONNECTED.
316 (gtk_signal_handler_insert): reflect the presence of signal connections
317 through setting GTK_CONNECTED.
318 (gtk_signal_real_emit): only check for handler emissions if the object
319 has the GTK_CONNECTED flag set.
320 (gtk_signal_handler_pending): don't check for pending handlers if the
321 GTK_CONNECTED flag is not set for this object.
323 * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
324 a GtkObject has signal handler connections.
326 * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
327 set for this object call gtk_signal_handlers_destroy().
329 * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
330 multiple processing of macro args.
332 * gtk/gtktypeutils.c:
335 * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
337 Fri May 8 21:31:50 1998 Owen Taylor <otaylor@gtk.org>
339 * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
340 draw-queue when we are done.
342 (gtk_widget_queue_draw/_queu_resize): Always return
343 FALSE and avoid having two idles at the same time.
345 Fri May 8 21:04:00 1998 Owen Taylor <otaylor@gtk.org>
347 * gtk/gtktext.c: Various fixes to make sure cache
348 lines are freed if line_start_cache doesn't point to the
349 beginning of the cache.
351 Thu May 7 09:44:22 1998 Owen Taylor <otaylor@gtk.org>
353 * style_set improvements for GtkText and GtkEntry
355 Thu May 7 19:03:50 1998 Tim Janik <timj@gtk.org>
357 * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
360 Thu May 7 12:52:45 1998 Tim Janik <timj@gtk.org>
362 * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
363 data chunks through a global object data structure list. unlink
364 object data before invoking its destroy function.
365 (gtk_object_finalize): slight modification to allow usage of object
366 data during object finalization.
368 Thu May 7 10:29:24 1998 Tim Janik <timj@gtk.org>
370 * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
371 signal names, e.g. "signal-name" is now an alias for "signal_name".
372 (gtk_signal_handler_new): allocate handlers through a global handler
373 structure list, that's faster than memchunks.
374 (gtk_emission_new): allocate emissions through a global emission
375 structure list, that's faster than memchunks.
377 Thu May 7 05:14:19 1998 Tim Janik <timj@gtk.org>
379 * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
381 * ltmain.sh: added a new commandline flag -postfix similar to -release,
382 but will immediately change the library name.
385 * gtk/Makefile.am: specify -postfix and -version-info
387 * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
388 GTK_BINARY_AGE. calculate LT_* variables for libtool.
390 1998-05-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
392 * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
393 background (fg_set -> bg_set confusion).
395 1998-05-06 Stefan Jeske <stefan@gtk.org>
397 * gtk/testgtk.c (unselect_all): Removed code that caused an
400 Wed May 6 02:16:34 1998 Tim Janik <timj@gtk.org>
402 * gtk/gtksignal.c: reimplemented the signal storage system to use a
403 linear array rather than a hash table.
404 be carefull *not* to keep any GtkSignal pointers across invokations
405 of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
406 general code cleanups, made all allocations through memchunks.
407 (gtk_signal_lookup): we now do the lookup of signals through a key_id
408 for the signal names to avoid multiple hashing of the signal name on
409 lookups for the several hirarchy levels of an object.
411 Tue May 5 19:49:27 1998 Owen Taylor <otaylor@gtk.org>
413 * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
414 to speed things up and remove code duplication.
416 Reintegrated buffer overflow patches, and added
419 Tue May 5 17:04:14 1998 Owen Taylor <otaylor@gtk.org>
421 * gdk/gdk.c (gdk_event_translate): A guint * was
422 being passed where X expected a Keysym *, and
423 keysyms are long's on Alpha Linux. This was causing
424 segfaults in Xlib, apparently because of alignment.
425 (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
427 Tue May 5 19:11:27 1998 Owen Taylor <otaylor@gtk.org>
429 * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
430 set GDK_EXPOSURE_MASK for DrawingAreas
432 Tue May 5 14:32:37 1998 Owen Taylor <otaylor@gtk.org>
434 * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
435 (superceded by RC file reparsing capabilities)
437 * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
438 events. (Shouldn't be sent to the InputOnly leader, which
439 it is now by gdk_event_send_clientmessage_toall
441 * gtk/testgtk.c: Added extra button to rcfiles test
442 to send out _GDK_READ_RCFILES events.
444 Tue May 5 11:03:00 1998 Owen Taylor <otaylor@gtk.org>
446 * gtk/gtkselection.c (gtk_selection_clear): Fixed
447 reversed conditionals that caused segfault on some
450 Tue May 5 00:44:47 1998 Owen Taylor <otaylor@gtk.org>
452 * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
453 cast to GTK_OBJECT for gtk_object_ref.
455 Tue May 5 15:33:27 1998 Tim Janik <timj@gtk.org>
457 * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
458 checking for signal initialization in gtksignal.c.
460 * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
461 a long debugging period ;)
463 1998-05-05 Stefan Jeske <stefan@gtk.org>
465 * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
466 New function to wrap XSetDashes; modified gtkctree.c to use it.
468 1998-05-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
470 * configure.in: Added $x_libs in the other_libraries field in the
471 check for XShapeCombineMask.
473 Mon May 4 00:30:11 1998 Tim Janik <timj@gtk.org>
475 * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
477 * gtk/gtktypeutils.c: reimplemented the type storage system to use a
478 linear array rather than a hash table. it actually speeded up testgtk
479 for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
480 pointers across invokations of gtk_type_node_next_and_invalidate() and
481 therefore gtk_type_unique()!
483 * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
484 inheritance of a class pointer.
485 (GTK_OBJECT): modifications for speedups.
486 (GTK_IS_OBJECT): likewise.
487 (GTK_OBJECT_CLASS): likewise.
490 * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
492 * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
494 * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
495 since its derivation changed 4 month ago ;(. showed up with the unique
496 type name checking code in gtk_type_unique().
498 * random guint->GtkType and macro fixups.
500 Sat May 2 23:14:34 1998 Owen Taylor <otaylor@gtk.org>
502 * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
503 Configure events that would result in a negative
506 Sun May 3 14:55:34 1998 Owen Taylor <otaylor@gtk.org>
508 * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
509 "glibconfig.h" and another about writing another IRC
512 Sat May 2 00:14:05 1998 Owen Taylor <otaylor@gtk.org>
514 * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
515 parameters to log are doubles. Digital Unix apparently
516 is missing the argument in its prototype.
518 Sun May 3 19:04:46 1998 Owen Taylor <otaylor@gtk.org>
520 * gtk/gtklabel.c (gtk_label_state_changed): Don't
521 force a clear until the widget is actually on
524 Sun May 3 21:32:35 1998 Owen Taylor <otaylor@gtk.org>
526 * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
527 to make this consistent with the gtk-1-0 tree.
529 Sun May 3 13:38:22 1998 Owen Taylor <otaylor@gtk.org>
531 * configure.in acheader.h gdk/gdkwindow.c
532 Check for Shape extension both on the client and server
533 side. (And, more importantly, check for the shape extension
534 so we may include -lXext even when compiling with --disable-xshm)
536 Don't set override_redirect on all shaped windows. It isn't
539 * gdk/gdkwindow.c: Set ->colormap to NULL for root
540 and foreign windows. Use this to check if we
541 need to get the colormap from X.
543 Fri May 1 22:32:47 1998 Owen Taylor <otaylor@gtk.org>
545 * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
546 between the default and the button always in GTK_STATE_NORMAL.
548 * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
551 Fri May 1 16:40:57 1998 Owen Taylor <otaylor@gtk.org>
553 * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
554 Fix a buffer overflow on pixmaps that claim to have
555 more than 31 characters per pixel.
557 (gdk_pixmap_read_string): Don't wrap around strings longer
558 than half of address space ;-)
560 * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
561 that were used for printing integers.
568 int foo (void) { ... }
570 Even where there were proper prototypes elsewhere.
572 * gdk/gxid.c (handle_claim_device): Some extra checks.
573 It isn't safe against being fed bad X id's, but at
574 least it should be safe against deleting all your
577 Sun May 3 19:45:09 1998 Tim Janik <timj@gtk.org>
579 * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
580 to set the adjustments value when there is no current emission.
581 [ Removed by mutual agreement owt 5/3/1998 ]
583 * gtk/gtksignal.c: added new functions to retrive the number of
584 existing emissions for a certain signal.
585 (gtk_signal_n_emissions): new function.
586 (gtk_signal_n_emissions_by_name): new function.
588 Sun May 3 16:55:43 1998 Tim Janik <timj@gtk.org>
590 * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
591 set the current focus_child of a container, does proper referencing and
592 adjusts the vadjustment/hadjustment associated with the focus widget.
594 * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
595 containers via gtk_container_set_focus_child.
597 * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
600 * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
601 child since not every child removal goes through this function (this
602 showed up after gtk_container_set_focus_child() started to reference the
603 focus_child of a container).
605 * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
606 of a container from gtk_container_remove into this place.
608 Sat May 2 22:33:45 1998 Tim Janik <timj@gtk.org>
610 * gtk/gtksignal.c: added new functions to operate on intermediate
611 function pointers. implemented incremental blocking.
612 (gtk_signal_disconnect_by_func): new function.
613 (gtk_signal_handler_block_by_func): new function.
614 (gtk_signal_handler_unblock_by_func): new function
616 Fri May 1 22:45:55 1998 Owen Taylor <otaylor@gtk.org>
618 * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
619 Always show the scrollbars when the policy is
622 Sat May 2 20:19:03 1998 Tim Janik <timj@gtk.org>
624 * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
625 "value_changed" if we really passed a new value.
626 (gtk_adjustment_changed): new function to emit the "changed" signal.
627 (gtk_adjustment_set_value): new function to emit the "value_changed"
630 Fri May 1 12:28:35 1998 Owen Taylor <otaylor@gtk.org>
632 * gtk/gtkcombo.c: Further changes to the way the window
633 is popped up so that it will be compatible with
634 auto-scrolling in the future.
636 Fri May 1 20:25:29 1998 Tim Janik <timj@gtk.org>
638 * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
639 the combo-list is empty since that will cause the combo to operate
640 on a non existing GtkList window.
641 (gtk_combo_get_pos): provide the combo list with a usfull default
643 (gtk_combo_popup_button_press): grab the focus.
644 (gtk_combo_activate): grab the focus.
646 Fri May 1 12:06:43 1998 Owen Taylor <otaylor@gtk.org>
648 * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
649 function to reset the RC styles for a heirarchy
651 Clear the window background if necessary in
652 gtk_window_style_set.
654 * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
655 rereads all previously read RC files.
657 * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
658 (Should it just be called gdk_get_toplevels?)
660 * gtk/testgtk.c: New test to reload RC files.
662 Fri May 1 13:57:36 1998 Tim Janik <timj@gtk.org>
665 * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
666 clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
667 GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
668 the GTK_ prefix (this solution involved less changes in the
669 gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
670 the mem_chunk==NULL test in gtk_clist_construct. merged in changes
671 from lars & stefan to support the derivation of GtkCtree.
675 initial import of a tree widget derived from gtkclist, courtesy
676 of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
679 Fri May 1 10:05:44 1998 Tim Janik <timj@gtk.org>
681 * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
683 (gtk_list_insert_items):
684 (gtk_list_remove_items_internal):
685 (gtk_list_clear_items):
686 remove a possible pointer grab, we might get thrown into a loop
688 (gtk_list_button_press): grab the pointer *before* selecting the child,
689 because selection of items may cause the lists children to change,
690 resulting in a grab release.
691 (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
693 (gtk_list_shutdown): remove all children from the list.
694 (gtk_real_list_unselect_child):
695 (gtk_real_list_select_child): *always* put our internal structures into
696 sane state *before* signal emisions (i.e. list->selection updates prior
697 to gtk_list_item_[de]select() calls).
699 * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
700 focused child walks out of the window.
701 removed CAN_FOCUS for the combo arrow's button since it doesn't react
702 to keyboard events ("clicked" connection is missing).
704 Fri May 1 00:42:25 1998 Owen Taylor <otaylor@gtk.org>
706 * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
707 getting colormap for FOREIGN windows to go along with
708 Raster's fix for visuals.
713 Thu Apr 30 23:32:51 1998 Owen Taylor <otaylor@gtk.org>
715 * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
716 Check to catch the case when the viewport fits in either
717 direction or both, instead of flip-flopping infinitely.
719 Only show/hide the scrollbars once at the end.
721 Thu Apr 30 21:56:07 1998 Owen Taylor <otaylor@gtk.org>
723 * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach):
724 Include the scrollbars in the foreach call.
725 (gtk-fortier-980405-0.patch;
726 Patrice Fortier <Patrice.Fortier@aquarel.fr>).
729 really should also include its tabs, but that might cause
730 problems for programs if they
732 Thu Apr 30 21:51:52 1998 Owen Taylor <otaylor@gtk.org>
734 * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
735 resize if the size actually changed.
736 (gtk-johannes-980414-0.patch ;
737 johannes@nada.kth.se (Johannes Keukelaar) )
739 Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
741 * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
742 ltmain.sh ltconfig config.sub config.guess:
744 Reverted back to libtool-1.2 (plus minor patches) so as not to
745 force the issue for everyone else.
747 Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
749 * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
750 Updated to libtool 1.2a.
752 * gtk/gtkclist.c: Draw the in-between lines with style->base
753 instead of style->white.
755 Wed Apr 29 15:46:13 1998 Owen Taylor <otaylor@gtk.org>
757 * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c:
758 Cache the colormap and children of a window locally
759 instead of fetching them from the server when needed.
760 Huge performance difference for creating/destroying
763 * gtk/gtkstyle.c: Find the depth from the cached
764 visual, instead of asking the server.
766 * gtk.m4: Distribute the new version which tries to
767 figure out what went wrong and give helpful error
770 * ltmain.sh ltconfig config.sub config.sh:
771 Updated to libtool 1.2a
773 * gtk/gtktext.c: Fixed a bug where the drawn level
774 was being messed up when the text was scrolled
777 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
779 * gtk/gtkfilesel.c: don't die when naughty people remove parts of
780 the filesystem under you (fix from Josh)
782 Thu Apr 30 09:49:14 1998 Tim Janik <timj@gtk.org>
784 * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
785 if the viewport already exists before iterating over it, maybe we
786 haven't been constructed yet.
788 Thu Apr 30 01:51:00 1998 Tim Janik <timj@gtk.org>
790 * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
791 the GtkBin widget already has a child.
793 * gtk/gtkbox.c (gtk_box_pack_{start|end}):
794 check that child->parent == NULL;
796 Tue Apr 28 22:13:54 1998 Owen Taylor <otaylor@gtk.org>
798 * gtk/gtkselection.c (gtk_selection_clear): Only return
799 FALSE when the clear event is been rejected, not when
800 widget has already lost the selection. (Which should
801 only happen when we are setting the selection to another
804 Fri Apr 24 19:07:32 1998 Owen Taylor <otaylor@gtk.org>
806 * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
808 Removed the "check visibility after gtk_widget_unparent" bug
809 in hopefully the last three places.
811 Tue Apr 28 15:46:41 1998 Tim Janik <timj@gtk.org>
813 * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
816 Mon Apr 27 15:11:52 1998 Tim Janik <timj@gtk.org>
818 * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
819 for CAN_FOCUS widgets.
821 * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
822 adjustments for the table.
823 (create_list): feature automatic adjustment of the scrolled window to
824 always contain the focused child.
825 (create_main_window): keep the focussed button always inside of the
828 * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
829 adjustments, to contain the allocation of the currently focused child.
830 (gtk_container_set_focus_hadjustment): new functin to set the
831 horizontal focus adjustment.
832 (gtk_container_set_focus_vadjustment): new functin to set the vertical
835 * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
836 clamp the currents adjustment page into a specific range.
838 * random GtkType fixups for gtk_*_get_type() functions.
840 Fri Apr 24 18:37:16 1998 Owen Taylor <otaylor@gtk.org>
842 * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree):
843 Account for the fact that gtk_tree_item_remove_subtree
844 will be called recursively.
846 Handle removing a collapsed subtree.
848 (From Andy Dustman <adustman@comstar.net>)
850 * gtk/gtktree.c (gtk_tree_remove_items): Look for the
851 root tree when removing items from a non-previously
854 * gtk/testgtk.c: Added a remove_subtree button.
856 Thu Apr 23 23:44:17 1998 Owen Taylor <otaylor@gtk.org>
858 * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
859 before object removing data. This change fixes a bug where
860 removing the last weak references would cause it to be
863 Wed Apr 15 20:42:46 1998 Owen Taylor <otaylor@gtk.org>
865 * gdk/Makefile.am: Removed mostly useless dependency that
866 was causing problems for SGI's make, when used with
867 the 'make dist' form of GTK+. (Dependency caused dependencies
868 to be redone when BUILT_SOURCES changed)
870 Thu Apr 30 11:18:00 1998 Owen Taylor <otaylor@gtk.org>
872 * gtk/gtkcombo.[ch]: Allow the user to use the popup list
875 * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
876 to gtkitem.c so dragging can also work in lists.
878 * gtk/gtklist.[ch]: Track child enter events and use
879 those to allow dragging the selection.
881 Thu Apr 30 11:16:06 1998 Owen Taylor <otaylor@gtk.org>
883 * gtk/gtktext.c: Try enabling background pixmaps for editable text
884 widgets. There is a bit of flashing, but not too bad. If you
885 don't want the flashing, you can always not set a background
888 Wed Apr 29 15:46:13 1998 Owen Taylor <otaylor@gtk.org>
890 * gtk/gtktext.c: Fixed a bug where the drawn level
891 was being messed up when the text was scrolled
894 1998-04-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
896 * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
897 bug: There is no need to set the ExposureMask in the XGrabPointer
898 (this caused DnD programs to crash).
900 Fri Apr 24 01:29:04 1998 Tim Janik <timj@gtk.org>
902 * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
903 field to be of type guint.
904 * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
906 (gtk_accelerator_table_install): keep a per object list of accelerator
907 tables that refer to this object.
908 (gtk_accelerator_table_remove): remove the accelerator table from the
910 (gtk_accelerator_table_clean): warn if there are any object references
911 left in an accelerator table upon destruction.
912 (gtk_accelerator_tables_delete): new function to delete object
913 references from the accelerator tables associated with this object.
915 * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
916 GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
917 of an accelerator can be prevented by gtk_signal_emit_stop().
918 (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
919 so there are no stale pointers in accelerator tables left.
921 1998-04-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
923 * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
924 visible before we unparent it.
926 Wed Apr 22 04:15:26 1998 Tim Janik <timj@gtk.org>
928 * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
929 running_timeouts list with the tmp_list link itself, not with a new
930 GList structure pointing to our link. that would fill up memory and
931 causes the GList.data fields of the running_timeouts list to point to
932 GList structures and not GtkTimeoutFunction structures which is a
934 (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
937 Sat Apr 18 22:18:12 1998 Tim Janik <timj@gtk.org>
939 * gtk/gtkradiomenuitem.h:
940 * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
941 ala gtk_radio_button_set_group.
942 (gtk_radio_menu_item_init): assure that we always have at least a group
945 * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
946 added g_return_if_fail() statements.
947 (gtk_radio_button_init): assure that we always have at least a group
950 Fri Apr 17 03:05:05 1998 Tim Janik <timj@gtk.org>
952 * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
954 Wed Apr 15 05:13:09 1998 Tim Janik <timj@gtk.org>
956 * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
957 (Damon Chaplin), which i got wrong when applying Damon's patch the last
960 Wed Apr 15 20:42:46 1998 Owen Taylor <otaylor@gtk.org>
962 * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
963 that when we are running with a non-installed colormap,
964 in 8-bit pseudo-color, we actually are using the system
965 visual. (Fixes *Bad Match* errors on Digital Unix machines
966 with multiple 8-bit pseudo-color visuals)
968 1998-04-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
970 * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
971 by whoever thought that randomly changing ints to unsigned int
972 without reviewing the code was a good idea. It is, btw not
973 mentioned in the ChangeLog as usual, but I know it was not Elliot
974 the culprit this time.
976 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
978 * Released GTK+ 1.0.0