1 1998-05-26 Federico Mena Quintero <federico@nuclecu.unam.mx>
3 * gdk/gdktypes.h (GdkCrossingMode): New enumeration for the "mode"
4 field of crossing events.
5 (struct _GdkEventCrossing): Added the following fields: time, x,
6 y, x_root, y_root, mode, focus, state.
8 * gdk/gdk.c (gdk_event_translate): Fill in the new fields of the
9 crossing event structure.
11 * gtk/gtkfeatures.h (GDK_HAVE_FULL_CROSSING_EVENT): Annotate
12 changes to the crossing event structure.
14 Tue May 26 15:51:28 1998 Radek Doulik <gis@academy.cas.cz>
16 * gdk/gdk.c: include gdkx.h always (for GDK_ROOT_WINDOW)
18 Sun May 24 12:11:38 BST 1998 Tony Gale <gale@gtk.org>
21 - GtkTooltips, update to current API
22 - change all 'gpointer *data' to 'gpointer data'
25 Sat May 23 21:54:05 1998 Owen Taylor <otaylor@gtk.org>
27 * configure.in (LDFLAGS): Bombo out with a moderately
28 helpful message if detection of X libraries fails.
30 Sat May 23 18:57:06 1998 Owen Taylor <otaylor@gtk.org>
33 gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
34 gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]
36 * gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
37 gtk/gtksignal.c gtk/gtktext.c:
39 Fixups for warnings from adding const to type of GHashFunc,
42 * gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
45 Sat May 23 17:48:58 1998 Owen Taylor <otaylor@gtk.org>
47 * gtk/gtkeventbox.c (gtk_event_box_size_allocate):
48 Locate child at (border_width,border_width), not
49 (2*border_width,2*border_width). [ The border is _outside_
52 * gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
53 functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
55 1998-05-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
57 * gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
60 1998-05-22 <sopwith@redhat.com>
62 * gtk/gtkeventbox.c: Pass size_allocate on to the child
63 regardless of whether it is visible or not. Also
64 locate child at (border_width,border_width), not (0,0)
66 Fri May 22 03:02:40 1998 Owen Taylor <otaylor@gtk.org>
68 * gtk/gtkhandlebox.c: Added style_set handler.
70 Fri May 22 02:55:57 1998 Owen Taylor <otaylor@gtk.org>
71 [ From: Chris Lahey <clahey@umich.edu> ]
73 * gtk/gtkeditable.c, gtk/gtkeditable.h,
74 gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
75 and set_position functions to get and set the cursor position.
77 * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
78 signal status. Make GtkText do user-controlled insertion
79 and deletion through the Editable widget so that these
80 signals are properly emitted.
82 * gtk/gtkentry.c: Changed gtk_entry_set_visibility to
83 display asterisks instead of empty space when visible = FALSE)
85 Fri May 22 08:51:10 CEST 1998 Paolo Molaro <lupus@debian.org>
87 * gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
90 1998-05-21 <sopwith@redhat.com>
92 * gtk/gtkrc.[ch]: gtk_rc_set_image_loader() - allow apps to set a
93 custom routine for loading images specified in gtkrc's.
95 Tue May 19 23:41:04 1998 Owen Taylor <otaylor@gtk.org>
97 * configure.in: Use pthread_attr_init() as a test function,
98 since most of the rest of -lpthread is macros on DU4.
100 Tue, 19 May 1998 09:03:03 +0200 Paolo Molaro <lupus@debian.org>
102 * gtk/gtkcombo.c: implemented completion in the entry.
104 1998-05-18 <sopwith@moebuis.labs.redhat.com>
106 * gtk/gtk{debug.h,signal.c,main.c}: Allow GTK_DEBUG=signals
108 Mon May 18 04:01:41 1998 Tim Janik <timj@gtk.org>
110 * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
111 "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
112 to be of runtype GTK_RUN_LAST.
114 * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
117 * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
120 Sat May 16 09:04:32 1998 Tim Janik <timj@gtk.org>
122 * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
123 text retrived from GtkEntry. only intercept the Tab key if there
124 was some text to complete.
126 Fri May 15 21:16:54 1998 Owen Taylor <otaylor@gtk.org>
128 Basic thread-awareness:
130 * acconfig.h configure.in: New option --with-threads=[yes/posix/no]
132 * gdk/Makefile.am gdk/gdkthreads.c: Added new functions
133 gdk_threads_[init/enter/leave] for applications, plus
134 gdk_threads_wake to wake the mainloop thread out of
137 * gtk/Makefile.am: gtk/testthreads.c: Test program for threads
139 Fri May 15 12:08:48 1998 Owen Taylor <otaylor@gtk.org>
141 * gtk/testgtk.c (list_clear): Account for the fact
142 that gtk_list_clear_items is not inclusive. (Clears
145 Fri May 15 12:31:27 1998 rodo <doulik@karlin.mff.cuni.cz>
147 * gdk/gdk.c: include gdkkeysyms.h always
150 Fri May 15 09:44:10 1998 Tim Janik <timj@gtk.org>
152 * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
153 the visibility_notify_event method and changed method order.
155 1998-05-14 <sopwith@moebuis.labs.redhat.com>
157 * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
159 Thu May 14 03:04:43 1998 Tim Janik <timj@gtk.org>
161 * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions
162 from Olli Helenius <ollhel@batman.jytol.fi>.
164 * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
166 (gtk_type_set_chunk_alloc): new function to allow allocation of new
167 types from a mem_chunk of certain size (n_chunks==0 indicates allocation
170 * gtk/gtkobject.c (gtk_object_finalize): free an object through
173 * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
175 * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
176 * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
178 Wed May 13 00:53:52 1998 Owen Taylor <otaylor@gtk.org>
180 * gtk/gtktypeutils.c gtk/gtksignal.c gdk/gdkdnd.c: A few more
181 GPOINTER_TO_UINT fixes.
183 * gtk/gtksignal.c: Include <string.h> for memset.
185 Tue May 12 23:10:53 1998 Owen Taylor <otaylor@gtk.org>
186 (Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)
188 * gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h:
189 Cleanups, comments and the ability to have rulers with
190 a reversed direction.
192 Tue May 12 19:37:55 1998 Owen Taylor <otaylor@gtk.org>
194 * gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
195 that Sopwith missed when changing stat => lstat.
197 Tue May 12 19:19:29 1998 Owen Taylor <otaylor@gtk.org>
199 * gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
200 gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
201 GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.
203 * gdk/gdk.c: Print sizeof() results
204 as g_print("%ld", (glong)sizeof(foo)), to deal with
205 sizeof() being long on Alpha's.
207 * gtk/testgtk.c: include <string.h> for strlen
209 Tue May 12 16:56:35 1998 Owen Taylor <otaylor@gtk.org>
210 (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
212 * gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
213 Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>
215 * gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass
217 Tue May 12 15:16:10 1998 Owen Taylor <otaylor@gtk.org>
218 (From: Christopher James Lahey <clahey@umich.edu>)
220 * gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
223 Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
224 (old style), or GTK_RELIEF_NONE - no relief in the NORMAL
225 state. Added gtk_toolbar_{set,get}_button_relief, which set/get
226 the default relief for the toolbars buttons. Added an
227 toggle for the toolbar test in testgtk.c.
229 Tue May 12 00:24:59 1998 Owen Taylor <otaylor@gtk.org>
231 * docs/gtk-config.1: Rewritten and hopefully improved.
233 Mon May 11 20:26:39 PDT 1998 Manish Singh <yosh@gimp.org>
236 * docs/gtk-config.1: added man page for gtk-config by Ben Gertzfield
238 1998-05-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
240 * gtk/gtkpreview.c (gtk_preview_realize): Create the window using
241 GtkPreview's visual and colormap, otherwise things can BadMatch.
243 * gtk/testgtk.c (create_color_preview):
244 (create_gray_preview): Removed pushing/popping of visual/colormap
245 now that GtkPreview does things correctly.
247 * gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame):
248 (gtk_color_selection_draw_wheel): Pick the style from the correct
249 place (the colorsel->wheel_area widget) so that the GCs will match
250 with where we are going to paint to.
252 * gtk/testgtk.c (create_color_selection): Removed pushing/popping
253 of visual/colormap now that GtkColorSelection does things the
256 Mon May 11 21:04:51 1998 Owen Taylor <otaylor@gtk.org>
258 * gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
259 previously unused window->need_resize flag to mark if a window's
260 descendents changed size while the window was not visible. In this
261 case, when the window becomes visible, we reallocate everything,
262 since we didn't keep track of what actually changed.
264 (Fixes bug where changing the popdown strings of a
265 combo to something of the same length caused them to
266 blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
268 Tue May 12 02:31:57 1998 Tim Janik <timj@gtk.org>
270 [security audit by Alan Cox]
272 * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
273 exceed maximum assumed size.
275 * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
276 not exceed maximum assumed size.
277 (gtk_menu_factory_remove): likewise.
278 (gtk_menu_factory_find_recurse): likewise.
280 Mon May 11 23:53:38 1998 Tim Janik <timj@gtk.org>
282 * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
283 GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
284 redrawn if that is still neccessary. don't allow queueing of already
286 (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
287 widgets which are in the queue can be destroyed safely, handle
289 (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
290 widgets which are in the queue can be destroyed/unrealized safely.
292 Mon May 11 17:54:44 BST 1998 Tony Gale <gale@gtk.org>
294 * gtkfaq.sgml: add question on multi-threading,
297 Mon May 11 09:56:45 1998 Tim Janik <timj@gtk.org>
299 * configure.in (cflags_set): preserve automake CFLAGS.
301 * Makefile.am: fully rename the created libraries to libgtk-1.1.la
302 and libgdk-1.1.la. this means we need to change certain portions of
303 the Makefile.am on major/minor version bumps.
305 * ltmain.sh: the -release option is not required anymore.
307 * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
308 of the first argument to be of type GtkObject. unconditionally compile
309 this function. removed __GNUC__ dependancy of the gtk_object_ref and
310 gtk_object_unref macro wrappers for this function.
312 Mon May 11 02:31:19 1998 Tim Janik <timj@gtk.org>
316 (gtk_object_data_try_key):
317 (gtk_object_data_force_id): these are now macros substituting the old
318 functions. we just use the corresponding g_dataset_* functions for
319 key->id associations. (this is to assure unique key<->id associations).
321 1998-05-10 Stefan Jeske <stefan@gtk.org>
323 * gtk/gtkctree.c (gtk_ctree_is_visible): Changed return value
326 * docs/gtk.texi (GtkCTree): Started documentation of GtkCTree.
328 Sat May 9 20:11:20 1998 Owen Taylor <otaylor@gtk.org>
330 * configure.in (LIBS): Try to figure out if this
331 is Digital Unix and we need -std1 to get the
334 Sat May 9 16:30:33 BST 1998 Tony Gale <gale@gtk.org>
336 * docs/gtk_tut_it.sgml: update of Italian tutorial
337 translation from Daniele Canazza <dcanazz@tin.it>
339 Sat May 9 02:34:41 1998 Tim Janik <timj@gtk.org>
341 * gtk/gtkfeatures.h.in: new file used as template for
342 * gtk/gtkfeatures.h: new file to define macros indicating newly
343 introduced features, such as GTK_HAVE_SIGNAL_INIT.
346 (gtk_signal_emitv_by_name):
348 new functions to emit signals with an already provided parameter set.
349 (provided by Kenneth Albanowski <kjahds@kjahds.com>).
350 (gtk_signal_real_emit): prototype changes, so this functions always
351 gets its parameters and signal structure as arguments.
352 (gtk_signal_emit): provide the signal structure and parameter list for
353 gtk_signal_real_emit.
354 (gtk_signal_emit_by_name): likewise.
356 Sat May 9 00:03:12 1998 Tim Janik <timj@gtk.org>
358 * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
359 signal connections through unsetting GTK_CONNECTED.
360 (gtk_signal_handler_insert): reflect the presence of signal connections
361 through setting GTK_CONNECTED.
362 (gtk_signal_real_emit): only check for handler emissions if the object
363 has the GTK_CONNECTED flag set.
364 (gtk_signal_handler_pending): don't check for pending handlers if the
365 GTK_CONNECTED flag is not set for this object.
367 * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
368 a GtkObject has signal handler connections.
370 * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
371 set for this object call gtk_signal_handlers_destroy().
373 * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
374 multiple processing of macro args.
376 * gtk/gtktypeutils.c:
379 * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
381 Fri May 8 21:31:50 1998 Owen Taylor <otaylor@gtk.org>
383 * gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
384 draw-queue when we are done.
386 (gtk_widget_queue_draw/_queu_resize): Always return
387 FALSE and avoid having two idles at the same time.
389 Fri May 8 21:04:00 1998 Owen Taylor <otaylor@gtk.org>
391 * gtk/gtktext.c: Various fixes to make sure cache
392 lines are freed if line_start_cache doesn't point to the
393 beginning of the cache.
395 Thu May 7 09:44:22 1998 Owen Taylor <otaylor@gtk.org>
397 * style_set improvements for GtkText and GtkEntry
399 Thu May 7 19:03:50 1998 Tim Janik <timj@gtk.org>
401 * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
404 Thu May 7 12:52:45 1998 Tim Janik <timj@gtk.org>
406 * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
407 data chunks through a global object data structure list. unlink
408 object data before invoking its destroy function.
409 (gtk_object_finalize): slight modification to allow usage of object
410 data during object finalization.
412 Thu May 7 10:29:24 1998 Tim Janik <timj@gtk.org>
414 * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
415 signal names, e.g. "signal-name" is now an alias for "signal_name".
416 (gtk_signal_handler_new): allocate handlers through a global handler
417 structure list, that's faster than memchunks.
418 (gtk_emission_new): allocate emissions through a global emission
419 structure list, that's faster than memchunks.
421 Thu May 7 05:14:19 1998 Tim Janik <timj@gtk.org>
423 * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.
425 * ltmain.sh: added a new commandline flag -postfix similar to -release,
426 but will immediately change the library name.
429 * gtk/Makefile.am: specify -postfix and -version-info
431 * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
432 GTK_BINARY_AGE. calculate LT_* variables for libtool.
434 1998-05-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
436 * gtk/gtkclist.c (draw_row): Fixed incorrect painting of row
437 background (fg_set -> bg_set confusion).
439 1998-05-06 Stefan Jeske <stefan@gtk.org>
441 * gtk/testgtk.c (unselect_all): Removed code that caused an
444 Wed May 6 02:16:34 1998 Tim Janik <timj@gtk.org>
446 * gtk/gtksignal.c: reimplemented the signal storage system to use a
447 linear array rather than a hash table.
448 be carefull *not* to keep any GtkSignal pointers across invokations
449 of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
450 general code cleanups, made all allocations through memchunks.
451 (gtk_signal_lookup): we now do the lookup of signals through a key_id
452 for the signal names to avoid multiple hashing of the signal name on
453 lookups for the several hirarchy levels of an object.
455 Tue May 5 19:49:27 1998 Owen Taylor <otaylor@gtk.org>
457 * gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
458 to speed things up and remove code duplication.
460 Reintegrated buffer overflow patches, and added
463 Tue May 5 17:04:14 1998 Owen Taylor <otaylor@gtk.org>
465 * gdk/gdk.c (gdk_event_translate): A guint * was
466 being passed where X expected a Keysym *, and
467 keysyms are long's on Alpha Linux. This was causing
468 segfaults in Xlib, apparently because of alignment.
469 (Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)
471 Tue May 5 19:11:27 1998 Owen Taylor <otaylor@gtk.org>
473 * gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
474 set GDK_EXPOSURE_MASK for DrawingAreas
476 Tue May 5 14:32:37 1998 Owen Taylor <otaylor@gtk.org>
478 * gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
479 (superceded by RC file reparsing capabilities)
481 * gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
482 events. (Shouldn't be sent to the InputOnly leader, which
483 it is now by gdk_event_send_clientmessage_toall
485 * gtk/testgtk.c: Added extra button to rcfiles test
486 to send out _GDK_READ_RCFILES events.
488 Tue May 5 11:03:00 1998 Owen Taylor <otaylor@gtk.org>
490 * gtk/gtkselection.c (gtk_selection_clear): Fixed
491 reversed conditionals that caused segfault on some
494 Tue May 5 00:44:47 1998 Owen Taylor <otaylor@gtk.org>
496 * gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
497 cast to GTK_OBJECT for gtk_object_ref.
499 Tue May 5 15:33:27 1998 Tim Janik <timj@gtk.org>
501 * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
502 checking for signal initialization in gtksignal.c.
504 * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
505 a long debugging period ;)
507 1998-05-05 Stefan Jeske <stefan@gtk.org>
509 * gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
510 New function to wrap XSetDashes; modified gtkctree.c to use it.
512 1998-05-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
514 * configure.in: Added $x_libs in the other_libraries field in the
515 check for XShapeCombineMask.
517 Mon May 4 00:30:11 1998 Tim Janik <timj@gtk.org>
519 * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
521 * gtk/gtktypeutils.c: reimplemented the type storage system to use a
522 linear array rather than a hash table. it actually speeded up testgtk
523 for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
524 pointers across invokations of gtk_type_node_next_and_invalidate() and
525 therefore gtk_type_unique()!
527 * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
528 inheritance of a class pointer.
529 (GTK_OBJECT): modifications for speedups.
530 (GTK_IS_OBJECT): likewise.
531 (GTK_OBJECT_CLASS): likewise.
534 * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
536 * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
538 * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
539 since its derivation changed 4 month ago ;(. showed up with the unique
540 type name checking code in gtk_type_unique().
542 * random guint->GtkType and macro fixups.
544 Sat May 2 23:14:34 1998 Owen Taylor <otaylor@gtk.org>
546 * gtk/gtkcurve.c (gtk_curve_graph_events): Ignore
547 Configure events that would result in a negative
550 Sun May 3 14:55:34 1998 Owen Taylor <otaylor@gtk.org>
552 * docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
553 "glibconfig.h" and another about writing another IRC
556 Sat May 2 00:14:05 1998 Owen Taylor <otaylor@gtk.org>
558 * gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
559 parameters to log are doubles. Digital Unix apparently
560 is missing the argument in its prototype.
562 Sun May 3 19:04:46 1998 Owen Taylor <otaylor@gtk.org>
564 * gtk/gtklabel.c (gtk_label_state_changed): Don't
565 force a clear until the widget is actually on
568 Sun May 3 21:32:35 1998 Owen Taylor <otaylor@gtk.org>
570 * gdk/gdk.c (gdk_event_translate): Grab with OwnerEvents = False
571 to make this consistent with the gtk-1-0 tree.
573 Sun May 3 13:38:22 1998 Owen Taylor <otaylor@gtk.org>
575 * configure.in acheader.h gdk/gdkwindow.c
576 Check for Shape extension both on the client and server
577 side. (And, more importantly, check for the shape extension
578 so we may include -lXext even when compiling with --disable-xshm)
580 Don't set override_redirect on all shaped windows. It isn't
583 * gdk/gdkwindow.c: Set ->colormap to NULL for root
584 and foreign windows. Use this to check if we
585 need to get the colormap from X.
587 Fri May 1 22:32:47 1998 Owen Taylor <otaylor@gtk.org>
589 * gtk/gtkbutton.c (gtk_button_paint): Draw the areas
590 between the default and the button always in GTK_STATE_NORMAL.
592 * gtk/gtkrange.c (gtk_range_style_set): Added a style_set
595 Fri May 1 16:40:57 1998 Owen Taylor <otaylor@gtk.org>
597 * gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
598 Fix a buffer overflow on pixmaps that claim to have
599 more than 31 characters per pixel.
601 (gdk_pixmap_read_string): Don't wrap around strings longer
602 than half of address space ;-)
604 * gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
605 that were used for printing integers.
612 int foo (void) { ... }
614 Even where there were proper prototypes elsewhere.
616 * gdk/gxid.c (handle_claim_device): Some extra checks.
617 It isn't safe against being fed bad X id's, but at
618 least it should be safe against deleting all your
621 Sun May 3 19:45:09 1998 Tim Janik <timj@gtk.org>
623 * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
624 to set the adjustments value when there is no current emission.
625 [ Removed by mutual agreement owt 5/3/1998 ]
627 * gtk/gtksignal.c: added new functions to retrive the number of
628 existing emissions for a certain signal.
629 (gtk_signal_n_emissions): new function.
630 (gtk_signal_n_emissions_by_name): new function.
632 Sun May 3 16:55:43 1998 Tim Janik <timj@gtk.org>
634 * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
635 set the current focus_child of a container, does proper referencing and
636 adjusts the vadjustment/hadjustment associated with the focus widget.
638 * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
639 containers via gtk_container_set_focus_child.
641 * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
644 * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
645 child since not every child removal goes through this function (this
646 showed up after gtk_container_set_focus_child() started to reference the
647 focus_child of a container).
649 * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
650 of a container from gtk_container_remove into this place.
652 Sat May 2 22:33:45 1998 Tim Janik <timj@gtk.org>
654 * gtk/gtksignal.c: added new functions to operate on intermediate
655 function pointers. implemented incremental blocking.
656 (gtk_signal_disconnect_by_func): new function.
657 (gtk_signal_handler_block_by_func): new function.
658 (gtk_signal_handler_unblock_by_func): new function
660 Fri May 1 22:45:55 1998 Owen Taylor <otaylor@gtk.org>
662 * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
663 Always show the scrollbars when the policy is
666 Sat May 2 20:19:03 1998 Tim Janik <timj@gtk.org>
668 * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
669 "value_changed" if we really passed a new value.
670 (gtk_adjustment_changed): new function to emit the "changed" signal.
671 (gtk_adjustment_set_value): new function to emit the "value_changed"
674 Fri May 1 12:28:35 1998 Owen Taylor <otaylor@gtk.org>
676 * gtk/gtkcombo.c: Further changes to the way the window
677 is popped up so that it will be compatible with
678 auto-scrolling in the future.
680 Fri May 1 20:25:29 1998 Tim Janik <timj@gtk.org>
682 * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
683 the combo-list is empty since that will cause the combo to operate
684 on a non existing GtkList window.
685 (gtk_combo_get_pos): provide the combo list with a usfull default
687 (gtk_combo_popup_button_press): grab the focus.
688 (gtk_combo_activate): grab the focus.
690 Fri May 1 12:06:43 1998 Owen Taylor <otaylor@gtk.org>
692 * gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
693 function to reset the RC styles for a heirarchy
695 Clear the window background if necessary in
696 gtk_window_style_set.
698 * gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
699 rereads all previously read RC files.
701 * gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
702 (Should it just be called gdk_get_toplevels?)
704 * gtk/testgtk.c: New test to reload RC files.
706 Fri May 1 13:57:36 1998 Tim Janik <timj@gtk.org>
709 * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
710 clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
711 GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
712 the GTK_ prefix (this solution involved less changes in the
713 gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
714 the mem_chunk==NULL test in gtk_clist_construct. merged in changes
715 from lars & stefan to support the derivation of GtkCtree.
719 initial import of a tree widget derived from gtkclist, courtesy
720 of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
723 Fri May 1 10:05:44 1998 Tim Janik <timj@gtk.org>
725 * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
727 (gtk_list_insert_items):
728 (gtk_list_remove_items_internal):
729 (gtk_list_clear_items):
730 remove a possible pointer grab, we might get thrown into a loop
732 (gtk_list_button_press): grab the pointer *before* selecting the child,
733 because selection of items may cause the lists children to change,
734 resulting in a grab release.
735 (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
737 (gtk_list_shutdown): remove all children from the list.
738 (gtk_real_list_unselect_child):
739 (gtk_real_list_select_child): *always* put our internal structures into
740 sane state *before* signal emisions (i.e. list->selection updates prior
741 to gtk_list_item_[de]select() calls).
743 * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
744 focused child walks out of the window.
745 removed CAN_FOCUS for the combo arrow's button since it doesn't react
746 to keyboard events ("clicked" connection is missing).
748 Fri May 1 00:42:25 1998 Owen Taylor <otaylor@gtk.org>
750 * gdk/gdkwindow.c (gdk_window_get_colormap): Fix up
751 getting colormap for FOREIGN windows to go along with
752 Raster's fix for visuals.
757 Thu Apr 30 23:32:51 1998 Owen Taylor <otaylor@gtk.org>
759 * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
760 Check to catch the case when the viewport fits in either
761 direction or both, instead of flip-flopping infinitely.
763 Only show/hide the scrollbars once at the end.
765 Thu Apr 30 21:56:07 1998 Owen Taylor <otaylor@gtk.org>
767 * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach):
768 Include the scrollbars in the foreach call.
769 (gtk-fortier-980405-0.patch;
770 Patrice Fortier <Patrice.Fortier@aquarel.fr>).
773 really should also include its tabs, but that might cause
774 problems for programs if they
776 Thu Apr 30 21:51:52 1998 Owen Taylor <otaylor@gtk.org>
778 * gtk/gtkpixmap.c (gtk_pixmap_set): Only request a
779 resize if the size actually changed.
780 (gtk-johannes-980414-0.patch ;
781 johannes@nada.kth.se (Johannes Keukelaar) )
783 Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
785 * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
786 ltmain.sh ltconfig config.sub config.guess:
788 Reverted back to libtool-1.2 (plus minor patches) so as not to
789 force the issue for everyone else.
791 Thu Apr 30 10:22:59 1998 Owen Taylor <otaylor@gtk.org>
793 * glib/ltmain.sh glib/ltconfig glib/config.sub glib/config.guess:
794 Updated to libtool 1.2a.
796 * gtk/gtkclist.c: Draw the in-between lines with style->base
797 instead of style->white.
799 Wed Apr 29 15:46:13 1998 Owen Taylor <otaylor@gtk.org>
801 * gdk/gdkprivate.h gdk/gdkwindow.c gdk/gdkpixmap.c:
802 Cache the colormap and children of a window locally
803 instead of fetching them from the server when needed.
804 Huge performance difference for creating/destroying
807 * gtk/gtkstyle.c: Find the depth from the cached
808 visual, instead of asking the server.
810 * gtk.m4: Distribute the new version which tries to
811 figure out what went wrong and give helpful error
814 * ltmain.sh ltconfig config.sub config.sh:
815 Updated to libtool 1.2a
817 * gtk/gtktext.c: Fixed a bug where the drawn level
818 was being messed up when the text was scrolled
821 Thu Apr 30 02:42:11 PDT 1998 Manish Singh <yosh@gimp.org>
823 * gtk/gtkfilesel.c: don't die when naughty people remove parts of
824 the filesystem under you (fix from Josh)
826 Thu Apr 30 09:49:14 1998 Tim Janik <timj@gtk.org>
828 * gtk/gtkscrolledwindow.c (gtk_scrolled_window_foreach): check
829 if the viewport already exists before iterating over it, maybe we
830 haven't been constructed yet.
832 Thu Apr 30 01:51:00 1998 Tim Janik <timj@gtk.org>
834 * gtk/gtkbin.c (gtk_bin_add): made this function issue a warning if
835 the GtkBin widget already has a child.
837 * gtk/gtkbox.c (gtk_box_pack_{start|end}):
838 check that child->parent == NULL;
840 Tue Apr 28 22:13:54 1998 Owen Taylor <otaylor@gtk.org>
842 * gtk/gtkselection.c (gtk_selection_clear): Only return
843 FALSE when the clear event is been rejected, not when
844 widget has already lost the selection. (Which should
845 only happen when we are setting the selection to another
848 Fri Apr 24 19:07:32 1998 Owen Taylor <otaylor@gtk.org>
850 * gtk/gtkfixed.c gtk/gtkpaned.c gtk/gtktable.c:
852 Removed the "check visibility after gtk_widget_unparent" bug
853 in hopefully the last three places.
855 Tue Apr 28 15:46:41 1998 Tim Janik <timj@gtk.org>
857 * gtk/gtkrc.c (gtk_rc_parse_statement): allow the inclusion of other
860 Mon Apr 27 15:11:52 1998 Tim Janik <timj@gtk.org>
862 * gtk/gtkwidget.c (gtk_widget_grab_focus): only allow grabbing of focus
863 for CAN_FOCUS widgets.
865 * gtk/testgtk.c (create_scrolled_windows): feature h/v focus
866 adjustments for the table.
867 (create_list): feature automatic adjustment of the scrolled window to
868 always contain the focused child.
869 (create_main_window): keep the focussed button always inside of the
872 * gtk/gtkcontainer.c (gtk_real_container_focus): set the h/v focus
873 adjustments, to contain the allocation of the currently focused child.
874 (gtk_container_set_focus_hadjustment): new functin to set the
875 horizontal focus adjustment.
876 (gtk_container_set_focus_vadjustment): new functin to set the vertical
879 * gtk/gtkadjustment.c (gtk_adjustment_clamp_page): new fucntion to
880 clamp the currents adjustment page into a specific range.
882 * random GtkType fixups for gtk_*_get_type() functions.
884 Fri Apr 24 18:37:16 1998 Owen Taylor <otaylor@gtk.org>
886 * gtk/gtktreeitem.c (gtk_tree_item_remove_subtree):
887 Account for the fact that gtk_tree_item_remove_subtree
888 will be called recursively.
890 Handle removing a collapsed subtree.
892 (From Andy Dustman <adustman@comstar.net>)
894 * gtk/gtktree.c (gtk_tree_remove_items): Look for the
895 root tree when removing items from a non-previously
898 * gtk/testgtk.c: Added a remove_subtree button.
900 Thu Apr 23 23:44:17 1998 Owen Taylor <otaylor@gtk.org>
902 * gtk/gtkobject.c (gtk_object_finalize): Notify all weak references
903 before object removing data. This change fixes a bug where
904 removing the last weak references would cause it to be
907 Wed Apr 15 20:42:46 1998 Owen Taylor <otaylor@gtk.org>
909 * gdk/Makefile.am: Removed mostly useless dependency that
910 was causing problems for SGI's make, when used with
911 the 'make dist' form of GTK+. (Dependency caused dependencies
912 to be redone when BUILT_SOURCES changed)
914 Thu Apr 30 11:18:00 1998 Owen Taylor <otaylor@gtk.org>
916 * gtk/gtkcombo.[ch]: Allow the user to use the popup list
919 * gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
920 to gtkitem.c so dragging can also work in lists.
922 * gtk/gtklist.[ch]: Track child enter events and use
923 those to allow dragging the selection.
925 Thu Apr 30 11:16:06 1998 Owen Taylor <otaylor@gtk.org>
927 * gtk/gtktext.c: Try enabling background pixmaps for editable text
928 widgets. There is a bit of flashing, but not too bad. If you
929 don't want the flashing, you can always not set a background
932 Wed Apr 29 15:46:13 1998 Owen Taylor <otaylor@gtk.org>
934 * gtk/gtktext.c: Fixed a bug where the drawn level
935 was being messed up when the text was scrolled
938 1998-04-28 Miguel de Icaza <miguel@nuclecu.unam.mx>
940 * gdk/gdk.c (gdk_event_translate): Random debugging fixed this
941 bug: There is no need to set the ExposureMask in the XGrabPointer
942 (this caused DnD programs to crash).
944 Fri Apr 24 01:29:04 1998 Tim Janik <timj@gtk.org>
946 * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
947 field to be of type guint.
948 * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
950 (gtk_accelerator_table_install): keep a per object list of accelerator
951 tables that refer to this object.
952 (gtk_accelerator_table_remove): remove the accelerator table from the
954 (gtk_accelerator_table_clean): warn if there are any object references
955 left in an accelerator table upon destruction.
956 (gtk_accelerator_tables_delete): new function to delete object
957 references from the accelerator tables associated with this object.
959 * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
960 GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
961 of an accelerator can be prevented by gtk_signal_emit_stop().
962 (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
963 so there are no stale pointers in accelerator tables left.
965 1998-04-22 Federico Mena Quintero <federico@nuclecu.unam.mx>
967 * gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
968 visible before we unparent it.
970 Wed Apr 22 04:15:26 1998 Tim Janik <timj@gtk.org>
972 * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
973 running_timeouts list with the tmp_list link itself, not with a new
974 GList structure pointing to our link. that would fill up memory and
975 causes the GList.data fields of the running_timeouts list to point to
976 GList structures and not GtkTimeoutFunction structures which is a
978 (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
981 Sat Apr 18 22:18:12 1998 Tim Janik <timj@gtk.org>
983 * gtk/gtkradiomenuitem.h:
984 * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
985 ala gtk_radio_button_set_group.
986 (gtk_radio_menu_item_init): assure that we always have at least a group
989 * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
990 added g_return_if_fail() statements.
991 (gtk_radio_button_init): assure that we always have at least a group
994 Fri Apr 17 03:05:05 1998 Tim Janik <timj@gtk.org>
996 * ChangeLog split up into ChangeLog.pre-1-0 and ChangeLog.
998 Wed Apr 15 05:13:09 1998 Tim Janik <timj@gtk.org>
1000 * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
1001 (Damon Chaplin), which i got wrong when applying Damon's patch the last
1004 Wed Apr 15 20:42:46 1998 Owen Taylor <otaylor@gtk.org>
1006 * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
1007 that when we are running with a non-installed colormap,
1008 in 8-bit pseudo-color, we actually are using the system
1009 visual. (Fixes *Bad Match* errors on Digital Unix machines
1010 with multiple 8-bit pseudo-color visuals)
1012 1998-04-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
1014 * gdk/gdkwindow.c (gdk_window_xid_at): Fix the problem introduced
1015 by whoever thought that randomly changing ints to unsigned int
1016 without reviewing the code was a good idea. It is, btw not
1017 mentioned in the ChangeLog as usual, but I know it was not Elliot
1018 the culprit this time.
1020 Mon Apr 13 19:16:22 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
1022 * Released GTK+ 1.0.0