1 Fri May 15 21:16:54 1998 Owen Taylor <otaylor@gtk.org>
3 Basic thread-awareness:
5 * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
7 * gdk/Makefile.am gdk/gdkthreads.c: Added new functions
8 gdk_threads_[init/enter/leave] for applications, plus
9 gdk_threads_wake to wake the mainloop thread out of
12 * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
14 Fri May 15 12:08:48 1998 Owen Taylor <otaylor@gtk.org>
16 * gtk/testgtk.c (list_clear): Account for the fact
17 that gtk_list_clear_items is not inclusive. (Clears
20 Fri May 15 12:31:27 1998 rodo <doulik@karlin.mff.cuni.cz>
22 * gdk/gdk.c: include gdkkeysyms.h always
25 Fri May 15 09:44:10 1998 Tim Janik <timj@gtk.org>
27 * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
28 the visibility_notify_event method and changed method order.
30 Thu May 14 03:04:43 1998 Tim Janik <timj@gtk.org>
32 * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
33 from Olli Helenius <ollhel@batman.jytol.fi>.
35 * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
37 (gtk_type_set_chunk_alloc): new function to allow allocation of new
38 types from a mem_chunk of certain size (n_chunks==0 indicates allocation
41 * gtk/gtkobject.c (gtk_object_finalize): free an object through
44 * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
46 * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
47 * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
49 Wed May 13 00:53:52 1998 Owen Taylor <otaylor@gtk.org>
51 * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more
52 GPOINTER_TO_UINT fixes.
54 * gtk/gtksignal.c: Include <string.h> for memset.
56 Tue May 12 23:10:53 1998 Owen Taylor <otaylor@gtk.org>
57 (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
59 * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h:
60 Cleanups, comments and the ability to have rulers with
63 Tue May 12 19:37:55 1998 Owen Taylor <otaylor@gtk.org>
65 * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
66 that Sopwith missed when changing stat => lstat.
68 Tue May 12 19:19:29 1998 Owen Taylor <otaylor@gtk.org>
70 * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
71 gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
72 GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
74 * gdk/gdk.c: Print sizeof() results
75 as g_print("%ld", (glong)sizeof(foo)), to deal with
76 sizeof() being long on Alpha's.
78 * gtk/testgtk.c: include <string.h> for strlen
80 Tue May 12 16:56:35 1998 Owen Taylor <otaylor@gtk.org>
81 (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
83 * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
84 Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
86 * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
88 Tue May 12 15:16:10 1998 Owen Taylor <otaylor@gtk.org>
89 (From: Christopher James Lahey <clahey@umich.edu>)
91 * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
94 Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
95 (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
96 state. Added gtk_toolbar_{set,get}_button_relief, which set/get
97 the default relief for the toolbars buttons. Added an
98 toggle for the toolbar test in testgtk.c.
100 Tue May 12 00:24:59 1998 Owen Taylor <otaylor@gtk.org>
102 * docs/gtk-config.1: Rewritten and hopefully improved.
104 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
107 * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
109 1998-05-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
111 * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
112 GtkPreview's visual and colormap, otherwise things can BadMatch.
114 * gtk/testgtk.c (create_color_preview):
115 (create_gray_preview): Removed pushing/popping of visual/colormap
116 now that GtkPreview does things correctly.
118 * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame):
119 (gtk_color_selection_draw_wheel): Pick the style from the correct
120 place (the colorsel->wheel_area widget) so that the GCs will match
121 with where we are going to paint to.
123 * gtk/testgtk.c (create_color_selection): Removed pushing/popping
124 of visual/colormap now that GtkColorSelection does things the
127 Mon May 11 21:04:51 1998 Owen Taylor <otaylor@gtk.org>
129 * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
130 previously unused window->need_resize flag to mark if a window's
131 descendents changed size while the window was not visible. In this
132 case, when the window becomes visible, we reallocate everything,
133 since we didn't keep track of what actually changed.
135 (Fixes bug where changing the popdown strings of a
136 combo to something of the same length caused them to
137 blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
139 Tue May 12 02:31:57 1998 Tim Janik <timj@gtk.org>
141 [security audit by Alan Cox]
143 * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
144 exceed maximum assumed size.
146 * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
147 not exceed maximum assumed size.
148 (gtk_menu_factory_remove): likewise.
149 (gtk_menu_factory_find_recurse): likewise.
151 Mon May 11 23:53:38 1998 Tim Janik <timj@gtk.org>
153 * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
154 GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
155 redrawn if that is still neccessary. don't allow queueing of already
157 (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
158 widgets which are in the queue can be destroyed safely, handle
160 (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
161 widgets which are in the queue can be destroyed/unrealized safely.
163 Mon May 11 17:54:44 BST 1998 Tony Gale <gale@gtk.org>
165 * gtkfaq.sgml: add question on multi-threading,
168 Mon May 11 09:56:45 1998 Tim Janik <timj@gtk.org>
170 * configure.in (cflags_set): preserve automake CFLAGS.
172 * Makefile.am: fully rename the created libraries to libgtk-1.1.la
173 and libgdk-1.1.la. this means we need to change certain portions of
174 the Makefile.am on major/minor version bumps.
176 * ltmain.sh: the -release option is not required anymore.
178 * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
179 of the first argument to be of type GtkObject. unconditionally compile
180 this function. removed __GNUC__ dependancy of the gtk_object_ref and
181 gtk_object_unref macro wrappers for this function.
183 Mon May 11 02:31:19 1998 Tim Janik <timj@gtk.org>
187 (gtk_object_data_try_key):
188 (gtk_object_data_force_id): these are now macros substituting the old
189 functions. we just use the corresponding g_dataset_* functions for
190 key->id associations. (this is to assure unique key<->id associations).
192 1998-05-10 Stefan Jeske <stefan@gtk.org>
194 * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
197 * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
199 Sat May 9 20:11:20 1998 Owen Taylor <otaylor@gtk.org>
201 * configure.in (LIBS): Try to figure out if this
202 is Digital Unix and we need -std1 to get the
205 Sat May 9 16:30:33 BST 1998 Tony Gale <gale@gtk.org>
207 * docs/gtk_tut_it.sgml: update of Italian tutorial
208 translation from Daniele Canazza <dcanazz@tin.it>
210 Sat May 9 02:34:41 1998 Tim Janik <timj@gtk.org>
212 * gtk/gtkfeatures.h.in: new file used as template for
213 * gtk/gtkfeatures.h: new file to define macros indicating newly
214 introduced features, such as GTK_HAVE_SIGNAL_INIT.
217 (gtk_signal_emitv_by_name):
219 new functions to emit signals with an already provided parameter set.
220 (provided by Kenneth Albanowski <kjahds@kjahds.com>).
221 (gtk_signal_real_emit): prototype changes, so this functions always
222 gets its parameters and signal structure as arguments.
223 (gtk_signal_emit): provide the signal structure and parameter list for
224 gtk_signal_real_emit.
225 (gtk_signal_emit_by_name): likewise.
227 Sat May 9 00:03:12 1998 Tim Janik <timj@gtk.org>
229 * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
230 signal connections through unsetting GTK_CONNECTED.
231 (gtk_signal_handler_insert): reflect the presence of signal connections
232 through setting GTK_CONNECTED.
233 (gtk_signal_real_emit): only check for handler emissions if the object
234 has the GTK_CONNECTED flag set.
235 (gtk_signal_handler_pending): don't check for pending handlers if the
236 GTK_CONNECTED flag is not set for this object.
238 * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
239 a GtkObject has signal handler connections.
241 * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
242 set for this object call gtk_signal_handlers_destroy().
244 * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
245 multiple processing of macro args.
247 * gtk/gtktypeutils.c:
250 * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
252 Fri May 8 21:31:50 1998 Owen Taylor <otaylor@gtk.org>
254 * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
255 draw-queue when we are done.
257 (gtk_widget_queue_draw/_queu_resize): Always return
258 FALSE and avoid having two idles at the same time.
260 Fri May 8 21:04:00 1998 Owen Taylor <otaylor@gtk.org>
262 * gtk/gtktext.c: Various fixes to make sure cache
263 lines are freed if line_start_cache doesn't point to the
264 beginning of the cache.
266 Thu May 7 09:44:22 1998 Owen Taylor <otaylor@gtk.org>
268 * style_set improvements for GtkText and GtkEntry
270 Thu May 7 19:03:50 1998 Tim Janik <timj@gtk.org>
272 * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
275 Thu May 7 12:52:45 1998 Tim Janik <timj@gtk.org>
277 * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
278 data chunks through a global object data structure list. unlink
279 object data before invoking its destroy function.
280 (gtk_object_finalize): slight modification to allow usage of object
281 data during object finalization.
283 Thu May 7 10:29:24 1998 Tim Janik <timj@gtk.org>
285 * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
286 signal names, e.g. "signal-name" is now an alias for "signal_name".
287 (gtk_signal_handler_new): allocate handlers through a global handler
288 structure list, that's faster than memchunks.
289 (gtk_emission_new): allocate emissions through a global emission
290 structure list, that's faster than memchunks.
292 Thu May 7 05:14:19 1998 Tim Janik <timj@gtk.org>
294 * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
296 * ltmain.sh: added a new commandline flag -postfix similar to -release,
297 but will immediately change the library name.
300 * gtk/Makefile.am: specify -postfix and -version-info
302 * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
303 GTK_BINARY_AGE. calculate LT_* variables for libtool.
305 1998-05-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
307 * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
308 background (fg_set -> bg_set confusion).
310 1998-05-06 Stefan Jeske <stefan@gtk.org>
312 * gtk/testgtk.c (unselect_all): Removed code that caused an
315 Wed May 6 02:16:34 1998 Tim Janik <timj@gtk.org>
317 * gtk/gtksignal.c: reimplemented the signal storage system to use a
318 linear array rather than a hash table.
319 be carefull *not* to keep any GtkSignal pointers across invokations
320 of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
321 general code cleanups, made all allocations through memchunks.
322 (gtk_signal_lookup): we now do the lookup of signals through a key_id
323 for the signal names to avoid multiple hashing of the signal name on
324 lookups for the several hirarchy levels of an object.
326 Tue May 5 19:49:27 1998 Owen Taylor <otaylor@gtk.org>
328 * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
329 to speed things up and remove code duplication.
331 Reintegrated buffer overflow patches, and added
334 Tue May 5 17:04:14 1998 Owen Taylor <otaylor@gtk.org>
336 * gdk/gdk.c (gdk_event_translate): A guint * was
337 being passed where X expected a Keysym *, and
338 keysyms are long's on Alpha Linux. This was causing
339 segfaults in Xlib, apparently because of alignment.
340 (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
342 Tue May 5 19:11:27 1998 Owen Taylor <otaylor@gtk.org>
344 * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
345 set GDK_EXPOSURE_MASK for DrawingAreas
347 Tue May 5 14:32:37 1998 Owen Taylor <otaylor@gtk.org>
349 * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
350 (superceded by RC file reparsing capabilities)
352 * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
353 events. (Shouldn't be sent to the InputOnly leader, which
354 it is now by gdk_event_send_clientmessage_toall
356 * gtk/testgtk.c: Added extra button to rcfiles test
357 to send out _GDK_READ_RCFILES events.
359 Tue May 5 11:03:00 1998 Owen Taylor <otaylor@gtk.org>
361 * gtk/gtkselection.c (gtk_selection_clear): Fixed
362 reversed conditionals that caused segfault on some
365 Tue May 5 00:44:47 1998 Owen Taylor <otaylor@gtk.org>
367 * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
368 cast to GTK_OBJECT for gtk_object_ref.
370 Tue May 5 15:33:27 1998 Tim Janik <timj@gtk.org>
372 * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
373 checking for signal initialization in gtksignal.c.
375 * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
376 a long debugging period ;)
378 1998-05-05 Stefan Jeske <stefan@gtk.org>
380 * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
381 New function to wrap XSetDashes; modified gtkctree.c to use it.
383 1998-05-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
385 * configure.in: Added $x_libs in the other_libraries field in the
386 check for XShapeCombineMask.
388 Mon May 4 00:30:11 1998 Tim Janik <timj@gtk.org>
390 * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
392 * gtk/gtktypeutils.c: reimplemented the type storage system to use a
393 linear array rather than a hash table. it actually speeded up testgtk
394 for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
395 pointers across invokations of gtk_type_node_next_and_invalidate() and
396 therefore gtk_type_unique()!
398 * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
399 inheritance of a class pointer.
400 (GTK_OBJECT): modifications for speedups.
401 (GTK_IS_OBJECT): likewise.
402 (GTK_OBJECT_CLASS): likewise.
405 * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
407 * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
409 * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
410 since its derivation changed 4 month ago ;(. showed up with the unique
411 type name checking code in gtk_type_unique().
413 * random guint->GtkType and macro fixups.
415 Sat May 2 23:14:34 1998 Owen Taylor <otaylor@gtk.org>
417 * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
418 Configure events that would result in a negative
421 Sun May 3 14:55:34 1998 Owen Taylor <otaylor@gtk.org>
423 * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
424 "glibconfig.h" and another about writing another IRC
427 Sat May 2 00:14:05 1998 Owen Taylor <otaylor@gtk.org>
429 * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
430 parameters to log are doubles. Digital Unix apparently
431 is missing the argument in its prototype.
433 Sun May 3 19:04:46 1998 Owen Taylor <otaylor@gtk.org>
435 * gtk/gtklabel.c (gtk_label_state_changed): Don't
436 force a clear until the widget is actually on
439 Sun May 3 21:32:35 1998 Owen Taylor <otaylor@gtk.org>
441 * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
442 to make this consistent with the gtk-1-0 tree.
444 Sun May 3 13:38:22 1998 Owen Taylor <otaylor@gtk.org>
446 * configure.in acheader.h gdk/gdkwindow.c
447 Check for Shape extension both on the client and server
448 side. (And, more importantly, check for the shape extension
449 so we may include -lXext even when compiling with --disable-xshm)
451 Don't set override_redirect on all shaped windows. It isn't
454 * gdk/gdkwindow.c: Set ->colormap to NULL for root
455 and foreign windows. Use this to check if we
456 need to get the colormap from X.
458 Fri May 1 22:32:47 1998 Owen Taylor <otaylor@gtk.org>
460 * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
461 between the default and the button always in GTK_STATE_NORMAL.
463 * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
466 Fri May 1 16:40:57 1998 Owen Taylor <otaylor@gtk.org>
468 * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
469 Fix a buffer overflow on pixmaps that claim to have
470 more than 31 characters per pixel.
472 (gdk_pixmap_read_string): Don't wrap around strings longer
473 than half of address space ;-)
475 * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
476 that were used for printing integers.
483 int foo (void) { ... }
485 Even where there were proper prototypes elsewhere.
487 * gdk/gxid.c (handle_claim_device): Some extra checks.
488 It isn't safe against being fed bad X id's, but at
489 least it should be safe against deleting all your
492 Sun May 3 19:45:09 1998 Tim Janik <timj@gtk.org>
494 * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
495 to set the adjustments value when there is no current emission.
496 [ Removed by mutual agreement owt 5/3/1998 ]
498 * gtk/gtksignal.c: added new functions to retrive the number of
499 existing emissions for a certain signal.
500 (gtk_signal_n_emissions): new function.
501 (gtk_signal_n_emissions_by_name): new function.
503 Sun May 3 16:55:43 1998 Tim Janik <timj@gtk.org>
505 * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
506 set the current focus_child of a container, does proper referencing and
507 adjusts the vadjustment/hadjustment associated with the focus widget.
509 * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
510 containers via gtk_container_set_focus_child.
512 * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
515 * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
516 child since not every child removal goes through this function (this
517 showed up after gtk_container_set_focus_child() started to reference the
518 focus_child of a container).
520 * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
521 of a container from gtk_container_remove into this place.
523 Sat May 2 22:33:45 1998 Tim Janik <timj@gtk.org>
525 * gtk/gtksignal.c: added new functions to operate on intermediate
526 function pointers. implemented incremental blocking.
527 (gtk_signal_disconnect_by_func): new function.
528 (gtk_signal_handler_block_by_func): new function.
529 (gtk_signal_handler_unblock_by_func): new function
531 Fri May 1 22:45:55 1998 Owen Taylor <otaylor@gtk.org>
533 * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
534 Always show the scrollbars when the policy is
537 Sat May 2 20:19:03 1998 Tim Janik <timj@gtk.org>
539 * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
540 "value_changed" if we really passed a new value.
541 (gtk_adjustment_changed): new function to emit the "changed" signal.
542 (gtk_adjustment_set_value): new function to emit the "value_changed"
545 Fri May 1 12:28:35 1998 Owen Taylor <otaylor@gtk.org>
547 * gtk/gtkcombo.c: Further changes to the way the window
548 is popped up so that it will be compatible with
549 auto-scrolling in the future.
551 Fri May 1 20:25:29 1998 Tim Janik <timj@gtk.org>
553 * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
554 the combo-list is empty since that will cause the combo to operate
555 on a non existing GtkList window.
556 (gtk_combo_get_pos): provide the combo list with a usfull default
558 (gtk_combo_popup_button_press): grab the focus.
559 (gtk_combo_activate): grab the focus.
561 Fri May 1 12:06:43 1998 Owen Taylor <otaylor@gtk.org>
563 * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
564 function to reset the RC styles for a heirarchy
566 Clear the window background if necessary in
567 gtk_window_style_set.
569 * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
570 rereads all previously read RC files.
572 * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
573 (Should it just be called gdk_get_toplevels?)
575 * gtk/testgtk.c: New test to reload RC files.
577 Fri May 1 13:57:36 1998 Tim Janik <timj@gtk.org>
580 * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
581 clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
582 GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
583 the GTK_ prefix (this solution involved less changes in the
584 gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
585 the mem_chunk==NULL test in gtk_clist_construct. merged in changes
586 from lars & stefan to support the derivation of GtkCtree.
590 initial import of a tree widget derived from gtkclist, courtesy
591 of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
594 Fri May 1 10:05:44 1998 Tim Janik <timj@gtk.org>
596 * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
598 (gtk_list_insert_items):
599 (gtk_list_remove_items_internal):
600 (gtk_list_clear_items):
601 remove a possible pointer grab, we might get thrown into a loop
603 (gtk_list_button_press): grab the pointer *before* selecting the child,
604 because selection of items may cause the lists children to change,
605 resulting in a grab release.
606 (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
608 (gtk_list_shutdown): remove all children from the list.
609 (gtk_real_list_unselect_child):
610 (gtk_real_list_select_child): *always* put our internal structures into
611 sane state *before* signal emisions (i.e. list->selection updates prior
612 to gtk_list_item_[de]select() calls).
614 * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
615 focused child walks out of the window.
616 removed CAN_FOCUS for the combo arrow's button since it doesn't react
617 to keyboard events ("clicked" connection is missing).
619 Fri May 1 00:42:25 1998 Owen Taylor <otaylor@gtk.org>
621 * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
622 getting colormap for FOREIGN windows to go along with
623 Raster's fix for visuals.
628 Thu Apr 30 23:32:51 1998 Owen Taylor <otaylor@gtk.org>
630 * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
631 Check to catch the case when the viewport fits in either
632 direction or both, instead of flip-flopping infinitely.
634 Only show/hide the scrollbars once at the end.
636 Thu Apr 30 21:56:07 1998 Owen Taylor <otaylor@gtk.org>
638 * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach):
639 Include the scrollbars in the foreach call.
640 (gtk-fortier-980405-0.patch;
641 Patrice Fortier <Patrice.Fortier@aquarel.fr>).
644 really should also include its tabs, but that might cause
645 problems for programs if they
647 Thu Apr 30 21:51:52 1998 Owen Taylor <otaylor@gtk.org>
649 * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
650 resize if the size actually changed.
651 (gtk-johannes-980414-0.patch ;
652 johannes@nada.kth.se (Johannes Keukelaar) )
654 Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
656 * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
657 ltmain.sh ltconfig config.sub config.guess:
659 Reverted back to libtool-1.2 (plus minor patches) so as not to
660 force the issue for everyone else.
662 Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
664 * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
665 Updated to libtool 1.2a.
667 * gtk/gtkclist.c: Draw the in-between lines with style->base
668 instead of style->white.
670 Wed Apr 29 15:46:13 1998 Owen Taylor <otaylor@gtk.org>
672 * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c:
673 Cache the colormap and children of a window locally
674 instead of fetching them from the server when needed.
675 Huge performance difference for creating/destroying
678 * gtk/gtkstyle.c: Find the depth from the cached
679 visual, instead of asking the server.
681 * gtk.m4: Distribute the new version which tries to
682 figure out what went wrong and give helpful error
685 * ltmain.sh ltconfig config.sub config.sh:
686 Updated to libtool 1.2a
688 * gtk/gtktext.c: Fixed a bug where the drawn level
689 was being messed up when the text was scrolled
692 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
694 * gtk/gtkfilesel.c: don't die when naughty people remove parts of
695 the filesystem under you (fix from Josh)
697 Thu Apr 30 09:49:14 1998 Tim Janik <timj@gtk.org>
699 * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
700 if the viewport already exists before iterating over it, maybe we
701 haven't been constructed yet.
703 Thu Apr 30 01:51:00 1998 Tim Janik <timj@gtk.org>
705 * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
706 the GtkBin widget already has a child.
708 * gtk/gtkbox.c (gtk_box_pack_{start|end}):
709 check that child->parent == NULL;
711 Tue Apr 28 22:13:54 1998 Owen Taylor <otaylor@gtk.org>
713 * gtk/gtkselection.c (gtk_selection_clear): Only return
714 FALSE when the clear event is been rejected, not when
715 widget has already lost the selection. (Which should
716 only happen when we are setting the selection to another
719 Fri Apr 24 19:07:32 1998 Owen Taylor <otaylor@gtk.org>
721 * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
723 Removed the "check visibility after gtk_widget_unparent" bug
724 in hopefully the last three places.
726 Tue Apr 28 15:46:41 1998 Tim Janik <timj@gtk.org>
728 * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
731 Mon Apr 27 15:11:52 1998 Tim Janik <timj@gtk.org>
733 * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
734 for CAN_FOCUS widgets.
736 * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
737 adjustments for the table.
738 (create_list): feature automatic adjustment of the scrolled window to
739 always contain the focused child.
740 (create_main_window): keep the focussed button always inside of the
743 * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
744 adjustments, to contain the allocation of the currently focused child.
745 (gtk_container_set_focus_hadjustment): new functin to set the
746 horizontal focus adjustment.
747 (gtk_container_set_focus_vadjustment): new functin to set the vertical
750 * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
751 clamp the currents adjustment page into a specific range.
753 * random GtkType fixups for gtk_*_get_type() functions.
755 Fri Apr 24 18:37:16 1998 Owen Taylor <otaylor@gtk.org>
757 * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree):
758 Account for the fact that gtk_tree_item_remove_subtree
759 will be called recursively.
761 Handle removing a collapsed subtree.
763 (From Andy Dustman <adustman@comstar.net>)
765 * gtk/gtktree.c (gtk_tree_remove_items): Look for the
766 root tree when removing items from a non-previously
769 * gtk/testgtk.c: Added a remove_subtree button.
771 Thu Apr 23 23:44:17 1998 Owen Taylor <otaylor@gtk.org>
773 * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
774 before object removing data. This change fixes a bug where
775 removing the last weak references would cause it to be
778 Wed Apr 15 20:42:46 1998 Owen Taylor <otaylor@gtk.org>
780 * gdk/Makefile.am: Removed mostly useless dependency that
781 was causing problems for SGI's make, when used with
782 the 'make dist' form of GTK+. (Dependency caused dependencies
783 to be redone when BUILT_SOURCES changed)
785 Thu Apr 30 11:18:00 1998 Owen Taylor <otaylor@gtk.org>
787 * gtk/gtkcombo.[ch]: Allow the user to use the popup list
790 * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
791 to gtkitem.c so dragging can also work in lists.
793 * gtk/gtklist.[ch]: Track child enter events and use
794 those to allow dragging the selection.
796 Thu Apr 30 11:16:06 1998 Owen Taylor <otaylor@gtk.org>
798 * gtk/gtktext.c: Try enabling background pixmaps for editable text
799 widgets. There is a bit of flashing, but not too bad. If you
800 don't want the flashing, you can always not set a background
803 Wed Apr 29 15:46:13 1998 Owen Taylor <otaylor@gtk.org>
805 * gtk/gtktext.c: Fixed a bug where the drawn level
806 was being messed up when the text was scrolled
809 1998-04-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
811 * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
812 bug: There is no need to set the ExposureMask in the XGrabPointer
813 (this caused DnD programs to crash).
815 Fri Apr 24 01:29:04 1998 Tim Janik <timj@gtk.org>
817 * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
818 field to be of type guint.
819 * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
821 (gtk_accelerator_table_install): keep a per object list of accelerator
822 tables that refer to this object.
823 (gtk_accelerator_table_remove): remove the accelerator table from the
825 (gtk_accelerator_table_clean): warn if there are any object references
826 left in an accelerator table upon destruction.
827 (gtk_accelerator_tables_delete): new function to delete object
828 references from the accelerator tables associated with this object.
830 * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
831 GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
832 of an accelerator can be prevented by gtk_signal_emit_stop().
833 (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
834 so there are no stale pointers in accelerator tables left.
836 1998-04-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
838 * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
839 visible before we unparent it.
841 Wed Apr 22 04:15:26 1998 Tim Janik <timj@gtk.org>
843 * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
844 running_timeouts list with the tmp_list link itself, not with a new
845 GList structure pointing to our link. that would fill up memory and
846 causes the GList.data fields of the running_timeouts list to point to
847 GList structures and not GtkTimeoutFunction structures which is a
849 (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
852 Sat Apr 18 22:18:12 1998 Tim Janik <timj@gtk.org>
854 * gtk/gtkradiomenuitem.h:
855 * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
856 ala gtk_radio_button_set_group.
857 (gtk_radio_menu_item_init): assure that we always have at least a group
860 * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
861 added g_return_if_fail() statements.
862 (gtk_radio_button_init): assure that we always have at least a group
865 Fri Apr 17 03:05:05 1998 Tim Janik <timj@gtk.org>
867 * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
869 Wed Apr 15 05:13:09 1998 Tim Janik <timj@gtk.org>
871 * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
872 (Damon Chaplin), which i got wrong when applying Damon's patch the last
875 Wed Apr 15 20:42:46 1998 Owen Taylor <otaylor@gtk.org>
877 * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
878 that when we are running with a non-installed colormap,
879 in 8-bit pseudo-color, we actually are using the system
880 visual. (Fixes *Bad Match* errors on Digital Unix machines
881 with multiple 8-bit pseudo-color visuals)
883 1998-04-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
885 * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
886 by whoever thought that randomly changing ints to unsigned int
887 without reviewing the code was a good idea. It is, btw not
888 mentioned in the ChangeLog as usual, but I know it was not Elliot
889 the culprit this time.
891 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
893 * Released GTK+ 1.0.0