]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
Skip g_convert when to_codeset and from_codeset are both 'UTF-8' (gnome
[~andy/gtk] / ChangeLog.pre-2-4
1 2001-08-06  HideToshi Tajima  <tajima@eng.sun.com>
2
3         * modules/input/gtkimcontextxim.c (mb_to_utf8), xim_text_to_utf8):
4         Skip g_convert when to_codeset and from_codeset are both 'UTF-8'
5         (gnome bugzilla #58202)
6
7 2001-08-06  Havoc Pennington  <hp@pobox.com>
8  
9         * gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): The whole 
10         GDK_IS_WINDOW() branch of this was a bit screwed up, because 
11         it was expecting a GdkWindow, not a GdkWindowImplX11.
12  
13         Also, we were getting the window rect in screen coords 
14         and the screen rect in window coords then intersecting 
15         them; instead, get window rect in window coords.
16  
17         Finally, there were codepaths that resulted in a stuck server grab
18         (when the window was fully onscreen, or on gdk_image_new()
19         failure); make the server ungrab thing a bit more
20         robust/consistent.
21
22 2001-08-06  Sven Neumann  <sven@gimp.org>
23
24         * gdk/gdkpango.c (gdk_pango_context_destroy): 
25         check if info->colormap != NULL before unref'ing it. It might have
26         been set to NULL using gdk_pango_context_set_colormap().
27
28 Sun Aug  5 11:24:27 2001  Owen Taylor  <otaylor@redhat.com>
29
30         * gtk/gtkcolorsel.c (gtk_color_selection_set_current_alpha): 
31         Fix conversion from float to int so that we don't get
32         skew in the int => float => int roundtrip. 
33         (#58120, reported by Vitaly Tishkov). Also fix problem
34         where if no alpha was set, the returned alpha
35         from (say) set_current_alpha() was returned as 1, not 65535.
36
37 Sun Aug  5 09:48:08 2001  Owen Taylor  <otaylor@redhat.com>
38
39         * gtk/gtklist.c (gtk_list_clear_items): Fix
40         problem with selecting a new focus child.
41
42         * gtk/gtklist.c (gtk_list_clear_items): Clear 
43         list->undo/list_focus_child after unparenting
44         child, since unparenting the child can result
45         in list->last_focus_child being set. (#58024)
46
47         * Makefile.am (SUBDIRS): Add target specific pc
48         files to DISTCLEANFILES.
49
50         * gtk/Makefile.am: add @GTK_DEBUG_FLAGS@
51         (58327, Matthias Clasen)
52
53 Sat Aug  4 19:28:21 2001  Owen Taylor  <otaylor@redhat.com>
54
55         * tests/testgtk.c: Patch from Hans (with various modifications),
56         to add the ability to use testgtk as a rough-and-ready
57         benchmark. Try, 'testgtk --bench all:5' (if you want decent
58         numbers, run without a window manager)
59
60 2001-08-04 Alexander Larsson <alexl@redhat.com>
61
62         * gdk/win32/gdkinput.c:
63         Add #ifdef HAVE_WINTAB around wintab.h include.
64
65         * gtk/gtk.def:
66         Removed marshals that have been moved to glib.
67         Commented out plug and socket. They didn't compile for me 
68         on win32.
69
70 2001-08-04  Hans Breuer  <hans@breuer.org>
71
72         * gtk/stocks-icons/makefile.msc : new file
73         * gtk/makefile.msc.in : use it
74
75         * gtk/gtkstyle.c : not all platforms do provide M_PI and
76         friends, but luckily there is G_PI
77
78         * gtk/gtk.def : updated
79
80         * gdk/win32/gdkwindow.c (gdk_window_new) : don't make all TEMP 
81         windows WS_POPUP, but only those without a parent. This fixes the 
82         mis-alignment between the selectable (temp, input only) window and 
83         the window text of GtkLabel.
84
85         (gdk_window_show) : respect private->state when actually showing
86         the window.
87
88         (gdk_window_set_transient_for) : Implementation from Wolfgang 
89         Sourdeau <wolfgang@contre.com> ported to 2.0 and added some 
90         error handling. Should fix #50586.
91
92         * gdk/win32/gdkevents-win32.c : beautify log output
93
94 2001-08-04  Michael Natterer  <mitch@gimp.org>
95
96         * gtk/gtkitemfactory.c (gtk_item_factory_create_item):
97         Need to show the image after adding it to the GtkImageMenuItem.
98         This used to work without in testgtk because of the
99         gtk_widget_show_all() at the end of the function.
100         (Closes #54978).
101
102 Tue Jul 31 22:59:33 2001  Tim Janik  <timj@gtk.org>
103
104         * gtk/gtknotebook.c (gtk_notebook_get_child_property): 
105         (gtk_notebook_set_child_property): fix finding of child's page,
106         since we have to validly deal with labels and menus here as well.
107         (gtk_notebook_get_child_property): fix warning.
108         (gtk_notebook_class_init): property tab_pack is of type
109         GTK_TYPE_PACK_TYPE (enum) not boolean.
110         (gtk_notebook_find_child): don't always warn, we might be looking
111         for a label or menu child.
112         (gtk_notebook_map): fix mapping of panel.
113
114         * gtk/gtkwidget.c (gtk_widget_set_child_visible): always constrain
115         widget's mapped state, regardless of the value being set equals
116         old settings, since things like REALIZED(parent) or MAPPED(parent)
117         may have changed since the old value was set. make it an error to
118         invoke this function on a toplevel widget.
119
120 2001-07-31  Darin Adler  <darin@bentspoon.com>
121
122         * gdk/gdkprivate.h:
123         * gdk/x11/gdkx.h:
124         Put all mentions of GdkFont inside #ifndef GDK_DISABLE_DEPRECATED.
125
126         * demos/gtk-demo/menus.c: (do_menus): Cast to G_OBJECT, not
127         GTK_OBJECT.
128
129 Tue Jul 31 15:34:57 2001  Jonathan Blandford  <jrb@redhat.com>
130
131         * gtk/gtktreeview.c (gtk_tree_view_remove_column): Whoops.  Stupid
132         scoping error pointed out by matthiasc@poet.de.
133
134 2001-07-31  Sven Neumann  <sven@gimp.org>
135
136         * demos/gtk-demo/appwindow.c
137         * demos/gtk-demo/item_factory.c
138         * tests/testgtk.c: gtk_accel_group_attach() takes a GObject.
139
140 Mon Jul 30 10:49:16 PDT 2001 Suresh Chandrasekharan <suresh.chandrasekharan@sun.com>
141
142         * gtk/gtksignal.h (gtk_signal_handler_pending): corrected the wrong
143         argument order for g_signal_has_handler_pending.
144
145 Sun Jul 29 17:14:01 2001  Tim Janik  <timj@gtk.org>
146
147         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): use g_file_test()
148         instead of long deprecated g_scanner_stat_mode().
149
150 2001-07-29  Hans Breuer  <hans@breuer.org>
151
152         * gdk/makefile.msc : build in the backend dir after
153         auto-generating files
154
155         * gdk/win32/gdkfont-win32.c (gdk_font_load) : reimplement
156         with code from win32-production-branch.
157
158         *  gdk/win32/gdkwindow-win32.c : set the private->destroyed flag
159         before calling DestroyWindow, which indirectly calls 
160         gdk_window_destroy_notify ()
161
162         (performance patch merged from win32-production-branch)
163         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_segments): 
164         Use PatBlt() instead of LineTo() when possible (solid single-pixel pen, 
165         R2_COPYPEN rop). It is claimed to be much faster.
166
167 Fri Jul 27 11:31:15 2001  Jonathan Blandford  <jrb@redhat.com>
168
169         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_get_property):
170         add an "attributes" property to the text renderer for ATK.
171
172 2001-07-26  Alex Larsson  <alexl@redhat.com>
173
174         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
175         Initialize image->bits_per_pixel from the drawable, not from
176         the root window.
177
178         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_get_depth):
179         Fix cast. argument is an IMPL already.
180
181 2001-07-15  James Henstridge  <james@daa.com.au>
182
183         * gtk/gtkwindow.c (gtk_window_add_accel_group): cast to GObject.
184         (gtk_window_remove_accel_group): same here.
185         (gtk_window_key_press_event): same here.
186
187         * gtk/gtkwidget.c (gtk_widget_add_accelerator): cast to GObject.
188         (gtk_widget_remove_accelerator): same here.
189         (gtk_widget_remove_accelerators): same here.
190
191         * gtk/gtkplug.c (gtk_plug_accel_entries_changed): same here.
192
193         * gtk/gtkmenushell.c (gtk_menu_shell_key_press): cast to GObject
194         instead of GtkObject.
195
196         * gtk/gtkmenu.c (gtk_menu_key_press): update since GtkAccelGroup
197         now takes GObjects.
198
199         * gtk/gtkitemfactory.c (gtk_item_factory_propagate_accelerator):
200         pass a GObject to gtk_accel_group_entries_from_object.
201         (gtk_item_factory_create_item): s/accel_widget/accel_object/
202
203         * gtk/gtk-boxed.defs: remove GtkAccelGroup boxed def.
204
205         * gtk/gtkaccellabel.c: convert to handle GObject accel objects.
206
207         * gtk/gtkaccellabel.h: fix header to reflect that arbitrary
208         GObjects can have accelerators set now.  Add compatibility
209         defines.
210
211         * gtk/gtkmarshal.list: add missing marshallers.
212
213         * gtk/gtkaccelgroup.[ch]: convert to a GObject, and allow setting
214         accelerators on plain GObjects.  gtk_accel_group_object_destroy
215         has been converted into a weak reference, and
216         gtk_accel_group_delete_entries is now a destroy notify for that
217         piece of data.
218
219 2001-07-23  Ron Steinke  <rsteinke@w-link.net>
220
221         * gdk/gdkdraw.c: Added a check on the colormap depth to
222         gdk_drawable_set_colormap()
223         * gdk/x11/gdkimage-x11.c: combination of Matthias Clasen's
224         patch to fix colorsel and my patch to fix gdk_drawable_get_image()
225         for pixmaps without visuals (more specifically, bitmaps)
226         * gdk/x11/gdkpixmap-x11.c: Fixed gdk_pixmap_new() so it
227         doesn't set a colormap with the wrong depth
228
229
230 2001-07-22  Anders Carlsson  <andersca@gnome.org>
231
232         * gtk/gtktreeview.c (gtk_tree_view_class_init): Replace the
233         expander_height and expander_width properties with a single
234         property, expander_size.
235         (gtk_tree_view_init): Set the tab_offset to expander_size
236         plus some padding.
237         (gtk_tree_view_unrealize): Remove the expand/collapse
238         timeout if it exists.
239         (coords_are_over_arrow): Fix a small bug.
240         (gtk_tree_view_motion_draw_column_motion_arrow): Use
241         expander_size.
242         (gtk_tree_view_draw_focus): Use "treeview" instead of
243         "add-mode" as detail when drawing the focus.
244         (gtk_tree_view_bin_expose): Use "treeview-drop-indicator"
245         instead of "add-mode" as detail when drawing the focus.
246         (gtk_tree_view_deleted): If we have a node currently being
247         expanded or collapsed, remove the timeout and set the node 
248         to NULL.
249         (gtk_tree_view_queue_draw_arrow): New function that just
250         redraws the arrow of a node.
251         (gtk_tree_view_draw_arrow): Use expander_size instead of
252         expander_width/expander_height, also pass a different
253         expander_style to gtk_paint_expander depending on the 
254         state of the node being drawn.
255         (expand_collapse_timeout): New function for expanding 
256         or collapsing a node depending on the previous state.
257         (gtk_tree_view_real_expand_row): Add timeout and set 
258         correct state for node being expanded.
259         (gtk_tree_view_real_collapse_row): Add timeout and set
260         correct state for node being collapsed.
261
262         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): Add
263         information about the node currently being expanded or
264         collapsed, and also a timeout id.
265
266         * gtk/gtkstyle.h (struct _GtkStyleClass): Replace is_open
267         with expander_style for draw_expander.
268
269         * gtk/gtkstyle.c (gtk_draw_expander): Replace is_open with
270         expander_style.
271         (create_expander_affine): New function for creating an 
272         expander affine.
273         (apply_affine_on_point): New function for applying an 
274         affine to a point.
275         (gtk_default_draw_expander): Modified to take expander_style
276         instead of is_open, and to draw the rectangle rotated differently
277         depending on the expander style.
278         (gtk_paint_expander): Replace is_open with expander_style.
279
280         * gtk/gtkrbtree.h: Add expander states to GtkRBNodeColor.
281
282         * gtk/gtkenums.h: Add expander style enum.
283
284 2001-07-21  Jonas Borgström  <jonas@codefactory.se>
285
286         * gtk/gtktreemodel.c (gtk_tree_model_foreach): Check the return
287         value from gtk_tree_model_get_iter, the model might be empty.
288
289 2001-07-20  Hans Breuer  <hans@breuer.org>
290
291         * gdk/win32/gdkinput-win32.c : gdk_device_get_history moved to
292         gdk/gdkinput.c like the other backends
293
294         * gdk/win32/gdkinput-win32.h :
295         * gdk/win32/gdkinput.c :
296         * gdk/win32/gdkvisual-win32.c :
297         * gdk/win32/gdkwin32.h : mechanical adaption to GdkDevice and
298         GdkVisual GObjectification. UNTESTED for pen-devices because
299         I simply have none.
300
301         * gdk/gdk.def :
302         * gtk/gtk.def : updated externals
303
304         * gtk/gtkiconfactory.c :
305         * gtk/gtkoldeditable.c : GError *error needs to be initialized (= NULL) 
306         before passing &error to functions to avoid strange crashes
307         
308         * gtk/gtkcontainer.c (gtk_container_real_set_focus_child) : is static
309
310         * gtk/gtkwidget.c (gtk_widget_get_child_visible): use g_return_val_if_fail
311
312         * gtk/makefile.msc.in : updated
313
314 Thu Jul 19 15:35:32 2001  Owen Taylor  <otaylor@redhat.com>
315
316         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_vadjustment):
317         Add property support. (#51858)
318
319 Thu Jul 19 14:56:33 2001  Owen Taylor  <otaylor@redhat.com>
320
321         * gtk/gtkaccellabel.c (gtk_accel_label_class_init) 
322         * gtk/gtkinputdialog.c (gtk_input_dialog_set_key):
323         Use Shift/Ctrl instead of Shft/Ctl. (#53807)
324
325 Thu Jul 19 11:41:00 2001  Owen Taylor  <otaylor@redhat.com>
326
327         * gtk/gtkcolorsel.c: Add propery support (roughly
328         based on patch from Lee Mallabone, #51014)
329
330         * gtk/gtkcolorsel.h: Mark gtk_color_selection_set_update_policy as
331         deprecated, since we already g_warning() on it.
332
333 Thu Jul 19 14:24:34 2001  Owen Taylor  <otaylor@redhat.com>
334
335         * gtk/gtkentry.c (gtk_entry_set_positions): Fix
336         typo that sometimes caused selection not to work properly.
337
338         * gtk/gtkentry.c (gtk_entry_grab_focus): Select text in
339         entry when tabbing in. (#57743)
340         
341         * gtk/gtkentry.c (gtk_entry_motion_notify): If the
342         user drags up above or down below the entry, move
343         to the end or the beginning of the entry. (Suggestion
344         from Jay Cox, #50940)
345
346         * gtk/gtkentry.c (gtk_entry_move_cursor): If we have
347         a current selection, then when moving by chars or
348         words, move to the end of the selection rather than
349         from entry->current_pos. (Suggestion from Jay Cox,
350         #50942)
351         
352 Thu Jul 19 12:14:28 2001  Owen Taylor  <otaylor@redhat.com>
353
354         * gtk/gtkwindow.c (gtk_window_set_decorated): Actualy
355         set window->decorated. (Patch from Hidetoshi Tajima,
356         #55846)
357
358 Sat Jul  7 02:50:14 2001  Owen Taylor  <otaylor@redhat.com>
359
360         * gtk/gtkwidget.c (gtk_widget_set_parent): Enforce
361         the widget/child realization/mapping invariants.
362
363         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add functions 
364         gtk_widget_[get/set]_child_visible() to control
365         whether visible children of a mapped window are
366         mapped.
367
368         * docs/widget_system.txt: Updated for changes in
369         container contract, and addition of GTK_CHILD_VISIBLE.
370
371         * gtk/gtkcontainer.c: Add generic map()/unmap()
372         functions that work for almost all containers.
373
374         * gtk/gtknotebook.c gtk/gtkpacker.c: Use 
375         gtk_widget_set_child_visible() where necessary.
376
377         * gtk/*.c: Remove excess map(), unmap(), and 
378         realization/mapping invariant enforcing code
379         from many containers.
380
381 Wed Jul 18 19:51:45 2001  Owen Taylor  <otaylor@redhat.com>
382
383         * gtk/gtktextview.c (gtk_text_view_set_attributes_from_style): 
384         Get the foreground color from 'text', nor 'fg'. (#57568)
385
386 Wed Jul 18 19:28:46 2001  Owen Taylor  <otaylor@redhat.com>
387
388         * gtk/*.c: Patch from Matthias Clasen to remove remove
389         all instances of g_return_if_fail (foo != NULL); that are
390         immediately before a g_return_if_fail (GTK_IS_FOO (foo));
391         since the second check catches the NULL anyways.
392
393 Wed Jul 18 18:23:05 2001  Owen Taylor  <otaylor@redhat.com>
394
395         * gtk/gtkbutton.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtktextview.c
396         gtktreeview.c: Fix idles and timeouts to be properly surrounded by 
397         GDK_THREADS_ENTER()/LEAVE() pairs.
398
399         * gtk/gtkdialog.c gtk/gtkclipboard.c: Surround calls
400         to g_main_loop_run() with GDK_THREADS_LEAVE()/ENTER()
401         pairs. (Problem found by M. Meeks)
402
403 2001-07-18  Darin Adler  <darin@bentspoon.com>
404
405         * gtk/gtkiconfactory.c: (gtk_icon_size_register): Reorder code so
406         that we don't get a g_warning message every time we register a new
407         icon size.
408
409         * gdk/x11/gdkcolor-x11.c: (gdk_colormap_alloc1): Fix warning by
410         using pixel variable of the correct type.
411         
412 Fri Jul 13 15:33:32 2001  Owen Taylor  <otaylor@redhat.com>
413
414         * gdk/gdkwindow.[ch]: Add a function gdk_window_get_internal_paint_info(),
415         so that using X functions on a GdkWindow is possible, if
416         a little hairy.
417
418         * gdk/gdkgc.c (gdk_gc_offset): Add a function to offset the clip
419         and ts_origin of a GC, so that external parties can offset/restore
420         a GC, when using gdk_window_get_internal_paint_info().
421
422 2001-07-17  Darin Adler  <darin@bentspoon.com>
423
424         * .cvsignore: Ignore the sgml directory made by gtkdoc.
425         * demos/pixbuf-demo.c: (main): Use gtk_window_set_resizable
426         instead of the deprecated gtk_window_set_policy.
427         * demos/testpixbuf-scale.c: Add missing <stdlib.h> include.
428         * gdk/gdkkeys.c: (gdk_keymap_class_init): Remove empty finalize
429         function to get rid of warning and some code too.
430         * gdk/x11/gdkfont-x11.c: (gdk_font_charset_for_locale): Add
431         missing const.
432         * gdk/x11/gdkmain-x11.c: (_gdk_windowing_init_check): Remove
433         unused local.
434         * gdk/x11/gdkpango-x11.c: (gdk_pango_context_get): Add missing
435         const.
436         * gdk/x11/gdkselection-x11.c: (gdk_text_property_to_utf8_list),
437         (gdk_utf8_to_compound_text): Add missing const.
438         * gtk/gtkimage.c: (gtk_image_expose): Remove unused local.
439         * gtk/gtkmenubar.c: (gtk_menu_bar_hierarchy_changed): Add missing
440         cast and get rid of an unnecessary one.
441         * gtk/gtksettings.c: (gtk_settings_notify): Remove unused local.
442         * gtk/gtkstatusbar.c: (gtk_statusbar_size_allocate): Remove unused
443         local.
444         * gtk/gtktreemodelsort.c: (gtk_tree_model_sort_build_level):
445         Remove unused local.
446         * modules/input/gtkimcontextxim.c: (gtk_im_context_xim_new): Add
447         missing const.
448         * tests/testsocket.c: (add_child): Add cast so the printf format
449         doesn't make us implicitly depend on what integer type
450         gtk_socket_get_id returns.
451         * tests/testtextbuffer.c: Add missing const.
452         * tests/testtreefocus.c: (main): Remove unused local.
453         * tests/treestoretest.c: (iter_remove): Remove unused local.
454         (uppercase_value): Remove unused function.
455         (make_window): Add statement to quiet the compiler's uninitialized
456         variable warning.
457
458 Sat Jul 14 12:47:35 2001  Tim Janik  <timj@gtk.org>
459
460         * gtk/gtkrange.c:
461         (second_timeout): 
462         (initial_timeout): 
463         (update_timeout): add GDK_THREADS_ENTER/GDK_THREADS_LEAVE.
464         (gtk_range_calc_layout): compute the new layout based on an
465         adjustment->value being passed in as argument.
466         (gtk_range_button_press): for button2 slider warps, first recalc
467         the layout, then adjust the value. also, use update_slider_position()
468         for adjusting the value, so we keep pixel quantisation at which we
469         usually operate (upon motion or button releases). the reason for this
470         is that, we can't change the adjustment upon button2 presses to a non
471         quantised value and upon button2 release re-quantise the value since
472         that'd alter the value even if we didn't get any motion events (causing
473         unexpected scroll area warps upon release and/or slider pixel-jitter).
474         (gtk_range_motion_notify): update the slider position from queried
475         coordinates, not event coordinates.
476
477 Fri Jul 13 09:47:52 2001  Tim Janik  <timj@gtk.org>
478
479         * gtk/gtkstyle.c (gtk_default_draw_focus): fix line style resetting,
480         the default gc values are: width=0, CapBut, JoinMiter.
481
482 2001-07-13  Anders Carlsson  <andersca@codefactory.se>
483
484         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Take
485         into account the xpad and ypad when calculating the width and the
486         height of the pixbuf cel.
487
488 Thu Jul 12 18:29:40 2001  Owen Taylor  <otaylor@redhat.com>
489
490         * gtk/gtkradiomenuitem.[ch] (gtk_radio_menu_item_group): 
491         Rename to gtk_radio_menu_item_get_group(), add deprecated
492         alias. (#57044)
493
494         * gtk/gtkfilesel.c: Indentation fix.
495
496 Thu Jul 12 17:33:00 2001  Owen Taylor  <otaylor@redhat.com>
497
498         * gtk/gtkbbox.h gtk/gtkcompat.h: Patch from Mathias 
499         Hasselmann to fix warnings in compat macros. 
500         (#56773)
501
502         * gtk/gtkmenubar.c (gtk_menu_bar_hierarchy_changed): Fix 
503         stupid wrong cast added in last patch.
504
505 Thu Jul 12 16:51:34 2001  Owen Taylor  <otaylor@redhat.com>
506
507         * gtk/gtkwidget.c: Replace a couple of inappropriate calls to 
508         GTK_WIDGET_HAS_FOCUS() with gtk_widget_is_focus(). (#57067)
509
510 Thu Jul 12 14:06:19 2001  Owen Taylor  <otaylor@redhat.com>
511
512         * gtk/gtkmenubar.c (gtk_menu_bar_hierarchy_changed): Add
513         missing cast.
514
515         * gtk/gtkcontainer.c (gtk_container_get_focus_chain): Fix
516         NULL/FALSE return value confusion.
517
518         * gtk/gtkrange.c (coord_to_value): Fix division-by-zero
519         problem when scrollbar completely fills range. (Patch
520         from  Matthias Clasen, #57047)
521
522 Thu Jul 12 13:53:28 2001  Owen Taylor  <otaylor@redhat.com>
523
524         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Properly
525         clean up when handling events for move-resize emulation.
526         (Problem traced down by Matthias Clasen, #57271)
527
528 Thu Jul 12 13:43:27 2001  Owen Taylor  <otaylor@redhat.com>
529
530         * gtk/gtkclist.c gtk/gtkcolorsel.c gtk/gtkcombo.c
531           gtk/gtkctree.c gtk/gtkcurve.c gtk/gtkentry.c
532           gtk/gtkfontsel.c gtk/gtkhandlebox.c 
533           gtk/gtkimcontextsimple.c gtk/gtkmain.c gtk/gtkmenu.c
534           gtk/gtkmenuitem.c gtk/gtkoptionmenu.c gtk/gtkpixmap.c
535           gtk/gtkselection.c gtk/gtktextdisplay.c gtk/gtktextview.c
536           gtk/gtktooltips.c gtk/gtkwidget.c gtk/gtkwindow.c:
537         Formatting fixes from multihead brnach. [ mostly foo(bar) => foo (bar) ]
538
539 2001-07-09  Peter Williams  <peterw@ximian.com>
540
541         * gtk/Makefile.am ($(srcdir)/stamp-gtk.defs): Add a cd $(srcdir)
542         for when srcdir != builddir
543
544 Mon Jul  9 12:50:51 2001  Jonathan Blandford  <jrb@redhat.com>
545
546         * gtk/gtktreemodel.c: remove gtk_tree_model_get_first in favor of
547         gtk_tree_model_get_iter_root.
548
549         * gtk/gtkliststore.c: Add a bunch of g_return statements.
550         (gtk_list_store_iter_n_children): Fix up.
551
552         * gtk/gtktreestore.c: Add a bunch of g_return statements.
553
554 Fri Jul  6 15:38:33 2001  Owen Taylor  <otaylor@redhat.com>
555
556         * gtk/gtkwidget.c (gtk_widget_class_init):
557         G_SIGNAL_TYPE_STATIC_SCOPE GtkSelectionData to
558         restore some workingness.
559
560         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Fix 
561         handle of window type for input-only windows.
562
563 Thu Jul  5 21:53:46 2001  Owen Taylor  <otaylor@redhat.com>
564
565         * gtk/gtkbbox.[ch] gtk/gtkbox.[ch] gtk/gtk[hv]bbox.c:
566         Patch from Gregory Merchan to add 
567         gtk_button_box_set_secondary(), which separates
568         the child into a separate group from the normal
569         buttons. (#56331)
570
571         * gtk/gtkdialog.c: Make help buttons secondary by
572         default.
573
574         * gtk/gtkbbox.c: Added a child property "secondary".
575
576         * gtk/testgtk.c: Turn on the help button for the 
577         color selector to check that it properly appears
578         as secondary.
579
580 Mon Jul  2 01:09:37 2001  Owen Taylor  <otaylor@redhat.com>
581  
582         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkwindow-x11.c
583         gdk/linux-fb/gdkwindow-fb.c gdk/x11/gdkwindow-x11.c gdk/gdk:
584         Add gdk_set_pointer_hooks() to allow pointer-querying to
585         be hooked by an event record/playback system like GERD.
586         (#56914)
587         
588 Thu Jul  5 08:57:07 2001  Owen Taylor  <otaylor@redhat.com>
589
590         * gtk/gtkwidget.c (gtk_widget_reset_rc_style): Pass
591         in the right value of initial_emission to
592         gtk_widget_set_style_internal (#57091)
593
594 Wed Jul  4 23:17:04 2001  Owen Taylor  <otaylor@redhat.com>
595
596         * gtk/gtkdnd.c (gtk_drag_dest_hierarchy_changed):
597         Make compile.
598
599         * gtk/gtkwidget.c (gtk_widget_reset_rc_style): Fix problem
600         with calling gtk_widget_set_style_internal() with
601         the old style, not the new style. (#56989)
602
603 Wed Jul  4 22:35:40 2001  Owen Taylor  <otaylor@redhat.com>
604
605         * gtk/gtklabel.c gtk/gtkmenubar.c gtk/gtktreeviewcolumn.c
606           gtk/gtkwidget.c:
607         Check GTK_WIDGET_TOPLEVEL(gtk_widget_get_toplevel (widget)),
608         not GTK_WIDGET_GET_ANCESTOR ... see 
609         http://mail.gnome.org/archives/gtk-devel-list/2001-July/msg00072.html.
610         Indicate the best practice in the docs for gtk_widget_get_toplevel().
611
612         * gtk/gtkwidget.[ch]: Expose a private _gtk_widget_hierarchy_changed(),
613         so GtkPlug can give the correct signals when transforming
614         from a child to a toplevel.
615         
616         * gtk/gtkdnd.c (gtk_drag_dest_hierarchy_changed): Handle
617         reparentation correctly.
618
619         * gtk/gtkwidget.c (gtk_widget_propagate_hierarchy_changed):
620         Propagate the previous_toplevel argument down properly.
621
622         * gtk/gtklabel.c (gtk_label_finalize): Fix unrefing
623         of wrong atr list.
624
625         * gtk/gtkplug.[ch]: Add an "embedded" signal.
626
627         * gtk/gtksocket.[ch]: Add "child_added", "child_removed"
628         signals.
629
630         * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: Add 
631         functions gtk_plug_get_id(), gtk_socket_get_id(),
632         to avoid the user having to worry about realization,
633         and gdkx.h.
634
635         * tests/testsocket.c: Extend to try out the new signals
636         and gtk_plug/socket_get_id().
637
638         * gtk/gtklabel.c (gtk_label_set_pattern_internal): Fix
639         setting of underline attributes.
640
641         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore
642         DestroyNotify events from SubstructureNotifyMask
643
644         * gdk/x11/gdkwindow-x11.c (gdk_window_reparent):
645         Switch GDK_WINDOW_TYPE (window) as needed.
646
647         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Clean up,
648         allow creation of toplevel windows as children of
649         foreign windows.
650
651         * gtk/gtkplug.c: Remove hacks involving changing private
652         fields of GdkWindow.
653
654         * gtk/gtkplug.[ch] gtk/gtksocket.c: Work to make 
655         exactly the same signals and notification
656         be emitted for local embedding as for inter-process
657         embedding.
658
659 2001-07-04  James Henstridge  <james@daa.com.au>
660
661         * gtk/gtkliststore.h: add missing gtk_list_store_newv prototype.
662
663 Mon Jul  2 16:53:25 2001  Owen Taylor  <otaylor@redhat.com>
664
665         * gtk/xembed.h gtk/gtkplug.c gtk/gtksocket.c: For
666         XEMBED embedding add a _XEMBED_INFO property to the
667         client with version number and a "mapped" flags.
668         Use the mapped flag instead of the racy MapRequestEvent
669
670         * gtk/gtksocket.c: Clean up the gtk_socket_steal()
671         code to reliably set things (when the child is a passive
672         embedder participating in the XEMBED protocol) intead
673         of just being a hack for embedding non-participating
674         programs. Fix various bugs and race conditions.
675         
676         * gtk/gtksocket.[ch] gtk/gtkplug.[ch]: Make local embedding
677         work by simply making the GtkSocket the gtk parent
678         of the GtkPlug. Set a flag in this case and make
679         the GtkPlug work like a normal container by overriding
680         methods such as check_resize and "chaining past" GtkWindow
681         to GtkBin.
682
683         * gtk/gtkentry.c (gtk_entry_real_activate)
684           gtk/gtkmain.c (gtk_propagate_event): 
685         Eliminate use of gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW).
686         
687         * gtk/gtkwidget.c (gtk_widget_get_toplevel,
688         gtk_widget_get_ancestor):
689         Explain why gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)
690         might not give the expected result and recommend
691         an alternative.
692
693         * tests/testsocket.c tests/testsocket_child.c
694         tests/testsocket_common.c tests/Makefile.am: Extended
695         to test different type of adding plugs to sockets
696         (local,active,passive), and to test mapping/unmapping
697         the plug.
698
699         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Don't
700         mark the window as destroyed until after we
701         called _gdk_windowing_window_destroy().
702         (_gdk_windowing_window_destroy() may use GDK functions
703         on the window.)
704
705         * gdk/x11/gdkinput.c: Remove the check for finalization - 
706         devices can be finalized under some circumnstances.
707  
708         * gdk/x11/gdkinput-x11.c (gdk_input_device_new): Fix 
709         small problem with GDK_TYPE_DEVICE.
710  
711 2001-07-02  Havoc Pennington  <hp@pobox.com>
712
713         * gdk/x11/gdkwindow-x11.c (gdk_wmspec_change_state): fix to 
714         use constants not atoms.
715
716 2001-07-02  James Henstridge  <james@daa.com.au>
717
718         * gtk/gtktextview.c (gtk_text_view_class_init): same here for
719         PANGO_TYPE_TAB_ARRAY.
720
721         * gtk/gtktexttag.c (gtk_text_tag_class_init): same here, but also
722         for PANGO_TYPE_TAB_ARRAY.
723
724         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
725         s/GTK_TYPE_PANGO_FONT_DESCRIPTION/PANGO_TYPE_FONT_DESCRIPTION/
726
727         * gtk/gtk-boxed.defs: move all the boxed definitions to the top of
728         the file.  Remove Pango types from defs -- they are now defined in
729         libpango.
730
731 Mon Jul  2 06:35:10 2001  Tim Janik  <timj@gtk.org>
732
733         * gdk/gdkkeys.c (gdk_keymap_class_init): s/signal_newc/signal_new/
734
735         * gtk/gtkobject.c (gtk_object_destroy): invoke
736         g_object_run_dispose().
737
738         * gtk/gtkwindow.c: 
739         * gtk/gtkwidget.c: 
740         * gtk/gtkobject.c:
741         * gtk/gtklist.c: s/shutdown/dispose/ for the GObject
742         method.
743
744 Sat Jun 30 20:44:48 2001  Owen Taylor  <otaylor@redhat.com>
745
746         * gtk/gtktypeutils.c (gtk_type_class): Remove
747         change check for GTK_TYPE_OBJECT derivation to
748         G_TYPE_OBJECTS - it's Tim-approved to use this 
749         for arbitary objects.
750
751         * gtk/gtkwindow.c gtk/gtkcontainer.[ch]: underscore
752         prefix gtk_container_dequeue_resize_handler().
753
754         * gtk/gtkwidget.[ch]: Add a previous_toplevel argument
755         to the hierarachy_changed signal, since you otherwise
756         have to always keep that around.
757
758         * gtk/gtkmenubar.c gtk/gtklabel.c gtk/gtksocket.c: Adapt
759         for extra argument to hierarchy_changed.
760
761 Tue Jun 26 19:39:03 2001  Owen Taylor  <otaylor@redhat.com>
762
763         * gtk/gtkwidget.c (gtk_widget_set_style): Allow %NULL
764         for style to mean "revert to default style"
765
766         * gtk/gtkwidget.[ch] (gtk_widget_set_rc_style,
767           gtk_widget_restore_default_style): Make this functions
768         deprecated aliases for gtk_widget_set_style (widget, NULL).
769
770         * gtk/gtkwidget.[ch]: Remove:
771            gtk_widget_set_default_style ()
772            gtk_widget_push_style ()
773            gtk_widget_pop_style ()
774         These functions interact are overriden by RC files, and
775         thus virtually useless, and complicated.
776
777 Fri Jun 22 18:49:48 2001  Owen Taylor  <otaylor@redhat.com>
778
779         * gtk/gtkrc.c: Add a GtkRcContext structure to hold 
780         most of the previous global variables in gtkrc.c. This is
781         in preparation for multi-head, since each screen can
782         have different GtkSettings and RC information.
783
784         * gtk/gtkrc.[ch]: 
785
786         * gtk/gtkrc.h (struct _GtkRcStyleClass): Add a
787         GtkSettings parameter to GtkRcStyle::parse.
788
789         * gdk/x11/gdkevents-x11.c gtk/gtksettings.c gtk/gtkrc.c: 
790         Add two new settings gtk-theme-name, gtk-key-theme-name,
791         for RC files that are loaded by name after reading
792         the default RC files.
793         
794         * gtk/gtkrc.c: Allow priorities for styles, as wll as
795         bindings.
796
797         * gtk/gtkenums.h gtk/gtkrc.c: Add GTK_PATH_PRIO_THEME,
798         and use it by default for RC files loaded via 
799         gtk-theme-name, gtk-key-theme-name.
800
801         * gtk/gtkiconfactory.c (gtk_icon_source_set_filename)
802         gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string) 
803         tests/testgtkrc: Require pathnames to be absolute.
804
805         * gtk/gtkrc.c gtk/gtkiconfactory.c: Look up the full filename for
806         the source when parsing, since the operation of looking up a
807         pixmap from an RC file depends on the parsing context.
808
809         * gtk/gtkrc.c (gtk_rc_context_reparse_all): Automatically
810         reset RC styles on all widgets when files are reparsed.
811
812         * tests/testgtk.c (create_rc_file) 
813           gtk/gtkwindow.c (gtk_window_read_rcfiles): 
814         Simplify, now that gtk_rc_reparse_all() resets styles on
815         all widgets itself.
816
817         * gtk/gtkmain.c (gtk_get_default_language): Fix broken
818         return value.
819
820         * gtk/gtksettings.[ch] (gtk_settings_install_property[_ch]): Remove
821         GtkSettings argument.
822
823         * gtk/gtksettings.[ch] (gtk_settings_get_default): Rename from
824         gtk_settings_get_global().
825
826         * gtk/gtkwidget.[ch]: Add a function gtk_widget_Get_settings()
827         to get the appropriate GtkSettings for a widget. (For now,
828         just gets the default GtkSetttings.) 
829
830         * gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtkmenubar.c
831           gtk/gtktextview.c gtk/gtktoolbar.c: Fixes for GtkSettings
832         changes.
833
834         * gtk/gtkrc.[ch]: Add gtk_rc_get_style_by_paths() to allow
835         getting a style for a path without actually having a widget.
836         (Allows using a style for a subpart of a widget, for
837         example.)
838
839         * gtk/gtkrc.[ch]: Add gtk_rc_reparse_all_for_setting() to allow forcing
840         the RC files to be reloaded for just one GtkSettings
841         (not sure how useful this really is.)
842
843         * gtk/gtkrc.h: Deprecate
844         gtk_rc_add_widget_name/widget_class/class_style
845
846 2001-06-30  Alex Larsson  <alexl@redhat.com>
847
848         * gdk/linux-fb/gdkinput-none.c:
849         * gdk/linux-fb/gdkinput.c:
850         * gdk/linux-fb/gdkinputprivate.h:
851         Convert GdkDevice to a GObject.
852
853         * linux-fb/gdkprivate-fb.h:
854         * linux-fb/gdkvisual-fb.c:
855         Convert GdkVisual to a GObject.
856
857 2001-06-29  Alex Larsson  <alexl@redhat.com>
858
859         * gdk/gdkvisual.h:
860         * gdk/gdkcolor.c:
861         * gdk/x11/gdkx.h:
862         * gdk/x11/gdkvisual-x11.c:
863         Convert GdkVisual to a GObject.
864
865         * gdk/gdkinput.h:
866         * gdk/gdkevents.c:
867         * gdk/x11/gdkinputprivate.h:
868         * gdk/x11/gdkinput-gxi.c:
869         * gdk/x11/gdkinput-none.c:
870         * gdk/x11/gdkinput-x11.c:
871         * gdk/x11/gdkinput-xfree.c:
872         * gdk/x11/gdkinput.c:
873         Convert GdkDevice to a GObject.
874
875 Fri Jun 29 22:13:28 2001  Jonathan Blandford  <jrb@redhat.com>
876
877         * gtk/gtktreestore.c (gtk_tree_store_new): changed new_with_types
878         to just plain new, fixing the number of columns, and column types
879         at creation time.
880
881         * gtk/gtkliststore.c (gtk_list_store_new): ditto.
882
883         * gtk/gtkcellrenderertext.c
884         (gtk_cell_renderer_text_set_fixed_height_from_font): FIX the
885         height to a specific font.
886
887         * gtk/gtktreeview.c (gtk_tree_view_is_expander_column): fix brokenness.
888
889         * tests/*c: change to work with new store models.
890
891 2001-06-29  Havoc Pennington  <hp@redhat.com>
892
893        * Throughout: fixes to compile with G_DISABLE_COMPAT
894         (s/g_signal_connectc/g_signal_connect/,
895         s/g_signal_newc/g_signal_new/,
896         s/g_signal_disconnect_by_func/g_signal_handlers_disconnect_by_func/)
897
898 Fri Jun 29 03:14:16 2001  Jonathan Blandford  <jrb@webwynk.net>
899
900         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
901         add path argument to selection callbacks.
902
903 Fri Jun 29 00:13:34 2001  Jonathan Blandford  <jrb@redhat.com>
904
905         * gtk/gtktreemodel.c (gtk_tree_model_foreach): New function to
906         walk through a model in a depth first manner, with the option to
907         break out.
908
909 Fri Jun  8 18:52:10 2001  Jonathan Blandford  <jrb@redhat.com>
910
911         * gtk/gtktreeview.[hc]: Patch Thomas Broyer from
912         <tbroyer@ltgt.net>. Expander arrows are now attached to a specific
913         column and follow it when draged, rather than a location in the
914         view. "expander_column" property and drawing functions changed
915         accordingly.  Fixes bug #55942.
916
917         (gtk_tree_view_{set,get}_expander_column): Now works with a
918         GtkTreeViewColumn* instead of int.
919
920 Thu Jun 28 22:53:18 2001  Owen Taylor  <otaylor@redhat.com>
921
922         *  gdk/gdk.c gtk/gtktypeutils.c: Fix args to g_type_init(). 
923
924 2001-06-28  Havoc Pennington  <hp@pobox.com>
925
926         * gdk/x11/gdkimage-x11.c (_gdk_x11_get_image): Clip the retrieved
927         image data to the screen, using a server grab to avoid race
928         conditions.
929
930         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): remove 
931         check for NULL return from gtk_image_new_from_stock(), it never
932         returns NULL.
933         (gtk_item_factory_create_item): fix bug where we parsed the stock
934         ID as an inline pixbuf
935
936         * gtk/gtktext.c (gtk_text_key_press): numeric keypad support
937
938         * gtk/gtkspinbutton.c (gtk_spin_button_key_press): numeric keypad
939         support (should be using binding set here)
940
941         * gtk/gtkoptionmenu.c (gtk_option_menu_key_press): numeric keypad
942         support (should be using binding set here)
943
944         * gtk/gtkmenushell.c (gtk_menu_shell_class_init): numeric keypad 
945         support
946
947         * gtk/gtkmenu.c (gtk_menu_class_init): numeric keypad support
948
949         * gtk/gtkmenubar.c (gtk_menu_bar_class_init): numeric keypad
950
951         * gtk/gtklistitem.c (gtk_list_item_class_init): numeric keypad
952
953         * gtk/gtkimcontextsimple.c
954         (gtk_im_context_simple_filter_keypress): keypad
955
956         * gtk/gtkfilesel.c (gtk_file_selection_key_press): keypad 
957
958         * gtk/gtkentry.c (gtk_entry_class_init): numeric keypad fixes
959
960         * gtk/gtkctree.c (gtk_ctree_class_init): numeric keypad support
961
962         * gtk/gtkcolorsel.c (palette_activate): keypad support (of course,
963         should be binding-setted)
964
965         * gtk/gtkwindow.c (gtk_window_class_init): numeric keypad fixes
966
967         * gtk/gtkclist.c (gtk_clist_class_init): numeric keypad fixes
968
969         * gtk/gtkcalendar.c: numeric keypad fixes
970
971         * gtk/gtktextview.c (gtk_text_view_class_init): numeric keypad
972         support
973
974         * gdk/gdkwindow.c (gdk_window_get_clip_region): fix infinite loop
975         screwup
976
977         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha): 
978         clip the render area to the drawable's clip region in advance,
979         so we don't get data from the server that we don't need.
980
981         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
982         check return value of gdk_pixbuf_get_from_drawable(), fall back 
983         to bilevel alpha if we can't get the pixbuf to composite against.
984
985         * gdk/gdkdraw.c (gdk_drawable_get_image): set the image colormap
986
987         * gdk/gdkimage.c (gdk_image_get_colormap): add
988         gdk_image_set_colormap, gdk_image_get_colormap
989
990         * gdk/gdkpixbuf-drawable.c (rgbconvert): Change all converters to
991         take a region of the image, instead of converting the entire
992         image.
993
994         * gtk/gtkwidget.h (struct _GtkWidgetClass): add show_help
995         keybinding signal. Add default bindings for it. Add default
996         handler for show_help that shows the tooltip for the widget.
997
998         * gtk/gtkdialog.c (gtk_dialog_class_init): add binding set and
999         "close" keybinding signal, remove key press handler.
1000
1001         * gtk/gtktooltips.c (gtk_tooltips_set_colors): Just remove this,
1002         it's not our usual practice to leave a deprecated function around
1003         with a runtime warning, plus we don't want it to appear in docs,
1004         plus if we make them yellow no one will want to change them
1005         anyhow.
1006
1007 Thu Jun 28 23:53:31 2001  Tim Janik  <timj@gtk.org>
1008
1009         * gtk/gtkwidget.c (gtk_widget_hide): !GTK_OBJECT_DESTROYED() ->
1010         GTK_WIDGET_REALIZE() for resize queueing.
1011
1012         * gtk/gtkmain.c (gtk_main_do_event): !GTK_OBJECT_DESTROYED() ->
1013         GTK_WIDGET_REALIZE() for post event delivery destruction upon
1014         GDK_DESTROY.
1015         
1016         * gtk/gtkwidget.c: added GtkWidget::event-after notification signal, to
1017         sompensate for former (pre-2.0) connect_after() facility.
1018         (gtk_widget_send_expose): 
1019         (gtk_widget_event): assert the widget is realized, since event delivery
1020         to non-realized widgets is essentially a bug. event handlers should
1021         be able to unconditionally rely on widget->window (unless they
1022         emit events on their own which can trigger widget destruction).
1023         (gtk_widget_event_internal): removed old outdated GTK_OBJECT_DESTROYED()
1024         logic. event delivery happens as follows:
1025         a) emission of GtkWidget::event (RUN_LAST handler). returns was_handled.
1026         b) if !was_handled in (a) and the widget is still realized, emit event-
1027            specific signal (RUN_LAST handler). returns was_handled.
1028         c) emission of GtkWidget::event-after for notification if the widget is
1029            still realized (regardless of was_handled from previous stages, no
1030            class handler). no return value.
1031         d) was_handled gets passed on to caller, to determine further
1032            propagation. if the widget got unrealized meanwhile, was_handled
1033            is returned as TRUE.
1034
1035         * gdk/gdkevents.[hc]: added gdk_event_get_root_coords() and
1036         gdk_event_get_coords().
1037
1038 Thu Jun 28 17:18:41 2001  Tim Janik  <timj@gtk.org>
1039
1040         * configure.in (GTK_MICRO_VERSION): up version to 1.3.7, interface
1041         age 0, binary age 0. depend on glib 1.3.7.
1042
1043         * gtk/gtkcontainer.c: remove g_signal_handlers_disconnect_by_func() hack.
1044
1045         * gtk/gtkmenubar.c: same here.
1046         
1047         * gtk/gtkcontainer.c (gtk_container_focus_tab): fix param-spec retrival.
1048
1049         * gtk/gtkcolorsel.c (gtk_color_selection_init): fix connect_data() usage.
1050
1051         * gtk/gtkentry.c (gtk_entry_focus_in): same here.
1052         
1053         * gtk/gtkmenubar.c (add_to_window): likewise.
1054         
1055         * gtk/gtktextbtree.c: and here...
1056         
1057         * gtk/gtktextview.c (gtk_text_view_ensure_layout): same thing.
1058         
1059         * gtk/gtktoolbar.c (gtk_toolbar_init): once more.
1060         
1061         * gtk/gtktreemodel.c (connect_ref_callbacks): and another time.
1062         
1063         * gtk/gtktreeviewcolumn.c:
1064         (_gtk_tree_view_column_set_tree_view): yet again.
1065
1066         * demos/gtk-demo/images.c (progressive_timeout): demonstrate
1067         signal connections without g_signal_connect_data().
1068         
1069         * demos/gtk-demo/stock_browser.c (do_stock_browser): second
1070         demo of the matter.
1071         
1072         * demos/testpixbuf.c (main): running out of equality phrases for the
1073         ChangeLog, but had to adapt connections here as well.
1074         
1075         * demos/testanimation.c (progressive_timeout): and for the fun of it,
1076         tackled this the same way.
1077         
1078         * tests/testtext.c (create_view): ok, it's becoming a pain at this
1079         point, but had enough enery for one more fix.
1080
1081         * tests/testtreecolumns.c (main): stand up man, do your work!
1082
1083         * tests/testtreeview.c (set_columns_type): ok, this is the last file i
1084         fix, either that's been all of it or CVS gtk is broken yet again.
1085         
1086 2001-06-29  James Henstridge  <james@daa.com.au>
1087
1088         The following changes correspond to bug #56812
1089
1090         * gdk/gdkinput.h, gdk/gdkevents.c (GDK_TYPE_DEVICE): register type
1091         code for GdkDevice.
1092
1093         * gdk/gdkcursor.[ch] (GDK_TYPE_CURSOR): register type code for
1094         GdkCursor.
1095
1096 2001-06-19  Havoc Pennington  <hp@pobox.com>
1097
1098         * gdk/x11/gdkwindow-x11.c (gdk_window_show_unraised): new function
1099         for mapping a window without fooling with stacking order, but
1100         updating the "withdrawn" flag
1101
1102         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Do event
1103         filtering as soon as possible, moving move resize and wmspec_check
1104         handling after the event filter.  Make default filter apply to all
1105         events, not just those with no GdkWindow wrapped around the X
1106         window. Fix a FIXME about how the window could be a pixmap using 
1107         RTTI; this of course assumes GDK_IS_WINDOW() is optimized. 
1108
1109         Also, be robust against events not on a known GdkWindow.
1110
1111         * gdk/x11/gdkmain-x11.c (gdk_x11_grab_server,
1112         gdk_x11_ungrab_server): export reference-counted server grabs, so
1113         other people can grab server over a GDK function that also does
1114         so.
1115
1116 Wed Jun 27 19:40:31 2001  Jonathan Blandford  <jrb@redhat.com>
1117
1118         * gtk/gtktreeviewcolumn.c
1119         (gtk_tree_view_column_pack_start_cell_renderer): New function to
1120         reflect that you can (hypothetically) pack cell renderers into a
1121         column.
1122         (gtk_tree_view_column_pack_end_cell_renderer): ditto.
1123         (gtk_tree_view_column_cell_is_visible): Move more functionality to
1124         the column.
1125         (gtk_tree_view_column_cell_can_focus): Move more functionality to
1126         the column.
1127
1128         * gtk/gtktreeview.c: Move to use new column-packing code.
1129         (gtk_tree_view_real_expand_row): remove totally braindead code.
1130         (gtk_tree_view_real_collapse_row): ditto.
1131
1132 2001-06-27  Kjartan Maraas  <kmaraas@gnome.org>
1133
1134         * gtk/gtktreeviewcolumn.c: Fix a typo.
1135         
1136 2001-06-26  Joel Becker  <jlbec@evilplan.org>
1137
1138         * gdk-pixbuf/gdk-pixbuf-csource.c: remove '#include "x"' line
1139           at the end of the file
1140
1141 2001-06-26  Havoc Pennington  <hp@redhat.com>
1142
1143         * gtk/gtkwindow.c (gtk_window_set_policy): forgot a notification
1144
1145 2001-06-26  Havoc Pennington  <hp@redhat.com>
1146
1147         * gtk/gtkwindow.c (gtk_window_class_init): add "resizable"
1148         property
1149
1150 Tue Jun 26 12:59:28 2001  Jonathan Blandford  <jrb@redhat.com>
1151
1152         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): fix
1153         stupid missing statement
1154
1155         * gtk/gtktreeview.c (gtk_tree_view_set_destroy_count_func): New
1156         private function for ATK.  It notifies you of how many _visible_
1157         children are deleted when a node is deleted.  Should be used by
1158         atk only.
1159
1160 Tue Jun 26 11:06:34 2001  Owen Taylor  <otaylor@redhat.com>
1161
1162         * gtk/gtkclist.c gtk/gtkentry.c gtk/gtkspinbutton.c:
1163         Use new pango_context_get_metrics() to fix problems
1164         with font lists in descriptions. (#56184, reported by
1165         Jonas Borgström)
1166
1167 Tue Jun 26 10:04:30 2001  Tim Janik  <timj@gtk.org>
1168
1169         * gtk/gtkiconfactory.c:
1170         * gtk/gtkitemfactory.c: use gdk_pixbuf_new_from_stream(). fixed up
1171         item factory so inlined pixbufs actually work.
1172
1173 2001-06-25  Havoc Pennington  <hp@redhat.com>
1174
1175         * gtk/gtktreeviewcolumn.h, gtk/gtktreeviewcolumn.c:
1176         s/RESIZEABLE/RESIZABLE/
1177
1178         * gtk/gtkwindow.c, gtk/gtkwindow.h: s/resizeable/resizable/
1179
1180 2001-06-25  Alexander Larsson  <alexl@redhat.com>
1181
1182         * configure.in:
1183         Added --enable-fbmanager. This is some experimental code
1184         that lets several GtkFB apps coordinate their access to the
1185         framebuffer.
1186         
1187         * acconfig.h:
1188         Added ENABLE_FB_MANAGER.
1189
1190         * gdk/linux-fb/Makefile.am:
1191         Added gdkfbmanager and gdkfbswitch.
1192
1193         * gdk/linux-fb/gdkkeyboard-fb.c:
1194         * gdk/linux-fb/gdkmouse-fb.c:
1195         * gdk/linux-fb/gdkprivate-fb.h:
1196         Split device init and open so that
1197         they can be opened and closed while switched
1198         away.
1199
1200         * gdk/linux-fb/gdkmain-fb.c:
1201         Add the basic manager communication.
1202
1203         * gdk/linux-fb/gdkrender-fb.c:
1204         Don't update to the shadow fb if we're
1205         blocked by the fb manager.
1206
1207 Sun Jun 24 22:15:16 2001  Owen Taylor  <otaylor@redhat.com>
1208
1209         * docs/Changes-2.0.txt: Add note about child property
1210         changes.
1211
1212 Sun Jun 24 21:34:32 2001  Owen Taylor  <otaylor@redhat.com>
1213
1214         * gtk/gtkenums.h gtk/gtkiconfactory.c: Add a special size for
1215         drag-and-drop GTK_ICON_SIZE_DND (Default to 32x32)
1216
1217         * gtk/gtkdnd.c (gtk_drag_dest_set_target_list): Fix problem
1218         with un'reffing wrong list reported by Jeff Franks.
1219
1220         * gtk/gtkdnd.[ch] (_gtk_drag_{source,}dest_handle_event): _prefix.
1221
1222         * gtk/gtkdnd.c (gtk_drag_set_icon_default): Use GTK_STOCK_DND
1223         for the default icon. Remove inline XPM.
1224
1225         * gtk/gtkstock.h gtk/gtkiconfactory.c:
1226         Add GTK_STOCK_DND GTK_STOCK_DND_MULTIPLE (Currently, stock_new
1227         is used for GTK_STOCK_DND, but it is a bit too small.)
1228
1229         * gtk/stock-icons/stock_dnd_multiple.png
1230         gtk/stock-icons/Makefile.am: New stock icon moved from gnome-libs.
1231
1232         * gtk/gtkdnd.c (gtk_drag_source_event_cb): Only return
1233         TRUE when starting a drag. In other cases, we are
1234         just observing. (#52995)
1235
1236         * gtk/gtkdnd.[ch] (gtk_drag_set_icon_{stock,pixbuf}): Add 
1237         function to set the icon for a drag from a GdkPixbuf
1238         or stock ID.
1239
1240         * gtk/gtkdnd.[ch] (gtk_drag_source_set_icon_{stock,pixbuf}): 
1241         Likewise, for drag sources.
1242
1243         * gtk/gtkdnd.h: Deprecate gtk_drag_set_default_icon.
1244         (Now should be done using the stock system.)
1245
1246 Sun Jun 24 12:06:47 2001  Owen Taylor  <otaylor@redhat.com>
1247
1248         * gtk/gtktextview.[ch] (gtk_text_view_set_text_window_size): 
1249         Removed - didn't work and not particularly useful anyways
1250         if it did. 
1251
1252 Sun Jun 24 11:29:35 2001  Owen Taylor  <otaylor@redhat.com>
1253
1254         * gdk/x11/gdkimage-x11.c (gdk_image_new): Fix stupid error
1255         introduced last night that was making things decidedly not work.
1256
1257         * gtk/*.[ch]: Patch from Kristian Rietveld adding 80 getters
1258         so that we have getter/setter pairing everywhere it makes
1259         sense. (#55767)
1260
1261         * gtk/gtkradiobutton.[ch] gtk/gtktoolbar.c tests/testgtk.:
1262         Rename gtk_radio_button_group to gtk_radio_button_get_group, add a
1263         deprecated compat macro. (#55516)
1264
1265         * gtk/gtklabel.[ch]: Add functions
1266         gtk_label_set/get_use_underline(), gtk_label_set/get_use_markup(),
1267         gtk_label_set_label(), which mirror the property API for GtkLabel.
1268         Make gtk_label_get_attributes() only reflect the attributes
1269         set by gtk_label_set_attributes.
1270
1271         * gtk/gtknotebook.c (gtk_notebook_set_current_page) gtk/gtkcompat.h: Rename
1272         from gtk_notebook_set_page().
1273
1274 Sat Jun 23 18:02:46 2001  Owen Taylor  <otaylor@redhat.com>
1275
1276         * configure.in: Fix tests for XShm.h.
1277
1278         * gdk/x11/gdkimage-x11.c: Cleanup error handling in
1279         gdk_image_new() by use of goto, properly use g_object_unref().
1280
1281 Sat Jun 23 22:03:20 2001  Tim Janik  <timj@gtk.org>
1282
1283         * gdk/x11/gdkimage-x11.c (gdk_image_init): disabled g_free (image)
1284         calls, as GdkImage is an object. these should be g_obejct_unref()
1285         instead but that won't work because of the g_error() statement
1286         in gdk_x11_image_destroy(). so for now, i did s/g_free/LEAK_IMAGE/
1287         to spot these places.
1288
1289 Sat Jun 23 10:27:53 2001  Owen Taylor  <otaylor@redhat.com>
1290
1291         * modules/input/gtkimcontextxim.c: Fixup some problems with 
1292         text length handling in error cases.
1293
1294         * gtk/gtkwidget.c (gtk_widget_size_allocate): Reorder
1295         a bit to make test actually warn on attempt to allocation
1296         a negative size. (#56101, Matthias Clasen)
1297
1298 Fri Jun 22 14:06:08 2001  Jonathan Blandford  <jrb@redhat.com>
1299
1300         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
1301         noticed by Brian Cameron.
1302         (gtk_tree_view_real_expand_row): Fix bug noticed by Brian
1303         Cameron.
1304
1305 2001-06-22  Hans Breuer  <hans@breuer.org>
1306
1307         * gdk/gdk.def : updated externals
1308
1309         * gdk/win32/gdkdrawable-win32.c : corrected some casts
1310         in GDK_NOTEs
1311
1312         * gdk/win32/gdkevents-win32.c : use _gdk_windowing_window_get_offsets
1313         to translate coordinates to the internal > 16 bit system
1314         Try to handle WM_WINDOWPOSCHANGED to get better performance for
1315         when moving/resizing
1316
1317         * gdk/win32/gdkkeys-win32.c : implement gdk_keymap_get_default ()
1318         and gdk_keymap_get_direction (). The latter is untested for
1319         the RTL case
1320
1321         * gtk/gtk.def : updated externals
1322
1323         * gtk/gtkmain.c : gtk_get_default_language () should reurn the result
1324         from pango_language_from_string (), not an already freed pointer
1325
1326         * gtk/stock-icons/stock_menu_sort_ascending.png : PNGs need to be 
1327         binary (-kb) to be useable on windoze
1328  
1329 2001-06-21  Alexander Larsson  <alexl@redhat.com>
1330
1331         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description): 
1332         Update to new PangoLanguage changes.
1333         
1334         * gtk/gtkwindow-decorate.c:
1335         * gtk/gtkwindow.[ch]:
1336         Added setting argument to gtk_window_set_has_frame ()
1337         
1338 Thu Jun 21 13:42:01 2001  Owen Taylor  <otaylor@redhat.com>
1339
1340         * gdk/x11/gdkkeys-x11.c (gdk_keymap_get_direction): Handle
1341         the case without XKB properly.
1342
1343         * gtk/gtkrc.c (gtk_rc_set_default_files): Remove
1344         unused gtk_rc_auto_parse variable.
1345
1346         * gtk/gtkrc.[ch] gtk/gtkstyle.c docs/Changes-2.0.txt:
1347         Remove gtk_rc_set_image_loader(), gtk_rc_load_image(), no
1348         longer needed with GdkPixbuf.
1349
1350         * gtk/gtkrc.c (_gtk_rc_init): Make private.
1351
1352 Fri Jun 15 16:26:12 2001  Owen Taylor  <otaylor@redhat.com>
1353
1354         * gtk/gtkentry.h: Mark deprecated functions with
1355         GTK_DISABLE_DEPRECATED.
1356
1357 Mon Jun 11 18:15:16 2001  Owen Taylor  <otaylor@redhat.com>
1358
1359         * gdk/gdk.h: Add missing gdk_rectangle_get_type() prototype.
1360
1361         * gtk/gtk[hv]scale.c: Include math.h, stdlib.h
1362
1363         * gdk/gdkpango.h gtk/gtkclist.c gtk/gtkentry.c gtk/gtkmain.[ch]
1364           gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtktextbuffer.c
1365           gtk/gtktextdisplay.c gtk/gtktextiter.[ch]
1366           gtk/gtktextlayout.c gtk/gtktexttag.[ch] gtk/gtkwidget.c: Adapt
1367           to recent changes in Pango.
1368
1369         * tests/testgtk.c: Set language tags with gtk_label_set_markup()
1370           to test whether the basic engine honors them.
1371
1372 Thu Jun 21 02:13:40 2001  Tim Janik  <timj@gtk.org>
1373
1374         * gtk/gtkcontainer.[hc]: added gtk_container_child_set_property() and
1375         gtk_container_child_get_property().
1376
1377 Wed Jun 20 19:19:15 2001  Jonathan Blandford  <jrb@redhat.com>
1378
1379         * gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): clean up
1380         (gtk_tree_view_move_cursor_page_up_down): implement.
1381
1382 Wed Jun 20 05:32:05 2001  Tim Janik  <timj@gtk.org>
1383
1384         * gtk/gtkspinbutton.c: make maximum digits compile time configurable
1385         via MAX_DIGITS and up to 20. 5 was just ridiculously small.
1386         don't use automatic fixed size buffer for printf-ing floats, doubles
1387         can expand to really _huge_ strings, use g_strdup_printf() instead.
1388
1389 Wed Jun 20 04:28:24 2001  Tim Janik  <timj@gtk.org>
1390
1391         * gtk/gtkrange.c (gtk_range_class_init): hum, "adjustment" was a
1392         construct property in 1.2 and still needs to be.
1393
1394         * gtk/gtkwidget.c: "composite_child" is not a settable property.
1395
1396 Tue Jun 19 19:13:19 2001  Jonathan Blandford  <jrb@redhat.com>
1397
1398         * gtk/gtkliststore.c (gtk_list_store_clear): 
1399         * gtk/gtktreestore.c (gtk_tree_store_clear): New functions to
1400         clear a model.
1401
1402 Mon Jun 18 02:00:49 2001  Tim Janik  <timj@gtk.org>
1403
1404         * gtk/gtkwidget.c (gtk_widget_get_property): fix PROP_EVENTS.
1405
1406         * gtk/Makefile.am:
1407         * gtk/gtk.h: disabled GtkPacker compilation.
1408
1409         * gtk/gtkarg.[hc], gtk/gtkargcollector.c: got rid of these.
1410
1411         * gtk/gtknotebook.c:
1412         * gtk/gtktable.c:
1413         * gtk/gtkbox.c: ported this over to child properties.
1414
1415         * gtk/gtksettings.c: fetch class properties via
1416         g_object_class_list_properties().
1417
1418         * gtk/gtkcontainer.[hc]: implemented child properties, got rid of the
1419         child arg interface. use gobjectnotifyqueue.c for child property
1420         notification.
1421
1422         * gtk/gtkwidget.[hc]: provide necessary means for container child
1423         properties, i.e. ::child_notify signal,
1424         gtk_widget_freeze_child_notify(),
1425         gtk_widget_child_notify(),
1426         gtk_widget_thaw_child_notify().
1427
1428         * tests/testgtk.c: removed inferior property handling code, for
1429         property editing, a generic module should be used, and GLE
1430         coincidentally fullfills that purpose.
1431
1432         * docs/reference/Makefile.am: disabled gtk docs building, gtk-doc
1433         needs to be adapted to g_object_class_list_properties() before this
1434         builds again.
1435
1436 Mon Jun 18 20:06:10 2001  Jonathan Blandford  <jrb@redhat.com>
1437
1438         * gtk/gtktreeview.c (gtk_tree_view_row_expanded): New function to
1439         test if a node is expanded.
1440
1441 Mon Jun 18 19:41:38 2001  Jonathan Blandford  <jrb@redhat.com>
1442
1443         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix bug
1444         where collapsing a selected row would result in the cursor/anchor
1445         getting screwed up.
1446
1447 Fri Jun 15 18:53:48 2001  Jonathan Blandford  <jrb@redhat.com>
1448
1449         * gtk/gtktreesortable.c (gtk_tree_sortable_set_sort_func): Rename
1450         gtk_tree_sortable_sort_column_id_set_func.  It's much shorter now.
1451         * gtk/gtktreeview.c (gtk_tree_view_sort_iter_changed): WOOO!!!
1452         Now I can really reorder/sort all Store widgets.  treesorttest
1453         seems to just work now.
1454         * gtk/gtklistview.c (gtk_list_store_iter_changed): Whoops.
1455         testtreesort worked through a big coincidence all this time.
1456         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Nasty bug fix in nasty
1457         code.
1458         * tests/testtreecolumns.c: Big 'ol warning at the top letting
1459         people know that this code should never ever ever be copied.
1460
1461 2001-06-15  Jonas Borgström  <jonas@codefactory.se>
1462
1463         * gtk/gtkwindow.h: Fixed a small typo, it should be
1464         GTK_WINDOW_GROUP_GET_CLASS and not GTK_WINDOW_GET_CLASS
1465         on line 134.
1466
1467 2001-06-14  Havoc Pennington  <hp@redhat.com>
1468
1469         Docs fixups, and:
1470         
1471         * gtk/gtkcompat.h: remove GTK_DISABLE_COMPAT_H, replace with
1472         GTK_DISABLE_DEPRECATED
1473
1474 Thu Jun 14 19:21:27 2001  Jonathan Blandford  <jrb@redhat.com>
1475
1476         * gtk/gtktreestore.c (gtk_tree_store_sort_helper): Whoops.  Forgot
1477         this a couple months ago.  Now GtkTreeStore sort of sorts.  I'll
1478         finish it off tonight, though it basically works now when it's a
1479         list.  Also, I have a sinking feeling neither GtkTreeStore or
1480         GtkListStore actually resort when adding a new item.  I'll look
1481         into it.
1482
1483 2001-06-14  Havoc Pennington  <hp@redhat.com>
1484
1485         * demos/gtk-demo/main.c (load_file): fix bug identified by
1486         warnings I just added to gtktextbuffer
1487
1488 2001-06-14  Havoc Pennington  <hp@redhat.com>
1489
1490         * gtk/gtkwindow.c (window_group_cleanup_grabs): fix other typo
1491
1492         * gtk/gtkwidget.c (gtk_widget_propagate_state): fix typo
1493
1494         * gtk/gtktextbtree.c: don't leak node data all over the place.
1495
1496         * demos/gtk-demo/main.c (main): create fontify tags for the right
1497         buffer
1498
1499         * gtk/gtktextbuffer.c, gtk/gtktexttagtable.c: enhance docs
1500         to mention tags in the same table can't have the same name,
1501         suggested by Skip Montanaro
1502
1503 2001-06-11  Havoc Pennington  <hp@redhat.com>
1504
1505         * gtk/gtktexttagtable.c (gtk_text_tag_table_add): improve warning 
1506         for trying to add two tags with same name to the tag table
1507
1508         * demos/gtk-demo/main.c (main): fix colors ;-)
1509
1510 `Fri Jun  8 17:56:52 2001  Owen Taylor  <otaylor@redhat.com>
1511
1512         * gtk/gtkwindow.[ch] gtk/gtkmain.c: Add a GtkWindowGroup struct
1513         that allows grouping together multiple windows so that grabs
1514         within that set of windows only affect those windows.
1515
1516         * gtk/gtkmain.c gtk/gtkwidget.[ch]: Add a "grab_notify"
1517         signal for notification when a widget becomes shadowed
1518         by a grab or is no longer shadowed by a grab.
1519
1520         * gtk/gtkwidget.c (gtk_widget_propagate_state)
1521           gtk/gtkmain.c: (gtk_widget_grab_add): Don't allow
1522         insenstive widgets to maintain a grab.
1523
1524 2001-06-14  Alexander Larsson  <alexl@redhat.com>
1525
1526         * docs/README.linux-fb:
1527         Add some example config files that can be used with the URW fonts.
1528         
1529         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init): 
1530         Set up the color ramps for DirectColor mode.
1531
1532 2001-06-11  Havoc Pennington  <hp@redhat.com>
1533
1534         * Release 1.3.6
1535          
1536 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
1537
1538         * gdk/linux-fb/gdkwindow-fb.c:
1539         Unify shaped window code and make it repaint the area that used
1540         to be part of the shape, but isn't anymore.
1541
1542 2001-06-11  Havoc Pennington  <hp@redhat.com>
1543
1544         * NEWS: Updates
1545
1546         * configure.in (GTK_MINOR_VERSION): bump version to 1.3.6
1547
1548         * gtk/Makefile.am: glib_genmarshal already contains top_builddir
1549         
1550 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
1551
1552         * gdk/linux-fb/gdkdnd-fb.c (gdk_drag_status):
1553         Don't pass on GDK_ACTION_DEFAULT. The Xdnd code
1554         passes zero instead, so do we.
1555         
1556 2001-06-13  Alexander Larsson  <alla@lysator.liu.se>
1557
1558         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
1559         Deep copy dash_list too.
1560         (_gdk_fb_gc_new): Set default cap_style before
1561         setting values.
1562
1563 2001-06-12  Alexander Larsson  <alla@lysator.liu.se>
1564
1565         * gdk/linux-fb/gdkkeyboard-fb.c (gdk_keymap_get_default,
1566         gdk_keymap_get_direction): New functions.
1567
1568 Tue Jun 12 12:41:27 2001  Jonathan Blandford  <jrb@redhat.com>
1569
1570         * gtk/gtktreemodel.h (GTK_TREE_MODEL_LIST_ONLY): further justify
1571         gtk_tree_model_get_flags by adding a second flag for atk.
1572
1573         * gtk/gtktreemodel.c: make cursor behavior interact better with
1574         mouse presses.
1575
1576 Mon Jun 11 12:43:08 2001  Jonathan Blandford  <jrb@redhat.com>
1577
1578         * gtk/gtktreeview.c (gtk_tree_view_class_init): changed
1579         expand_row/collapse_row to be 2 signals each -- test_expand_row
1580         and row_expanded as well as test_collapse_row and row_collapsed.
1581
1582 2001-06-10  Anders Carlsson  <andersca@codefactory.se>
1583
1584         * demos/gtk-demo/stock_browser.c (do_stock_browser): Update
1585         signal name to be changed instead of selection_changed.
1586
1587 2001-06-08  Havoc Pennington  <hp@redhat.com>
1588
1589         * gtk/gtkentry.c (gtk_entry_class_init): add read-only
1590         "scroll_offset" property for notification when the layout offsets
1591         may have changed
1592         (gtk_entry_adjust_scroll): add notify for scroll_offset
1593         (gtk_entry_layout_index_to_text_index): function to compensate for
1594         preedit string when doing coordinate stuff on the entry's layout
1595         (gtk_entry_text_index_to_layout_index): inverse function
1596         (gtk_entry_get_layout_offsets): hook to get current position of
1597         the layout      
1598         (gtk_entry_get_layout): hook to get the layout itself.
1599
1600         * gtk/gtklabel.c (gtk_label_get_layout): new function
1601
1602 Fri Jun  8 19:49:29 2001  Jonathan Blandford  <jrb@redhat.com>
1603
1604         * gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): New
1605         keybinding.
1606         (gtk_tree_view_focus): Fix merge conflict.
1607
1608 Fri Jun  8 18:41:30 2001  Jonathan Blandford  <jrb@redhat.com>
1609
1610         * gtk/gtktreeview.c (gtk_tree_view_set_cursor): new function to
1611         clean up cursor handling.
1612
1613 2001-06-08  Havoc Pennington  <hp@redhat.com>
1614
1615         * gtk/gtktextbuffer.c (gtk_text_buffer_get_start_iter): added this
1616         function
1617
1618         * gtk/gtktextview.c (gtk_text_view_get_default_attributes): added
1619         this function
1620
1621 2001-06-08  Alex Larsson  <alexl@redhat.com>
1622
1623         * gtk/gtkcompat.h.in:
1624         Added compat macros for all old GTK_TYPE_GDK_xxx types.
1625         Fixes bug #52892
1626
1627 2001-06-08  Havoc Pennington  <hp@redhat.com>
1628         
1629         * gtk/gtkhsv.h (struct _GtkHSVClass): had GtkContainerClass as
1630         parent still
1631
1632 2001-06-08  Havoc Pennington  <hp@redhat.com>
1633
1634         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): geez,
1635         don't call g_list funcs on GSList
1636
1637         * gtk/gtkwidget.c (gtk_widget_child_focus): replaces
1638         gtk_container_focus(), since some widgets have focusable locations
1639         which are not other widgets. These widgets should not have to be 
1640         containers just to manage the focus. For example, GtkHSV is
1641         currently a container for no good reason. Also, this cleans
1642         up the "if (is_container && is_sensitive && is_drawable)
1643         container_focus ()" mess in widget implementations.
1644
1645         * gtk/gtkcontainer.c (gtk_container_focus): deprecate this
1646         function, and have it just call gtk_widget_child_focus().
1647
1648         * gtk/gtkhsv.c: derive from widget not container
1649         
1650         Throughout: fix to reflect GtkContainer::focus change
1651         
1652 Fri Jun  8 12:38:49 2001  Jonathan Blandford  <jrb@redhat.com>
1653
1654         * gtk/gtktable.c (gtk_table_resize): warn if row/cols are out of
1655         range.  Fix bug #55921
1656
1657         * gtk/gtkliststore.c (gtk_list_store_new_with_types): fix doc bug
1658         (#55920).
1659
1660 Fri Jun  8 12:03:07 2001  Owen Taylor  <otaylor@redhat.com>
1661
1662         * gdk/gdkkeys.[ch]: Add a direction-changed signal,
1663         and gdk_keymap_get_current_direction().
1664
1665         * gdk/x11/gdkevents-x11.c gdk/x11/gdkkeys-x11.c
1666           gdk/x11/gdkmain-x11.c gdk/x11/gdkprivate-x11.h: Track
1667         the current locked group, use it to set the keymap
1668         direction.
1669
1670         * gtk/gtksettings.c: Add a new gtk-split-cursor setting
1671         to determine whether we draw a split cursor or use
1672         a jumping cursor based on the current direction.
1673
1674         * gtk/gtkentry.c gtk/gtktextview.c gtk/gtktextlayout.[ch]:
1675         Obey the split cursor setting. 
1676
1677 Fri Jun  8 11:57:50 2001  Owen Taylor  <otaylor@redhat.com>
1678
1679         * gtk/gtkimmulticontext.c (activate_cb): Only activate
1680         when toggling on, not when toggling off... (#55906)
1681
1682 Wed Jun  6 10:37:07 2001  Owen Taylor  <otaylor@redhat.com>
1683
1684         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): 
1685         s/gdk_window_begin_paint/gdk_window_begin_paint_region/
1686         in docs. (#55812, Vitaly Tishkov)
1687
1688 2001-06-08  Anders Carlsson  <andersca@codefactory.se>
1689
1690         * demos/gtk-demo/main.c (create_tree): Changed signal name from
1691         selection_changed to changed in signal connection to GtkTreeSelection,
1692         also used g_signal_connectc since GtkTreeSelection is now a GObject.
1693
1694 Thu Jun  7 18:25:42 2001  Jonathan Blandford  <jrb@redhat.com>
1695
1696         * gtk/gtktreeselection.c: Now it's a GObject instead of a
1697         GtkObject.  The GtkTreeSelection::selection_changed signal is now
1698         the GtkTreeSelection::changed signal.
1699
1700         * gtk/gtktreeview.c: Modified to deal with new GtkTreeSelection
1701         object.
1702
1703         * tests/gtktree*.c: Modified to deal with new GtkTreeSelection
1704         object.
1705
1706 2001-06-07  Havoc Pennington  <hp@redhat.com>
1707
1708         * gtk/Makefile.am: fix glib-mkenums and glib-genmarshal again
1709
1710 2001-06-07  Havoc Pennington  <hp@redhat.com>
1711         
1712         * gtk/Makefile.am: fixups for glib-mkenums and glib-genmarshal
1713         (not tested yet because with absolute path to srcdir I can't build
1714         atk, but it was broken anyway so this may help) 
1715
1716 2001-06-07  Havoc Pennington  <hp@redhat.com>
1717
1718         * configure.in: output m4macros/Makefile
1719         
1720 Wed Jun  6 21:59:16 2001  Jonathan Blandford  <jrb@redhat.com>
1721
1722         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): hook up arrow
1723         buttons.  Fixes #55460 reported by matthiasc@poet.de.
1724
1725 Wed Jun  6 21:18:54 2001  Jonathan Blandford  <jrb@redhat.com>
1726
1727         * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): centralize
1728         expansion/collapsing so it only happens in one place.
1729         (gtk_tree_view_real_expand_row): ditto.
1730
1731 2001-06-07  Havoc Pennington  <hp@redhat.com>
1732
1733         * tests/Makefile.am: add missing -I flag
1734
1735         * gtk/Makefile.am: use @GLIB_MKENUMS@, @GLIB_GENMARSHAL@, etc.
1736
1737         * configure.in: use pkg-config to see if GModule is
1738         supported; fix to properly turn on included loaders 
1739         when GModule isn't supported; don't use AC_CHECK_LIB 
1740         when libs are not installed yet
1741
1742         * autogen.sh: add support for AUTOGEN_SUBDIR_MODE
1743
1744         * Makefile.am (SUBDIRS): add m4macros subdir
1745
1746         * gtk/Makefile.am: $(srcdir)/foo targets must be $(srcdir)/foo in
1747         dependencies also.
1748
1749 Wed Jun  6 19:31:11 2001  Jonathan Blandford  <jrb@redhat.com>
1750
1751         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix silly bug
1752         reported by "Padraig O'Briain" <Padraig.Obriain@Sun.COM>.
1753
1754 Wed Jun  6 20:01:38 2001  Jonathan Blandford  <jrb@redhat.com>
1755
1756         * gtk/gtktreeview.c
1757         (gtk_tree_view_real_expand_collapse_cursor_row): Handle key
1758         bindings to expand and collapse rows.
1759         (gtk_tree_view_real_select_cursor_parent): New key binding.
1760         (gtk_tree_view_real_toggle_cursor_row): New key binding.
1761
1762         * gtk/gtkmarshal.list: new
1763         marshaller. (VOID__BOOLEAN_BOOLEAN_BOOLEAN)
1764
1765 2001-06-06  Havoc Pennington  <hp@redhat.com>
1766
1767         * gtk/gtkrange.c (gtk_range_class_init): add "inverted" property
1768
1769         * gtk/gtkscale.c (gtk_scale_class_init): Change Page Up and Page
1770         Down to move visually rather than logically, since it confuses 
1771         people. Add -/+ and Ctrl--/+ bindings for logical movement.
1772
1773 2001-06-06  Alex Larsson  <alexl@redhat.com>
1774
1775         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
1776         Fix up error messages.
1777
1778 Wed Jun  6 10:34:42 2001  Owen Taylor  <otaylor@redhat.com>
1779
1780         * gtk/gtktooltips.h: Include gtkwidget.h 
1781         (#55798, Karl Nelson)
1782
1783         * gdk/x11/gdkwindow-x11.c (utf8_is_latin1): 0xff is
1784         a valid latin-1 character. (Marc Lehmann, #35467)
1785
1786         * gdk/x11/gdkwindow-x11.c: Fix minor typo in comment. 
1787         (Marc Lehmann, #35467)
1788         
1789 2001-06-05  Alex Larsson  <alexl@redhat.com>
1790
1791         * demos/gtk-demo/appwindow.c (do_appwindow):
1792         Don't swap the order of the args to gtk_widget_destroyed.
1793
1794         * tests/testgtk.c (destroy_properties):
1795         Don't crash when the properties window is destroyed.
1796
1797         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_from_stock):
1798         Use with_mnemonics to handle the case of stock items with
1799         underscores in them.
1800
1801 2001-06-05  Havoc Pennington  <hp@redhat.com>
1802
1803         * gtk/gtktextiter.c (gtk_text_iter_order): rename from 
1804         gtk_text_iter_reorder
1805
1806 2001-06-05  Havoc Pennington  <hp@redhat.com>
1807
1808         * gtk/gtktoolbar.c (gtk_toolbar_remove_space): new function
1809
1810 2001-06-05  Havoc Pennington  <hp@redhat.com>
1811
1812         * gtk/gtkspinbutton.c (gtk_spin_button_set_range): clamp the value 
1813         to the range that was set
1814
1815         * gtk/gtkrange.c: add value_changed signal, primarily 
1816         intended for use with GtkScale
1817         (gtk_range_set_increments): new function
1818         (gtk_range_set_range): new function with weird name
1819         (gtk_range_set_value): new function
1820         (gtk_range_get_value): new function
1821
1822         * gtk/gtkspinbutton.c (gtk_spin_button_get_value): rename 
1823         from gtk_spin_button_get_value_as_float(). Compat #define
1824         added for get_value_as_float.
1825
1826         * gtk/gtkhscale.c (gtk_hscale_new_with_range): new function
1827
1828         * gtk/gtkvscale.c (gtk_vscale_new_with_range): new function
1829
1830 Tue Jun  5 14:57:18 2001  Jonathan Blandford  <jrb@redhat.com>
1831
1832         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_size): Fix bug #55573
1833
1834 Mon Jun  4 12:41:25 2001  Owen Taylor  <otaylor@redhat.com>
1835
1836         * gtk/gtkwidget.h: Deprecate gtk_widget_set().
1837
1838         * tests/testgtk.c (create_tooltips): Remove usage of
1839         gtk_widget_set().
1840
1841 2001-06-05  Havoc Pennington  <hp@redhat.com>
1842
1843         * gtk/gtkcolorsel.c: Use new mnemonic convenience functions
1844
1845         Applying patch from Jeff Franks, with function docs added.
1846         
1847         * gtk/gtkcheckbutton.c (gtk_check_button_new_with_mnemonic):
1848         remove call to set_mnemonic_widget, change docs a bit.  
1849
1850         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_new_with_mnemonic):
1851         new function
1852
1853         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_new_with_mnemonic):
1854         new function
1855
1856         * gtk/gtkmenuitem.c (gtk_menu_item_new_with_mnemonic): new function
1857
1858         * gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic): new
1859         function
1860         (gtk_radio_button_new_with_mnemonic_from_widget): new function
1861
1862         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_new_with_mnemonic):
1863         new function
1864
1865         * gtk/gtktogglebutton.c (gtk_toggle_button_new_with_mnemonic): new
1866         function        
1867
1868         * gtk/gtklabel.c (gtk_label_new_with_mnemonic): Improve docs on 
1869         auto-selection of mnemonic widget.
1870
1871 Mon Jun  4 15:05:24 2001  Jonathan Blandford  <jrb@redhat.com>
1872
1873         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_max_width):
1874         Fix segfault found by Vitaly Tishkov <tvv@sparc.spb.su>.
1875         (gtk_tree_view_column_set_min_width): ditto.
1876
1877 Tue Jun  5 11:04:06 2001  Owen Taylor  <otaylor@redhat.com>
1878
1879         * gdk/gdkpixmap.h (GDK_PIXMAP_GET_CLASS): 
1880         s/GdkPixmapClass/GdkPixmapObjectClass/. (#51890, Jeff Franks)
1881
1882 Mon Jun  4 12:50:11 2001  Owen Taylor  <otaylor@redhat.com>
1883
1884         * gtk/gtkctree.c (gtk_ctree_insert_gnode): Add a missing
1885         gtk_clist_thaw().
1886
1887 2001-06-04  Havoc Pennington  <hp@pobox.com>
1888
1889         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore 
1890         releases for buttons 6, 7
1891
1892 2001-06-04  Havoc Pennington  <hp@redhat.com>
1893
1894         * gtk/gtkseparatormenuitem.h: Fix a search-and-replace screwup
1895         (s/CHECK/SEPARATOR/ gone awry). Patch from Jeff Franks, bug
1896         #55562
1897
1898 2001-06-04  Havoc Pennington  <hp@redhat.com>
1899
1900         * gtk/gtktextview.c (gtk_text_view_size_request): handle case
1901         where text_view->layout == NULL by assuming its size is 0, 
1902         i.e. same as if we haven't done any reflow. Reported by 
1903         Hidetoshi Tajima #55448 
1904
1905 2001-06-04  Havoc Pennington  <hp@redhat.com>
1906
1907         * gdk/x11/gdkevents-x11.c (gdk_event_translate): support button 6
1908         and 7 for scroll left/right, from Thomas Broyer
1909
1910 2001-05-10  Havoc Pennington  <hp@redhat.com>
1911
1912         * gtk/gtksettings.c (gtk_settings_get_property): Handle case where
1913         we need to parse the xsetting as if it were an RC file string.
1914
1915         * gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
1916         value of palette from settings, not from static variable
1917
1918         * gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
1919         xsettings translation table
1920
1921         * gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because 
1922         hardcoding the toolbar style conflicts with new customizable 
1923         toolbar style philosophy
1924         (gtk_toolbar_class_init): add settings for default toolbar style;
1925         these are used unless the app specifically forces a toolbar style
1926
1927         * gtk/gtksettings.c (settings_install_property_parser): only
1928         return at the start if we warn and parser == NULL
1929
1930         * gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
1931         palette changed handler so we don't notify dead color selections
1932
1933         * gtk/gtkstyle.c (gtk_default_draw_shadow): handle
1934         xthickness/ythickness of 0 or 1 properly 
1935         (gtk_default_draw_resize_grip): clear the background behind the
1936         resize grips, and align to bottom right if we square the 
1937         area to be drawn.
1938
1939         * gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on 
1940         statusbar label to 1, so it doesn't make toplevels resize oddly
1941         (gtk_statusbar_size_request): add grip size to request
1942         (gtk_statusbar_size_allocate): hack so the hbox still works with 
1943         the grip size in the request
1944
1945         * gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix 
1946         bug where showing all on a toplevel makes the toolbar 
1947         button text appear despite the toolbar mode
1948
1949         * gtk/gtkmenubar.c: add internal padding style property
1950
1951         * gtk/gtktoolbar.c: Add internal padding style property; add
1952         shadow type style property
1953
1954         * gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
1955         state; and put Container::border_width outside the frame
1956
1957         * gtk/gtktextview.c: don't draw focus rectangle if we're in
1958         interior focus mode, we just use blinking cursor
1959
1960 2001-06-04  Havoc Pennington  <hp@redhat.com>
1961
1962         * configure.in: Make gdk-pixbuf have same version number as GTK
1963
1964 2001-06-04  Havoc Pennington  <hp@redhat.com>
1965
1966         * gtk/gtkspinbutton.c: Get rid of stupid g_return_if_fail on 
1967         digits greater than 6. If there actually are limits (which there
1968         likely aren't), should clamp to them not warn.
1969         (gtk_spin_button_new_with_range): don't take log of 0
1970         (gtk_spin_button_size_request): use digits to compute size
1971         request, rather than step increment.
1972
1973         * tests/testgtk.c (create_spins): test larger values of digits
1974         
1975         * gtk/gtkfontsel.c (gtk_font_selection_init): scroll to selected
1976         font on map not expose, so we don't get weirdness during scrolling
1977
1978 2001-06-04  Havoc Pennington  <hp@redhat.com>
1979
1980         * gtk/gtkclist.c (vadjustment_value_changed): Apply fix from
1981         Sam Solon, bug #54577, update value even if not drawable.
1982
1983 2001-06-04  Havoc Pennington  <hp@redhat.com>
1984
1985         * gtk/gtkrange.c (gtk_range_scroll_event): change SCROLL_RIGHT to
1986         SCROLL_LEFT, reported by Thomas Broyer.
1987
1988 2001-06-04  Havoc Pennington  <hp@redhat.com>
1989
1990         * gtk/gtkrange.c (gtk_range_adjustment_value_changed): 
1991         Process updates immediately, to prevent funny lag effect
1992         when scrolling, at some mild potential efficiency cost.
1993
1994 2001-06-04  Havoc Pennington  <hp@redhat.com>
1995
1996         * gtk/gtkrange.c (gtk_range_button_press): on middle click, center
1997         slider on the click.
1998
1999 2001-06-03  Havoc Pennington  <hp@pobox.com>
2000
2001         * gtk/gtkstyle.c (gtk_default_draw_slider): make this special-case
2002         hscale/vscale details, so we can use it for scrollbar as well.
2003
2004         * tests/testgtk.c (reformat_value): honor digits from GtkScale
2005
2006         * gtk/gtkenums.h (GtkTroughType): Remove this enum
2007         (GtkScrollType): add START and END from GtkTroughType
2008
2009         * gtk/gtkstyle.c (gtk_default_draw_slider): was not properly using
2010         its x/y arguments
2011
2012         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkscrollbar.h,
2013         gtk/gtkscrollbar.c, gtk/gtkscale.h, gtk/gtkscale.c,
2014         gtk/gtkhscrollbar.h, gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.h,
2015         gtk/gtkvscrollbar.c, gtk/gtkhscale.h, gtk/gtkhscale.c,
2016         gtk/gtkvscale.h, gtk/gtkvscale.c: Rewrite GtkRange and subclasses.
2017
2018         Notable changes in the process:
2019          
2020         - stepper_size style property is the height for vertical 
2021           ranges, width for horizontal; the other dimension matches
2022           the trough size
2023         - add ability to do NeXT-style steppers (and several other styles
2024           that don't make any sense)
2025         - added min_slider_length, fixed_slider_length properties to
2026           GtkScrollbar
2027         - cleaned some private (or at least useless) functions out of
2028           gtkscale.h    
2029         - moved bindings to GtkScale from subclasses, even arrow keys,
2030           since blind users don't know scale orientation.
2031         - change move_slider action signal to use new GtkScrollType,
2032           remove GtkTroughType argument
2033         - digits rounds the values a range will input to the given 
2034           number of decimals, but will not try to force adjustment 
2035           values set by other controllers. That is, we no longer
2036           modify adjustment->value inside a value_changed handler.
2037         - added getters for GtkScale setters
2038         - middle-click begins a slider drag
2039         
2040 Fri Jun  1 18:54:47 2001  Jonathan Blandford  <jrb@redhat.com>
2041
2042         * gtk/gtktreeview.c: (gtk_tree_view_focus): Initial stab at
2043         getting the focus code to work.
2044         (gtk_tree_view_class_init): Add a bunch of keybindings.
2045
2046         * gtk/gtktreeviewcolumn.c
2047         (gtk_tree_view_column_set_cell_data_func):
2048         s/GtkCellDataFunc/GtkTreeCellDataFunc.
2049         (_gtk_tree_view_column_set_tree_view): Use "notify::model" instead
2050         of "properties_changed" to help justify the death of the latter
2051         signal. (-:
2052
2053         * tests/testtreefocus.c (main): Let some columns be focussable to
2054         test focus better.
2055
2056 2001-06-01  Havoc Pennington  <hp@redhat.com>
2057
2058         * gtk/gtkentry.c (gtk_entry_commit_cb): implement overwrite mode
2059         
2060         * gtk/gtktextview.c (gtk_text_view_commit_handler): don't
2061         overwrite in overwrite mode if we already deleted the selection
2062         and replaced it with new text.  
2063
2064         * gtk/gtklabel.c (gtk_label_select_region_index): if you set the
2065         selection to an empty range, clear the clipboard if we owned it.
2066         (gtk_label_set_selectable): give up selection if we become
2067         unselectable.
2068         (gtk_label_state_changed): override state changed to unselect text
2069         when insensitive
2070         (get_text_callback): add paranoia check that indexes aren't
2071         outside of label->text
2072         (gtk_label_select_region): make -1 for start_offset mean "end of
2073         label," for consistency with GtkEditable
2074
2075         * gtk/gtkmessagedialog.c (gtk_message_dialog_new): honor
2076         GTK_DIALOG_NO_SEPARATOR flag
2077
2078 Fri Jun  1 11:47:11 2001  Owen Taylor  <otaylor@redhat.com>
2079
2080         * gtk/gtkcombo.c (gtk_combo_set_use_arrows_always): Fix 
2081         notifications on non-existant "enable_arrow_keys".
2082         (#53753, Skip Montanaro)
2083
2084 Fri Jun  1 11:31:55 2001  Owen Taylor  <otaylor@redhat.com>
2085
2086         * gdk/gdkrectangle.c (gdk_rectangle_get_type): Add 
2087         GDK_TYPE_RECTANGLE.
2088
2089         * gtk/gtkwidget.c (gtk_widget_class_init): Fix type
2090         of allocation argument be GDK_TYPE_RECTANGLE.
2091
2092 Thu May 31 12:43:57 2001  Owen Taylor  <otaylor@redhat.com>
2093
2094         * gtk/gtkoptionmenu.c: Account for the fact that the border
2095         width is _outside_ the window. (Fixes #54585, bug found
2096         by Bastien Nocera.)
2097
2098 Wed May 30 15:56:30 2001  Owen Taylor  <otaylor@redhat.com>
2099
2100         * gtk/gtksettings.c (gtk_settings_get_property): Validate
2101         value from GDK settings against parameter spec.
2102
2103         * gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments
2104         to temporary values and use g_value_transform(), since
2105         thinking that GValue was going to be easy or efficient
2106         to use was, of course, a mistake.
2107
2108         * gtk/gtksettings.c: Add cursor blink setting.
2109         
2110         * gdk/x11/gdkevents-x11.c: Add cursor blink X settings.
2111
2112         * gtk/gtkentry.c: Add cursor blinking.
2113
2114         * gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use
2115         cursor blink global settings.
2116
2117         * gtk/gtkentry.c (gtk_entry_button_press): Add notification
2118         for :text_position in places where it is missing.
2119
2120 Tue May 29 18:17:11 2001  Owen Taylor  <otaylor@redhat.com>
2121
2122         * autogen.sh (have_libtool): Fix GNU sedism (#55430)
2123
2124 Tue May 29 17:40:29 2001  Owen Taylor  <otaylor@redhat.com>
2125
2126         * configure.in (GTK_DEP_CFLAGS): Use $PKG_CONFIG,
2127         not pkg-config. (#51032)
2128
2129         * gdk/gdkproperty.h: Remove inappropriate G_GNUC_CONST
2130         (fixes #51952, James Henstridge)
2131         
2132 2001-05-27  Alexander Larsson  <alla@lysator.liu.se>
2133
2134         * gtk/gtkstock.h (GTK_STOCK_GO_UP):
2135         Rename to the more correct gtk-go-up.
2136
2137         * gtk/stock-icons/stock_menu_sort_ascending.png:
2138         Added new file.
2139         
2140         * gtk/stock-icons/stock_menu_sort_descending.png:
2141         Changed to show descending instead of ascending.
2142
2143         * gtk/gtkiconfactory.c:
2144         Added menu size icon to sort ascending.
2145
2146         * gtk/stock-icons/Makefile.am:
2147         Added stock_menu_sort_ascending.png.
2148         
2149         * gtk/gtkseparatormenuitem.c:
2150         Use correct typenames.
2151
2152 Sun May 20 20:07:35 2001  Tim Janik  <timj@gtk.org>
2153
2154         * gtk/gtksignal.[hc] (gtk_signal_connect_full): make hanlder id a
2155         gulong as in GSignal.
2156
2157 Fri May 25 19:04:17 2001  Jonathan Blandford  <jrb@redhat.com>
2158
2159         * gtk/gtktreeview.c (gtk_tree_view_calc_size): Remove almost all
2160         instances of GtkCellRenderer in code (all but dnd icon code).
2161         Virtualized in GtkTreeViewColumn.  Now I need to move focus in
2162         there, and I can do multiple Cells per column.
2163
2164         * gtk/gtktreeviewcolumn.c: Proxy all cell calls correctly
2165
2166         * gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): fix bug
2167         when model was unreffed prior to removing the row reference.
2168
2169 2001-05-25  Havoc Pennington  <hp@redhat.com>
2170
2171         * gtk/gtkiconfactory.c: fix so that default icons are created if 
2172         you call gtk_stock_list_ids()
2173
2174         * demos/gtk-demo/stock_browser.c (create_model): sort stock items
2175         in list
2176
2177 2001-05-25  Havoc Pennington  <hp@redhat.com>
2178
2179         * gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
2180         set can render without falling back to missing image icon
2181
2182         * gtk/gtktextview.c (gtk_text_view_size_request): request full
2183         size of text, instead of random values
2184
2185         * gtk/gtktreeview.c (gtk_tree_view_size_request): request full
2186         size of tree view, instead of random values
2187
2188         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): render fallback
2189         image in an appropriate size
2190
2191         * gtk/gtkstock.h: Rename the stock items including _BUTTON_,
2192         etc. not to include that. i.e. s/GTK_STOCK_BUTTON_OK/GTK_STOCK_OK/
2193
2194         Throughout: fix GTK_STOCK_BUTTON_ instances
2195         
2196         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
2197         gtk/gtkiconfactory.c, gtk/stock-icons/Makefile.am:
2198         Add a bunch of new stock items/icons
2199
2200         * gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func):
2201         new function, convenience for inserting columns with a data func
2202
2203         * gtk/gtkiconfactory.c: keep a list of all existing icon factories
2204         (_gtk_icon_factory_list_ids): use list of all factories to
2205         generate a list of all known IDs
2206
2207         * gtk/gtkstock.c (gtk_stock_list_ids): replace
2208         gtk_stock_list_items() with a function that returns all IDs known
2209         including those for GtkIconFactory.
2210
2211 2001-05-25  Hans Breuer  <hans@breuer.org>
2212
2213         * gdk/win32/gdkgc-win32.c : made fil mode GDK_STIPPLED actually
2214         work -> check boxes and radio buttons are drawn now, even on win9x.
2215         Improved line settings a bit, still no clue how to get really dotted
2216         lines on win9x, on NT it's PS_ALTERNATE.
2217
2218         * gdk/win32/gdkwindow-win32.c : use SafeAdjustWindowRect for 
2219         GDK_HINT_MIN_SIZE as well
2220
2221         * gdk/win32/makefile.am : added gdkkeys-win32.c to EXTRA_DIST
2222
2223         * gtk/gtk.def : updated
2224
2225         * gtk/gtktreeprivate.h : change column_drop_func to be a function
2226         pointer not a function pointer pointer
2227
2228         * tests/testdnd.c : include <stdlib.h> for putenv prototype
2229
2230         * tests/testsocket.c : made it compile on win32 again
2231
2232         * tests/makefile.msc : one more test-app uses prop-editor.obj
2233
2234 2001-05-22  Havoc Pennington  <hp@pobox.com>
2235
2236         * gtk/gtkbin.c (gtk_bin_get_child): New function
2237
2238 Wed May 23 20:07:53 2001  Owen Taylor  <otaylor@redhat.com>
2239
2240         * gtk/gtkimcontextsimple.c: Add Mode_Switch to list of keys
2241         to ignore when doing compose processing.
2242
2243 2001-05-22  Joe Shaw  <joe@ximian.com>
2244
2245         * gtk/gtktextiter.c (_gtk_text_btree_get_iter_at_last_toggle): 
2246         Simplify as suggested by Havoc. Just get the last iter and work
2247         backward to the tag instead of getting a line and working back from
2248         there. Fixes passing in an invalid offset to
2249         iter_init_from_byte_offset().
2250
2251 Tue May 22 16:25:27 2001  Jonathan Blandford  <jrb@redhat.com>
2252
2253         * gtk/gtktreeview*.h: 
2254         * gtk/gtkcell*.h:
2255         * gtk/gtk*store.h:
2256         Added patch from Jeff Franks <jcf@tpg.com.au> to add GET_CLASS
2257         macros to all objects.
2258
2259 Tue May 22 15:13:52 2001  Jonathan Blandford  <jrb@redhat.com>
2260
2261         * gtk/gtkcellrenderertext.c
2262         (gtk_cell_renderer_text_set_fixed_size): Evil function to deal
2263         with very large (TM) amounts of text.  May be moved to
2264         GtkCellRenderer in the future, though I'm not sure it wants to be
2265         this accessible.
2266
2267         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
2268         More sanity brought to this class.  I like it.
2269
2270         * tests/testtreecolumns.c (ViewColumnModel): Amazingly scary test
2271         case.  Kids, don't try this at home.
2272
2273         * gtk/gtktreemodel.c (gtk_tree_model_get_iter_root): new
2274         convenience function.
2275
2276         * gtk/gtkwindow.c (gtk_window_set_geometry_hints): Fix typo in docs.
2277
2278 2001-05-21  Alexander Larsson  <alexl@redhat.com>
2279
2280         * gtk/gtkfontsel.c:
2281         Added properties. Based on patch by Lee Mallabone.
2282
2283         * gtk/gtkruler.c:
2284         * gtk/gtkhruler.c:
2285         * gtk/gtkvruler.c:
2286         * gtk/gtktext.c:
2287         * gtk/gtktextview.c:
2288         Converted GtkArg to GParam. Based on patches by John Margaglione.
2289
2290         * tests/Makefile.am:
2291         * tests/testtext.c:
2292         Add a property editor to testtext.
2293         
2294 Mon May 21 11:29:21 2001  Owen Taylor  <otaylor@redhat.com>
2295
2296         * gtk/gtk{h,v,}paned.c: Only show the separator if 
2297
2298         * configure.in: Fixed reversed conditional causing all image
2299         libraries to be linked in.
2300
2301 2001-05-21  Joe Shaw  <joe@ximian.com>
2302
2303         * gtk/gtklayout.c (gtk_text_layout_get_lines): Remove the assertion
2304         that top_y needs to be >= 0.
2305
2306 2001-05-11  Havoc Pennington  <hp@pobox.com>
2307         
2308         * gdk/x11/gdkmain-x11.c: Improve error messages for X errors and
2309         losing connection to the X server.
2310
2311 Sun May 20 13:59:20 2001  Owen Taylor  <otaylor@redhat.com>
2312
2313         * configure.in: Start checks for X from pangox/pangoxft
2314         CFLAGS to avoid duplicate libraries.
2315
2316         * gdk/Makefile.am (LDFLAGS): Remove extra -lm.
2317
2318         * configure.in (GDK_PIXBUF_PACKAGES): Fix GDK_PIXBUF_PACKAGES
2319         to include gobject.
2320         
2321 2001-05-18  Alexander Larsson  <alexl@redhat.com>
2322
2323         * gtk/gtkspinbutton.c:
2324         Convert GtkArgs to GParams. Based on patch by John Margaglione.
2325         Also do size request reasonable for MAXDOUBLE. Previously it printed
2326         the limits to a buffer and overran it. Instead do it using log10() and
2327         limit the width to 10 digits.
2328         
2329         * gtk/gtkwidget.c (gtk_widget_get_property):
2330         Correctly handle setting the parent property to NULL.
2331
2332 Fri May 18 15:26:26 2001  Owen Taylor  <otaylor@redhat.com>
2333
2334         * gtk/gtktextview.c (gtk_text_view_style_set): Reset 
2335         style attributes even if the widget isn't realized.
2336
2337         * demos/gtk-demo/main.c: Use a slightly smaller font.
2338
2339 Fri May 18 14:25:20 2001  Owen Taylor  <otaylor@redhat.com>
2340
2341         * gtk/gtkcontainer.c: Remove reallocate-redraws property.
2342         This is something that only a widget writer would ever want
2343         to change.
2344
2345         * gtk/gtksignal.c: Handle G_SIGNAL_TYPE_STATIC_SCOPE for
2346         gtk_signal_emit_by_name().
2347
2348         * gtk/gtkviewport.c: Fix some warnings.
2349
2350         * gtk/gtkwidget.c gtk/gtksizegroup.c: Add "size group" facility
2351         allowing the requisitions of multiple widgets to be grouped
2352         together.
2353
2354         * tests/testgtk.c: Add GtkSizeGroup test
2355
2356         * demos/gtk-demo/sizegroup.c: Add GtkSizeGroup demo.
2357
2358         * demos/gtk-demo/main.c demos/gtk-demo/pixbufs.c: Fix some
2359         warnings.
2360
2361         * configure.in: Switch to using AM_GLIB_GNU_GETTEXT.
2362
2363 2001-04-28  Martin Baulig  <baulig@suse.de>
2364
2365         * gtk/gtkimagemenuitem.[ch]: Renamed gtk_image_menu_item_add_icon()
2366         to gtk_image_menu_item_set_icon() and made it work if there's already
2367         an image.
2368         (gtk_image_menu_item_new): This function doesn't take any arguments anymore.
2369         (gtk_image_menu_item_new_with_label): New function.
2370
2371 Thu May 17 16:20:04 2001  Jonathan Blandford  <jrb@redhat.com>
2372
2373         * demos/gtk-demo/main.c (fontify): It's the worlds ugliest
2374         highlighting code!!!!  The result is okay so long as you don't try
2375         to stress it.  It also highlights a bug in the TextView so it's in
2376         an unproportional font right now until it's fixed.
2377
2378         *demos/gtk-demo/*.c: Clean up code a bit to make it
2379         ugly-parser(TM) friendly. (-:
2380
2381 2001-05-17  Joe Shaw  <joe@ximian.com>
2382
2383         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove the assertions
2384         that x_offset and y_offset must be >= 0. Clip the cursor being drawn
2385         if it is only partially onscreen.
2386
2387 Thu May 17 17:10:13 2001  Owen Taylor  <otaylor@redhat.com>
2388
2389         * gtk/gtkentry.c: Make logical motion and deletion by graphemes, 
2390         not by characters.
2391
2392         * gtk/gtkentry.c: Handle "trailing" returns from Pango when they
2393         are not zero or one; that is, when graphemes of multiple characters
2394         are involved.
2395
2396         * gtk/gtktextlayout.c (line_display_index_to_iter): Remove unnecessary
2397         FIXME.
2398
2399 2001-05-17  Alexander Larsson  <alla@lysator.liu.se>
2400         
2401         * gtk/gtkbbox.c:
2402         Add properties, based on patch by Lee Mallabone.
2403
2404         * gtk/gtknotebook.c:
2405         * gtk/gtktoolbar.c:
2406         Convert from GtkArg to GParam, based on patch by John Margaglione.
2407         
2408         * gtk/gtkhscale.c:
2409         * gtk/gtkvscale.c:
2410         * gtk/gtkhscrollbar.c:
2411         * gtk/gtkvscrollbar.c:
2412         * gtk/gtkrange.c:
2413         Move adjustment property to GtkRange.
2414
2415         * gtk/gtklabel.c:
2416         Setup mnemonics on property changes
2417
2418         * gtk/gtkwidget.c (gtk_widget_get_property):
2419         GdkExtensionMode is an enum, not a flag. Set it with
2420         g_value_set_enum ().
2421
2422         * tests/prop-editor.c:
2423         Better propery editor.
2424
2425         * tests/testgtk.c:
2426         Add new property test. Pass zero to the property editor to
2427         get properties from all derived types.
2428         
2429 Sun May 13 12:01:12 2001  Owen Taylor  <otaylor@redhat.com>
2430
2431         * autogen.sh (have_automake): Require libtool-1.4,
2432         automake-1.4p1.
2433
2434         * acinclude.m4: Remove libtool macros.
2435
2436         * gdk-pixbuf/Makefile.am: Add dependencies to loade
2437         modules.
2438
2439         * gdk/Makefile.am: Add dependency on libgdk_pixbuf.la
2440         for libgdk.
2441
2442         * gtk/Makefile.am: Add dependency on libgdk_pixbuf.la
2443         libgdk.la for libgtk.
2444
2445         * modules/input/Makefile.am: Make modules have full
2446         dependencies.
2447
2448 Wed May 16 14:06:01 2001  Jonathan Blandford  <jrb@redhat.com>
2449
2450         * gtk/gtktreemodel.c (gtk_tree_path_new_from_string): fix bug
2451         #54699 where paths weren't being checked for correctness.
2452
2453 Tue May 15 20:13:24 2001  Jonathan Blandford  <jrb@redhat.com>
2454
2455         * gtk/gtktreeviewcolumn.c: You can now set all sorts of properties
2456         in any order you wan, whether or not the column is added to the
2457         tree, or the tree is realized.  Yay!
2458
2459         * gtk/gtktreeviewcolumn.c
2460         (gtk_tree_view_column_setup_sort_column_id_callback): handle
2461         sorting columns a lot saner
2462
2463         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_reorderable):
2464         new function to actually set wether or not a column is
2465         reorderable.
2466
2467         * gtk/gtktreeview.c (gtk_tree_view_unrealize): Only destroy things
2468         if we have 'em.
2469
2470         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_set_tree_view):
2471         Fix nasty bug where we were showing the button just before
2472         realizing it.  As a result, the parent window was
2473         tree_view->window instead of tree_view->priv->header_window.
2474
2475         * gtk/gtktreeview.c (gtk_tree_view_set_reorderable): new property
2476         to let you easily reorder a list or tree.
2477
2478 2001-05-15  Alexander Larsson  <alla@lysator.liu.se>
2479
2480         * gtk/gtkpacker.c: Apply patch from John Margaglione that converts
2481         from args to properties.
2482
2483 Tue May 15 10:11:59 2001  Owen Taylor  <otaylor@redhat.com>
2484
2485         * gtk/gtkpreview.c: Apply patch from John Margaglione converting
2486         from args to properties. (#51957)
2487
2488         * gtk/gtkscale.c (gtk_scale_class_init): Move install property
2489         calls to after ->set_property call.
2490
2491 Mon May 14 14:56:21 2001  Owen Taylor  <otaylor@redhat.com>
2492
2493         * tests/prop-editor.c: Block against redundant changes.
2494
2495         * gtk/gtkpaned.c gtk/gtk[hv]paned.c: Add position, position_set
2496         properties.
2497
2498 Sun May 13 18:40:04 2001  Owen Taylor  <otaylor@redhat.com>
2499
2500         * gdk/gdkpixmap.h: Remove creative formatting.
2501
2502 Thu May 10 19:22:28 2001  Owen Taylor  <otaylor@redhat.com>
2503
2504         * gtk/gtktogglebutton.c:  Patch from John Margaglione converting to
2505         property API. (#51669)
2506
2507         * gtk/gtkscale.c: Patch from John Margaglione converting to
2508         property API. (#51891)
2509
2510         * gtk/gtkaccellabel.c: Applied patch from Lee Mallabone, converting
2511         to property API. (#50985)
2512
2513 Fri May 11 20:13:44 2001  Tim Janik  <timj@gtk.org>
2514
2515         * gtk/gtkmain.c (gtk_main_do_event): remember widget's double
2516         buffering state across expose event, so we still call end_paint().
2517
2518 2001-05-11  Alexander Larsson  <alexl@redhat.com>
2519
2520         * gtk/gtkhsv.c (paint_triangle):
2521         Expose the ring in the triangle at the correct place when
2522         exposing just a part of the triangle.
2523
2524         * gtk/gtkwindow-decorate.c (gtk_decorated_window_focus_change):
2525         Return FALSE, or window focusing will not work.
2526
2527 2001-05-11  Havoc Pennington  <hp@pobox.com>
2528
2529         * gtk/gtkimage.c (gtk_image_new_from_stock): docs, fixes bug
2530         #54144
2531
2532         * gtk/gtkcolorsel.c (gtk_color_selection_new): docs, fixes
2533         bug #54330
2534
2535 Fri May 11 02:53:57 2001  Tim Janik  <timj@gtk.org>
2536
2537         * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't
2538         propagate exposes to NULL child.
2539
2540         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard
2541         against not having one of the scrollbars.
2542
2543         * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us,
2544         we don't keep a mnemonic window if we have no mnemonic installed.
2545
2546 Fri May 11 01:05:00 2001  Tim Janik  <timj@gtk.org>
2547
2548         * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST
2549         it has the _important_ side effect of initializing a class.
2550
2551 2001-05-10  Alexander Larsson  <alexl@redhat.com>
2552
2553         * gdk/linux-fb/gdkprivate-fb.h:
2554         Make sure you can compile out the implementation/wrapper assert
2555         macros.
2556
2557         * gdk/linux-fb/gdkdrawable-fb2.c:
2558         Check implementation/wrappers, initialize type for pixmap dummys.
2559
2560         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image):
2561         Hide the cursor if reading from the screen.
2562
2563         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
2564         Fix sign bug in tiling code.
2565
2566         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
2567         Handle background pixmaps.
2568
2569 Wed May  9 15:27:22 2001  Jonathan Blandford  <jrb@redhat.com>
2570
2571         * gtk/gtktreeview.c (gtk_tree_view_set_column_drag_function): New
2572         function to let user control where columns are dragged.
2573
2574         * gtk/gtktreeview.c (gtk_tree_view_key_press): Cancel drags if
2575         Escape is pressed.
2576
2577 Wed May  9 09:08:44 2001  Jonathan Blandford  <jrb@redhat.com>
2578
2579         * gtk/gtktreeview.c (gtk_tree_view_class_init): New
2580         "columns_changed" signal.
2581         (gtk_tree_view_motion_draw_column_motion_arrow): Change column
2582         motion code to draw arrows to the side if indicator is outside the
2583         widget.
2584         (gtk_tree_view_map_expanded_rows): Implement.
2585
2586 2001-05-07  Alexander Larsson  <alexl@redhat.com>
2587
2588         * demos/testpixbuf-save.c: 
2589         * demos/testpixbuf-drawable.c:
2590         Include gdkfb.h on linux-fb.
2591
2592 2001-05-07  Alexander Larsson  <alexl@redhat.com>
2593
2594         * gdk/linux-fb/gdkdnd-fb.c (get_toplevel_window_at):
2595         New function for getting toplevel window at position.
2596         (gdk_drag_find_window): Use get_toplevel_window () instead
2597         of gdk_window_get_pointer(). (gdk_drag_status): Use
2598         correct context for getting window.
2599
2600         * gdk/linux-fb/gdkproperty-fb.c (gdk_atom_name):
2601         g_strdup the atom name.
2602
2603         * gdk/linux-fb/gdkwindow-fb.c:
2604         Costmetic fix.
2605
2606         * gtk/gtkdnd.c (gtk_drag_source_handle_event):
2607         Add code for changing cursor on linux-fb backend (same as
2608         win32).
2609
2610 2001-05-07  Federico Mena Quintero  <federico@ximian.com>
2611
2612         * gtk/gtkwindow.c (gtk_window_focus): Test for bin->child being
2613         present before doing anything with it.  Patch from HÃ¥vard KvÃ¥len
2614         <havardk@netcom.no>.  Fixes Ximian bugzilla #2492 (OK, the bug
2615         report was not for the development branch of GTK+, but it applies
2616         anyways).
2617
2618 2001-05-04  Havoc Pennington  <hp@redhat.com>
2619
2620         * configure.in: fix some shell typos
2621
2622         * gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix
2623
2624         * gtk/gtkimage.c: handle animations
2625
2626         * gtk/gtkcheckbutton.c (gtk_check_button_size_request): request
2627         border_width * 2, not just border_width
2628
2629         * gtk/gtkscale.c: add "format_value" signal to allow people
2630         to override the way values are drawn.
2631         (gtk_scale_get_value_size): fix width/height mistake,
2632         and compute size from actual displayed text, not 
2633         from made-up text.
2634
2635         * gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in 
2636         signal registration
2637
2638         * tests/testtext.c: Add "Remove all tags" menu item for testing
2639
2640         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement
2641
2642         * demos/gtk-demo/main.c (main): add hack so we can find modules
2643         without installing gtk
2644
2645         * demos/gtk-demo/textview.c (insert_text): demo font scaling
2646
2647         * gtk/gtkcellrenderertext.c: Add "scale" property (font scaling
2648         factor)
2649         (gtk_cell_renderer_text_set_property): remove some bogus
2650         g_object_notify
2651
2652         * gtk/gtktexttag.c: add "scale" property which is a font scaling
2653         factor
2654
2655         * gtk/gtktextlayout.c (add_text_attrs): add font scale attribute 
2656         to layout
2657
2658         * gtk/gtktextiter.c (gtk_text_iter_is_start): rename from
2659         gtk_text_iter_is_first
2660
2661 2001-01-06  Hans Breuer  <hans@breuer.org>
2662
2663         * gdk/gdk.def : updated exports
2664
2665         * gdk/win32/makefile.msc : -DGDK_ENABLE_BROKEN otherwise
2666         gdk won't compile anymore
2667  
2668         * gdk/win32/gdkevents-win32.c : initialize ret_val when
2669         processing GDK_FILTER functions, initialize event.key->hardware_keycode.
2670         Improved gdk_flush () to not only do pending drawing operations
2671         but also process all currently pending events. This should make
2672         the behaviour more similar to the X11 version.  
2673
2674         * gdk/win32/gdkgc-win32.c (predraw_set_background) : a background
2675         option needs to be set even if there is no GDK_GC_BACKGROUND.
2676         (gdk_win32_hdc_get) : use predraw_set_background () independent
2677         of value_mask. This allows to draw dashed lines leaving the original
2678         background intact.
2679
2680         * gdk/win32/gdkimage-win32.c (gdk_image_new_bitamp) : free data
2681         after processing, because we can't reuse it as the X11 version does.
2682
2683         * gtk/gtk.def : updated exports
2684
2685         * gtk/makefile.msc.in : added ATK, removed all test apps. (I
2686         would like to get rid of this file again, and use straight
2687         makefile.msc again, as the other Gtk+ subdirs do)
2688
2689         * test/makefile.msc (new file) : build the test apps here
2690
2691 2001-05-05  ERDI Gergo  <cactus@cactus.rulez.org>
2692
2693         * gdk/gdkpango.c (gdk_pango_get_item_properties): Peek
2694         strike-through setting
2695         (gdk_draw_layout_line_with_colors): Render strike-through
2696
2697 Sat May  5 10:06:24 2001  Owen Taylor  <otaylor@redhat.com>
2698
2699         * Release 1.3.5
2700
2701         * configure.in (GTK_MICRO_VERSION): Up to 1.3.5
2702
2703         * NEWS: Updated
2704
2705         * demos/gtk-demo/Makefile.am (EXTRA_DIST): Fix minor
2706         Makefile breakage.
2707
2708 Sat May  5 09:18:30 2001  Owen Taylor  <otaylor@redhat.com>
2709
2710         * demos/gtk-demo/images.c (progressive_timeout): Fix
2711         typo in filename.
2712
2713         * gtk/gtktreeview.c (gtk_tree_view_row_activated): Comment
2714         out FIXME warning; just too annoying.
2715
2716 2001-05-04  Alex Larsson  <alla@lysator.liu.se>
2717
2718         * gdk/linux-fb/gdkcolor-fb.c:
2719         Better error messages.
2720
2721         * gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new):
2722         Initialize abs_x and abs_y.
2723         
2724         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
2725         Correct handling of stipple offset.
2726
2727         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init):
2728         Treat directcolor framebuffers as truecolor.
2729         
2730 Thu May  3 14:13:49 2001  Owen Taylor  <otaylor@redhat.com>
2731
2732         * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
2733         dependency on Atk for accessibility support.
2734
2735         * configure.in **/Makefile.am: Major reworking of substituted
2736         variables for CFLAGS/LIBS to make a lot more sane and 
2737         keep the the compile/link lines a bit shorter.
2738
2739         * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
2740
2741 Thu May  3 08:10:54 2001  Owen Taylor  <otaylor@redhat.com>
2742
2743         * gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
2744         value to be G_TYPE_BOOLEAN, not G_TYPE_INT, also,
2745         use _gtk_boolean_handled_accumulator.
2746
2747 Thu May  3 07:00:09 2001  Owen Taylor  <otaylor@redhat.com>
2748
2749         * gtk/gtktextview.c: Patch from Juan Pablo Mendoza Mendoza
2750         to fix things so clicking inside selection leaves cursor
2751         at point where clicked. (#50324)
2752
2753         * gtk/gtksettings.c (gtk_settings_class_init): Restore
2754         sane value for default double click time.
2755
2756         * tests/testtext.c (test_init): Really path to input modules.
2757
2758 2001-05-03  Sven Neumann  <sven@convergence.de>
2759
2760         * demos/testpixbuf-save.c: include target-specific headers as
2761         done in testpixbuf-drawable.c
2762
2763 Wed May  2 20:36:38 2001  Owen Taylor  <otaylor@redhat.com>
2764
2765         * gtk/gtkentry.c (gtk_entry_real_insert_text): Reduce
2766         new_text_length appropriately when we run into the 
2767         size limit for the entry. (#53445, reported by Jeff Franks)
2768
2769         * tests/testgtk.c (create_entry): Remove most of the
2770         property toggle buttons. Replace with a "Props" button
2771         that brings up a property editor.
2772
2773         * tests/prop-editor.[ch] test/testtreeview.c tests/Makefile.am:
2774         Split the property editor code out for reuse, improve.
2775
2776 Wed May  2 17:26:22 2001  Owen Taylor  <otaylor@redhat.com>
2777
2778         * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.c: Always
2779         trap errors around calls to XSetInputFocus since we have
2780         no way of knowing reliably whether we are viewable or
2781         not. (#53947)
2782
2783 Tue May  1 09:21:23 2001  Jonathan Blandford  <jrb@redhat.com>
2784
2785         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
2786         fix bug in dropping columns.  Moving columns now basically works
2787         modula some fine tuning.
2788
2789 Tue May  1 19:09:21 2001  Jonathan Blandford  <jrb@redhat.com>
2790
2791         * gtk/gtktreeview.c (gtk_tree_view_horizontal_autoscroll): Add
2792         autoscroll support.  It mostly works, but could use some fine
2793         tuning.
2794         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
2795         Actually move the column.
2796
2797 Mon Apr 30 20:29:27 2001  Owen Taylor  <otaylor@redhat.com>
2798
2799         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c 
2800           gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtkwidget.c:
2801           New default theme! A slighly improved version of the 2.0 Raleigh
2802           theme, with Windows-esque focus/drawing default. 
2803           (GtkWidget::interior_focus defaults to TRUE.)
2804
2805         * gtk/gtkstyle.[ch]: Add a text_aa color halfway between text and base.
2806
2807 2001-04-30  Havoc Pennington  <hp@pobox.com>
2808
2809         * tests/testtext.c (line_numbers_expose): fix to work with
2810         gtk_paint_layout change
2811
2812 Mon Apr 30 19:18:07 2001  Owen Taylor  <otaylor@redhat.com>
2813
2814         * gtk/gtkstyle.[ch] gtk/gtkaccellabel.c gtk/gtkcellrenderertext.c
2815           gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c gtk/gtkprogressbar.c
2816           gtk/gtkvruler.c gtk/gtkvscale.c: Add an extra parameter
2817           use_text to gtk_paint_label() to deal with style->bg[] vs style->text[].
2818
2819         * gtk/gtkbbox.c gtk/gtkdialog.c: Tweak padding some to deal
2820           with GtkWidget::interior_focus = TRUE better.
2821
2822         * gtk/gtkbutton.c: Switch ::default_spacing to ::default_border,
2823         ::default_outside_border for more flexibility.
2824
2825         * gtk/gtkwidget.c (gtk_widget_style_get_valist): Remove 
2826         G_VALUE_NO_COPY_CONTENTS, to correspond with the recent
2827         change that had to be made with g_object_get.
2828
2829 Sun Apr 29 20:13:40 2001  Jonathan Blandford  <jrb@redhat.com>
2830
2831         * gtk/gtktreeview.c (gtk_tree_view_get_columns): new function.
2832         (gtk_tree_view_move_column_after): Clean up interface. 
2833
2834 Sun Apr 29 03:02:02 2001  Tim Janik  <timj@gtk.org>
2835
2836         * gtk/gtkpacker.h:
2837         * gtk/gtkenums.h: moved GtkAnchorType and GtkSideType from gtkpacker.h
2838          to gtkenum.h.
2839
2840         * gtk/gtkmain.c (gtk_main_do_event): silence compiler (GDK_SETTING not
2841         handled in switch).
2842
2843         * gtk/Makefile.am:
2844         (gtk.defs): generate enum portions with  glib-mkenums.
2845         (gtktypebuiltins_evals.c): generate this with glib-mkenums.
2846         got rid of makeenums.pl and makeenums.awk in distributed tarballs.
2847         
2848         * gtk/gtkaccelgroup.c (gtk_accel_group_add): refined havocs warning
2849         addition.
2850
2851         * docs/Changes-2.0.txt: keep a note on signal handlers now
2852         not getting emitted during the emission they were connected within.
2853
2854 2001-04-28  Havoc Pennington  <hp@pobox.com>
2855
2856         * gtk/gtkcolorsel.c (palette_new): fix bug in tooltip
2857
2858 2001-04-24  Havoc Pennington  <hp@redhat.com>
2859
2860         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): 
2861         (gtk_text_layout_move_iter_to_next_line): fix these two for
2862         invisible text, lots of other stuff still hosed.
2863
2864         * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
2865         new function, replaces the get/set palette stuff. This function 
2866         is intended for use by libgnomeui which should set the hook to a
2867         thing which sets the palette in GConf, and we need the
2868         GConf-to-xsettings proxy which will result in the change being
2869         propagated back to the GTK app.
2870
2871         * gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning 
2872         about unusable signals that it may be because the signal has 
2873         parameters.
2874
2875         * gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
2876         style, otherwise gtkrc.c won't know to create a new GtkStyle for
2877         it.
2878         (gtk_widget_modify_color_component): call
2879         gtk_widget_modify_style() so the rc style will get copied.
2880         (gtk_widget_modify_font): ditto
2881
2882         * gtk/gtkrc.c: make a couple variables static
2883
2884         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
2885         help button by default, since it does nothing
2886
2887         * gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
2888         around with UI
2889
2890         * gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
2891         so we can have tooltips
2892
2893         * gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
2894         can have tooltips
2895
2896         * gdk/gdkimage.h: mark gdk_image_new_bitmap with
2897         GDK_ENABLE_BROKEN, because its memory behavior is completely
2898         hosed.
2899
2900         * gtk/gtknotebook.c: remove key press handler, replace with
2901         binding set, add numeric keypad support
2902
2903         * gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete
2904
2905         * gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms
2906
2907         * gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
2908         addition to plain Delete
2909
2910         * gtk/gtktextview.c (gtk_text_view_key_press_event): accept
2911         GDK_KP_Enter in addition to GDK_Return
2912
2913         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
2914         activate on entry instead of key press
2915         (gtk_font_selection_on_clist_key_press): get
2916         rid of this signal handler, not needed with new font sel.
2917
2918         * gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
2919         no-longer-needed emit_stop_by_name(), just return TRUE
2920
2921         * gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
2922         cruft, this widget is no longer focusable.
2923
2924         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
2925         gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
2926         move_slider action signal, add binding set for vscale/hscale, in
2927         the process support numeric keypad
2928
2929         * gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings; 
2930         make GDK_Return and GDK_KP_Enter activate the entry via 
2931         binding set, instead of hardcoded.
2932
2933 Fri Apr 27 20:27:21 2001  Jonathan Blandford  <jrb@redhat.com>
2934
2935         * gtk/gtktreeview.[hc]: Massive reorder/cleanup of a lot of the
2936         code.  Some documentation added.
2937
2938 2001-04-27  Havoc Pennington  <hp@redhat.com>
2939
2940         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning
2941
2942         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable
2943
2944         * gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
2945         line/para separators
2946         (gtk_entry_create_layout): set single paragraph mode on the layout
2947
2948         * gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
2949         spacing between the image and label; instead, inside a button box 
2950         the button will get extra space that will go there, but if people 
2951         configure button box for 0 chubbiness, then there's no spacing.
2952
2953         * gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
2954         and min/max size style properties, so people can tune their
2955         chubbiness.
2956
2957         * tests/testgtk.c (make_toolbar): remove calls to removed toolbar
2958         functions
2959
2960         * gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
2961         space_style, and button_relief into style properties, remove
2962         functions for setting them
2963         
2964         * gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop 
2965         it back down
2966
2967         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
2968         types from gtk_widget_style_get
2969
2970         * gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
2971         with a style property.
2972
2973         * gdk/x11/gdkevents-x11.c: namespace the settings
2974
2975         * gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.
2976
2977         * gtk/gtksettings.c (gtk_settings_class_init): remove code with
2978         side effects from inside g_assert(), so that G_DISABLE_ASSERT can
2979         be used. Also, translate doc strings for settings. Also, namespace
2980         the double-click-time property. Also, remove bell properties crap.
2981
2982 2001-04-27  Sven Neumann  <sven@gimp.org>
2983
2984         * Makefile.am: before creating links, check if pkg-config files
2985         exist for the default target. Otherwise link to the pkg-config files
2986         that got installed with this build.
2987
2988 Thu Apr 26 19:11:46 2001  Jonathan Blandford  <jrb@redhat.com>
2989
2990         * gtk/gtktreeview.c (gtk_tree_view_motion): clean up column
2991         dragging code.  Revealed some (potential) GdkWindow bugs.
2992
2993         * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add
2994         _gdk_window_init_position to the end of reparent to fix the case
2995         of reparenting when new_x != old_x and new_y != old_y.
2996
2997 Thu Apr 26 10:54:50 2001  Owen Taylor  <otaylor@redhat.com>
2998
2999         * gtk/gtkentry.c (strstr_len): Fix optimization that
3000         was correct for the use here, but completely incorrect
3001         in general.
3002
3003 Thu Apr 26 10:40:41 2001  Owen Taylor  <otaylor@redhat.com>
3004
3005         * gtk/gtkwindow.h: Remove deprecation of gtk_window_set_default_size()
3006         until patch adding gtk_window_set_size() is recommitted. 
3007
3008         * **Makefile.am configure.in gdk/x11/gdkim-11.c
3009           gtk/gtkmain.c gtk/gtkimmulticontext.c gtk/gtkmain.c
3010           gtk/gtkrc.c: Remove all traces of -DX_LOCALE support.
3011           (#10784)
3012
3013 Wed Apr 25 12:16:36 2001  Owen Taylor  <otaylor@redhat.com>
3014
3015         * gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for 
3016         window == NULL in a number of cases.
3017
3018         * tests/testdnd.c: Set module path for gdk-pixbuf.
3019
3020 Thu Apr 19 16:11:07 2001  Owen Taylor  <otaylor@redhat.com>
3021
3022         * gtk/Makefile.am xembed.h: File containing #defines
3023         for XEMBED protocol.
3024
3025         * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: 
3026
3027         - Change protocol from old plug/socket specific protocol
3028           to XEMBED draft
3029         - Various fixes to work with GTK+-2.0
3030
3031         Still quite a bit of work to do here to handle initiation
3032         from the socket side (as specified by XEMBED), to handle
3033         the more advanced features of XEMBED, and to figure out
3034         a good way to handle same-app embedding with less overhead
3035         than using full XEMBED.
3036
3037 Wed Apr 18 16:04:28 2001  Owen Taylor  <otaylor@redhat.com>
3038
3039         * gtk/gtkwindow.[ch] (gtk_window_real_set_focus): Keep
3040         track of whether the toplevel has the focus; only send
3041         focus-in events to the focus widget when the window
3042         actually has the focus.
3043
3044 2001-04-25  Havoc Pennington  <hp@pobox.com>
3045
3046         * gtk/gtkwindow.h: set_decorations_hint and set_functions_hint
3047         were still in the header
3048
3049 2001-04-24  Alexander Larsson  <alexl@redhat.com>
3050
3051         * gtk/gtkclist.[ch]:
3052         * gtk/gtkctree.c:
3053         When there is a row highlighted for D'n'D it must alse
3054         be painted hightlighted on exposes. Otherwise exposes from
3055         the icon being dragged will mess up the hightlight.
3056
3057         * gtk/gtkfontsel.c:
3058         Don't recenter selected font when exposing the font family
3059         clist. This means you can now actually scroll the font family
3060         list.
3061
3062         * gtk/gtknotebook.c:
3063         Fix focus movement on scrolling tabs that are placed on the left
3064         and right.
3065
3066 2001-04-21  Havoc Pennington  <hp@pobox.com>
3067
3068         * gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height
3069         empty/invisible lines.
3070
3071         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset)
3072         (gtk_text_iter_set_visible_line_index): new functions to set
3073         indexes excluding invisible text
3074
3075         * gtk/gtktextlayout.c (line_display_iter_to_index): get visible 
3076         index
3077
3078         * gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index)
3079         (gtk_text_iter_get_visible_line_offset): new functions to 
3080         get indexes excluding invisible text
3081
3082         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a
3083         bunch of extra padding that served no purpose
3084
3085         * gtk/gtkdialog.c: Make all the spacings configurable via style
3086         properties, for chubbiness configuration in themes
3087
3088         * tests/testtext.c: fix path to the immodules.
3089         
3090 Mon Apr 23 18:57:03 2001  Jonathan Blandford  <jrb@redhat.com>
3091
3092         * gtk/gtksocket.c (gtk_socket_filter_func): add missing '}' that
3093         got munched by #endif.
3094
3095         * gtk/Makefile.am (gtk_plug_c_sources): add missing '\'
3096
3097         * gtk/gtktreeview.c: Refactored code to clean up a number of
3098         events.
3099
3100         * gtk/gtktreemodel.c (gtk_tree_path_compare): Switched return
3101         values to make consistent with other functions.  Spotted by Jeff
3102         Franks <jcf@tpg.com.au>.
3103
3104         * gtk/gtktreeview.h (struct _GtkTreeViewClass): Fixes to signal
3105         declaration spotted by Jeff Franks <jcf@tpg.com.au>.
3106
3107 2001-04-23  Sven Neumann  <sven@gimp.org>
3108
3109         * gtk/Makefile.am
3110         * gtk/gtkplug.c
3111         * gtk/gtksocket.c: on request of Owen, reverted my last change 
3112         and exclude gtkplug.c/gtksocket.c from the build for non-X11 targets
3113
3114 2001-04-23  Sven Neumann  <sven@gimp.org>
3115
3116         * gtk/gtkplug.c: put into #ifdef GDK_WINDOWING_X11 to make GTK+
3117         compile for non-X11 targets again
3118
3119 2001-04-20  Alexander Larsson  <alexl@redhat.com>
3120
3121         * gtk/gtkcolorsel.[ch]:
3122         API Change. Take GdkColor arguments instead of gdouble *.
3123         Leave the old gtk_color_selection_set_color for compatibility,
3124         but marked deprecated.
3125         Do correct rounding when converting RGB <-> HSV.
3126         
3127         * gtk/gtkcolorseldialog.c:
3128         * tests/testgtk.c:
3129         Use new GtkColorSelection API.
3130
3131         * gtk/gtkhsv.c:
3132         Fix problem selecting colors in triangle when Hue is 330.
3133         Fix some black dots around the HSB triangle.
3134         
3135         * gtk/gtkfilesel.c:
3136         return FALSE from the focus_in_event handler to fix focus problems.
3137
3138 2001-04-18  Havoc Pennington  <hp@redhat.com>
3139
3140         * gtk/gtkwindow.c (gtk_window_class_init): add signals and binding
3141         set, so keybindings are configurable    
3142         (gtk_window_activate_default): Change to activate the focus widget
3143         instead if there's a focus widget, to be consistent with the
3144         behavior that previously existed in key_press_event
3145
3146 2001-04-18  Havoc Pennington  <hp@redhat.com>
3147
3148         * gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201
3149
3150 2001-04-18  Havoc Pennington  <hp@redhat.com>
3151
3152         Close bug #50615:
3153         
3154         * gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
3155         the layout
3156
3157         * gtk/gtktext.c: Use base/text instead of bg/fg throughout
3158
3159         * gtk/gtkentry.c: Use base/text instead of bg/fg throughout
3160
3161         * gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout
3162         
3163         * gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
3164         to blue for base, in addition to bg
3165         
3166 2001-04-18  Havoc Pennington  <hp@redhat.com>
3167
3168         * tests/testgtk.c (create_image): allow shrinking the image window
3169         to test that we clip to allocation.
3170
3171         * gtk/gtkimage.c (gtk_image_expose): clip to allocation,
3172         #9845
3173
3174         * gtk/gtkenums.h: move GtkWrapMode in here, #50472
3175
3176 Wed Apr 18 14:23:14 2001  Owen Taylor  <otaylor@redhat.com>
3177
3178         * gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
3179         mode on shm segments to 0600. We'll see who complains.
3180
3181         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
3182         _gdk_windowing_window_destroy() AFTER recursing through
3183         children.
3184
3185         * tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
3186         testsocket_child on X.
3187
3188         * tests/testsocket[_child].c: Fix uses of
3189         gtk_window_get_default_accel_group().
3190
3191         [ Merge patch from Ramiro Estrugo  <ramiro@eazel.com> from gtk-1-2 ]
3192
3193         * gdk/gdkimage.c: (gdk_image_get):
3194         Deal with the possibility that XGetImage() might return NULL.
3195         Allocate the GdkImagePrivate structure only after XGetImage()
3196         succeeds in order not to dereference a NULL ximage pointer.  This
3197         prevents a core dump when XGetImage() fails - which is unlikely,
3198         but can happen due to race conditions accessing the geometries of
3199         drawables.  An x error will still be triggered, but the gdk image
3200         wrapper at least wont seg fault.
3201         
3202 2001-04-18  Havoc Pennington  <hp@redhat.com>
3203
3204         * gtk/gtkimage.c: fix to properly queue resizes when the image is
3205         set
3206
3207         * gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
3208         if the insertion point isn't editable
3209
3210         * demos/gtk-demo/images.c: Added a GtkImage demo
3211
3212         * demos/gtk-demo/drawingarea.c: drawing area demo
3213         
3214         * demos/gtk-demo/menus.c (create_menu): cleanups
3215
3216 Wed Apr 18 12:15:52 2001  Owen Taylor  <otaylor@redhat.com>
3217
3218         * gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h 
3219           gdk/x11/gdkevents-x11.c: Introduce an extra child
3220         of toplevel windows that serves to hold the focus to
3221         avoid events being delivered to embedded windows.
3222
3223         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
3224         some extra variables to clean up code and reduce the
3225         number of casts.
3226
3227         * gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
3228         guint for 1 bit bit fields, not gboolean.
3229
3230 Wed Apr 18 10:04:23 2001  Owen Taylor  <otaylor@redhat.com>
3231
3232         * gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE,
3233         not TRUE. (Fixes #52925)
3234
3235 Tue Apr 17 18:05:34 2001  Owen Taylor  <otaylor@redhat.com>
3236
3237         * Released 1.3.4
3238
3239         * NEWS: Updated
3240
3241         * gtk/gtktextview.c (gtk_text_view_class_init): Fix to not
3242         use GTK_TYPE_ENUM.
3243
3244 Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
3245
3246         * configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
3247
3248         * gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
3249         names to compatibility #defines so docs work.
3250
3251         * gtk/gtkenums.h: Remove GtkMenuFactoryType
3252
3253         * gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
3254
3255         * configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
3256
3257         * tests/testgtkrc: No magenta cursors, please.
3258
3259         * README.in INSTALL.in HACKING README.cvs-commits: Updated.
3260
3261         * gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
3262         
3263 Mon Apr 16 14:38:41 2001  Owen Taylor  <otaylor@redhat.com>
3264
3265         * gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
3266         grabs, since they are no longer necessary.
3267
3268         * gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
3269         by signal_connect() and call gtk_button_pressed() rather
3270         than signal_connect_after().
3271
3272         * tests/testgtk.c: Restore radio menu items to combos 
3273         since they'll look OK with Raleigh, and it is easier
3274         than finishing the process of removing them that was
3275         started earlier.
3276
3277 2001-04-16  Hans Breuer  <hans@breuer.org>
3278
3279         * gdk/gdk.def :
3280         * gtk/gtk.def : added all exports required to link PyGtk 0.7.1
3281
3282         * gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
3283         we are interested in the functions return value not the function address
3284         * gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
3285
3286         * gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
3287
3288 2001-04-14  Hans Breuer  <hans@breuer.org>
3289
3290         * gdk/gdk.def :
3291         * gdk/makefile.msc : updated
3292
3293         * gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is 
3294         "fill with tile" do so with new helper function gdk_win32_draw_tiles 
3295         (the testgtk::text backgound pixmap is drawn again)
3296         Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect 
3297         Win32 Pango change
3298         * gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
3299
3300         * gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
3301         Not sure if the returned settings have the right unit, because I couldn't
3302         find any docs for the X version ...
3303
3304         * gtk/gtk.def :
3305         * gtk/makefile.msc.in : updated
3306
3307 Thu Apr 12 17:41:17 2001  Owen Taylor  <otaylor@redhat.com>
3308
3309         * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
3310         wording problems. (Compared to version from Johannes Stezenbach to
3311         check correctness.)
3312
3313 Thu Apr 12 21:04:26 2001  Tim Janik  <timj@gtk.org>
3314
3315         * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
3316         this to compile.
3317
3318 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
3319
3320         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
3321         not pixbufpos.
3322
3323         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
3324
3325         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
3326         are unsigned insts, therefore use g_value_set_uint.
3327         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
3328
3329 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@redhat.com>
3330
3331         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
3332
3333         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
3334         GTK_TYPE_STRING.
3335
3336         * gtk/gtktreeview.c: New functions to allow initial column
3337         dragging work.
3338
3339         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
3340
3341         * tests/testtreefocus.c: give dave some love.
3342
3343         * tests/testtreesort.c: Modify test to check really long samples.
3344
3345 2001-04-11  Alexander Larsson  <alexl@redhat.com>
3346
3347         * gtk-2.0.m4: Pass pkg-config options
3348         before the other args so it works even if
3349         POSIXLY_CORRECT is set.
3350
3351 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
3352
3353         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
3354         0, interface 0).
3355
3356 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
3357
3358         * gtk/gtkcalendar.c (gtk_calendar_button_press):
3359         check for action_func != NULL
3360
3361 2001-04-04  Sven Neumann  <sven@gimp.org>
3362
3363         * tests/testgtk.c (test_init): corrected path to gtk.immodules
3364
3365 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
3366
3367         * Released Gtk+-1.3.3.
3368
3369 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
3370
3371         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
3372
3373 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
3374
3375         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
3376         files to/from source dir. (if we don't stay in builddir, we
3377         can't reach make-inline-pixbuf.
3378
3379         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
3380         deps.
3381
3382         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
3383         ages 0).
3384
3385 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
3386
3387         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
3388         moved to the GtkTreeSortable interface.
3389
3390         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
3391         Make more efficient (fixes #50262).
3392
3393 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
3394
3395         * NEWS: Updated.
3396
3397         * configure.in: Remove support for uninstalled glib.
3398
3399         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
3400         so as not to stop emission.
3401
3402         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
3403         is no longer supported.
3404
3405         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
3406         into tests, change build order to build modules before
3407         gtk/.
3408
3409         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
3410         to here.
3411
3412 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
3413
3414         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
3415         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
3416         GPatternSpec. this is actually unlikely to cause breakage in
3417         third-party apps since except for gle, pretty much ever caller
3418         passes NULL here.
3419
3420         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
3421
3422         * *.c: use g_pattern_*() API.
3423
3424         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
3425
3426         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
3427         directions aren't passed in.
3428
3429         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
3430         functionality to be usable from gtkstyle.c as well, give precedence
3431         for conversion to user-supplied parsers.
3432         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
3433
3434         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
3435         _gtk_settings_parse_convert() for rcporperty value conversion.
3436
3437 2001-04-03  Alexander Larsson  <alexl@redhat.com>
3438
3439         * gdk/linux-fb/gdkevents-fb.c:
3440         Add empty gdk_setting_get().
3441
3442 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
3443
3444         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
3445         variable names.
3446         
3447         * gtk/makeenums.pl: touch this so enum files get remade.
3448
3449 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
3450
3451         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
3452         work again when not sorted.
3453
3454         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
3455         and "expand_row" signal, closing bug 52578.
3456
3457         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
3458         support.
3459
3460         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
3461         support.
3462
3463 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
3464
3465         * gdk/gdkevents.h: Add GdkEventSetting event for notification
3466         of changes to system settings, gdk_setting_get() to retrieve
3467         a single system setting.
3468
3469         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
3470         to the draft XSETTINGS mechanism.
3471
3472         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
3473         XSETTINGS.
3474
3475         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
3476         of GDK settings changes to the GtkSettings object.
3477
3478         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
3479         double-click-timeout property to GDK.
3480
3481         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
3482         Define GDK boxed types here.
3483
3484         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
3485         gdk/gdkenumtypes.[ch] for enum definitions.
3486
3487         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
3488         * gtk/gtk-boxed.defs: Comment out GDK types
3489         * gtk/gtktypeutils.h: Remove GDK types
3490         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
3491
3492 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
3493
3494         * Applied patch from Ron Steinke to add signal accumulators
3495         so that signals with the convention 'TRUE return means
3496         handled' stop emission on a TRUE return.
3497
3498         * gtk/gtkmain.[ch]: Add private accumulator 
3499         _gtk_boolean_handled_accumulator, used throughout GTK+.
3500         
3501         * gtk/gtkspinbutton.c: Add accumulator for ::output.
3502
3503         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
3504         
3505         * gtk/gtkwidget.c: Add accumulators for event signals,
3506         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
3507         for ::mnemonic-activate.
3508
3509         * gtk/gtkwindow.c: Add accumulator for ::frame_event
3510
3511 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
3512
3513         * gtk/gtkwidget.c: Add missing include.
3514
3515 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
3516
3517         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
3518         marshaller.
3519
3520         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
3521         "changed" signal to "range_changed".
3522
3523         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
3524         removing a tree from one model would remove all trees from that
3525         model.
3526         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
3527         changed signal instead.
3528
3529 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
3530
3531         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
3532         chaining up to parent impl, since we have a INPUT_ONLY
3533         window.
3534
3535         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
3536         foreground color for the cursor.
3537
3538 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
3539
3540         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
3541         param spec when caching property values, since we unref it
3542         later when we free the style.
3543
3544         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
3545         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
3546
3547 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
3548
3549         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
3550         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
3551         stupidity.
3552
3553 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
3554
3555         [ First pass at adding style properties. Still needs some definite
3556         fine-tuning. ]
3557
3558         * gtk/gtkbutton.c: Add ::default_spacing style property.
3559          
3560         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
3561         ::indicator_spacing style properties.
3562
3563         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
3564         style properties.
3565
3566         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
3567         rather than a normal property.
3568
3569         * gtk/gtkwidget.c: Add an ::interior_focus style property to
3570         draw focus inside buttons, in the Windows/Java Metal/etc. style.
3571
3572         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
3573         Honor ::interior_focus.
3574         
3575         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
3576         TRUE.
3577
3578         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
3579         Add ::slider_width, ::trough_border, ::stepper_size,
3580         ::stepper_spacing style properties.
3581
3582         * gtk/gtkscale.[ch] Add ::slider-length style property.
3583
3584 2001-04-02 Alexander Larsson   <alexl@redhat.com>
3585
3586         * gdk/linux-fb/gdkwindow-fb.c:
3587         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
3588         warnings that were spewed on startup.
3589
3590         * gtk/gtkwindow-decorate.c:
3591         gtk_window_reposition -> _gtk_window_reposition
3592
3593 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
3594
3595         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
3596         Add boxed type for GtkRequistion. Use it for ::size-request.
3597
3598         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
3599         Add a new GtkBorder structure useful for geometry properties
3600         for widgets. Add corresponding GTK_TYPE_BORDER.
3601         
3602         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
3603         Support automatic parser selection like
3604         gtk_settings_install_property_parser().
3605
3606         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
3607         functionality for use by gtk_widget_class_install_style_property.
3608         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
3609
3610 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
3611
3612         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
3613         g_param_spec_unichar(). 
3614
3615 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
3616
3617         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
3618         _NET window managers.
3619
3620         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
3621
3622 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
3623
3624         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
3625         bad needs to be nuked, not just deprecated.
3626
3627         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
3628         gtk_widget_popup().
3629
3630         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
3631         
3632         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
3633         widget.
3634         
3635         * docs/Changes-2.0.txt: updates.
3636         
3637 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
3638
3639         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
3640         for (i = 0; i < 100; i ++)
3641           g_print ("I will confirm it compile before committing\n");
3642
3643 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
3644
3645         * gtk/gtktreestore.c: Initial work on implementing the
3646         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
3647
3648 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
3649
3650         * gtk/gtkwidget.c: fixed a bunch of notifications, added
3651         reference counts around emissions where the widget is used afterwards.
3652         added freeze/thaws around multiple properties being notified.
3653         (_gtk_widget_get_aux_info): cleanups.
3654         
3655         * gtk/gtksettings.c (gtk_settings_install_property): provide
3656         default parsing functions for gdkcolor, enums and flags.
3657
3658         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
3659         applied by owen.
3660         backed out gtk_window_get_location(), gtk_window_set_location(),
3661         gtk_window_get_size() and gtk_window_set_size(), these
3662         have to be sorted out wrg x/y/width/height/default_with/default_height
3663         properties.
3664         kept a flag in GtkWindowGeometryInfo to handle user
3665         resetting default sizes.
3666         cleaned up ZVT comments.
3667         bunch of assorted bug fixes, notification fixes.
3668         (_gtk_window_reposition): make this a really internal function.
3669         
3670         * gtk/testgtk.c: fixups.
3671         
3672 2001-03-31  Hans Breuer  <hans@breuer.org>
3673
3674         * config.h.win32.in : disable USE_MMX for msvc build cause
3675         the assembler doesn't fit and is out of my scope. Disable
3676         USE_GMODULE for msvc build as wel. The right way to share
3677         binaries on win32 would be to use libtiff.dll etc. To reduce
3678         installation hassles IMO it's better to include all fileformats
3679         builtin to gdk-pixbuf
3680
3681         * gdk-pixbuf/makefile.msc : new file
3682
3683         * gdk/gdk.def : updated
3684
3685         * gdk/win32/gdkevents-win32.c : don't erase the background if
3686         .no_bg is set. It improves the scrolling (e.g. of testgtk main
3687         buttons
3688         * gdk/win32/gdkgeometry-win32.c : added comment about the above
3689
3690         * gdk/win32/gdkwindow-win32.c : added three new functions like
3691         the X version. Only one is implemented, because the other two
3692         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
3693         be default behaviour on win32 anyway ...
3694
3695         * gtk/gtk.def : updated
3696
3697         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
3698         from where it was built and add an additional rule to automagically
3699         build gtkmarshal.[hc]
3700
3701         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
3702         before array access for the current entry isn't finished
3703
3704         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
3705         use g_return_val_if_fail
3706
3707         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
3708         for the static array, but let the compiler calculate it. It
3709         makes me wonder if gcc isn't capable to catch bugs like this ...
3710
3711 2001-03-31  James Henstridge  <james@daa.com.au>
3712
3713         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
3714         constant "-1" in the aux info structure.
3715
3716 2001-03-30  Alexander Larsson  <alexl@redhat.com>
3717
3718         * gtk/gtkbutton.c (gtk_button_get_property):
3719         * gtk/gtklabel.c:
3720         Remove leaks.
3721         
3722         * gtk/gtkcontainer.c:
3723         * gtk/gtkhscale.c:
3724         * gtk/gtkhscrollbar.c:
3725         * gtk/gtklayout.c:
3726         * gtk/gtkmisc.c:
3727         * gtk/gtkprogress.c:
3728         * gtk/gtkprogressbar.c:
3729         * gtk/gtkrange.c:
3730         * gtk/gtktable.c:
3731         * gtk/gtkviewport.c:
3732         * gtk/gtkvscale.c:
3733         * gtk/gtkvscrollbar.c:
3734         * gtk/gtkwidget.c:
3735         Property patches, based on patches from John Margaglione and Lee Mallabone.
3736
3737 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
3738
3739         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
3740         adjustment. Cleaned redundant preconditions (spin != NULL). Added
3741         inline API function docs.
3742         (gtk_spin_button_new_with_range): New convenience constructor.
3743         (gtk_spin_button_set_increments): New adjustment helper.
3744         (gtk_spin_button_set_range): New adjustment helper.
3745
3746         * gtk/testgtk.c : added test of the new convenince constructor and
3747         value_changed signals.
3748
3749 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
3750
3751         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
3752         listen to the reorder signal.
3753
3754 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
3755
3756         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
3757         to get the aux info structure fo the widget.
3758
3759         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
3760         above function.
3761
3762         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
3763
3764         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
3765         to get the size of the window manager frame, basically the same
3766         code that gdk_window_get_root_origin() had
3767         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
3768
3769         * gtk/gtkwindow.c (gtk_window_set_default_size): use
3770         gdk_window_resize() if the window is realized and resizeable
3771
3772         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
3773         typo so that setting gravity works
3774
3775         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
3776         allocation if auto_shrink is on, even if the default size
3777         has not changed.
3778
3779         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
3780         g_return_if_fail
3781
3782 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
3783
3784         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
3785         reordering/sorting work.  Now pretty much works.
3786
3787         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
3788         reorder mostly work.  Still need to get the parity correct.
3789
3790         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
3791         signal, so I can listen for the sort_column_changed signal so I
3792         can change my "sort_indicator" property.  Cool.
3793
3794 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
3795
3796         [ Patch from Havoc Pennington, hp@redhat.com ]
3797
3798         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
3799         Add functions gdk_window_begin_resize_drag/begin_move_drag
3800         to start resizing or moving a toplevel window. This
3801         is done either using the _NET_WM_MOVERESIZE protocol,
3802         or, if that isn't present, by emulation.
3803
3804         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
3805         to export the above to GTK+-land.
3806
3807         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
3808         
3809         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
3810         Move this function into gdkwindow, since we need it
3811         when implementing fallback resizing.
3812
3813         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
3814         Fix typo when setting gravity.
3815
3816         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
3817         Add an optional (but on by default) resize grip for resizing 
3818         the parent window.
3819
3820 01-03-29  Alexander Larsson  <alexl@redhat.com>
3821
3822         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
3823         Don't return TRUE from the event handler, that blocks all
3824         event signals on the tooltip widget. Now you can press buttons
3825         in toolbars again.
3826
3827 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
3828
3829         * gtk/testtext.c (create_buffer): Add missing NULL on
3830         valist.
3831
3832         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
3833         c-n-p problem with INCONSISTENT property.
3834
3835         [ Patch from Havoc Pennington  <hp@redhat.com> ]
3836
3837         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
3838         hook.
3839
3840         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
3841         signal as a hook for extending the default popup menu
3842
3843         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
3844         use radio menu items for the input method menuitems
3845
3846         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
3847         inserted unicode from Ctrl-Shift-hex input method
3848
3849         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
3850         validatation here, already done at GtkTextBuffer level.
3851
3852         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
3853         popup_menu run action signal and Shift+F10 and Menu keybindings.
3854
3855         * gtk/gtkentry.c: implement a default handler for popup_menu
3856
3857         * gtk/gtktextview.c: implement a default handler for popup_menu
3858
3859         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
3860         from a key event
3861         
3862         * gtk/gtklabel.c: remove "trailer" cruft
3863
3864 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
3865
3866         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
3867         handle reordering of trees.  Seems to mostly work w/ the exception
3868         of the parity flag.
3869
3870         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
3871         signal.
3872
3873 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
3874
3875         * gtk/gtkwidget.h: c++ fixes.
3876
3877 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
3878
3879         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
3880         memory.
3881
3882 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
3883
3884         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
3885         Nils Barth fixing event return values. (#51041)
3886
3887         * gtk/gtkwidget.c: Fix some return values for default
3888         functions.
3889
3890         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
3891         return values for trough_keys functions.
3892
3893         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
3894         value for add_accelerator (shoudl have been a void
3895         return.)
3896
3897         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
3898         Fix return type of EVENT.
3899
3900         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
3901         signal return a boolean.
3902
3903 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
3904
3905         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
3906         reordered signal.
3907
3908         * tests/testtreesort.c (main): fix spelling.
3909
3910 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
3911
3912         * gtk/gtkliststore.c: More work on implementing sortable
3913         interface.
3914
3915 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
3916
3917         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
3918         reference the widgets in the resulting list. (#11821)
3919         This makes this consistent with gtk_container_children.
3920
3921         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
3922         uses of gtk_window_list_toplevels.
3923
3924 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
3925
3926         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
3927         a virtual function to set whether the IM context should use 
3928         the preedit string. (#51922)
3929         
3930 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
3931
3932         * gdk/gdkpango.h: Remove stale FIXME comment.
3933
3934 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
3935
3936         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
3937         Fixed bug that returned NULL if a filename was selected.
3938
3939 2001-03-24  Havoc Pennington  <hp@pobox.com>
3940
3941         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
3942         to contain the word "theme"
3943
3944 2001-03-24  Havoc Pennington  <hp@pobox.com>
3945
3946         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
3947         slower but finer-grained
3948         (gtk_hsv_focus): get initial focus on the ring or triangle 
3949         according to tab direction
3950
3951         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
3952
3953 2001-03-23  Havoc Pennington  <hp@pobox.com>
3954
3955         * gtk/gtkhsv.c: make this somewhat key-navigable
3956
3957         * gtk/gtkfontsel.c: mnemonics
3958
3959         * gtk/gtkgamma.c: mnemonics
3960
3961         * gtk/gtkcolorsel.c: add mnemonics to labels
3962
3963 2001-03-22  Havoc Pennington  <hp@pobox.com>
3964
3965         Applied big patch from Seth Lytle to fix event handler return
3966         values, slightly modified.
3967
3968         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
3969         handled.
3970         (gtk_calendar_key_press): return TRUE for GDK_space triggers
3971         select_day
3972
3973         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
3974         (gtk_clist_button_release): return TRUE if handled
3975
3976         * gtk/gtkcolorsel.c (mouse_release):
3977         (palette_activate): 
3978         (palette_press): 
3979         (palette_new): 
3980         (mouse_press): 
3981         (get_screen_color): 
3982         fixed return type (void to gboolean), return TRUE,
3983         added GTK_SIGNAL_FUNC cast
3984
3985         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
3986         (void to gboolean), and return TRUE
3987         (gtk_combo_button_release): changed return value to TRUE after
3988         gtk_grab_add on combo->popwin
3989
3990         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
3991         collapse or expand
3992
3993         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
3994         button/motion
3995
3996         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
3997         press/release and motion that trigger act
3998
3999         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
4000
4001         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
4002         for GDK_Return
4003         
4004         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
4005         (gtk_list_button_release): return TRUE if selection
4006
4007         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
4008         press
4009
4010         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
4011         (gtk_menu_shell_button_release): chain parent_menu_shell retval
4012
4013         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
4014         nothing triggered
4015         (gtk_notebook_button_release): return TRUE if we do anything
4016
4017         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
4018         (gtk_spin_button_button_release): return TRUE or chained retval
4019
4020         * gtk/gtktext.c (gtk_text_button_press): 
4021         (gtk_text_button_release): return TRUE
4022         (gtk_text_key_press): remove redundant retval code
4023         
4024         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
4025         and sensitive
4026         (gtk_tree_item_subtree_button_click): changed type to gint, and return
4027         TRUE if sensitive
4028
4029         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
4030         return TRUE
4031
4032 2001-03-23  Havoc Pennington  <hp@redhat.com>
4033
4034         * gtk/testgtk.c: fix warnings
4035
4036         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
4037
4038         * gtk/gtktextview.c: fix warnings
4039
4040         * gtk/gtktext.c (find_cursor_at_line): fix warning
4041
4042         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
4043
4044         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
4045         of this function
4046
4047         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
4048         fix warning
4049
4050         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
4051
4052         * gtk/gtkfontsel.c: fix warning
4053
4054         * gtk/gtkcolorsel.c: fix warnings
4055
4056 2001-03-23  Havoc Pennington  <hp@redhat.com>
4057
4058         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
4059
4060         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
4061
4062         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
4063         and deprecated gtk_check_menu_item_set_show_toggle().
4064         
4065         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
4066
4067         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
4068
4069         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
4070
4071 2001-03-23  Havoc Pennington  <hp@redhat.com>
4072
4073         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
4074         some docs
4075
4076 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
4077
4078         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
4079         this.
4080
4081         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
4082         set_cell to set_value
4083
4084         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
4085         set_cell to set_value
4086
4087 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
4088
4089         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
4090         fix braino.
4091         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
4092         support.
4093
4094         * gtk/gtktreeview.c: Addition of initial sortable support.
4095
4096         * gtk/gtktreestore.c: Addition of initial sortable support.
4097
4098         * gtk/gtkliststore.c: Addition of initial sortable support.
4099
4100         * gtk/gtkmarshal.list: yet another marshaller.
4101
4102         * gtk/gtktreedatallist.[ch]: shared code between the store models
4103         for handling sorting headers.
4104
4105 2001-03-22  Havoc Pennington  <hp@redhat.com>
4106
4107         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
4108         (gtk_container_unset_focus_chain): Add ability to override the 
4109         focus chain for a container explicitly
4110
4111 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
4112
4113         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
4114         added PROP_MNEMONIC_WIDGET.
4115
4116         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
4117         (gtk_window_remove_mnemonic): 
4118         (gtk_window_add_mnemonic): fixed assertions.
4119         (gtk_window_activate_mnemonic): constrain modifier checks to those
4120         permitted by gtk_accelerator_get_default_mod_mask().
4121         got rid of gtk_window_get_default_accel_group().
4122
4123         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
4124         activatable widgets either by focussing or a warning.
4125         added a signal accumulator to ::activate_mnemonic which stops the
4126         emission once a handler returned TRUE.
4127
4128 2001-03-22  Havoc Pennington  <hp@pobox.com>
4129
4130         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
4131         the stock item label
4132
4133         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
4134
4135         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
4136
4137         * demos/gtk-demo/*.c: Add mnemonics all over the place
4138
4139         * gtk/gtklabel.h: mark parse_uline deprecated
4140
4141 2001-03-21  Alexander Larsson  <alexl@redhat.com>
4142
4143         * gtk/gtkitemfactory.[ch]:
4144         Add support for stock and normal imagemenuitems.
4145         
4146         * gtk/testgtk.c:
4147         Add some tests for mnemonics, stock toolbars, stock
4148         and image menuitems in itemfactory and gdk_window_scroll.
4149
4150 2001-03-21  Alexander Larsson  <alexl@redhat.com>
4151
4152         * gtk/gtkbutton.[ch]:
4153         * gtk/gtkdialog.c:
4154         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
4155         removed accel_group argument. Renamed gtk_button_new_accel() to
4156         gtk_button_new_with_mnemonic() and removed accel_group argument.
4157
4158         * gtk/gtkcheckbutton.[ch]:
4159         New function gtk_check_button_new_with_mnemonic().
4160
4161         * gtk/gtkentry.c:
4162         Override activate_mnemonic and just grab focus.
4163
4164         * gtk/gtkitemfactory.c:
4165         Don't add menu uline accel group, instead use mnemonics support.
4166
4167         * gtk/gtklabel.[ch]:
4168         New support for mnemonics.
4169
4170         * gtk/gtkmarshal.list:
4171         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
4172
4173         * gtk/gtkmenu.[c]:
4174         * gtkmenushell.c:
4175         Use mnemonics instead of accel groups for uline
4176         support in menu items.
4177         Removed gtk_menu_get_uline_accel_group() and
4178         gtk_menu_ensure_uline_accel_group().
4179
4180         * gtk/gtkmenuitem.c:
4181         Override activate_mnemonic to handle switching between
4182         menu items if there are collisions.
4183         
4184         * gtk/gtknotebook.c:
4185         Connect to activate_mnemonic on the tab_label, so that
4186         activating it switches to that notebook page.
4187
4188         * gtk/gtkwidget.[ch]:
4189         Add activate_mnemonic signal. New function
4190         gtk_widget_activate_mnemonic() to emit it.
4191         Default implementation does activate/grab_focus.
4192
4193         * gtk/gtkwindow.[ch]:
4194         Add support for mnemonics in windows.
4195         New functions:
4196         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
4197         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
4198
4199         * gtk/testgtk.c:
4200         Update to function name changes.
4201         
4202 2001-03-21  Alexander Larsson  <alexl@redhat.com>
4203
4204         * gtk/gtkimagemenuitem.[c]:
4205         Add gtk_image_menu_item_new_from_stock()
4206
4207 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
4208
4209         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
4210         Fix buglet in meeting.
4211
4212 2001-03-19  Havoc Pennington  <hp@redhat.com>
4213
4214         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
4215         add a bunch of accessor functions. This is because we have
4216         reasonable expectations of extending what fields it contains in
4217         the future.
4218
4219         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
4220         changes
4221
4222         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
4223         GtkIconSource   
4224
4225 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
4226
4227         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
4228         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
4229
4230         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
4231           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
4232           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
4233           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
4234         Change float to double everywhere with the exception of 0<->1.0 alignment
4235         and GtkCurve.
4236
4237 2001-03-19  Tor Lillqvist  <tml@iki.fi>
4238
4239         * gdk/win32/gdkdrawable-win32.c
4240         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
4241         output.
4242
4243         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
4244         gdkwin32.h.
4245
4246 2001-03-18  Tor Lillqvist  <tml@iki.fi>
4247
4248         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
4249         print_event_state, print_event): Use preprocessor macro to make
4250         code more compact. Print also GDK_WINDOW_STATE events.
4251         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
4252         
4253         * gtk/gtk.def
4254         * gtk/makefile.mingw.in: Update.
4255
4256         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
4257         to catch also Cygwin.
4258
4259 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
4260
4261         * gtk/gtkspinbutton.[hc]: added rc-style argument
4262         GtkSpinButton::shadow_type.
4263         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
4264         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
4265         rc-style settings.
4266
4267         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
4268
4269         * gtk/gtkwidget.c: quark cleanups.
4270
4271         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
4272         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
4273         to create_rc_style() (we don't do cloning in standard OO sense).
4274         added per rc style properties.
4275         
4276         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
4277         property values and for caching those. some cleanups.
4278         
4279         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
4280         
4281         * gtk/gtksettings.[hc]: new file for global rc-file properties
4282         (at least currently, should get extended to support X properties
4283         and other communication mechanisms).
4284         
4285         * gtk/gtkwidget.[hc]: added style property support:
4286         (gtk_widget_class_install_style_property_parser): install style
4287         property pspec with parser function for rc-file values other
4288         than LONG, DOUBLE or STRING.
4289         (gtk_widget_class_install_style_property): same as above without
4290         parser (parsers are going to be needed quite infrequently).
4291         (gtk_widget_style_get_property): retrive style property value.
4292         (gtk_widget_style_get_valist): same as above with varargs support,
4293         has NOCOPY semantics.
4294         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
4295
4296 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
4297
4298         * demos/gtk-demo/main.c (row_activated_cb): modified to use
4299         "row_activated" signal.
4300
4301         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
4302         stupidity.  Lets actually pass in the row with this signal...
4303
4304 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
4305
4306         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
4307
4308         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
4309
4310         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
4311         everything into the ::destroy function, and freed a lot more.
4312
4313 2001-03-16  Havoc Pennington  <hp@redhat.com>
4314
4315         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
4316         instead of gint16, to avoid overflow issues, since sizes > 16-bit
4317         are now allowed.
4318
4319 2001-03-16  Havoc Pennington  <hp@redhat.com>
4320
4321         * Applied patch from Nils Barth (bug # 51041) to 
4322         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
4323         in various places.
4324
4325 2001-03-15  Havoc Pennington  <hp@redhat.com>
4326         
4327         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
4328         for properties to set on the tag.
4329
4330         * gtk/testtext.c: fixups to reflect create_tag change
4331         
4332         * gtk/gtktexttag.c (gtk_text_tag_set_property):
4333         background/foreground stipple are objects, not boxed.
4334
4335         * demos/gtk-demo/textview.c: intellihancing
4336
4337 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
4338
4339         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
4340         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
4341
4342 2001-03-16  Alexander Larsson  <alexl@redhat.com>
4343
4344         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
4345         Fix sign error with queued region translations.
4346
4347 2001-03-15  HideToshi Tajima  <tajima@happy>
4348
4349         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
4350         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
4351         * gtk/gtkentry.c (update_im_cursor_location): 
4352         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
4353         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
4354         set_cursor_pos to set_cursor_location in GtkInputContext class
4355
4356 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
4357
4358         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
4359         the location of the cell relative to its area.
4360         * gtk/gtkcell*: modified for above change
4361         * gtk/gtktreeview.c: modified for above change.
4362
4363 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
4364
4365         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
4366          (gtk_tree_view_finalize): actually unref the model.  Thanks to
4367         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
4368
4369 2001-03-14  Havoc Pennington  <hp@redhat.com>
4370
4371         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
4372         
4373         * gtk/gtk.h: remove gtkdata.h
4374
4375         * gtk/Makefile.am: remove gtkdata
4376         
4377         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
4378         not "disconnect" on the adjustments.
4379         
4380         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
4381         GtkData
4382
4383         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
4384         not GtkData
4385
4386         * configure.in: handle case where X render exists, but Pango lacks
4387         Xft support.
4388
4389 2001-03-15 Alexander Larsson  <alexl@redhat.com>
4390
4391         * gtk/gtktoolbar.[ch]:
4392         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
4393         to add stock items to toolbars.
4394
4395         * gtk/Makefile.am:
4396         Remove ../gdk/gdkim.h from gdk_headers.
4397
4398 2001-03-15  Sven Neumann  <sven@gimp.org>
4399
4400         * gdk/gdkim.h: removed
4401         
4402         * gdk/gdkprivate.h
4403         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
4404
4405 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
4406
4407         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
4408         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
4409         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
4410         set_cursor_pos() virtual method
4411
4412         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
4413         (gtk_im_context_xim_set_cursor_pos): add implementation for
4414         set_cursor_pos() method
4415
4416         * gtk/gtkentry.c (recompute_idle_func): set current cursor
4417         position to input methods
4418
4419 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
4420
4421         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
4422         code a lot.
4423
4424         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
4425         g_mem_chunk.
4426         (_gtk_tree_data_list_alloc): use g_mem_chunk.
4427         (_gtk_tree_data_list_node_to_value): Fix to switch on
4428         G_TYPE_FUNDAMENTAL.
4429         (_gtk_tree_data_list_value_to_node): Fix to switch on
4430         G_TYPE_FUNDAMENTAL.
4431         (_gtk_tree_data_list_node_copy): Fix to switch on
4432         G_TYPE_FUNDAMENTAL.
4433
4434 2001-03-12  Havoc Pennington  <hp@redhat.com>
4435
4436         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
4437         to convert to new property API. Also, change default_width and
4438         default_height get_property to return 0 as the flag value for
4439         "unset"; -1 is not a valid value for these fields.
4440
4441 2001-03-12  Havoc Pennington  <hp@redhat.com>
4442
4443         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
4444         enum with registration for icon sizes, instead of strings.
4445
4446         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
4447         gtkwidget.c: Fix to reflect GtkIconSize
4448         
4449 2001-03-12  Alexander Larsson  <alexl@redhat.com>
4450
4451         Make GtkFB compile and link.
4452         
4453         * gdk/linux-fb/gdkdrawable-fb2.c:
4454         window->mapped to GDK_WINDOW_IS_MAPPED(). 
4455         
4456         * gdk/linux-fb/gdkwindow-fb.c:
4457         window->mapped to GDK_WINDOW_IS_MAPPED(). 
4458         Added gdk_window_shape_combine_region.
4459         Added assorted placeholders for unimplemented new GdkWindow API calls.
4460
4461 2001-03-12  Alexander Larsson  <alexl@redhat.com>
4462
4463         * gtk/gtkfilesel.c:
4464         Add more test when converting filenames from/to utf-8.
4465         Don't allow entering text in the filename entry which isn't allowed in
4466         a filename. Just beep instead.
4467
4468 2001-03-12  Alexander Larsson  <alexl@redhat.com>
4469
4470         * gtk/gtkclist.c:
4471         Scroll using gdk_window_scroll(). Don't wait for exposes.
4472         Move the column headers in an order that makes them flash less.
4473
4474 2001-03-10  Hans Breuer  <hans@breuer.org>
4475
4476         * gdk/gdk.def : updated
4477
4478         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
4479         to offseting the clip_mask at the right place
4480
4481         * gdk/win32/gdkwindow-win32.c : don't create background brushes
4482         for all the gdkClasses, especially not for the input_only case.
4483         Otherwise flickering wont be avoidable, because we don't get
4484         WM_ERASEBKGND message for these windows.
4485
4486         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
4487         and fixed massive redraw problems apparently triggered by Alexanders 
4488         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
4489         but it seems to work quite well :-)
4490
4491         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
4492         prototype
4493
4494 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
4495
4496         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
4497         (gtk_list_store_set_cell): Fix a stupid typo.
4498
4499 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
4500
4501         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
4502         select_all not work if you're in SINGLE mode (it doesn't make that
4503         much sense, anyway.)
4504
4505         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
4506         handle types more sanely.
4507         (_gtk_tree_data_list_value_to_node): handle types more sanely.
4508         (_gtk_tree_data_list_node_copy): handle types more sanely.
4509
4510         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
4511         GValue better. Converts the type as well.
4512
4513         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
4514         GValue better. Converts the type as well.
4515
4516 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
4517
4518         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
4519         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
4520         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
4521         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
4522
4523         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
4524         gdk_im/gdk_ic.
4525
4526 2001-03-09  Hans Breuer  <hans@breuer.org>
4527
4528         * gdk/gdk.def : updated
4529
4530         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
4531         for their palette
4532
4533         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
4534         removing
4535
4536         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
4537         removing and implemented Havoc's GdkWindow state functions; 
4538         stick/unstick only as no-op, cause I don't know how to emulate 
4539         on win32 ...
4540
4541         * gtk/gtk.def : updated
4542
4543         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
4544
4545         * gtk/gtktypeutils.c : #include <string.h>
4546
4547         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
4548
4549 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
4550
4551         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
4552         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
4553         not a boxed.
4554
4555 2001-03-09  Alexander Larsson  <alexl@redhat.com>
4556
4557         * docs/Changes-2.0.txt:
4558         Document expose event->region change and that gtk_widget_event
4559         doesn't allow passing expose events.
4560
4561         * gdk/gdkevents.h:
4562         Add region to expose event.
4563         
4564         * gdk/gdkevents.c:
4565         Handle event->region in gdk_event_copy() and gdk_event_free().
4566
4567         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
4568         Generate expose_event->region when creating expose events.
4569
4570         * gdk/x11/gdkevents-x11.c:
4571         Generate expose events with regions when translating X events.
4572
4573         * gtk/gtkcontainer.[ch]:
4574         Default expose handler that propagates expose events to NO_WINDOW
4575         children. New function gtk_container_propagate_expose()
4576
4577         * gtk/gtkwidget.[ch]:
4578         Moved gtk_widget_event implementation to gtk_widget_event_internal.
4579         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
4580         expose events. New function gtk_widget_send_expose() to send expose
4581         events. New function gtk_widget_region_intersect() to calculate
4582         window/region intersections.
4583         
4584         * gtk/gtkmain.c (gtk_main_do_event):
4585         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
4586         Use gtk_widget_send_expose() to send expose events.
4587         
4588         * gtk/gtkbin.c:
4589         * gtk/gtkbox.c:
4590         * gtk/gtkfixed.c:
4591         * gtk/gtkimagemenuitem.c:
4592         * gtk/gtklist.c:
4593         * gtk/gtkpacker.c:
4594         * gtk/gtktable.c:
4595         * gtk/gtktree.c:
4596         Remove expose handler, using the default container implementation
4597         instead.
4598         
4599         * gtk/gtkbutton.c:
4600         * gtk/gtkcheckbutton.c:
4601         * gtk/gtkeventbox.c:
4602         * gtk/gtkfixed.c:
4603         * gtk/gtkhandlebox.c:
4604         * gtk/gtklayout.c:
4605         * gtk/gtklistitem.c:
4606         * gtk/gtkmenu.c:
4607         * gtk/gtkmenubar.c:
4608         * gtk/gtkmenuitem.c:
4609         * gtk/gtknotebook.c:
4610         * gtk/gtkoptionmenu.c:
4611         * gtk/gtkpaned.c:
4612         * gtk/gtkscrolledwindow.c:
4613         * gtk/gtktogglebutton.c:
4614         * gtk/gtktoolbar.c:
4615         * gtk/gtktreeitem.c:
4616         * gtk/gtkviewport.c:
4617         Chain expose handler to parent class handler. Use
4618         gtk_container_propagate_expose() to propagate exposes.
4619
4620         * gtk/gtkclist.c (check_exposures):
4621         * gtk/gtktext.c (process_exposes):
4622         Use gtk_widget_send_expose instead of gtk_widget_event.
4623
4624 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
4625
4626         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
4627
4628 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
4629
4630         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
4631         unref the nodes.   Fixes bug #50058.
4632
4633         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
4634         "::ref_iter" to "::ref_node".
4635         (gtk_tree_model_unref_node): change "::unref_iter" to
4636         "::unref_node". Fixes bug #50064.
4637
4638 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
4639
4640         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
4641         support for invisible cells.
4642          (gtk_tree_view_bin_expose): ditto
4643
4644 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
4645
4646         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
4647         on gobjects.
4648
4649         * tests/testtreefocus.c (main): New test file.
4650
4651         * tests/testtreeview.c: update to latest glib changes.
4652
4653         * tests/testtreecolumns.c: update to latest glib changes.
4654
4655 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
4656
4657         * gtk/testgtk.c: re-enabled event watcher emission hooks.
4658
4659 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
4660
4661         * *.c: added accumulator data argument to g_signal_newc()
4662         functions.
4663
4664         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
4665         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
4666         * gtk/treestoretest.c (make_window):
4667         s/g_signal_connect/g_signal_connectc/.
4668
4669         * gtk/gtktextbuffer.c: completed signal arg fixups,
4670         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
4671
4672 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
4673
4674         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
4675         G_CONST_RETURN.
4676
4677         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
4678         ::hierarchy-changed signal when a widget changes
4679         from anchored to unanchored or vice versa.
4680         (anchored means 
4681          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
4682         Use a private flag to keep track of this efficiently.
4683
4684 2001-03-07  Havoc Pennington  <hp@redhat.com>
4685
4686         * gtk/testgtk.c (create_spins): uglify so that size request gets
4687         tested.
4688
4689         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
4690         request on values for upper/lower, completes #6152
4691
4692 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
4693
4694         * Makefile.am: Remove gtk-config-2.0 again.
4695         (Grrrr, pkg-config. And stops make loops.)
4696
4697 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
4698
4699         * gtk/gtksignal.[hc]: removed old emission hook API.
4700         
4701         * docs/Changes-2.0.txt: fixed sections.
4702         
4703         * gtk/gtktextbuffer.c: signal arg fixups.
4704
4705 2001-03-07  Havoc Pennington  <hp@redhat.com>
4706
4707         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
4708
4709         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
4710         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
4711         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
4712         validation and the redraw which is higher priority than the
4713         validation.
4714
4715 2001-03-07  Havoc Pennington  <hp@redhat.com>
4716
4717         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
4718         (gtk_entry_set_property): remove trailer
4719
4720         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
4721         (gtk_entry_get_width_chars): new functions, to set size request to 
4722         a given number of characters
4723
4724         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
4725
4726         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
4727         (gtk_dialog_get_has_separator): new function
4728         (run_delete_handler): fix to not emit "response" signal
4729         because we already did in the delete event handler installed
4730         at dialog creation time.
4731         
4732         * gtk/gtkdialog.h: add a has_separator property,
4733         add GTK_DIALOG_NO_SEPARATOR flag
4734
4735 2001-03-07  Havoc Pennington  <hp@redhat.com>
4736
4737         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
4738         off decorations for a window.
4739
4740         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
4741         changes
4742
4743         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
4744         to get location of PangoLayout inside the label, closes #51198
4745
4746         * gtk/testgtk.c (create_bbox): fix up button box usage
4747
4748         * gtk/testcalendar.c (create_calendar): fix up button box usage
4749
4750         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
4751
4752         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
4753
4754         * gtk/gtkhbbox.h: deprecations
4755
4756         * gtk/gtkvbbox.h: deprecations
4757
4758         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
4759         emulate deprecated gtk_button_box_get_spacing
4760
4761         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
4762         the "set global default" functions
4763         (struct _GtkButtonBox): remove "spacing" field, use the one from 
4764         GtkBox base class
4765
4766         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
4767
4768         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
4769         render the icon, return the missing image icon.
4770
4771         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
4772         image icon if the load fails.   
4773
4774         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
4775         when no image is found; should be the Netscape "missing image"
4776         icon eventually but for now is a random image
4777
4778         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
4779         role for the session manager
4780
4781         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
4782
4783         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
4784         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
4785
4786         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
4787
4788 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
4789
4790         * gtk/*.c: marshaller fixes.
4791         
4792         * gtk/gtkmarshal.list: extreme cleanup.
4793
4794         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
4795         param spec for now.
4796
4797         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
4798         where appliable.
4799
4800         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
4801         special cased autogenerated boxed types from gtktypebuiltins_ids.c
4802         which are not reference counted:
4803         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
4804         PangoFontDescription, GtkTreeIter and GtkTreePath.
4805
4806 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
4807
4808         * gtk/gtktreeselection.h: 
4809         * gtk/gtktreemodel.c:
4810         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
4811         file should be included directly, and gobject/gmarshal.h
4812         as well as gtk/gtkmarshal.h even can't be included directly.
4813
4814         * Makefile.am: grr, install gtk-config-2.0.
4815
4816         * gtk/testgtk.c:
4817         * gtk/simple.c:
4818         * gtk/gtkmenu.c:
4819         * gtk/gtkitemfactory.c: use g_object_connect() instead of
4820         passing "*signal*::*" args to gtk_widget_set().
4821         
4822         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
4823         
4824         * gtk/*.c: removed trailer arg from property setters and getters.
4825         macro fixups.
4826
4827 2001-03-07  Alexander Larsson  <alexl@redhat.com>
4828
4829         * gtk/gtklabel.c (set_markup): Removed warning
4830
4831 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
4832
4833         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
4834         field to allow you to hide cell renderers.
4835
4836         * gtk/gtkcellrenderer.c: Add support for invisible cells.
4837
4838         * gtk/gtktreeview.c: Add support for invisible cells.
4839
4840 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
4841
4842         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
4843         Add "clicked" signal back to columns.
4844
4845         * ChangeLog: remove conflict markers.
4846
4847 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
4848
4849         * gtk/gtkbutton.c: Add animation of activation by, on 
4850         activate, pressing the button, and adding a timeout that 
4851         releases the button after 250ms or on key release and
4852         emits ::clicked. (#51501)
4853
4854         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
4855         action area, we connect to ::clicked instead of ::activate
4856         so the dialog stays up through the animation.
4857
4858 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
4859
4860         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
4861         check the ignore_enter flag for the menu shell that
4862         the item is actually a child of, not for attached
4863         submenus. (#51536)
4864
4865 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
4866
4867         * gtk/gtkmain.c (gtk_propagate_event): Only do special
4868         special key-press grab handling for widgets within
4869         GtkWindows. Otherwise, fall through to normal case.
4870
4871         This prevents key events being sent twice to GtkInvisible
4872         widgets, which can cause all sorts of mischief.
4873
4874 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
4875
4876         * gtk/gtkmain.c (gtk_propagate_event): When a grab
4877         widget is in effect, give the grab widget a first
4878         crack at KEY_PRESS/RELEASE events. (#424)
4879
4880 2001-03-06  James Henstridge  <james@daa.com.au>
4881
4882         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
4883         offset for the window_state_event to point at window_state_event
4884         rather than no_expose_event.
4885
4886 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
4887
4888         * gtk/gtkimmodule.h: fix busted /* comment */
4889
4890 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
4891
4892         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
4893         object properties.
4894
4895 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
4896
4897         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
4898         add object properties.
4899
4900         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
4901         to add object properties.
4902
4903         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
4904         object properties.
4905
4906         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
4907         add object properties.
4908
4909         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
4910         object properties.
4911
4912 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
4913
4914         * gtk/gtktreemodel.c: renamed "child_toggled" to
4915         "has_child_toggled".
4916
4917         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
4918         handle new signal name.
4919
4920         * gtk/gtktreestore.c: Updated to handle new signal name.
4921         * gtk/gtklisttore.c: Updated to handle new signal name.
4922         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
4923
4924 2001-03-05  Alexander Larsson  <alexl@redhat.com>
4925
4926         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
4927         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
4928
4929 2001-03-05  Michael Natterer  <mitch@gimp.org>
4930
4931         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
4932         pixbuf-engine coincidentially also failed to make one of it's
4933         parent_class pointers static, causing overwriting of GtkLabel's
4934         parent_class pointer in pixbuf_style_class_init().
4935         (Will commit the fix to the pixbuf-engine too).
4936
4937 2001-03-05  Alexander Larsson  <alexl@redhat.com>
4938
4939         * gdk/gdkwindow.h:
4940         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
4941         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
4942         gdk_window_set_icon_list for net wmspec functionality.
4943
4944         * gdk/x11/gdkwindow-x11.c:
4945         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
4946         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
4947         gdk_window_set_icon_list.
4948         Added gdk_wmspec_change_state helper function and used it in the code.
4949         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
4950
4951         * gtk/gtkdialog.c (gtk_dialog_init):
4952         Set GDK_WINDOW_TYPE_HINT_DIALOG.
4953
4954         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
4955         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
4956
4957         * gtk/gtkwindow.c:
4958         new function gtk_window_set_type_hint.
4959         On realize, set type hint and modal hint.
4960
4961         * gtk/gtkwindow.h:
4962         Added type_hint field and gtk_window_set_type_hint.
4963
4964 2001-03-05  Alexander Larsson  <alexl@redhat.com>
4965
4966         * gtk/gtklabel.[ch]:
4967         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
4968         New function gtk_label_get_accel_keyval () to get the underline accelerator
4969         of the label. Setting the label pattern overrides other attributes.
4970
4971 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
4972
4973         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
4974         Added missing initializers to gtk_rc_style_init().
4975
4976 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
4977
4978         * gtk/gtktextview.c: fixed bug #51097 about setting 
4979         gtk_text_view_set_border_window_size() if the widget is 
4980         already realized.
4981
4982 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
4983
4984         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
4985
4986         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
4987         comment. Won't do to have duplicated doc comments between
4988         the platform subdirs.
4989
4990 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
4991
4992         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
4993           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
4994
4995         Detectable auto-repeat - make a repeating key generate
4996         press/press/press/release instead of press/release pairs.
4997
4998         If we have Xkb and XkbSetDectableAutoRepeat supports
4999         that, we do it that way. Otherwise, when we get
5000         a release event, we check ahead with XPending to see
5001         if the next key is a KeyPress with the same keycode
5002         and timestamp. (Not 100% reliable, but pretty close.)
5003           
5004 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
5005         
5006         * gtk/gtkmain.c (gtk_propagate_event): Only do special
5007         special key-press grab handling for widgets within
5008         GtkWindows. Otherwise, fall through to normal case.
5009  
5010         This prevents key events being sent twice to GtkInvisible
5011         widgets, which can cause all sorts of mischief.
5012  
5013 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
5014  
5015         * gtk/gtkmain.c (gtk_propagate_event): When a grab
5016         widget is in effect, give the grab widget a first
5017         crack at KEY_PRESS/RELEASE events. (#424)
5018  
5019 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
5020
5021         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
5022         to extend the selection. (Roughly based on patch
5023         from Jay Cox, #50939)
5024
5025         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
5026         to properly handle previous GDK_BUTTON_PRESS. 
5027         (Patch from Jay Cox, #50938)
5028
5029         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
5030         '\0' back along with the deleted text. (#51148)
5031
5032 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
5033
5034         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
5035         the group when extracting it from the X keyboard event.
5036
5037         * modules/input/Makefile.am modules/input/imipa.c: 
5038         Simple module for entering IPA. (Do we need a 
5039         gtk-stupid-input-tricks CVS module?)
5040
5041 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
5042
5043         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
5044         const.
5045
5046         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
5047
5048         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
5049         is no focus widget for the dialog currently, grab the focus as well
5050         as the default.
5051
5052         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
5053         the action area's children to iterate through, not the
5054         dialog's children.
5055
5056 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
5057
5058         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
5059         Add plug-socket tests. (Won't work worth a darn until I commit
5060         the rest of the plug-socket changes, but no reason these
5061         can't go into CVS now.)
5062
5063 2001-03-02  Havoc Pennington  <hp@redhat.com>
5064
5065         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
5066         _gdk_region_get_xrectangles()
5067
5068         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
5069
5070         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
5071
5072         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
5073         function, contributed by Ron Steinke    
5074
5075         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
5076         gdk_net_wm_supports
5077
5078         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
5079         New function, contributed by Ron Steinke
5080
5081         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
5082         used to line up the text in the entry when using the entry for
5083         editable sheet cell hacks
5084
5085         * gtk/testgtk.c (create_entry): test the activate_default setting
5086         on GtkEntry
5087
5088         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
5089         cause the entry to activate the default button for a dialog when 
5090         activated
5091         (gtk_entry_get_activates_default): new function
5092
5093 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
5094
5095         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
5096         Hwang to move call to sync_selection() up a few lines
5097         to before the row list is modified, to fix crash when
5098         removing rows in the undo_selection list.
5099
5100         (Test case provided by Daniel Elstner:
5101
5102         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
5103
5104 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
5105
5106         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
5107         of tree->root_tree in parent_set rather than _map(), 
5108         fixing #50892 in a bit better manner.
5109
5110 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
5111
5112         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
5113
5114 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
5115
5116         * gtk/gtkstyle.c : Remove duplicate fwd decl for
5117         gtk_default_draw_shadow.
5118
5119 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
5120
5121         * gdk/gdkimage.c (gdk_image_new): Remove excess 
5122         warning, make warnings more verbose, treat a error
5123         in shmat as permanent, and don't try again.
5124         (#51163, Ed Randall.)
5125
5126 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
5127
5128         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
5129         delay for the first click before starting to scroll.
5130         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
5131
5132         * gtk/gtktext.c: GtkText should have I-beam cursor. 
5133         (based on gtk-enf-990513-1.patch, Eric Fisher.)
5134
5135 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
5136
5137         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
5138         cleanup to remove some references to unused
5139         ->xoffset, ->yoffset.
5140
5141 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
5142
5143         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
5144         mask. (#51039, fix from Martin Maierhofer)
5145
5146 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
5147
5148         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
5149         for unshifted + and shifted = for non-us keyboards.
5150         Make <Control>+ and <Control>- work as well as 
5151         <Control>KP_Plus, <Control>KP_Minus for recursive
5152         open/close.  (#2682, René Seindal)
5153
5154 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
5155
5156         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
5157         the active menu item before deactivating the menu,
5158         so gtk_menu_popdown doesn't change the history. (#50964)
5159         
5160 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
5161
5162         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
5163         draw lines with text_gc rather than black_gc.
5164         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
5165
5166 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
5167
5168         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
5169         Move handling of buttons fully in gtktreeviewcolumn.  This code is
5170         less interrelated then it was, but it still requires the
5171         GtkTreeView to map it.
5172
5173         * test/testtreecolumn.c: Now I can add a column to one view,
5174         remove it, add it to the another view, remove it, then re-add it
5175         to the first.  Nifty.
5176
5177 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
5178
5179         * docs/tutorial/gtk-tut.sgml: Minor corrections
5180
5181 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
5182
5183         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
5184         GtkRowReference.
5185
5186 2001-02-28  Havoc Pennington  <hp@redhat.com>
5187
5188         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
5189         draw_default
5190         (gtk_widget_draw_focus): remove this function; we could instead
5191         make it just gtk_widget_draw(), but in most cases I think the
5192         result would be broken user code, so think it's better to have
5193         that code not compile and get fixed
5194         (gtk_widget_draw_default): ditto
5195
5196         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
5197         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
5198         
5199         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
5200         widgets lose/get the default, instead of calling draw_default
5201         
5202         * docs/Changes-2.0.txt: note about all this
5203
5204         Then fixed every widget in GTK, I won't list all the filenames.
5205
5206 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
5207
5208         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
5209         _gtk_tree_row_reference_deleted.
5210         (inserted_callback): Proxy out to
5211         _gtk_tree_row_reference_inserted.
5212         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
5213         get around signal emission ordering problem.
5214
5215         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
5216         fix to work with SINGLE 
5217         (_gtk_tree_selection_internal_select_node): Major sanitization on
5218         selections.  SINGLE now seems to work.
5219
5220         * tests/Makefile.am: add testtreecolumn.c:
5221
5222         * tests/testtreecolumn.c: New test.  Mostly points out selection
5223         bugs currently, but will test columns later.
5224
5225         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
5226         selection bug.  I hate touching this code -- it's scary.
5227
5228 2001-02-26  Havoc Pennington  <hp@redhat.com>
5229
5230         * gtk/testgtk.c: test the window state stuff
5231
5232         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
5233         window come to the user's attention as if it were just created
5234         (gtk_window_iconify): new function
5235         (gtk_window_deiconify): new function
5236         (gtk_window_stick): new function
5237         (gtk_window_unstick): new function
5238         (gtk_window_maximize): new function
5239         (gtk_window_unmaximize): new function
5240
5241         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
5242
5243         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
5244
5245         * gdk/x11/gdkevents-x11.c: create window state events when
5246         appropriate
5247         (gdk_wmspec_supported): new function
5248
5249         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
5250         iconification before showing the window
5251         (gdk_window_deiconify): new function
5252         (gdk_window_stick): new function
5253         (gdk_window_unstick): new function
5254         (gdk_window_maximize): new function
5255         (gdk_window_unmaximize): new function
5256
5257         * gdk/gdkwindow.c: store the window state in the window; 
5258         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
5259         window->mapped.
5260         (gdk_window_get_state): return the current window state
5261
5262         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
5263         (gdk_event_get_state): handle GDK_WINDOW_STATE
5264         (gdk_synthesize_window_state): function to create the window state
5265         events
5266
5267         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
5268         event, for changes to "window state" such as maximized, sticky, 
5269         etc.
5270         
5271         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
5272         focuses a window
5273
5274         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
5275         finds out if we support a given WM spec hint
5276
5277 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
5278
5279         * docs/faq/gtk-faq.sgml: New question re memory leaks.
5280
5281 2001-02-25  Hans Breuer  <hans@breuer.org>
5282
5283         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
5284         cause we want to loose those prototypes only in the latter case
5285
5286         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
5287         GdkPixmapImplWin32 because it itsn't derived from it. Use the
5288         impl member variable instead
5289
5290         * gtk/gtk.def : updated
5291
5292         * gtk/gtklist.c : 
5293         * gtk/gtkmenus.c : include <string.h> for memset ()
5294
5295         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
5296         for everthing built here, but for gtk-x.x.dll only. This solves
5297         problem of indifferent gtk type definitions
5298
5299 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
5300
5301         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
5302
5303 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
5304
5305         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
5306         column that is exposed.
5307
5308         (_gtk_tree_view_update_size): Changed name from set_size, and
5309         changed function to do more work, and not force people calling it
5310         to figure out the size.  Simplifies a lot of code elsewhere.
5311
5312 2001-02-23  Alexander Larsson  <alexl@redhat.com>
5313
5314         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
5315         return solid masks for xpms that have no transparent color.
5316         This makes the ..._create_from_xpm... API backwards
5317         compatible.
5318
5319 2001-02-23  Tor Lillqvist  <tml@iki.fi>
5320
5321         * README.win32: Update. Mention the gtk-1-3-win32-production
5322         branch.
5323
5324         * gdk/win32/bdfcursor.c: New file. A program that generates
5325         xcursors.h. Thanks to Stefan Ondrejicka.
5326
5327         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
5328         compact format.
5329
5330         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
5331
5332         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
5333         function, uses xcursors.h.
5334         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
5335         cursor from inline data instead of using LoadCursor() to generate
5336         it from a resource.
5337
5338         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
5339         event, must check the Windows message for mouse button state, as
5340         the GDK event state might not have been built if it is
5341         undelivered. Remove one goto.
5342
5343         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
5344         SetCursor() if the current cursor as returned by GetCursor() is
5345         the window's previous cursor. The ChildWindowFromPoint() test
5346         apparently didn't work correctly.
5347
5348         * gdk/win32/rc/*.cur: Remove.
5349
5350         * gdk/win32/rc/gdk.rc.in: Remove cursors.
5351
5352         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
5353
5354         * gtk/makefile.{mingw,msc}.in: Updates.
5355
5356 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
5357
5358         * gtk/gtktreemodel.h: add functions for signal emission.
5359
5360         * gtk/gtktreestore.c: move to use above functions instead of
5361         g_signal_emit.
5362
5363         * gtk/gtkliststore.c: ditto
5364
5365 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
5366
5367         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
5368         GObject instead of GtkObject.
5369
5370         * gtk/gtkliststore.c: ditto.
5371
5372         * gtk/gtktreemodelsort.c: ditto.
5373
5374         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
5375         GtkTreeModelIface, instead of in each model.
5376
5377 2001-02-21  Havoc Pennington  <hp@redhat.com>
5378
5379         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
5380         unbreak this function
5381
5382         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
5383         properties
5384
5385         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
5386         properties
5387
5388         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
5389         properties
5390
5391         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
5392         mean unset the max length
5393
5394 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
5395
5396         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
5397         Changed name to be set_cell_data_func to make it clear what
5398         the functino does.  Close bug #51069.
5399
5400 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
5401
5402         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
5403         have memory actually freed.  Keeps box running longer.
5404
5405 2001-02-21  Alexander Larsson  <alexl@redhat.com>
5406         
5407         * gtk/gtkseparatormenuitem.[ch]:
5408         Added new menu separator item. The drawing and size handling
5409         is still done in GtkMenuItem, but the API is a bit more sane.
5410         
5411         * gtk/Makefile.am:
5412         Add gtkseparatormenuitem.[ch].
5413
5414         * gtk/gtk.h:
5415         Add gtkseparatormenuitem.h.
5416         
5417         * gtk/gtkentry.c:
5418         * gtk/gtkmenufactory.c:
5419         * gtk/gtktextview.c:
5420         Use the new API for menu separators.
5421         
5422         * demos/gtk-demo/menus.c (create_menu):
5423         Add some GtkSeparatorMenuItem demo code.
5424
5425 2001-02-20  Havoc Pennington  <hp@redhat.com>
5426
5427         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
5428         Lee Mallabone
5429
5430         * gtk/gtkarrow.c: Convert to new property API, patch from 
5431         Lee Mallabone
5432
5433 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
5434
5435         * tests/testtreeview.c (toggled_callback): fix to reflect change
5436         in GtkTreeModelStore.
5437
5438 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
5439
5440         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
5441         function to create an icon set from a pixbuf.
5442
5443 2001-02-20  Alexander Larsson  <alexl@redhat.com>
5444
5445         * gtk/gtkcellrenderertext.[ch]:
5446         Add a "markup" property.
5447
5448         * gtk/treestoretest.c:
5449         Use the markup property, remove some leftover stuff from
5450         GtkTreeModelMapping.
5451
5452 2001-02-20  Alexander Larsson  <alexl@redhat.com>
5453
5454         * gtk/gtklabel.c (gtk_label_set_selectable):
5455         Queue a redraw if the selectable setting was changed.
5456
5457 2001-02-20  Alexander Larsson  <alexl@redhat.com>
5458
5459         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
5460         Actually copy the whole gc, not just the public parts.
5461         
5462         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
5463         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
5464         labels.
5465
5466 2001-02-19  Havoc Pennington  <hp@pobox.com>
5467
5468         * gdk/gdkwindow.c: docs
5469
5470         * gdk/gdkrgb.c: docs
5471
5472         * gdk/gdkregion-generic.c: docs
5473
5474         * gdk/gdkgc.c (gdk_gc_set_values): docs
5475
5476         * gdk/gdkdraw.c: docs
5477
5478         * gdk/gdkdrawable.h: deprecate drawable get/set data
5479
5480 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
5481
5482         * demos/gtk-demo/dialog.c: Add simple new demo.
5483
5484 2001-02-19  Havoc Pennington  <hp@redhat.com>
5485
5486         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
5487         insert_child_anchor signal, bug #50245
5488
5489         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
5490         from create_child_anchor, so the anchor is passed in
5491
5492         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
5493         (_gtk_widget_segment_new): have the child anchor object passed in, 
5494         instead of creating it.
5495
5496         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
5497         to gtk_text_buffer_get_modified
5498
5499 2001-02-19  Havoc Pennington  <hp@redhat.com>
5500
5501         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
5502         changed GLib without fixing GTK
5503
5504         * gtk/gtkrange.h: Rename all the stupid implementation detail 
5505         functions to have an underscore in front. Most of them should 
5506         probably just go away, but for starters don't export them.
5507         Bug #50482
5508
5509 2001-02-19  Havoc Pennington  <hp@redhat.com>
5510
5511         * gdk/gdkcolor.h: test was backward, so deprecated functions were
5512         excluded by default
5513
5514         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
5515         clean up the old code a bit
5516
5517         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
5518         inconsistent state
5519
5520         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
5521         draw inconsistent state
5522
5523         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
5524         (create_menu): add inconsistent test
5525
5526         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
5527         new function
5528         (gtk_check_menu_item_get_inconsistent): new function
5529         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
5530         state (using etched in for now)
5531
5532         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
5533         draw inconsistent state
5534
5535         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
5536         function, used when the user has selected a range of stuff in
5537         different states
5538         (gtk_toggle_button_get_inconsistent): accessor for that
5539         (gtk_toggle_button_paint): draw inconsistent state (etched in?
5540         don't know what else to do)
5541
5542 2001-02-19  Hans Breuer <hans@breuer.org>
5543
5544         * gtk/gtk.def : updated exported symbols
5545
5546         * gtk/makefile.msc.in : updated
5547
5548         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
5549         a colormap, when invoked from testgtk::entry. I'm not sure where
5550         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
5551         avoids immediate crashing ...
5552
5553         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
5554         any objections ?
5555
5556         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
5557         0 parameter. At least msvc doesn't like macros with var args. 
5558         I simply removed the extra 0, was it a feature or a typo ?
5559
5560         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
5561         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
5562         because the value assignment to the internal struct wasn't working.
5563         I'm not absolutely sure. The problem could have been resolved by
5564         changing the "func" declartion in the struct, but was the pointer
5565         to the function pointer intended ?
5566
5567         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
5568
5569         * gdk/gdk.def : updated exported symbols
5570
5571         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
5572         only use SetDIBitsToDevice if there is a palette at the drawable
5573         and the image is GDK_VISUAL_PSEUDO_COLOR
5574
5575         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
5576
5577         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
5578
5579         * gdk/*/makefile.msc : updated
5580
5581 2001-02-19  Havoc Pennington  <hp@redhat.com>
5582
5583         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
5584         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
5585
5586         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
5587         (gdk_key_repeat_restore): nuke
5588
5589         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
5590         (gdk_init_check): no atexit func
5591
5592         * gdk/gdkrgb.h: mark some stuff deprecated
5593
5594         * gdk/gdkcolor.h: mark some stuff deprecated
5595         
5596         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
5597
5598         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
5599
5600 2001-02-16  Havoc Pennington  <hp@redhat.com>
5601
5602         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
5603         scroll steps.
5604
5605         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
5606         steps, and add Ctrl-arrow shortcuts for paging visually as with
5607         HScale, since Page Up and Page Down move logically.
5608
5609         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
5610         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
5611         
5612         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
5613         steps
5614         (gtk_range_scroll): handle the visual steps
5615
5616         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
5617         scroll steps
5618
5619         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
5620         steps, not the logical ones.
5621
5622         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
5623         (scroll_vertical): handle up/down steps
5624
5625 2001-02-19 Alexander Larsson  <alexl@redhat.com>
5626
5627         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
5628         Copy data and free data with free().
5629
5630         * gdk-pixbuf/gdk-pixbuf.c:
5631         * gdk-pixbuf/io-jpeg.c:
5632         * gdk-pixbuf/io-png.c:
5633         Use g_try_malloc/g_free instead malloc/free.
5634         
5635         * gdk-pixbuf/test-gdk-pixbuf.c:
5636         Must... initialize... gobject...
5637         
5638         * gdk-pixbuf/pixops/timescale.c:
5639         * gtk/gtkcalendar.c:
5640         Use g_malloc instead of malloc.
5641         
5642 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
5643
5644         * gtk/testgtkrc:
5645         Comment out property assignments, these don't work yet.
5646
5647 2001-02-17  Havoc Pennington  <hp@pobox.com>
5648
5649         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
5650         bit.
5651
5652 2001-02-17  Havoc Pennington  <hp@pobox.com>
5653
5654         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
5655         shadowed variables that had broken size request in some cases,
5656         leading to bogus tooltips (#50996)
5657
5658 2001-02-06  Jon K Hellan  <hellan@acm.org>
5659
5660         Implement fast browsing of tooltips, bug #50619
5661         
5662         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
5663         and last_popdown
5664         
5665         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
5666         use_sticky_delay and last_popdown.
5667         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
5668         time of popdown.
5669         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
5670         is NULL.
5671         (gtk_tooltips_recently_shown): New static function.  Return true
5672         if < sticky_delay has elapsed since last popdown.
5673         (gtk_tooltips_event_handler): Display window after sticky_delay
5674         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
5675         since last popdown.
5676         
5677 2001-02-17  Havoc Pennington  <hp@pobox.com>
5678
5679         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
5680         instead of (). #6394
5681
5682         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
5683         G_CONST_RETURN, make it return by reference, #50473
5684         
5685 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
5686
5687         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
5688         generated ENTER_NOTIFY event with 0, otherwise not explicitely
5689         setup fields contain garbage (e.g. subwindow, breaking
5690         gdk_drawable_ref() upon event copy).
5691         (gtk_menu_stop_navigating_submenu_cb): same here.
5692
5693         * gtk/gtklist.c (gtk_list_vertical_timeout): 
5694         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
5695         * gtk/gtkclist.c (vertical_timeout): 
5696         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
5697         default-zero-intialization for unions to memset(,0,), as unions are
5698         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
5699         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
5700
5701         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
5702         g_closure_sink() warning.
5703
5704         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
5705         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
5706         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
5707         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
5708         
5709 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
5710
5711         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
5712         gtk_*_store_get, and moved to GtkTreeModel.
5713
5714         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
5715
5716         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
5717
5718         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
5719
5720         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
5721         set the func.
5722
5723         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
5724         freeze/thaw notify between setting all the properties for a cell.
5725
5726         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
5727
5728 2001-02-15  Havoc Pennington  <hp@redhat.com>
5729
5730         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
5731         the X coordinates so they're with respect to the line, rather than 
5732         with respect to the layout.
5733
5734         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
5735         Mallabone
5736
5737         * gtk/testgtk.c (create_range_controls): add vscale tests, 
5738         and inverted test
5739
5740         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
5741         #50806
5742
5743         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
5744
5745         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
5746         gtk_text_iter_is_end
5747
5748         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
5749         rename gtk_text_buffer_get_end_iter
5750
5751         * gtk/testgtk.c (create_labels): Add test for selectable
5752
5753         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
5754         the selection stuff. This code is kind of broken since it doesn't 
5755         use the theme engine.
5756
5757         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
5758         fix infinite loop and y offset problem
5759         (gdk_draw_layout_line_with_colors): fix foreground color handling
5760
5761         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
5762         that makes the label selectable.
5763         
5764         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
5765         layout when the style is set, since fonts etc. could have changed.      
5766
5767 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
5768
5769         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
5770
5771         * gtk/gtktreemodelsimple.[ch]: removed.
5772
5773 2001-02-16  Alexander Larsson  <alexl@redhat.com>
5774
5775         * gtk/gtktreemodelmapping.[ch]:
5776         New files. Implement GtkTreeModelMapping.
5777         
5778         * gtk/Makefile.am:
5779         Add gtktreemodelmapping.[ch].
5780         
5781         * gtk/gtk.h:
5782         Add gtktreemodelmapping.h
5783
5784         * gtk/treestoretest.c:
5785         Test the GtkTreeModelMapping
5786
5787 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
5788
5789         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
5790         have a demo, we might as well pass in real values.  Thanks to
5791         clahey for pointing this out.
5792
5793 2001-02-14  Havoc Pennington  <hp@pobox.com>
5794
5795         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
5796         "static" to a private function
5797         (gtk_image_menu_item_class_init): remove destroy handler,
5798         add "image" object property
5799
5800 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
5801
5802         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
5803         Add a shortcut if the window and the current clip_region doesn't
5804         overlap. This is needed when there are a lot of windows in a
5805         window. The layout test in testgtk is a good test.
5806
5807         * gdk/linux-fb/gdkwindow-fb.c:
5808         Whitespace fix.
5809
5810 2001-02-13  Sven Neumann  <sven@convergence.de>
5811
5812         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
5813
5814 2001-02-13  Alexander Larsson  <alexl@redhat.com>
5815
5816         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
5817         Don't reference last_cursor if it is null. Fixes crash when rotating
5818         the screen before having moved the mouse.
5819
5820         * gdk/linux-fb/gdkcc-fb.c: Zapp!
5821
5822         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
5823
5824         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
5825         when using 90 or 270 degrees rotation.
5826
5827 2001-02-12  Havoc Pennington  <hp@pobox.com>
5828
5829         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
5830         it always set the foreground, even if we were only using
5831         a stipple.
5832         (gdk_draw_layout_line_with_colors): new function, allow
5833         override colors
5834         (gdk_draw_layout_with_colors): new function, allow override
5835         colors
5836         (gdk_pango_layout_line_get_clip_region): function to get the clip
5837         region for a logical text range
5838         (gdk_pango_layout_get_clip_region): get the clip region for a
5839         logical text range
5840
5841         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
5842         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
5843         the right number of arguments.
5844
5845         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
5846         enhance the function to check that node data corresponds to a 
5847         view still belonging to the tree.
5848
5849         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
5850         GtkTreePath
5851         (gtk_tree_view_inserted): ditto
5852         (gtk_tree_view_child_toggled): ditto
5853
5854         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
5855         simplify this code.
5856
5857         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
5858         a PangoAttrList
5859
5860         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
5861
5862         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
5863
5864         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
5865         size in the size request 
5866         (gtk_menu_bar_size_allocate): consider toggle size here
5867
5868         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
5869         that displays a widget in the toggle slot
5870
5871         * gtk/testgtk.c: test GtkImageMenuItem
5872
5873         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
5874         
5875         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
5876         request and allocation
5877
5878         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
5879
5880         * gtk/gtkcheckmenuitem.c
5881         (gtk_check_menu_item_toggle_size_request): ditto
5882         
5883 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
5884
5885         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
5886         reference.
5887
5888         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
5889         and refuse to initialize GTK+ if they fail.
5890
5891 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
5892
5893         * configure.in: Add check for gtk-doc version.
5894
5895 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
5896
5897         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
5898         where the xpad/ypad was only being used on one side!
5899
5900 2001-02-11  Tor Lillqvist  <tml@iki.fi>
5901
5902         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
5903         function, copied from X11 version.
5904
5905         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
5906         DestroyCursor failures. The reason for the problem (despite the
5907         inconsistent messages from GetLastError()) was that
5908         DestroyCursor() cannot be called while a cursor is set in a
5909         window. Set the new cursor first and then destroy the old one.
5910         Thanks to jpe@archaeopteryx.com.
5911
5912         * gdk/win32/gdkcc-win32.c: Remove.
5913
5914         * gdk/win32/Makefile.am: Remove from here, too.
5915         
5916         * gdk/gdk.def
5917         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
5918
5919         * gtk/gtk.def
5920         * gtk/makefile.mingw.in: Updates.
5921
5922 2001-02-08  Havoc Pennington  <hp@redhat.com>
5923
5924         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
5925         add a widget to a bin that already has a child.
5926
5927         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
5928
5929         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
5930         
5931         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
5932
5933         * gdk/gdk.h: remove gdkcc.h
5934
5935         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
5936
5937         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
5938         GdkPixbuf, since the previous implementation was GdkColorContext
5939         dependent.
5940
5941         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
5942         
5943 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
5944
5945         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
5946         a sane value!
5947
5948 2001-02-08  Havoc Pennington  <hp@redhat.com>
5949
5950         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
5951         lighten them.
5952
5953 2001-02-08  Havoc Pennington  <hp@redhat.com>
5954
5955         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
5956         validation idle
5957
5958         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
5959         cell renderer
5960
5961         * demos/pixbuf-demo.c (timeout): remove deprecated
5962         gtk_widget_draw
5963
5964         * demos/testpixbuf-save.c (main): remove deprecated
5965         gtk_drawing_area_size
5966
5967         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
5968         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
5969         at the start of the allocation.
5970         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
5971         unsetup or NULL model.
5972
5973         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
5974         even/odd/sorted cells in the tree view.
5975
5976         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
5977         bugfixes
5978
5979         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
5980         backgrounds with draw_flat_box using different detail for even/odd
5981         rows.
5982
5983         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
5984         row, so we can draw the alternating colors thing
5985
5986         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
5987         property from a synonym property, notify for the synonym.
5988         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
5989         (gtk_text_tag_get_property): Always return the font, even if
5990         all its fields aren't set
5991
5992         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
5993         store the attr list; it leaves us with no way to change attributes
5994         in _render according to the render flags, and no way to implement
5995         get_property. Instead store all the specific text attributes. 
5996         Separate whether an attribute is enabled from its value. Sync all
5997         properties with GtkTextTag, make them all consistent, etc.
5998
5999         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
6000         renderers can highlight the sort row/column     
6001
6002         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
6003         accessor functions to get values; this has the side effect of
6004         showing up which accessor functions were missing. Added those.
6005
6006         * gtk/gtktreeviewcolumn.h: Replace set_justification with
6007         set_alignment, to be consistent with GtkLabel, GtkMisc
6008
6009         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
6010         arrow.
6011
6012         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
6013
6014         * gtk/gtktreesortable.h: updates in here
6015
6016 2001-02-07  Sven Neumann  <sven@convergence.de>
6017
6018         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
6019         pango dimensions after painting the background. We used to draw
6020         gigantic flat boxes here.
6021
6022 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
6023
6024         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
6025         error introduced with earlier commit) (pointed out by
6026         Ollie Lho)
6027
6028 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
6029
6030         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
6031         which are no longer necessary.
6032
6033 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
6034
6035         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
6036
6037 2001-02-04  Tor Lillqvist  <tml@iki.fi>
6038
6039         * gdk/gdk.def
6040         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
6041         Provide dummy implementations.
6042
6043 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
6044
6045         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
6046
6047         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
6048         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
6049         deprecated this function.
6050
6051         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
6052         argument.
6053
6054 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
6055
6056         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
6057
6058 2001-02-03  Havoc Pennington  <hp@pobox.com>
6059
6060         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
6061         Mikael Hermansson with patch from Mikael (if there was a toggle
6062         start one after the first character in the range, this function
6063         was broken). Bug #50380
6064
6065 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
6066
6067         * configure.in: Remove confusing comment about X11.
6068
6069 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
6070
6071         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
6072         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
6073         
6074 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
6075
6076         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
6077         it breaks things on BSD. If you want to compile GTK+ with
6078         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
6079         when configuring, since GTK+ simply can't be "pure ANSI" 
6080         in the header files it uses. (#8170, Greg Hudson)
6081
6082 2001-02-02  Havoc Pennington  <hp@redhat.com>
6083
6084         * gtk/gtkwindow.c: docs
6085
6086         * gtk/gtkwidget.c: docs
6087         (gtk_widget_set_colormap): add a reference to the colormap
6088         (gtk_widget_get_default_colormap): add a reference to the colormap
6089
6090         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
6091
6092         * gtk/gtktextiter.c: docs
6093
6094         * gtk/gtkmain.c (gtk_propagate_event): docs
6095
6096         * gtk/gtkpaned.c (gtk_paned_get_position): docs
6097         (gtk_paned_set_position): docs
6098
6099         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
6100         sort interface, no implementation yet.
6101
6102         * demos/testpixbuf.c (new_testrgb_window): replace
6103         gtk_drawing_area_size() with gtk_widget_set_usize()
6104
6105         * demos/testpixbuf-drawable.c (main): ditto
6106         
6107         * gtk/testgtk.c: remove use of GtkStatusbarMsg
6108
6109         * gtk/gtktextbuffer.c: docs
6110
6111         * gtk/gtkstock.c: docs
6112
6113         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
6114
6115         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
6116
6117         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
6118         
6119         * gtk/gtkimage.c: add some docs in here
6120         (gtk_image_size_request): change name of
6121         gtk_widget_render_stock_icon
6122         (gtk_image_get_icon_set): don't dup returned string
6123         (gtk_image_get_icon_set): don't dup returned string
6124
6125         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
6126         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
6127         and gtkiconfactory.h functions
6128
6129         * gtk/gtkiconfactory.c: add some docs in here
6130
6131         * gtk/gtkmain.c (gtk_get_default_language): document
6132         (gtk_get_current_event): document
6133         (gtk_get_current_event_state): document
6134         (gtk_get_event_widget): document
6135
6136         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
6137
6138         * gtk/gtkcontainer.c: Add some documentation
6139         (gtk_container_add): give a more explanatory warning on adding an
6140         already-parented widget, this is kind of a FAQ and also a common
6141         typo that's easier to debug with a nice warning 
6142
6143         * gtk/gtkcellrenderertoggle.c
6144         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
6145         adding this, it's useless
6146         (gtk_cell_renderer_toggle_set_active): remove
6147         (gtk_cell_renderer_toggle_get_radio): add
6148
6149         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
6150         the NULL cell renderer, that doesn't make any sense to me. 
6151
6152         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
6153         demo code should never use deprecated features.
6154
6155         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
6156         code should never use deprecated features.
6157
6158         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
6159         gtk_widget_queue_clear_area deprecated
6160
6161         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
6162         deprecated
6163
6164         * gtk/gtklabel.h: mark gtk_label_get() deprecated
6165
6166         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
6167         a GdkImage deprecated, replaced by new consistently-named
6168         functions       
6169
6170         * gtk/gtkmain.h: Mark gtk_exit() deprecated
6171
6172         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
6173
6174         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
6175         deprecated
6176
6177         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
6178         so it won't appear in docs and confuse people.
6179
6180         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
6181
6182         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
6183         macros deprecated. (can't mark the type itself deprecated, since
6184         GtkProgressBar is not deprecated and we need the type decl to use
6185         GtkProgressBar)
6186
6187         * gtk/gtkpixmap.h: Mark deprecated
6188
6189         * gtk/gtkoldeditable.h: Mark deprecated
6190
6191         * gtk/gtklist.h: Mark deprecated
6192
6193         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
6194         for anything anymore.
6195
6196         * gtk/gtkctree.h: Mark deprecated
6197
6198         * gtk/gtkclist.h: Mark deprecated
6199
6200         * gtk/gtkpreview.h: Mark deprecated
6201
6202         * gtk/gtkpacker.h: Mark deprecated
6203
6204         * gtk/gtktipsquery.h: Mark deprecated
6205
6206         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
6207
6208         * gtk/gtkvruler.h: Add comment that it will move out of GTK
6209
6210         * gtk/gtkhruler.h: Add comment that it will move out of GTK
6211
6212         * gtk/gtkruler.h: Add comment that it will move out of GTK
6213
6214         * gtk/gtkgamma.h: Add comment that it will move out of GTK
6215
6216         * gtk/gtkcurve.h: Add comment that it will move out of GTK
6217
6218 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
6219
6220         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
6221         gdk_colormap_sync private since it was never exported
6222         in a header file.
6223
6224         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
6225         colormap->colors[] for StaticGray, StaticColor colormaps.
6226
6227         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
6228         was being used as if it was image->bits_per_pixel.
6229
6230         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
6231         for the image in the GdkImage structure since it isn't
6232         reconstructable, and we need it to handle packed types
6233
6234         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
6235         the assumption that on Win32 image->bits_per_pixel == image->depth,
6236         always.
6237
6238         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
6239
6240         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
6241         warning message if no converter can be found. 
6242
6243 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
6244
6245         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
6246         chars to isupper() / tolower(). (#567)
6247
6248         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
6249         to clear up 64-bit warnings. (#567)
6250
6251 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
6252
6253         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
6254         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
6255
6256         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
6257         since some people set $(libdir) separately. (#1290, David Kaelbling)
6258
6259 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
6260
6261         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
6262         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
6263         MAXPATHLEN, but the code here depends on a fixed value.)
6264         (#4524)
6265
6266 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
6267
6268         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
6269         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
6270
6271 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
6272
6273         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
6274         viewable there is no way that moving the node will cause the 
6275         focus row to become not viewable, so omit check on the visibility
6276         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
6277
6278 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
6279
6280         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
6281         selection before inserting new text.
6282
6283 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
6284
6285         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
6286         Make the sensitivity of the reparented child track that of
6287         the original parent menu item. (#34218, David Hodson)
6288
6289         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
6290         the case where the current item is destroyed properly.
6291
6292         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
6293         some edge cases with child-less menuitems.
6294         
6295 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
6296
6297         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
6298         key pop down window. (#12074, Jon K Hellan)
6299
6300 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
6301
6302         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
6303         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
6304         The solution here isn't perfect - you get an extraneous
6305         emission of "toggle", which could conceivably confuse an app,
6306         but better than the current situation. LXR search seems to
6307         indicate that no apps in GNOME CVS connect to "toggle".
6308
6309 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
6310
6311         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
6312         gtk_public_h_sources to directly here to avoid warning when
6313         building srcdir != builddir. (#9656)
6314
6315 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
6316
6317         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
6318         handlers in gtkrange.c return the proper values (TRUE == handled)
6319         (#10316).
6320
6321         This is just the tip of the iceberg, but gtkrange.c is the
6322         most common place where the propagation is problematical,
6323         and also a place where it is almost certainly safe to change
6324         this in the stable branch.
6325
6326         (You don't want right click popups on a range control or anything...)
6327
6328 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
6329
6330         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
6331         area on focus out, even if a background pixmap isn't set.
6332         (#13941)
6333         
6334 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
6335
6336         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
6337         to deal with setting the shape properly when scrolling arrows are
6338         turned on, but not visible because there is sufficient space.
6339         (#13432)
6340
6341 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
6342
6343         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
6344         items with submenus, destroy the item along with the submenu.
6345         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
6346         properly.
6347
6348         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
6349         later.
6350
6351 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
6352
6353         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
6354         the focus widget sometimes wasn't drawn with the default if there
6355         was no default widget.
6356
6357         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
6358         unreference pixmaps. 
6359
6360         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
6361         for some extra safety.
6362
6363 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
6364
6365         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
6366         the text of a cell to the old pointer value better, by
6367         copying the new text before freeing the old text. Some code
6368         cleanup. (#8079, Karl Nelson)
6369
6370 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
6371
6372         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
6373         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
6374
6375 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
6376
6377         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
6378         item from a menu, check to see if it matches 
6379         menu->old_active_menu_item, and if so, unref and clear
6380         old_active_menu_item (Patch from Pavel Cisler)
6381
6382         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
6383         menu_shell->active_menu_item, if it is the child being
6384         removed. (Patch based on that of Gene Ragan, #50337)
6385
6386 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
6387
6388         * gdk/linux-fb/gdkselection-fb.c: 
6389         * gdk/linux-fb/gdkcolor-fb.c: 
6390         * gdk/linux-fb/gdkdrawable-fb2.c: 
6391         * gdk/linux-fb/gdkfont-fb.c: 
6392         * gdk/linux-fb/gdkim-fb.c: 
6393         * gdk/linux-fb/gdkinput.c: 
6394         * gdk/linux-fb/gdkkeyboard-fb.c: 
6395         * gdk/linux-fb/gdkmain-fb.c: 
6396         * gdk/linux-fb/gdkrender-fb.c: 
6397         A bunch of whitespace cleanup.
6398         
6399 2001-01-30  Havoc Pennington  <hp@pobox.com>
6400
6401         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
6402         #ifdef GTK_ENABLE_BROKEN.
6403
6404         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
6405         GTK_ENABLE_BROKEN just before including the broken headers.
6406         
6407         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
6408         deprecated types registered.
6409
6410         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
6411         we have to test the broken stuff.
6412
6413         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
6414         
6415 2001-01-30  Havoc Pennington  <hp@redhat.com>
6416
6417         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
6418         here where prev pointer was set to the wrong thing
6419
6420         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
6421         (gtk_tree_path_is_descendant): new function
6422
6423         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
6424         cached length
6425         (gtk_list_store_get_iter): don't modify iter if we can't get the
6426         path.
6427
6428         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
6429         
6430         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
6431         GtkTreeDragDest
6432
6433         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
6434         was causing segfault
6435
6436         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
6437         pointer to NULL
6438
6439         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
6440
6441         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
6442         on returning FALSE
6443         (gtk_list_store_iter_children): ditto
6444         (gtk_list_store_iter_nth_child): ditto
6445         (gtk_list_store_iter_nth_child): ditto
6446         (gtk_list_store_iter_parent): ditto
6447
6448         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
6449         on iter->user_data != NULL instead of silently accepting it.
6450         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
6451         we are returning TRUE.
6452         (gtk_tree_store_iter_children): ditto
6453         (gtk_tree_store_iter_nth_child): ditto
6454         (gtk_tree_store_iter_parent): ditto
6455         (gtk_tree_store_insert): remove handling of parent->user_data ==
6456         NULL, replace with parent == NULL       
6457
6458         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
6459         and a comment explaining things
6460
6461         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
6462         interface support to GtkTreeStore.
6463
6464         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
6465         FALSE if no prev, fix
6466
6467         * gtk/gtktreeview.c (set_source_row): use a row reference
6468         (set_dest_row): use a row reference
6469
6470 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
6471
6472         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
6473         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
6474         (gtk_tree_selection_select_iter): The same as above.
6475
6476 2001-01-26  Havoc Pennington  <hp@redhat.com>
6477
6478         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
6479         which holds a handle to a specific row (particular set of values
6480         in the model, i.e. pointer-identity row).
6481
6482         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
6483         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
6484         Still need to use it for the src/dest row saved on the drag context.
6485
6486 2001-01-26  Havoc Pennington  <hp@redhat.com>
6487
6488         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
6489
6490         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
6491         not offset by TREE_VIEW_HEADER_HEIGHT
6492         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
6493         TREE_VIEW_HEADER_HEIGHT
6494
6495         * configure.in (included_loaders): for me, --with-included-loaders
6496         generates the error "the specified loader yes does not exist",
6497         i.e. the arg defaults to "yes", so change test for value ""
6498         to test for value "yes", and include all loaders in that case.
6499
6500         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
6501
6502         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
6503         handle TREE_VIEW_VERTICAL_SEPARATOR
6504         (gtk_tree_view_bin_expose): fix to consider the row offset as
6505         pointing halfway into vertical separator.       
6506         (gtk_tree_view_draw_node_focus_rect): ditto
6507
6508         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
6509         --gtk-debug=updates, which causes gdk_window_set_debug_updates
6510         (TRUE) to be called.
6511
6512         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
6513         debug mode where the invalid region is colored in on invalidate,
6514         so you can see the flicker and know whether your redraw code is 
6515         doing a good job.
6516
6517         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
6518         tree window coordinates (clip rect is in tree window coords)
6519
6520         * gtk/Makefile.am: add gtktreednd.[hc]
6521
6522         * gtk/gtkliststore.c: implement gtktreednd interfaces.
6523
6524         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
6525         drag-and-drop data operations on a model (so we can set up tree
6526         drag-and-drop automatically)
6527
6528         * gtk/testgtk.c: Add a window to change sensitivity in the
6529         GtkLabel test; add a way to change the entry frame in GtkEntry
6530         test
6531
6532         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
6533         (gtk_entry_get_has_frame): new functions to remove the frame
6534         around an entry
6535         (gtk_entry_size_request): shrink requisition if no frame
6536         (gtk_entry_draw_focus): don't draw frame if no frame
6537
6538         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
6539         checks inside a cell renderer
6540         (gtk_default_draw_option): ditto for options
6541
6542         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
6543         children from the alignment, not the button
6544         (gtk_tree_view_column_init): ref/sink the column, to emulate
6545         GObject refcounting.
6546
6547         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
6548         
6549         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
6550         Use theme functions to draw the toggles 
6551
6552         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
6553
6554         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
6555         GdkPangoAttrEmbossed to use in rendering insensitive text
6556
6557         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
6558
6559         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
6560         using new GDK features
6561         
6562 2001-01-24  Alexander Larsson  <alexl@redhat.com>
6563
6564         * gtk/gtkimage.c:
6565         Splitted gtk_image_clear into gtk_image_clear() and
6566         gtk_image_reset(). Call gtk_image_clear() in ::destroy
6567         to avoid leaks.
6568
6569         * gtk/gtklabel.c (set_markup):
6570         Don't leak text.
6571
6572         * gtk/gtktextlayout.c:
6573         Always free display->shaped_objects.
6574
6575         * gtk/testgtk.c (create_clist):
6576         Don't leak custom style.
6577
6578 2001-01-23  Alexander Larsson  <alexl@redhat.com>
6579
6580         * gtk/gtkcolorsel.c (grab_color_at_mouse):
6581         Don't leak image. Simplify using gdk_colormap_query_color().
6582         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
6583
6584         * linux-fb/gdkcolor-fb.c:
6585         Implemented gdk_colormap_query_color.
6586
6587 2001-01-23  Alexander Larsson  <alexl@redhat.com>
6588
6589         * linux-fb/gdkcursor-fb.c:
6590         Don't leak built-in cursors.
6591
6592         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
6593         Don't leak tmp_points.
6594
6595         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
6596         Don't modify desc. Don't leak font if the PangoFont
6597         isn't found.
6598         
6599         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
6600         Free dash_list.
6601
6602         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
6603         Don't leak string.
6604         
6605 2001-01-20  Havoc Pennington  <hp@pobox.com>
6606
6607         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
6608         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
6609         me, matches Pango
6610
6611 2001-01-22  Havoc Pennington  <hp@redhat.com>
6612
6613         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
6614
6615         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
6616
6617         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
6618         Remove, move back to gdk-pixbuf
6619
6620         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
6621         to all the word functions
6622
6623         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
6624         before doing anything on NULL layout or if we don't have the focus
6625
6626         * gtk/testtext.c (fill_example_buffer): "justification"
6627
6628         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
6629         to be called "justification" not "justify"
6630
6631         * demos/gtk-demo/textview.c (create_tags): "justification"
6632         
6633         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
6634
6635 2001-01-22  Alexander Larsson  <alexl@redhat.com>
6636
6637         * gdk/gdkwindow.c (gdk_window_invalidate_region):
6638         Don't leak visible_region. Use visible_region instead of region.
6639         
6640         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
6641         Don't do extra gdk_drawable_ref(). This is not X.
6642         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
6643         gdk_fb_focused_window is ref:ed.
6644         (gdk_fb_window_send_crossing_events): Watch out for destroyed
6645         windows.
6646
6647 2001-01-22  Alexander Larsson  <alexl@redhat.com>
6648
6649         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
6650         Don't leak the PangoFontDescriptor.
6651
6652 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
6653
6654         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
6655         when not realized.
6656         (gtk_tree_view_scroll_to_cell): Make work when not realized.
6657         (gtk_tree_view_realize): add scroll_to support
6658         (gtk_tree_view_finalize): add a finalize method.  Populate.
6659         (gtk_tree_view_insert_column): ref and sink the column.
6660         (gtk_tree_view_append_column): ref and sink the column.
6661         (gtk_tree_view_queue_draw_node): New function to handle redrawing
6662         individual nodes.  Should make the code much more efficient, if
6663         actually used.
6664
6665 2001-01-19  Havoc Pennington  <hp@redhat.com>
6666
6667         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
6668         byte_offset variable was being used to mean both "offset into
6669         layout" and "offset into buffer line" which was no longer true
6670         with addition of preedit string; fix
6671
6672 2001-01-19  Havoc Pennington  <hp@redhat.com>
6673
6674         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
6675
6676         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
6677         function
6678
6679         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
6680         implement
6681
6682         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
6683         scroll_to_cell, matches TextView scroll functions better
6684         (gtk_tree_view_tree_to_widget_coords): new function
6685         (gtk_tree_view_widget_to_tree_coords): new function
6686         (gtk_tree_view_get_visible_rect): new function
6687         (gtk_tree_view_get_path_at_pos): accept negative coordinates
6688         (gtk_tree_view_draw_node_focus_rect): new function moved from
6689         draw_focus, also, use width of bin_window as width of the focus
6690         rect
6691         (gtk_tree_view_expand_row): fix bug where it didn't recognize
6692         already-expanded rows
6693         (gtk_tree_view_get_cell_rect): new function
6694         (gtk_tree_view_get_path_at_pos): return the click position
6695         relative to the passed-in cell
6696         (gtk_tree_view_set_expander_column): new function
6697
6698         * configure.in: remove gtk-config-2.0 chmod
6699
6700         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
6701         and properly handle drags with targets we don't understand
6702         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
6703         scrolling anyway
6704         (gtk_text_view_drag_drop): stop scrolling here though, and set the
6705         mark invisible
6706
6707         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
6708         function
6709         (gtk_drag_dest_get_target_list): new function
6710         (gtk_drag_dest_set_target_list): new function
6711         
6712         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
6713
6714         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
6715         related to drag-and-drop
6716
6717 2001-01-19  Alexander Larsson  <alexl@redhat.com>
6718
6719         * gdk/linux-fb/gdkprivate-fb.h:
6720         Define EMULATE_GDKFONT.
6721         Add extra pango_font stuff to GfkFontPrivate.
6722         
6723         * gdk/linux-fb/gdkdrawable-fb2.c:
6724         * gdk/linux-fb/gdkfont-fb.c:
6725         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
6726         emulation using PangoFont.
6727
6728 2001-01-17  Havoc Pennington  <hp@pobox.com>
6729
6730         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
6731         all the non-deprecated set_foo functions. Added missing object
6732         properties, and added g_object_notify() to setters. 
6733         Wrote docs.
6734         
6735 2001-01-18  Tor Lillqvist  <tml@iki.fi>
6736
6737         * gtk/gtkmain.c
6738         * gtk/gtkrc.c: (Win32) Use the new
6739         g_win32_get_package_installation_(sub)directory() functions.
6740
6741         * config.h.win32.in: New file.
6742         
6743         * config.h.win32: Removed.
6744
6745         * configure.in: Output config.h.win32.
6746
6747         * Makefile.am: Add it to EXTRA_DIST.
6748
6749         * gtk/gtk.def: Update.
6750
6751 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
6752
6753         * gtk/gtklabel.c (gtk_label_size_request): Set the
6754         attributes onto the PangoLayout even if they are newly
6755         created from label->pattern.
6756
6757 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
6758
6759         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
6760
6761         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
6762         structures in functions. Fixes bug where gtk_dataset_*
6763         was accidentally still being used in one place, causing
6764         every dest side event to be treated independently.
6765
6766         * gtk/gtkdnd.c: Remove last vestages of handling
6767         ::draw (fixes warning)
6768         
6769         * gtk/gtkentry.[ch]: Add drag and drop support.
6770
6771         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
6772         new function gtk_check_drag_threshhold() for checking
6773         to check if (dx,dy) has exceeded the threshhold for starting
6774         a drag and use it everywhere.
6775
6776 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
6777
6778         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
6779         add -I{includedir}/gtk-2.0.
6780
6781         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
6782         gdk/gdk-pixbuf.h: Doc fixups.
6783         
6784         * gtk/gtkobject.h: Remove trailing , from enum
6785
6786 2001-01-17 Alexander Larsson <alexl@redhat.com> 
6787
6788         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
6789         Doh! Mixed up x and y.
6790
6791         * gdk/linux-fb/gdkglobals-fb.c:
6792         Removed gdk_fb_pointer_grab_window_events,
6793         added _gdk_fb_pointer_grab_owner_events and
6794         _gdk_fb_keyboard_grab_owner_events.
6795
6796         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
6797         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
6798         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
6799         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
6800         Send crossing events after ungrab finished.
6801         (gdk_keyboard_grab): Set ..._owner_events
6802         (type_masks): Move out of function.
6803         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
6804         gdk_fb_keyboard_event_window): New functions, return the
6805         window an event should be targeted at. Handles grabs and
6806         event propagation. Can return NULL.
6807         (gdk_event_make): Remove event_mask checking. Now always
6808         returns an event.
6809                 
6810         * gdk/linux-fb/gdkkeyboard-fb.c:
6811         * gdk/linux-fb/gdkproperty-fb.c:
6812         * gdk/linux-fb/gdkselection-fb.c:
6813         Use new event_window/gdk_event_make() behaviour.
6814         
6815         * gdk/linux-fb/gdkmouse-fb.c:
6816         Use new event_window/gdk_event_make() behaviour.
6817         Only send motion events if in the same window.
6818         If grabbed, use cursor from window if sibling of grabbed
6819         window, and cursor from grabbed window otherwise.
6820
6821         * gdk/linux-fb/gdkprivate-fb.h:
6822         Update gdk_fb_window_send_crossing_events, gdk_event_make
6823         and grab varaible declarations. Add gdk_fb_*_event_window().
6824
6825         * gdk/linux-fb/gdkwindow-fb.c:
6826         Use new event_window/gdk_event_make() behaviour.
6827         Keep correct track of focus window.
6828         (gdk_window_set_events): Set all specific button motion masks
6829         if GDK_BUTTON_MOTION_MASK set.
6830
6831         * gtk/gtkdnd.c (gtk_drag_update):
6832         Free info->last_event if gdk_drag_motion returned FALSE.
6833
6834 2001-01-16  Tor Lillqvist  <tml@iki.fi>
6835
6836         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
6837         Eliminate redraws when input-only windows are shown or
6838         hidden. Thanks to jpe@archaeopteryx.com.
6839
6840 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
6841
6842         * docs/faq/gtk-faq.sgml: FAQ update:
6843           - Update to bugzilla
6844           - Add GTK+ and security/SUID/SGID
6845           - Add DnD question
6846
6847 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
6848
6849         * gdk/linux-fb/gdkdnd-fb.c:
6850         Some cleanups.
6851         
6852 2001-01-15  Havoc Pennington  <hp@pobox.com>
6853
6854         * tests/testtreeview.c: add test stuff for CellRendererToggle
6855
6856         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
6857         accessor
6858
6859         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
6860         only toggle on button press (would do release like GtkButton, but
6861         we'd need implicit grab code for treeview cells)
6862
6863 2001-01-16  Tor Lillqvist  <tml@iki.fi>
6864
6865         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
6866
6867         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
6868         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
6869
6870         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
6871         to g_{locale,filename}_{to,from}_utf8 to match current API.
6872
6873         * gtk/makefile.msc.in (gtk_OBJECTS)
6874         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
6875
6876         * gtk/gtk.def: Update.
6877
6878 2001-01-15  Tor Lillqvist  <tml@iki.fi>
6879
6880         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
6881         implementaion that more closely mimics the events that an X server
6882         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
6883         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
6884         with nested preview widgets, for instance, more responsive when
6885         you move the mouse quickly into them.
6886         (find_window_for_pointer_event): Make it actually compile.
6887         (gdk_event_translate): Set send_event to the value of
6888         InSendMessage (). This doesn't really mean the same as X11's
6889         send_event flag, but is close enough, says jpe@archaeopteryx.com
6890
6891 2001-01-15  Alexander Larsson  <alexl@redhat.com>
6892
6893         * gdk/linux-fb/gdkdnd-fb.c:
6894         Implemented drag and drop.
6895         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
6896         when it tries to free and then copy the same event (info->last_event).
6897         I am not sure about why this happens, but will continue looking.
6898
6899 2001-01-15  Alexander Larsson  <alexl@redhat.com>
6900
6901         * gdk/linux-fb/gdkwindow-fb.c:
6902         Use gdk_window_invalidate_rect instead of
6903         gdk_window_invalidate_rect_clear to minimise flashing.
6904         When hiding windows you need to clear the root window though.
6905
6906 2001-01-15  Alexander Larsson  <alexl@redhat.com>
6907
6908         * gdk/linux-fb/gdkdrawable-fb2.c:
6909         For optization, add an full_shapes argument to gdk_fb_clip_region.
6910         If this is false, only the cliprects of the shapes are used.
6911
6912         * gdk/linux-fb/gdkprivate-fb.h:
6913         Export gdk_fb_window_peek_shape.
6914         Add full_shapes to gdk_fb_clip_region.
6915
6916         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
6917         When moving a window, don't clear everything under the it, just the
6918         root window. Makes stuff faster and flash less.
6919         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
6920         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
6921         offset of the shape.
6922         
6923
6924 2001-01-12  Havoc Pennington  <hp@redhat.com>
6925
6926         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
6927         current invalid region, fixes redraw bug while scrolling the 
6928         text widget
6929
6930         * gtk/gtktextview.c, gtk/gtktextview.h:
6931         Rearrange the scrolling/validation/etc. code in a major way, 
6932         so it seems to make sense to me. Probably isn't genuinely that
6933         much better, but...
6934
6935         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
6936         notifies
6937
6938         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
6939
6940 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
6941
6942         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
6943         Hide mouse pointer while rotation. Show it afterwards.
6944
6945 2001-01-12  Alexander Larsson  <alexl@redhat.com>
6946
6947         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
6948         windows in consideration when generating clip region.
6949
6950         * gdk/linux-fb/gdkfb.h:
6951         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
6952
6953         * gdk/linux-fb/gdkprivate-fb.h:
6954         Add shape to GdkWindowFBDatat.
6955         exported gdk_fb_window_get_abs_shape().
6956         removed gdk_fb_draw_lines declaration.
6957
6958         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
6959         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
6960         send focus changes when there is a grabbed window.
6961         (gdk_window_get_pointer): Handle shaped windows.
6962         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
6963         (gdk_fb_window_peek_shape): Returns the shape for a window,
6964         handles GDK_FB_USE_CHILD_SHAPE.
6965         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
6966         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
6967         (gdk_window_shape_combine_mask): Implement.
6968
6969         * gtk/gtkwindow-decorate.c:
6970         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
6971         setting the shape of a window makes the window transparent.
6972
6973 2001-01-11  Havoc Pennington  <hp@redhat.com>
6974
6975         * gtk/gtktreemodelsimple.h: Oops, broke some macros
6976
6977 2001-01-10  Havoc Pennington  <hp@redhat.com>
6978
6979         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
6980         add this function, bug 40251
6981
6982         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
6983         of type macro   
6984
6985 2001-01-11  Alexander Larsson  <alexl@redhat.com>
6986
6987         * acconfig.h:
6988         Added ENABLE_SHADOW_FB
6989
6990         * configure.in:
6991         Added --disable-shadowfb
6992
6993         * gdk/linux-fb/gdkcursor-fb.c:
6994         Update shadowfb when updating cursor
6995
6996         * gdk/linux-fb/gdkdrawable-fb2.c:
6997         Added wrappers for shadowfb that calls  the normal drawable
6998         methods, but calls gdk_shadow_fb_update(bounding box) when
6999         GdkWindows are drawed to.
7000         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
7001         which also returns the bounding box.
7002
7003         * gdk/linux-fb/gdkfb.h:
7004         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
7005
7006         * gdk/linux-fb/gdkgeometry-fb.c:
7007         Update shadowfb when scrolling window.
7008
7009         * gdk/linux-fb/gdkglobals-fb.c:
7010         Add _gdk_fb_screen_angle.
7011         
7012         * gdk/linux-fb/gdkkeyboard-fb.c:
7013         Test code for screen rotation. Shift-F2 in the xlate driver
7014         rotates the screen.
7015
7016         * gdk/linux-fb/gdkmain-fb.c:
7017         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
7018
7019         * gdk/linux-fb/gdkmouse-fb.c:
7020         Use fb_width/height instead of modeinfo.xres/yres.
7021
7022         * gdk/linux-fb/gdkprivate-fb.h:
7023         Added fb_men, fb_width, fb_height & fb_stride. When using
7024         shadow fb these can differ from the framebuffer stuff.
7025         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
7026         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
7027         _gdk_fb_screen_angle. Removed CM, RP.
7028
7029         * gdk/linux-fb/gdkrender-fb.c:
7030         Added code for shadowfb handling and screen rotation using
7031         shadowfb.
7032
7033         * gdk/linux-fb/gdkwindow-fb.c:
7034         Use fb_mem, fb_stride, fb_width, fb_height.
7035         Added recompute_rowstride to reset the rowstride of all windows.
7036         Added gdk_fb_recompute_all() which recomputes rootwindow size,
7037         window abs positions and window rowstrides. Usefull when the
7038         rotation has changed.
7039
7040 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
7041
7042         * docs/faq/gtk-faq.sgml: update to make web site updating easier
7043
7044 2001-01-10  Havoc Pennington  <hp@redhat.com>
7045
7046         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
7047         where sibling == iter
7048         (gtk_tree_store_insert_after): handle sibling == iter
7049         (gtk_tree_store_prepend): remove stamp checks
7050         (gtk_tree_store_insert_before): ditto
7051         (gtk_tree_store_append): ditto
7052         (gtk_tree_store_get_path): ditto
7053         (gtk_tree_store_get_value): ditto
7054         (gtk_tree_store_iter_has_child): ditto
7055         (gtk_tree_store_iter_n_children): ditto
7056         (gtk_tree_store_iter_nth_child): ditto
7057         (gtk_tree_store_insert_after): ditto
7058         (gtk_tree_store_is_ancestor): ditto
7059         (gtk_tree_store_iter_depth): ditto
7060         (gtk_tree_store_insert_before): assert that sibling's parent is
7061         the same as the passed-in parent
7062         (gtk_tree_store_insert_after): assert that sibling's parent is
7063         the same as the passed-in parent
7064
7065         
7066         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
7067         function to get the first iterator in a model
7068         
7069         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
7070         conventionally the "root" in this sense is just NULL afaict.
7071
7072         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
7073         where sibling == iter
7074         (gtk_list_store_insert_after): handle case where sibling == iter
7075
7076         * tests/testtreeview.c (run_automated_tests): fairly lame basic
7077         automated tests for ListStore, TreeStore
7078
7079         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
7080         (gtk_list_store_insert): update tail pointer, and fix it to work
7081         (gtk_list_store_insert_before): update tail pointer, and fix it to work
7082         (gtk_list_store_append): use tail to be faster
7083         (gtk_list_store_prepend): fix it, update tail pointer
7084         (gtk_list_store_insert_after): fix it, update tail pointer
7085
7086         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
7087         the list
7088
7089 2001-01-09  Havoc Pennington  <hp@redhat.com>
7090
7091         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
7092         is NULL due to a pending resize
7093
7094         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
7095         column width to values less than 1
7096
7097         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
7098         width to be between min/max width, and still set the width 
7099         even if autosize is turned on, so the tree view can use this 
7100         function in order to autosize.
7101         (gtk_tree_view_column_init): set initial width to 1 not 0
7102
7103         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
7104         setter function to modify column width, so we get notification
7105         (gtk_tree_view_insert_iter_height): ditto
7106         (gtk_tree_view_calc_size): ditto
7107         (gtk_tree_view_check_dirty): ditto
7108
7109         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
7110         properties to change all the interesting attributes of the tree
7111         view column.
7112         (gtk_tree_view_column_set_header_clickable): rename set_clickable
7113         (gtk_tree_view_column_get_clickable): add
7114         (gtk_tree_view_column_set_cell_renderer): don't unset the current
7115         attributes; assume a cell renderer with equivalent object
7116         properties has been swapped in. Do g_object_notify().
7117         (gtk_tree_view_column_set_visible): g_object_notify
7118         (gtk_tree_view_column_get_sizing): rename from get_col_type
7119         (gtk_tree_view_column_set_sizing): g_object_notify
7120         (gtk_tree_view_column_set_width): add g_object_notify
7121         (gtk_tree_view_column_set_min_width): ditto
7122         (gtk_tree_view_column_set_max_width): ditto
7123         (gtk_tree_view_column_set_title): ditto
7124         (gtk_tree_view_column_set_clickable): ditto
7125         (gtk_tree_view_column_set_widget): ditto
7126         (gtk_tree_view_column_set_justification): ditto
7127
7128 2001-01-09  Havoc Pennington  <hp@redhat.com>
7129
7130         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
7131         there are no rows in the model
7132
7133         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
7134         NULL, then return the start of the list
7135
7136         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
7137         if we can't get any rows from an empty model 
7138
7139         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
7140         extraneous * after function pointer typedef usage
7141
7142         * Makefile.am: don't specify full path to cp and rm
7143
7144         * gtk/gtkcellrenderertextpixbuf.c
7145         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
7146         NULL before dereferencing, fixes a segfault that happened from
7147         time to time
7148
7149         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
7150         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
7151         and reindent the function
7152         (gtk_cell_renderer_pixbuf_get_size): indentation
7153
7154         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
7155         we quit it
7156         (gtk_dialog_add_buttons_valist): add g_return_if_fail
7157         (gtk_dialog_set_default_response): New function, to set default
7158         button
7159         (gtk_dialog_set_response_sensitive): New function, to set 
7160         sensitivity of buttons
7161
7162         * gtk/gtkcellrendererpixbuf.c
7163         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
7164         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
7165
7166         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
7167         handle any G_TYPE_OBJECT subclass, not just the base class, and 
7168         also boxed types.
7169         (_gtk_tree_data_list_value_to_node): ditto
7170
7171         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
7172         --gtk-debug=tree
7173
7174         * gtk/gtkmain.c: add GTK_DEBUG_TREE
7175
7176         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
7177
7178 2001-01-09  Tor Lillqvist  <tml@iki.fi>
7179
7180         * gdk/win32/gdkevents-win32.c: Implement better mouse
7181         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
7182         (find_window_for_pointer_event): New function.
7183         (gdk_event_translate): Use it when handling mouse events.
7184
7185 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
7186
7187         * configure.in:
7188         Added --with-included-loaders option
7189
7190         * gdk-pixbuf/Makefile.am:
7191         * gdk-pixbuf/gdk-pixbuf-io.c:
7192         Add support for including selected gdk-pixbuf loaders only.
7193
7194         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
7195         gtk_window_set_has_frame):
7196         Added inline documentation.
7197
7198         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
7199         * docs/reference/gdk/tmpl/windows.sgml:
7200         Added inline documentation.
7201
7202 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
7203
7204         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
7205         realizing buttons that have already been realized.
7206
7207 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
7208
7209         * tests/testtreeview.c (main): Show menu items before adding to
7210         option menu.
7211
7212         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
7213         around if we kill them.
7214
7215         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
7216         Return if we pass in a NULL model.
7217
7218 2001-01-08  Havoc Pennington  <hp@redhat.com>
7219
7220         * tests/testtreeview.c: hack on this some
7221
7222         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
7223         gtk_tree_store_set_valist, v is for arrays, valist for varargs
7224         list
7225         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
7226
7227         * gtk/gtkliststore.h: Add varargs set() and get() convenience
7228         functions
7229
7230 2001-01-08  Alexander Larsson  <alexl@redhat.com>
7231
7232         * gtk/gtkwindow-decorate.[hc]:
7233         * gtk/Makefile.am:
7234         New files. Contains an implementation of a minimal WM for
7235         linux-fb.
7236
7237         * gtk/gtkwindow.h:
7238         Add the possibility for GtkWindows to specify a frame. This
7239         is used for the window decoration code, but could concievably
7240         be used for X programs too (xmms style windows).
7241         GtkWindow->frame is the toplevel window if the window is framed.
7242         The signal frame_event gets all events that are targeted to
7243         GtkWindow->frame.
7244         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
7245         
7246         * gtk/gtkwindow.c:
7247         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
7248         Call out to gtkwindow-decorate.c for WM support in linx-fb.
7249
7250 2001-01-08  Alexander Larsson  <alexl@redhat.com>
7251
7252         * docs/README.linux-fb:
7253         Correct filename ~/.pangoft2_aliases
7254
7255         * gdk/gdkwindow.h:
7256         Added new function gdk_window_get_decorations.
7257
7258         * gdk/linux-fb/gdkfb.h:
7259         Removed _gdk_window_get_decorations declaration.
7260         Renamed _gdk_window_set_child_handler to
7261         gdk_fb_window_set_child_handler.
7262
7263         * gdk/linux-fb/gdkwindow-fb.c:
7264         Renamed _gdk_window_set_child_handler to
7265         gdk_fb_window_set_child_handler.
7266
7267         * gdk/x11/gdkwindow-x11.c:
7268         New function gdk_window_get_mwm_hints().
7269         Implemented gdk_window_get_decorations.
7270
7271         * docs/reference/gdk/tmpl/windows.sgml:
7272         * docs/reference/gdk/gdk-sections.txt:
7273         Added gdk_window_get_decorations docs.
7274         
7275 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
7276
7277         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
7278         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
7279         gdk_fb_window_send_crossing_events):
7280         Possibly send focus events when the mouse moves from one
7281         window to another.
7282
7283 2001-01-07  Tor Lillqvist  <tml@iki.fi>
7284
7285         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
7286         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
7287         to match current API.
7288
7289         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
7290         environment variable is set, don't call g_error when on a
7291         palettized (PseudoColor) display. Some people want to use GTK+ 
7292         in 256-colour mode even though works only partially.
7293
7294         * gdk/gdk.def
7295         * gtk/gtk.def
7296         * gtk/makefile.mingw.in: Update.
7297
7298 2001-01-05  Havoc Pennington  <hp@redhat.com>
7299
7300         * tests/testtreeview.c: hack on this a bit
7301
7302         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
7303         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
7304
7305         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
7306         was spelled incorrectly
7307         (GTK_IS_TREE_MODEL_SIMPLE): ditto
7308
7309         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
7310         from gtk_tree_view_set_headers_active   
7311
7312         * gtk/gtktexttag.c:
7313         (gtk_text_tag_get_property): handle PROP_DIRECTION
7314         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
7315         properties, bug 40235
7316
7317         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
7318         forward_to_line_end
7319
7320 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
7321
7322         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
7323         modules/input/gtkimcontextxim.c: Adapt to new prototypes
7324         for unicode,locale,filename conversion functions.
7325
7326 2001-01-05  Havoc Pennington  <hp@redhat.com>
7327
7328         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
7329         broken if called on the first position in the buffer.
7330
7331         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
7332         forward_to_delimiters to be called only if we aren't already at
7333         the delimiters.
7334
7335 2001-01-05  Havoc Pennington  <hp@redhat.com>
7336
7337         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
7338
7339 2001-01-05  Alexander Larsson  <alexl@redhat.com>
7340
7341         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
7342         colormap in here. Sync from X port.
7343         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
7344         Sync from X port.
7345         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
7346         This happens now and then, and i don't think it is a bug.
7347         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
7348         != endpoint.
7349         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
7350         GDK_LINE_SOLID.
7351
7352         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
7353         some of the fields filled in at least.
7354
7355         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
7356         miLineArcD is no more, remove it from the function definition.
7357
7358 2001-01-04  Havoc Pennington  <hp@redhat.com>
7359
7360         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
7361         this
7362
7363         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
7364         user_data instead of tree_node
7365
7366         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
7367         TREE_VIEW_COLUMN_SIZE
7368
7369         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
7370         "size" field to "width" finishes bug 40061
7371
7372         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
7373         for bitfields, bug 40268
7374
7375 2001-01-04  Havoc Pennington  <hp@redhat.com>
7376
7377         Rename some stuff:
7378         
7379         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
7380
7381         s/GtkModelSimple/GtkTreeModelSimple/g;
7382         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
7383         s/gtk_model_simple/gtk_tree_model_simple/g;
7384         s/gtkmodelsimple/gtktreemodelsimple/g;
7385
7386         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
7387
7388         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
7389         s/column_set_col_type/column_set_sizing/g;
7390
7391         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
7392         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
7393
7394         s/GtkCellRendererType/GtkCellRendererState/g;
7395         
7396         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
7397         (gtk_cell_renderer_toggle_class_init): change "state" property to
7398         "active", to match GtkToggleButton
7399         (gtk_cell_renderer_toggle_get_active): new function, bug
7400         40269
7401         (gtk_cell_renderer_toggle_set_active): new function
7402         (gtk_cell_renderer_toggle_set_property): route changes to toggle
7403         state through gtk_cell_renderer_set_active
7404
7405 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
7406
7407         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
7408         temporarily until they work again.  Brought up to date with
7409         changes in the model.
7410         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
7411         model.
7412
7413 2001-01-04  Havoc Pennington  <hp@redhat.com>
7414
7415         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
7416         equal to the line length, then position iterator before paragraph 
7417         separators. Fixes crash reported by Mikael Hermansson when
7418         pressing left arrow from the start of a line.   
7419
7420         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
7421         about byte indexes off the end
7422         (iter_set_from_char_offset): add g_error about char offsets
7423         off the end
7424
7425 2001-01-03  Havoc Pennington  <hp@redhat.com>
7426
7427         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
7428
7429         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
7430         of private functions; remove inclusion of private headers.
7431
7432         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
7433         function, so we don't need private functions in gtktextdisplay.c
7434
7435         * gtk/gtktextiterprivate.h: underscore-ification
7436
7437         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
7438         to instead say "only useful to implement widgets"
7439
7440         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
7441         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
7442         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
7443
7444         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
7445         This function was completely broken
7446
7447         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
7448
7449         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
7450
7451         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
7452
7453         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
7454
7455         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
7456
7457         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
7458
7459         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
7460         gtk_paint_layout
7461
7462         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
7463         gtk_paint_layout
7464
7465         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
7466         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
7467         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
7468         which were not implemented.     
7469
7470         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
7471         insert_pixbuf signal. Rename delete_text to delete_range since it
7472         also deletes pixbufs and child anchors. This almost closes bug
7473         40245 (still need to deal with child anchors)
7474
7475         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
7476         insert_pixbuf, change signal names as appropriate, change types of
7477         signals taking marks/tags to have the specific type, not just
7478         G_TYPE_OBJECT
7479         
7480         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
7481         closes bug 40051
7482
7483         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
7484         unnecessary remove_contents() call
7485         (gtk_option_menu_class_init): add a "changed" signal, closes
7486         bug 40039
7487         (gtk_option_menu_update_contents): emit "changed" if the 
7488         active menu item changes
7489
7490         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
7491         cast to GtkObject, reported by Jonas Borgstrom
7492         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
7493         we can't do stuff with side effects in finalize. Instead, spew a
7494         warning if the loader isn't closed.
7495
7496         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
7497         colormap in here, non-X ports probably need to sync to this change
7498
7499         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
7500         assertion that colormap != NULL, you can set the colormap to NULL
7501         if you like.
7502         
7503         * Makefile.am: remove gtk-config-2.0
7504
7505         * configure.in: Use pkg-config to locate GLib. Remove
7506         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
7507         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
7508         Use pkg-config to locate Pango. Output correct Pango libs to
7509         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
7510
7511         * Makefile.am (pkgconfig_DATA): install only target-specific pc
7512         files
7513         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
7514         X11 pc files
7515
7516         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
7517         unref from here
7518
7519 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
7520
7521         * configure.in:
7522         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
7523
7524 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
7525
7526         * gtk/gtktextlayout.c
7527         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
7528         variable when moving back onto a single line.
7529
7530 2001-01-01  Havoc Pennington  <hp@redhat.com>
7531
7532         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
7533
7534         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
7535
7536         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
7537         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
7538
7539 2001-01-01  Havoc Pennington  <hp@redhat.com>
7540
7541         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
7542
7543         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
7544         GtkTextAttributes
7545
7546         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
7547         #40246
7548         (gtk_text_attributes_copy_values): rename from 
7549         gtk_text_attributes_copy
7550         (gtk_text_attributes_copy): a more standard GTK copy function, 
7551         which returns a new object
7552
7553 2001-01-01  Havoc Pennington  <hp@redhat.com>
7554
7555         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
7556         
7557         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
7558         don't fill in tree_view->priv->selection, kind of an unexpected
7559         side effect
7560
7561         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
7562         gtkintl.h
7563         
7564         * gtk/gtkcellrenderer.c: Remove definition of _ and include
7565         gtkintl.h
7566         (gtk_cell_renderer_get_property): remove calls to g_value_init
7567
7568         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
7569         gtkintl.h
7570
7571         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
7572         and include gtkintl.h
7573         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
7574         property names
7575
7576         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
7577         GtkTreeSelection
7578         (_gtk_tree_selection_new_from_with_view): rename, return
7579         GtkTreeSelection
7580         (_gtk_tree_selection_set_tree_view): rename with uscore
7581         (gtk_tree_selection_get_selected): fill in the "model" out param
7582         first, so it gets filled in even if we return at the top of the 
7583         function
7584         (gtk_tree_selection_real_select_all): add a comment and an else{}
7585         to clarify this a bit
7586         (gtk_tree_selection_real_unselect_all): add the same else{}
7587
7588         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
7589         set_tree_view to have underscore prefixes, move them to the
7590         private header, fix return type of new_with_tree_view
7591         (struct _GtkTreeSelection): mark struct
7592         fields private  
7593
7594         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
7595         GtkTreeModelFlags, not a guint
7596         (gtk_tree_path_prev): return gboolean not gint
7597         (gtk_tree_path_up): return gboolean not gint
7598
7599         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
7600         return GtkTreeModelFlags, not a guint
7601
7602         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
7603         that child model is non-null before unrefing it
7604         (g_value_int_compare_func): make this a qsort compare func, not 
7605         a boolean predicate
7606
7607         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
7608         (add -umn to the end), and mark it unimplemented
7609         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
7610         I don't see what it's for - doesn't the model always sort itself?
7611         (gtk_tree_model_sort_set_compare): this had the wrong signature
7612
7613         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
7614         Fix the docs to say that it destructively replaces existing
7615         attributes (previously said that it added attributes).
7616         (gtk_tree_view_column_set_visible): canonicalize bool before
7617         equality testing. Also, check for realization before
7618         hiding/showing the tree_column->window; if this window could exist
7619         before realization, then it's busted and needs fixing, we can't 
7620         create GDK resources pre-realization. Also, remove
7621         superfluous queue_resize(), since set_size() does that for us.
7622         (gtk_tree_view_column_set_col_type): check realization before 
7623         using tree_column->window
7624
7625         * gtk/gtktreedatalist.c: fix filename in copyright notice
7626
7627 2000-12-31  Havoc Pennington  <hp@pobox.com>
7628
7629         * gtk/gtktextview.c: Rearrange all the
7630         scroll-while-dragging-or-selecting code to be different, not
7631         necessarily better. ;-)
7632         (gtk_text_view_scroll_to_mark): Change this
7633         function to take within_margin as a fraction instead of a pixel
7634         value, and to take alignment arguments (indicating where to align 
7635         the mark inside the visible area)
7636         
7637         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
7638         to GtkObject
7639
7640         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
7641         behavior so that offsets past the end of the line are not 
7642         allowed, and an offset equal to the line length moves the iterator
7643         to the next line
7644         (gtk_text_iter_set_line_index): make parallel change
7645         (gtk_text_iter_get_bytes_in_line): add this function
7646         
7647         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
7648         of byte indexes off the end of the line; byte index at the end of
7649         the line now returns FALSE and doesn't fill in the requested
7650         values, byte index past the end of the line is an error.  Also,
7651         don't allow -1 offset anymore, since its meaning is unclear.
7652
7653         This change exposes some bug in visual cursor motion, where we
7654         end up with a huge invalid byte index; needs fixing. Symptom of 
7655         bug is a crash when you hit up arrow.
7656         
7657         (_gtk_text_line_char_locate): match the change to byte_locate
7658
7659         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
7660         from start of line properly. fixes bug reported by Mikael
7661         Hermansson where backspace would delete all text before the
7662         cursor.
7663
7664 2000-12-30  Tor Lillqvist  <tml@iki.fi>
7665
7666         * gdk/win32/gdkwindow-win32.c
7667         (gdk_window_impl_win32_get_visible_region): New function, as in
7668         the X11 backend.
7669         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
7670         instead of duplicating the same code here.
7671
7672         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
7673         GDK_COLORMAP macro.
7674
7675         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
7676         destroy function.
7677         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
7678         access that.
7679
7680         * gtk/gtk.def: Update.
7681
7682         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
7683
7684 2000-12-30  Havoc Pennington  <hp@pobox.com>
7685
7686         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
7687         colormap on input only windows, to avoid special cases all over
7688         the code for these windows.
7689
7690 2000-12-26  Tor Lillqvist  <tml@iki.fi>
7691
7692         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
7693         we are on a palettized display ("PseudoColor" in X11), as the code
7694         for that doesn't work anyway, and never has.
7695
7696 2000-12-22  Alexander Larsson  <alexl@redhat.com>
7697
7698         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
7699         Don't use isprint() for chars > 255.
7700
7701 2000-12-21  Havoc Pennington  <hp@redhat.com>
7702
7703         * tests/testtreeview.c: more work
7704
7705 2000-12-21  Alexander Larsson  <alexl@redhat.com>
7706
7707         * docs/README.linux-fb:
7708         Update the docs to the new pangoft2 way.
7709
7710 2000-12-21  Alexander Larsson  <alexl@redhat.com>
7711
7712         * configure.in:
7713         For linux-fb get the pangoft2 cflags and libs. This needs a recent
7714         pango version.
7715         Remove modules/linux-fb/Makefile.
7716
7717         * gdk/linux-fb/gdkdrawable-fb2.c:
7718         Render glyphs using freetype.
7719
7720         * gdk/linux-fb/gdkfb.h:
7721         Add new fb-specific functions needed for managing windows.
7722
7723         * gdk/linux-fb/gdkmain-fb.c:
7724         Remove gdk_font_init/fini() calls.
7725
7726         * gdk/linux-fb/gdkpango-fb.c:
7727         Remove old implementation. Use pangoft2 instead.
7728
7729         * gdk/linux-fb/gdkprivate-fb.h:
7730         Remove PangoFBFont and related stuff.
7731
7732         * gdk/linux-fb/gdkwindow-fb.c:
7733         Implement drawable->get_visible_region.
7734         Implement support for _gdk_window_set_child_handler () and
7735         _gdk_window_get_decorations().
7736
7737         * modules/Makefile.am:
7738         Remove linux-fb subdir.
7739
7740         * modules/linux-fb/*:
7741         Removed all.
7742         
7743 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
7744
7745         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
7746         calls, as they are no longer needed.
7747
7748         * gtk/gtktreemodelsort.c: Fix up the comparison code.
7749         
7750         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
7751         figure out how to emit a signal on an interface.
7752
7753 2000-12-20  Havoc Pennington  <hp@redhat.com>
7754
7755         * tests: new directory to contain tests, gtk/test* should move
7756         here sometime (with appropriate on-cvs-server hackery)
7757
7758         * tests/testtreeview.c, tests/Makefile.am: a test
7759         
7760         * configure.in (AC_OUTPUT): add tests/Makefile
7761
7762         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
7763         and "invisible_set" which were missing
7764
7765         * gtk/gtkrbtree.h: some cheesy indentation fix
7766         
7767 2000-12-20  Alexander Larsson  <alexl@redhat.com>
7768
7769         * gtk/gtkinvisible.c (gtk_invisible_realize):
7770         Attach the style to the window so that the style it is not
7771         leaked when unrealizing the window.
7772
7773 2000-12-18  Havoc Pennington  <hp@redhat.com>
7774
7775         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
7776         begin/end user action where appropriate
7777         (gtk_text_view_commit_handler): add begin/end user action
7778
7779         * gtk/gtktextbuffer.c: add begin/end user action signals, and
7780         bracket interactive operations with begin/end user action pair.
7781         
7782         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
7783         "interactive" arg from insert_text and delete_text signals.
7784         Add begin_user_action, end_user_action signals
7785         (gtk_text_buffer_begin_user_action): 
7786         (gtk_text_buffer_end_user_action): New functions to delimit 
7787         a user-visible action
7788
7789         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
7790         signals.
7791         
7792 2000-12-18  Havoc Pennington  <hp@redhat.com>
7793
7794         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
7795         was pretty non-working.
7796
7797         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
7798         by passing the length to g_utf8_validate().
7799
7800 2000-12-16  Havoc Pennington  <hp@pobox.com>
7801
7802         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
7803         Port to GObject, can go back in gdk-pixbuf after setting up 
7804         a gdk-pixbuf-marshal.h header over there.
7805
7806         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
7807         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
7808         args
7809         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
7810         set
7811         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
7812         here, do it when we create the buttons later
7813         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
7814         (gtk_tree_view_map): paranoia checks that column->button is shown 
7815         and unmapped
7816         (gtk_tree_view_size_request): only request visible children.
7817         Move header size calculation in here, for cleanliness, and 
7818         to maintain invariants for child widgets if we eventually 
7819         let users set different children inside the buttons
7820         (gtk_tree_view_map_buttons): factor out code to map buttons,
7821         since it was being called several times
7822         (gtk_tree_view_size_allocate_buttons): move_resize the drag
7823         windows instead of just moving them; their height may change 
7824         if we allow random widgets in there, or the theme changes.
7825         (gtk_tree_view_size_allocate): move button size allocation 
7826         above emitting the scroll signals, to ensure a sane state when we
7827         hit user code
7828         (gtk_tree_view_button_release): remove queue_resize after
7829         tree_view_set_size(), set_size() will handle any resize queuing
7830         that's needed
7831         (gtk_tree_view_focus_in): just queue a draw, don't fool with
7832         draw_focus goo
7833         (gtk_tree_view_focus): use gtk_get_current_event() and
7834         gdk_event_get_state()
7835         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
7836         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
7837         semicolon
7838         (gtk_tree_view_create_button): show the button here
7839         (gtk_tree_view_button_clicked): actually emit the clicked signal
7840         on the column
7841         (_gtk_tree_view_set_size): return right away if the size is
7842         unchanged, as a cheesy optimization
7843         (gtk_tree_view_setup_model): rename set_model_realized to 
7844         setup_model to match the flag that indicates whether we've 
7845         called it
7846         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
7847         exist, because set_scroll_adjustment does that and it shouldn't
7848         matter what order you call these in
7849         (gtk_tree_view_get_vadjustment): ditto
7850         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
7851         for paranoia
7852         (gtk_tree_view_set_headers_visible): call
7853         gtk_tree_view_map_buttons() instead of using cut-and-paste code
7854         (gtk_tree_view_append_column): clarify whether the return value
7855         is the count of columns before or after, and do the increment 
7856         separately from the return statement so you can tell from the code.
7857         (gtk_tree_view_remove_column): ditto
7858         (gtk_tree_view_insert_column): ditto
7859         (gtk_tree_view_get_column): remove g_return_if_fail for columns
7860         outside the existing range, the docs say that outside-range
7861         columns are allowed, so we handle them as documented. (Presumably
7862         this allows a nice loop with column != NULL as test.)
7863         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
7864         mean (left/right/center etc.).
7865         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
7866         (gtk_tree_view_expand_row): add docs
7867         (gtk_tree_view_collapse_row): add docs
7868
7869         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
7870         function to emit the clicked signal on a column
7871         
7872         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
7873         state of an event
7874         (gdk_event_get_time): don't treat GDK_SCROLL 
7875         as a button event, remove default case from switch so gcc 
7876         will whine if we don't explicitly handle all event types
7877
7878         * gtk/gtktreeselection.h: added some FIXME 
7879         
7880         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
7881         "columns" to "n_columns" and "column" to "columns" for clarity
7882
7883 2000-12-16  Havoc Pennington  <hp@pobox.com>
7884         
7885         * gtk/gtktextiter.c: General cleanup of the log attr iteration
7886         stuff. This should make e.g. the delete key work again in the
7887         text widget...
7888         (gtk_text_iter_forward_cursor_positions): handle negative count
7889         (gtk_text_iter_backward_cursor_positions): handle negative count
7890         (gtk_text_iter_forward_word_ends): handle negative count
7891         (gtk_text_iter_backward_word_starts): handle negative count
7892
7893         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
7894         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
7895         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
7896         GObject. No doubt will cause breakage.
7897
7898         * demos/gtk-demo/textview.c: remove hacks around
7899         non-GObject-ification of the text objects
7900
7901         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
7902         the text tag
7903         
7904 2000-12-14  Havoc Pennington  <hp@pobox.com>
7905
7906         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
7907         that we have Xrender
7908
7909 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
7910
7911         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
7912         Add two virtualized functions gdk_drawable_get_clip_region - to
7913         get the clip region when drawing.
7914         
7915         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
7916         use invalidate_region.
7917
7918         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
7919         region.
7920
7921         * acconfig.h configure.in: Check for Xft. For now, assume
7922         that if Xft is found, Pango was compiled with Xft support
7923         as well.
7924
7925         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
7926         gdk_colormap_query_color().
7927         
7928         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
7929         with Xft if appropriate.
7930
7931         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
7932         a pangoxft context if we have XFT and the environment
7933         variable GD_USE_XFT is set.
7934         
7935         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
7936         and also possibly an XftDraw structure.
7937
7938         * gtk/gtkfontsel.c: Handle the case where the font from the
7939         style doesn't match any of the fonts a bit better.
7940         
7941         * gtk/testgtk.c: Add tabs between directional segments for
7942         hebrew/arabic test. (Not really necessary, just a little
7943         prettier.)
7944
7945 2000-12-14  Havoc Pennington  <hp@redhat.com>
7946
7947         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
7948         reading a file
7949
7950 2000-12-14  Havoc Pennington  <hp@redhat.com>
7951
7952         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
7953         unused call to get_last_line()
7954
7955         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
7956         here until boxed is working (and maybe after that - we should
7957         really not gratuitously break old code)
7958
7959         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
7960         specific types for font_desc and tabs args, move them to
7961         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
7962         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
7963
7964         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
7965         use GTK_TYPE_POINTER for signal signatures as a hack-around
7966
7967         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
7968         PangoTabArray
7969
7970         * gtk/gtktextlayout.c (line_display_iter_to_index): 
7971         make static
7972         (line_display_index_to_iter): make static
7973
7974         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
7975         to marshal a string not a boxed
7976
7977         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
7978
7979         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
7980         since the UTF-8 isn't validated yet
7981
7982         * gtk/gtktextsegment.c (char_segment_check_func): don't require
7983         lines to end in '\n'
7984         
7985         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
7986         forward_to_delimiters, and grapheme boundaries
7987         (gtk_text_view_delete_from_cursor): properly handle non-newline
7988         delimiters, and grapheme boundaries
7989
7990         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
7991         to gtk_text_iter_forward_to_delimiters, and make it work properly
7992         if empty lines end with a character other than '\n'
7993
7994         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
7995         position
7996
7997 2000-12-15  Tor Lillqvist  <tml@iki.fi>
7998
7999         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
8000
8001         * gtk/gtk.def
8002         * gdk/gdk.def: Update.
8003
8004         * gdk/win32/gdkmain-win32.c
8005         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
8006         gdkmain-win32.c here.
8007
8008         * gdk/win32/makefile.mingw.in (all): No need to make
8009         gdk-win32res.o here, the makefile one step up will call us to make
8010         it.
8011
8012         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
8013         gdkkeys-win32.
8014
8015         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
8016
8017         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
8018         call to g_source_add().
8019
8020         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
8021         leak. Thanks to Andreas Kemnade.
8022
8023 2000-12-13  Havoc Pennington  <hp@pobox.com>
8024
8025         * gtk/gtktextbtree.h: Remove double _ in front of some functions
8026
8027         * gtk/gtktext*.[hc]: update accordingly
8028         
8029 2000-12-13  Havoc Pennington  <hp@pobox.com>
8030
8031         * gtk/gtktextbtree.h: Put _ in front of every function in this 
8032         header file
8033
8034         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
8035
8036 2000-12-13  Alex Larsson  <alexl@redhat.com>
8037
8038         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
8039         Add support for ps2 intellimouse.
8040
8041         * gdkkeyboard-fb.c:
8042         Move shift-F1 repaint handling to xlate handler only.
8043         
8044         * docs/README.linux-fb:
8045         Add imps2 to docs.
8046         Document the new refresh keys.
8047         
8048 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
8049
8050         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
8051
8052         * gtk/gtkbox.c: change property types from (u)long to (u)int for
8053         ::position and ::padding.
8054
8055         * gtk/gtkcontainer.c: make ::border_width an INT property.
8056
8057         * gtk/gtkpacker.c: make ::position an INT property.
8058
8059         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
8060         guard against NULL h/v scrollbars, since this is used at construction
8061         time.
8062
8063         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
8064         internal gtk_clist_constructor().
8065
8066         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
8067         gtk_ctree_constructor().
8068
8069         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
8070         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
8071
8072         * docs/reference/Makefile.am: fun stuff, disabled docs generation
8073         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
8074
8075         * gtk/gtkwidget.[hc]:
8076         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
8077         and gtk_widget_get().
8078         (gtk_widget_new): use g_object_new_valist().
8079         (gtk_widget_set): use g_object_set_valist().
8080
8081         * gtk/gtkobject.[hc]:
8082         removed gtk_object_arg_get_info(), gtk_object_getv(),
8083         gtk_object_query_args(), gtk_object_newv(),
8084         gtk_object_class_add_signals(),
8085         gtk_object_class_user_signal_new(),
8086         gtk_object_class_user_signal_newv(),
8087         gtk_object_arg_set(), gtk_object_arg_get(),
8088         gtk_object_args_collect(),
8089         gtk_object_default_construct(),
8090         gtk_object_constructed(),
8091         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
8092         removed nsignals, signals and n_args members from GtkObjectClass.
8093         (gtk_object_new): use g_object_new_valist().
8094         (gtk_object_set): use g_object_set_valist().
8095         (gtk_object_get): use g_object_get_valist().
8096         
8097         * gtk/gtkcompat.h: define gtk_object_default_construct().
8098         
8099         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
8100         g_object_new().
8101
8102         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
8103         fucntions, cleaned up method assignments (make sure your structures
8104         are setup properly before calling out). removed all GTK_CONSTRUCTED
8105         hacks ;)
8106
8107 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
8108
8109         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
8110         off-by-one error in checks. (Dave Lambert)
8111
8112 2000-12-12  Alexander Larsson  <alexl@redhat.com>
8113
8114         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
8115         Don't free gdk_fb_keyboard twice.
8116
8117 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
8118
8119         * gtk/testgtk.c:
8120         (create_tooltips): 
8121         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
8122         use GObject swapped_signal:: properties instead.
8123
8124         * gtk/gtkcellrenderertoggle.c: 
8125         * gtk/gtkcellrenderertextpixbuf.c: 
8126         * gtk/gtkcellrenderertext.c: 
8127         * gtk/gtkcellrendererpixbuf.c: 
8128         * gtk/gtkcellrenderer.c:
8129         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
8130         missing warnings for invalid property ids, install properties
8131         with g_object_class_install_property() now.
8132         
8133         * gtk/gtksignal.c:
8134         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
8135         
8136 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
8137         
8138         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
8139         to determine if a window is the focus widget within
8140         its toplevel.
8141
8142         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
8143         to be boolean.
8144
8145         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
8146         of the case where the container CAN_FOCUS to here instead
8147         of having it in each individual move-the-focus place.
8148
8149         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
8150         focusing to be geometric in a much more obvious sense. Arrowing
8151         around is still non-intuitive because it isn't perfect and
8152         because entries, etc, grab the arrow keys, but it at least
8153         usually will do what you expect now.
8154         
8155         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
8156         file.
8157
8158         * gtk/gtknotebook.c: Change tabs to be a single item in
8159         the focus chain. Make movement of focus on tabs with arrow
8160         keys wrap around.
8161         
8162         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
8163         CHECK_FIND_CHILD macro to give informative error messages
8164         instead of silent returns.
8165
8166         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
8167         flag since we handle GdkReturn on the tabs.
8168
8169         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
8170         windows rather than sending expose events directly.
8171
8172         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
8173         definition for GtkNotebookPage into .c file, since it is private.
8174
8175         * gtk/testgtk.c (create_notebook): Add option for 
8176         testing borderless notebook.
8177
8178         * gtk/testgtk.c (page_switch): Removed egregious poking
8179         around in GTK+ internals.
8180
8181         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
8182
8183         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
8184         properly through gtk_clist_focus. Make the title headers a
8185         single item in the tab-focus chain, and make left-right wrap
8186         around.
8187
8188         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
8189         focus method so that wrapping around works properly.
8190
8191         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
8192         that is handled for the widget now. 
8193
8194 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
8195
8196         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
8197         widgets as TOPLEVEL.
8198
8199         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
8200         TOPLEVEL widgets are containers.
8201
8202         * gtk/gtkinvisible.h: Remove useless include.
8203
8204 2000-12-11  Havoc Pennington  <hp@redhat.com>
8205
8206         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
8207         Handle chopping off \r\n and 0x2029 in addition to \n before
8208         passing to PangoLayout
8209
8210         * gtk/gtkimcontextsimple.c
8211         (gtk_im_context_simple_get_preedit_string): 
8212         return an empty string if no match is pending
8213
8214         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
8215         assertion that the returned preedit string was sane
8216
8217         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
8218         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
8219         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
8220
8221 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
8222
8223         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
8224         Fix up finalizer to chain to its parent.
8225
8226 2000-12-11  Alexander Larsson  <alexl@redhat.com>
8227
8228         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
8229         Clearified the difference between the keyboard types. Wrote a note
8230         about the magic sysrq key to get out of raw mode.
8231
8232 2000-12-09  James Henstridge  <james@daa.com.au>
8233
8234         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
8235         member to hold masks for detecting the start of a protocol packet.
8236         (mouse_devs): add packet start masks for ps2 and ms device types.
8237         Left the mask for fidmour blank, as I have no idea what it should
8238         be.
8239         (handle_mouse_io): skip bytes until we get to the start of a
8240         packet.  My Logitech mouse seems to be passing an extra NULL pad
8241         byte, and GPM does a similar thing here.
8242         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
8243         this is the ms mouse driver.
8244         (gdk_fb_mouse_ms_packet): fix up button handling, which was
8245         completely broken except for button1.  It was checking the wrong
8246         bit in the packet for the status of the right mouse button, and
8247         wrongly assuming right == button2 rather than 3.  I fixed that and
8248         also added support for middle button (button2).
8249
8250 2000-12-08  Havoc Pennington  <hp@redhat.com>
8251
8252         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
8253         that cause a segfault on text insertion
8254
8255         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
8256         warning
8257
8258         * gtk/gtktextiter.c (test_log_attrs): use
8259         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
8260
8261         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
8262         Get log attrs for a line, using a cache stored on the buffer
8263         
8264         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
8265         reported by Jeff Franks
8266
8267 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
8268
8269         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
8270         /dev/ttyS0 -> /dev/mouse
8271
8272 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
8273
8274         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
8275         Added dummy gdk_fontset_load.
8276
8277 2000-12-08  Alexander Larsson  <alexl@redhat.com>
8278
8279         * docs/README.linux-fb:
8280         * docs/Makefile.am:
8281         Initial GtkFB docs.
8282         
8283         * gdk/linux-fb/Makefile.am:
8284         Define GDK_DATA_PREFIX.
8285
8286         * gdk/linux-fb/gdkmain-fb.c:
8287         Fix typo.
8288         Change default display to /dev/fb0.
8289
8290         * gdk/linux-fb/gdkpango-fb.c:
8291         Add $(prefix)/share/fonts/ to font path.
8292         
8293 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
8294
8295         * gdk/linux-fb/gdkkeyboard-fb.c:
8296         New file containing the abstracted keyboard driver. Most code
8297         taken from gdkinput-ps2.c
8298
8299         * gdk/linux-fb/gdkinput-ps2.c:
8300         Removed file.
8301         
8302         * gdk/linux-fb/Makefile.am:
8303         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
8304
8305         * gdk/linux-fb/gdkcolor-fb.c:
8306         display->fb was renamed to display->fb_fd.
8307
8308         * gdk/linux-fb/gdkcursor-fb.c:
8309         gdk_mouse_get_info -> gdk_fb_mouse_get_info
8310
8311         * gdk/linux-fb/gdkinput.c:
8312         Moved gdk_input_init here from gdkinput-ps2.c
8313
8314         * gdk/linux-fb/gdkmain-fb.c:
8315         display->fb was renamed to display->fb_fd.
8316         Now the tty and the console is opened here instead
8317         of in the keyboard driver. Also check GDK_VT to see what
8318         tty to open.
8319         Move gdk_beep () here from gdkinput-ps2.c
8320         gdk_mouse_get_info -> gdk_fb_mouse_get_info
8321
8322         * gdk/linux-fb/gdkmouse-fb.c:
8323         Add header.
8324         gdk_mouse_get_info -> gdk_fb_mouse_get_info
8325         Return correct keyboard modifiers.
8326         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
8327
8328         * gdk/linux-fb/gdkprivate-fb.h:
8329         Add tty and vt info to display.
8330         Add orignal modeinfo storage to display
8331         Update global functions
8332
8333         * gdk/linux-fb/gdkwindow-fb.c:
8334         Added gdk_fb_window_find_focus().
8335         gdk_mouse_get_info -> gdk_fb_mouse_get_info
8336
8337 2000-12-07  Havoc Pennington  <hp@pobox.com>
8338
8339         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
8340         function, noticed by Alex
8341
8342 2000-12-06  Elliot Lee  <sopwith@redhat.com>
8343
8344         * configure.in: Detect freetype properly
8345
8346         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
8347         above.
8348
8349 2000-12-06  Alexander Larsson  <alexl@redhat.com>
8350
8351         * gdk/linux-fb/Makefile.am:
8352         Add gdkmouse-fb.c
8353         
8354         * gdk/linux-fb/gdkmouse-fb.c:
8355         New file. Abstracted the mouse drivers a bit.
8356
8357         * gdk/linux-fb/gdkcursor-fb.c:
8358         The cursor hide/show functions was moved here from gdkinput-ps2.c.
8359
8360         * gdk/linux-fb/gdkinput-ps2.c:
8361         Removed old mouse handling code. Moved cursor handling code
8362         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
8363         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
8364         gdk_mouse_get_info.
8365
8366         * gdk/linux-fb/gdkmain-fb.c:
8367         Pass NULL pointers for x,y in gdk_mouse_get_info call.
8368
8369         * gdk/linux-fb/gdkprivate-fb.h:
8370         Removed public gdk_fb_find_common_ancestor, added and renamed
8371         functions for the new mouse handling code.
8372
8373         * gdk/linux-fb/gdkwindow-fb.c:
8374         Moved gdk_fb_window_send_crossing_events here. added global
8375         variable gdk_fb_window_containing_pointer. made
8376         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
8377         renamed to gdk_mouse_get_info.
8378
8379 2000-12-06  Alexander Larsson  <alexl@redhat.com>
8380
8381         * gdk/linux-fb/gdkevents-fb.c:
8382         Update to match latest gmain/gsource changes.
8383
8384         * gdk/linux-fb/gdkinput-ps2.c:
8385         Bogus gdk_keymap_get_entries_for_keycode implementation so that
8386         it links. Will be implemented later.
8387
8388 2000-12-03  Havoc Pennington  <hp@pobox.com>
8389
8390         * gdk/Makefile.am: add gdkkeys.[hc]
8391
8392         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
8393         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
8394
8395         * acconfig.h, configure.in: add checks and command line options
8396         for XKB
8397
8398         * gdk/x11/gdkkeys-x11.c: Implement the above functions
8399         
8400         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
8401         and group in the key event
8402
8403         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
8404         field with the low-level hardware key code, and a group
8405         field with the keyboard group
8406
8407         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
8408         and declare a couple globals used for keymap handling
8409         
8410         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
8411         hold down Shift-Control and type a hex number to get a Unicode 
8412         character corresponding to the hex number
8413         (gtk_im_context_simple_get_preedit_string): Fix cursor position
8414         (return bytes not chars)
8415
8416 2000-12-05  Elliot Lee  <sopwith@redhat.com>
8417
8418         * gdk/gdkcolor.h: Make GdkColor specify element sizes
8419         to avoid waste on 64-bit platforms.
8420
8421 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
8422
8423         * INSTALL: Fix link to PNG home, remove reference
8424         to fribidi.
8425
8426         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
8427         
8428         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
8429         tested.)
8430
8431         * gtk/gtkcheckmenuitem.c: Permanently turn on
8432         always_show_toggle.
8433
8434         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
8435         be NULL. (Vladimir Klebanov, #26545)
8436
8437         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
8438         some signed/unsigned comparison problems. (#6510,
8439         David Kaelbling)
8440
8441         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
8442         return type to boolean (Oskar Liljeblad, #18648)
8443
8444 2000-12-05  Alexander Larsson  <alexl@redhat.com>
8445
8446         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
8447         Remove bogus colormap setting.
8448
8449 2000-12-05  Alexander Larsson  <alexl@redhat.com>
8450
8451         * gdk/linux-fb/gdkcolor-fb.c:
8452         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
8453
8454         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
8455         Must set colormap.
8456         
8457 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
8458
8459         * docs/tutorial/gtk-tut.sgml: DND updates
8460
8461 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
8462
8463         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
8464         Remove old debug g_warning().
8465         (gdk_fb_draw_drawable): The src argument can be either a wrapper
8466         or an implementation, just pass the implementation to draw_drawable_2.
8467         
8468         * gdk/linux-fb/gdkprivate-fb.h:
8469         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
8470
8471         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
8472         clear and invalidate area when window is destroyed.
8473         (send_map_events): Remove old commented out code.
8474
8475 2000-12-05  Alexander Larsson  <alexl@redhat.com>
8476
8477         * gdk/linux-fb/gdkpango-fb.c:
8478         Use italic instead of oblique in font aliases.
8479         
8480         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
8481         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
8482         other unsupported functions.
8483
8484 2000-12-04  Havoc Pennington  <hp@redhat.com>
8485
8486         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
8487
8488         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
8489
8490         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
8491
8492         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
8493         hack to avoid infinite loops (synthetic expose event) - 
8494         Owen has more appropriate fixes in a branch he'll check in later.
8495
8496         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
8497         separator, CR, and CRLF as line ends
8498
8499         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
8500         into lines using pango_find_paragraph_boundary(); other bits of
8501         the widget are still going to be broken if the boundary isn't '\n'
8502         though
8503
8504 2000-12-04  Alexander Larsson  <alexl@redhat.com>
8505
8506         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
8507         multiply.
8508
8509         * gdk/linux-fb/gdkpango-fb.c:
8510         Copied some 26.6 scaling macros from pango to clean up the rounding.
8511         (pango_fb_font_get_glyph_info): Correct sign on x value.
8512
8513         * gdk/linux-fb/gdkprivate-fb.h:
8514         Removed unreferenced external functions.
8515
8516         * modules/linux-fb/Makefile.am: Use ` instead of '.
8517
8518         * modules/linux-fb/basic.c:
8519         Remove dead code. In particular the dummy lang engine which broke all
8520         pango layouts in GtkFB. Don't include tables-big.i anymore.
8521
8522         * modules/linux-fb/tables-big.i:
8523         Upgrade to latest version from pango. Left for reference, basic_ranges
8524         moved to basic.c.
8525         
8526 2000-12-04  Havoc Pennington  <hp@redhat.com>
8527
8528         Fix bugs Alex found:
8529         
8530         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
8531         to "draw"
8532
8533         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
8534
8535         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
8536
8537         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
8538         implementation in here, apparently the expose() implementation was
8539         dead code.
8540
8541 2000-12-04  Alexander Larsson  <alexl@redhat.com>
8542
8543         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
8544         Return positive descent.
8545
8546 2000-12-02  Havoc Pennington  <hp@pobox.com>
8547
8548         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
8549         method and signal
8550         
8551         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
8552         calls gdk_window_process_updates() to push the exposes through
8553         (gtk_widget_class_init): No more draw signal, no
8554         gtk_widget_real_draw()  
8555         
8556         * gtk/gtkbin.c (gtk_bin_draw): remove
8557
8558         * gtk/gtkbox.c (gtk_box_draw): remove
8559
8560         * gtk/gtkbutton.c (gtk_button_draw): remove
8561
8562         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
8563
8564         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
8565
8566         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
8567
8568         * gtk/gtkclist.c (gtk_clist_draw): remove
8569
8570         * gtk/gtkentry.c (gtk_entry_draw): remove
8571
8572         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
8573
8574         * gtk/gtkfixed.c (gtk_fixed_draw): remove
8575
8576         * gtk/gtkframe.c (gtk_frame_draw): remove
8577
8578         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
8579
8580         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
8581
8582         * gtk/gtklayout.c (gtk_layout_draw): remove
8583
8584         * gtk/gtklist.c (gtk_list_draw): remove
8585
8586         * gtk/gtklistitem.c (gtk_list_item_draw): remove
8587
8588         * gtk/gtkmenu.c (gtk_menu_draw): remove
8589
8590         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
8591
8592         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
8593
8594         * gtk/gtknotebook.c (gtk_notebook_draw): remove
8595
8596         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
8597
8598         * gtk/gtkpacker.c (gtk_packer_draw): remove
8599
8600         * gtk/gtkrange.c (gtk_range_draw): remove
8601
8602         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
8603
8604         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
8605
8606         * gtk/gtktable.c (gtk_table_draw): remove
8607
8608         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
8609
8610         * gtk/gtktext.c (gtk_text_draw): remove
8611
8612         * gtk/gtktextview.c (gtk_text_view_draw): remove
8613
8614         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
8615
8616         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
8617
8618         * gtk/gtktree.c (gtk_tree_draw): remove
8619
8620         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
8621
8622         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
8623
8624         * gtk/gtkviewport.c (gtk_viewport_draw): remove
8625
8626         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
8627
8628         * gtk/gtkvscale.c (gtk_vscale_draw): remove
8629
8630         * gtk/gtkwindow.c (gtk_window_draw): remove
8631
8632 2000-20-01  Anders Carlsson  <andersca@gnu.org>
8633
8634         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
8635         a GtkToggleButton is both insensitive and active, it was being
8636         drawn by the GtkButton draw handler which doesn't check the
8637         state. Now it's calling gtk_toggle_button_paint instead.
8638         
8639 2000-12-01  Havoc Pennington  <hp@redhat.com>
8640
8641         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
8642         dangling pointers to the appearance attributes from the 
8643         line display
8644
8645         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
8646         width/height to mean "full width/height of drawable"
8647
8648         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
8649         click to select word/line
8650         
8651         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
8652         when getting log attrs. Get a slice, so that pixmaps and stuff
8653         are properly handled.
8654
8655         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
8656         paste into the selection (replaces selection now, previously
8657         crashed or added to selection). Reveals longstanding btree bug -
8658         select multiple lines, middle-click on the selection, boom. This
8659         isn't related to my changes though.
8660
8661         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
8662         PangoLogAttrs changes
8663         (gtk_entry_move_backward_word): ditto
8664
8665         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
8666         functions return bool whether the iter moved onto a
8667         dereferenceable position.
8668  
8669         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
8670         functions for motion in terms of display lines.
8671
8672         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
8673         get the buffer a mark is inside
8674         
8675 2000-12-01  Alexander Larsson  <alexl@redhat.com>
8676
8677         * gdk/linux-fb/Makefile.am:
8678         * modules/linux-fb/Makefile.am:
8679         Freetype 2 final uses freetype-config
8680
8681         * gdk/linux-fb/gdkpango-fb.c:
8682         Upgrade to use Freetype 2 final.
8683         More flexible support for font aliases, this also fixes a bug with
8684         GtkFontSelector, as the aliases must be visible in the font/family list,
8685         or GtkFontSelector reads uninitialized memory.
8686
8687 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
8688
8689         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
8690         XGetIMValues to properly terminate variable argument list, and do
8691         NULL return check for ic_values and xim_styles.
8692
8693         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
8694         Restore preedit state after XmbResetIC().
8695         
8696         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
8697         XvaCreateNestedList() should take XvaNestedList, but not
8698         XvaNestedList*.
8699
8700         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
8701         preedit_draw_callback, preedit_caret_callback): Match
8702         "preedit-changed" signal name to "preedit_changed" to be
8703         consistent to the spec.
8704
8705         * gtk/gtkimcontextsimple.c (check_table):
8706         Match "preedit-changed" to "preedit_changed" to be consistent
8707         to the spec.
8708
8709 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
8710
8711         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
8712         gc->clip_region == NULL>
8713
8714 2000-11-30  Tor Lillqvist  <tml@iki.fi>
8715
8716         Changes by Hans Breuer:
8717         
8718         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
8719         Dont't use negative width and height as max_hints. This fixes
8720         Owen's recent testgtk changes for win32.
8721
8722         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
8723         gdk_win32_hdc_release): These are exported and may be called with
8724         other drawable types than our GdkDrawableImplWin32 (?).
8725
8726         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
8727         so always #define USE_BACKING_STORE.
8728
8729         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
8730         of printf for debugging output.
8731
8732         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
8733         
8734         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
8735
8736         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
8737         declaration.
8738
8739         * gtk/gtktexttypes.h: Ditto.
8740
8741         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
8742         (GDK_VoidSymbol) also if in case of arg check failure.
8743
8744         * gtk/gtkimcontextsimple.c
8745         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
8746         position to the pointer, but to the variable it points to.
8747
8748         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
8749
8750         * gtk/gtk.def: Updates.
8751
8752 2000-11-29  Elliot Lee  <sopwith@redhat.com>
8753
8754         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
8755         GTK_TYPE_TREE_MODEL.
8756
8757 2000-11-29  Alexander Larsson  <alexl@redhat.com>
8758
8759         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
8760         Set the size of the font from the description.
8761         (gdk_text_width): Gross hack that calculates the width
8762         of text by text_length * size/2. This is necessary because
8763         GtkLabel does some ugly gtk_string_width call to calculate
8764         an good size.
8765         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
8766
8767 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
8768
8769         * docs/tutorial/gtk-tut.sgml: DND updates
8770
8771 2000-11-29  Alexander Larsson  <alexl@redhat.com>
8772
8773         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
8774         If you pass width or height == 0 to gdk_window_clear_area they
8775         should be calculated from the window size.
8776
8777 2000-11-29  Alexander Larsson  <alexl@redhat.com>
8778
8779         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
8780         a grab, but no grab-cursor, use the cursor from the grabbed
8781         window. (gdk_fb_window_send_crossing_events): Send normal
8782         enter/leave notifications if grab and owner_events == TRUE.
8783
8784 2000-11-29  Alexander Larsson  <alexl@redhat.com>
8785
8786         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
8787         Do implicit button grabs, even if the window doesn't
8788         want the event.
8789         (gdk_fb_window_send_crossing_events): If there is a
8790         grab, only the grabbed window gets normal enter/leave
8791         notifications. On ungrab go from grabbed window to current.
8792         Don't send any notification to b when propagating from c -> b.
8793         If setting a grab on window, don't set prev_window.
8794         (handle_mouse_input): Send enter/leave events to the window the
8795         mouse is over, not the grabbed one.
8796         
8797 2000-11-28  Elliot Lee  <sopwith@redhat.com>
8798
8799         * gdk/gdkregion-generic.c: Zap warning.
8800         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
8801         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
8802
8803 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
8804
8805         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
8806         The cursor should be hidden if it is part of either the
8807         source or destination region. Not only if it is in both.
8808         (gdk_window_set_transient_for): Silence warnings.
8809
8810 2000-11-28  Alexander Larsson  <alexl@redhat.com>
8811
8812         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
8813         The default mode in X is Pie Arcs, therefore that is
8814         what Gtk+ uses.
8815
8816 2000-11-28  Alexander Larsson  <alexl@redhat.com>
8817
8818         * gdk/linux-fb/gdkinput-ps2.c:
8819         Implement correct EnterNotify/LeaveNotify:
8820         (gdk_fb_window_send_crossing_events): New function that sends
8821         all GdkCrossingEvents from the last mouse-window to the specified
8822         destination.
8823         (gdk_fb_window_visibility_crossing): Removed function.
8824         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
8825         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
8826         instead of gdk_window_get_pointer() for better readability.
8827
8828         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
8829         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
8830
8831         * gdk/linux-fb/gdkprivate-fb.h:
8832         removed gdk_fb_window_visibility_crossing, added
8833         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
8834
8835         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
8836         New function that finds the least common ancestor of two windows.
8837         (gdk_window_show, gdk_window_hide):
8838         Use gdk_fb_window_send_crossing_events.
8839         (gdk_fb_window_move_resize): Send configure events to toplevel
8840         windows. Use gdk_fb_window_send_crossing_events.
8841
8842 2000-11-27  Havoc Pennington  <hp@redhat.com>
8843
8844         * gtk/gtkprivate.h (enum): Remove a trailing comma
8845
8846 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
8847
8848         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
8849         the "changed" callback of the adjustment.  We need to redraw the
8850         spin button's arrows when the adjustment's range changes.
8851         (adjustment_changed_cb): Draw the arrows.
8852         (gtk_spin_button_value_changed): Draw the arrows.
8853
8854 2000-11-23  Alexander Larsson  <alexl@redhat.com>
8855
8856         * gdk/linux-fb/gdkselection-fb.c:
8857         Initial selection implementation.
8858
8859         * gtk/gtkselection.c:
8860         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
8861         requestor in gtk_selection_request.
8862         
8863         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
8864         Added gdk_selection_property atom.
8865
8866         * gdk/linux-fb/gdkprivate-fb.h:
8867         Export _gdk_selection_window_destroyed.
8868         Removed mask_off_x/y from GdkCursorPrivateFB.
8869         Removed hbearing, added top, left to PangoFBGlyphInfo.
8870
8871         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
8872         Call _gdk_selection_window_destroyed
8873         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
8874         the root window has been created.
8875         (static_dx_hack, static_dy_hack, compare_draw_rects,
8876         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
8877         in region. They are already sorted. Instead just traverse them in
8878         reverse if draw_direction < 0.
8879         
8880         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
8881         Double-clicks must be sent after the normal button_press.
8882         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
8883         
8884         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
8885         Pass _gdk_fb_screen_gc instead of NULL.
8886
8887         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
8888         Initialize gdk_selection_property.
8889         (gdk_event_make): Remove unused code.
8890
8891         * gdk/linux-fb/gdkcursor-fb.c:
8892         Make the pixmap for the cursor the same size as the mask. Also remove
8893         the mask_off_x/y fields in GdkCursorPrivateFB and combine
8894         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
8895         Now the whole cursor is visible.
8896
8897         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
8898         Fix bug where xdest+height instead of ydest+height was used
8899         to calculate if the source and dest overlapped. This fixes the
8900         redraw bug when the main window in testgtk was scrolled when
8901         partially covered by a tall window.
8902         Copy rectangles in region in order depending on draw_direction.
8903         Also moved the draw_direction flipping of start_y and end_y into
8904         the gc functions, as this might not be what all of them want.
8905         (gdk_fb_draw_lines): Support dashed lines.
8906         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
8907         so that the text is positioned correctly (was 1 pixel high).
8908
8909         gdk/linux-fb/gdkgc-fb.c:
8910         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
8911         all lines were drawn a pixel to short. Also checked the default of
8912         the rest of the values, and they're the same as X now.
8913
8914         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
8915         Clean up pixel positioning of the glyphs. Just use bgy->top and
8916         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
8917         to all divisions to get correct rounding behaviour.
8918
8919         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
8920         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
8921         Moved start_y/end_y flip into draw_drawable implementations.
8922         Flip also x rendering when draw_direction < 0.
8923         Remove unneccesary multiply with draw_direction.
8924
8925 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
8926
8927         * docs/tutorial/gtk-tut.sgml:
8928           - get rid of gtk_toggle_button_toggled FUD
8929           - start DND section - needs work - based on:
8930                 http://wolfpack.twu.net/docs/gtkdnd/
8931
8932 2000-11-22  Alexander Larsson  <alexl@redhat.com>
8933
8934         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
8935         Correct calculation of font metrics. Now GtkEntrys have sane
8936         size.
8937
8938 2000-11-22  Alexander Larsson  <alexl@redhat.com>
8939
8940         * gdk/gdktypes.h:
8941         Add new type GdkSpan
8942         
8943         * docs/reference/gdk/gdk-sections.txt,
8944         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
8945         gdk/gdkregion.h:
8946         Implement and document gdk_region_spans_intersect_foreach.
8947
8948         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
8949         Add new file gdkrender-fb.c which contains all core
8950         rendering code.
8951         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
8952         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
8953         (optimized rectangle fillers).
8954
8955         * gdk/linux-fb/gdkdrawable-fb2.c:
8956         Move all rendering code to gdkrender-fb.c.
8957         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
8958         Use the new span intersection functions in gdk_fb_fill_spans.
8959         gdk_fb_draw_rectangle() clips filled rectangles and calls
8960         gc->fill_rectangle with the result.
8961         gdk_fb_fill_spans() gets extra argument "sorted".
8962
8963         * gdk/linux-fb/gdkevents-fb.c:
8964         Remove unused includes and defines.
8965         New function gdk_fb_get_time() to get correct time for events.
8966
8967         * gdk/linux-fb/gdkinput-ps2.c:
8968         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
8969         Make sure to set the time of all events.
8970
8971         * gdk/linux-fb/gdkmain-fb.c:
8972         Use gdk_fb_get_time ().
8973
8974         * gdk/linux-fb/gdkprivate-fb.h:
8975         New virtual GC calls: fill_span & fill_rectangle.
8976         Export gdk_fb_get_time().
8977         gdk_fb_fill_spans() gets extra argument "sorted".
8978
8979         * gdk/linux-fb/mi*.c:
8980         Use GdkSpan instead of GdkRectangle.
8981         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
8982         from XFree 4 source)
8983         
8984 2000-11-22    <jrb@redhat.com>
8985
8986         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
8987         reversing the order in an if statement will do.  Doing so managed
8988         to make the treemodelsort half work.  Other half will follow after
8989         I get the insert function fully fixed.
8990
8991 2000-11-21  Elliot Lee  <sopwith@redhat.com>
8992         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
8993         more than 2 bits. Besides, I need to implement an evil hack. :)
8994
8995 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
8996
8997         * docs/tutorial/gtk-tut.sgml: minor corrections
8998
8999 2000-11-20  Jonathan Blandford <jrb@redhat.com>
9000         * gtk/gtktreemodelsort.h: Add convertion functions to let you
9001           convert to and from relative path's and iters.
9002
9003         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
9004           testing sorting functions a bit better.  Currently broken -- will
9005           fix in morning.
9006
9007 2000-11-20  Havoc Pennington  <hp@redhat.com>
9008
9009         * gtk/gtkwidget.c: Documented a bunch of functions in here
9010         (gtk_widget_realize): Warn if you try to realize
9011         a widget with no parent that isn't a toplevel
9012         (gtk_widget_intersect): return a gboolean
9013
9014 2000-11-20  Havoc Pennington  <hp@redhat.com>
9015
9016         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
9017         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
9018         scrolling to be implemented in GDK to finish. Also, right now
9019         we just size_allocate all children on every layout change,
9020         which is pretty lame. Test commented out of testtext.c, 
9021         until it works better.
9022
9023 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
9024
9025         * gdk/linux-fb/gdkdrawable-fb2.c:
9026         Removed unused arguments from gdk_fb_drawable_get_pixel().
9027
9028         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
9029         Renamed fidur specific mouse packet data in MouseDevice to
9030         generic. Used it in ps2 mouse handling code to avoid blocking
9031         reads.
9032
9033 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
9034
9035         * demos/gtk-demo/main.c: Changed to have the list become
9036         non-italic when the demo window is destroyed through an external
9037         event (like a close button).  Doing so found three bugs in the
9038         widget.
9039
9040         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
9041
9042         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
9043         we actually set the cell.
9044
9045         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
9046
9047         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
9048         free a leaked path.  Thanks memprof.
9049
9050 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
9051
9052         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
9053         off-by-one error when destroying allocated segments
9054         on failure. (Elliot)
9055
9056 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
9057
9058         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
9059         memleaks found by Evan Martin.
9060
9061 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
9062
9063         * Released 1.3.2
9064         
9065         * NEWS: Updates for 1.3.2
9066
9067 2000-11-17  Tor Lillqvist  <tml@iki.fi>
9068
9069         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
9070         but in general for window system specific events.
9071
9072         * gtk/gtk.def
9073         * gtk/makefile.mingw.in
9074         * gtk/makefile.msc.in: Update.
9075         
9076         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
9077
9078 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
9079
9080         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
9081         distribute gtk.immodules.
9082
9083         * gtk/Makefile.am (install-data-local): Don't install the
9084         gtk.immodules file created for the uninstalled modules;
9085         instead run gtk-query-immodules after install
9086
9087 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
9088
9089         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
9090         -rpath to the right install location.
9091
9092         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
9093         -export-dynamic.
9094
9095         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
9096         properly.
9097
9098 2000-11-15  Havoc Pennington  <hp@pobox.com>
9099
9100         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
9101         patch from Mikael Hermansson to temporarily stop blinking while
9102         the user is using the keyboard to type or navigate. 
9103
9104         Also, when blinking, stay on for longer than we stay off. Also,
9105         return from start_cursor_blink if !cursor_visible, to save
9106         checking that flag all over the place before we call
9107         start_cursor_blink.
9108
9109 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
9110
9111         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
9112         only contain a "fontset" line, which is now ignored.
9113
9114         * gtk/gtkentry.c (gtk_entry_button_release): Make 
9115         double-click-to-select-word work.
9116         
9117 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
9118
9119         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
9120         Don't move back one char when we are actually at the end of the 
9121         paragraph.
9122
9123 2000-11-15  Robert Brady  <robert@suse.co.uk>
9124
9125         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
9126         'o' < 'p'.
9127         
9128         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
9129         bind_textdomain_codeset.
9130
9131         (gtk_init_check): Make the warning about translating default:LTR
9132         sterner.
9133         
9134 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
9135
9136         * **/Makefile.am : remove unecessary rules for win32-specific
9137         config-substituted targets. If you want these rules, use
9138         --enable-maintainer-mode (called automatically by autogen.sh).
9139         Stops a lot of unneccessary make-time warnings.
9140
9141         * gtk/gtktext{layout,display}.c: Factor in total width as
9142         well as screen when figuring alignment for word-wrap as well as
9143         no wrap; this is necessary to handle lines that cannot be wrapped
9144         at all.
9145
9146 2000-11-15  Havoc Pennington  <hp@redhat.com>
9147
9148         * gtk/testtext.c: Implement essential color cycling feature
9149
9150 2000-11-15  Havoc Pennington  <hp@redhat.com>
9151
9152         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
9153         when we invalidate the main window.
9154
9155         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
9156         GtkTextView will now invalidate the side windows for us when text
9157         changes.
9158
9159 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
9160
9161         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
9162         unconditionally, since we may need to update the horizontal
9163         scrollbars even if the height didn't change.
9164
9165         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
9166         the extra attrs, since some of them affect size.
9167
9168         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
9169         x_offset correctly.
9170
9171 2000-11-15  Havoc Pennington  <hp@redhat.com>
9172
9173         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
9174         don't move the first line out into the margin, instead move the
9175         whole paragraph in order to make space for the first line within 
9176         the margin
9177
9178 2000-11-15  Havoc Pennington  <hp@redhat.com>
9179
9180         * gtk/gtktextview.c (changed_handler): offset redraw rect by
9181         xoffset in addition to yoffset, so horizontal scrolling doesn't
9182         break redraws
9183
9184 2000-11-15  Havoc Pennington  <hp@redhat.com>
9185
9186         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
9187         from the cursor
9188         (render_layout_line): fix reversed test that caused weird
9189         underlines to get drawn
9190
9191 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
9192
9193         * gdk/linux-fb/gdkprivate-fb.h:
9194         Fix debug macros.
9195         
9196 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
9197
9198         * gdk/linux-fb/gdkprivate-fb.h:
9199         Added virtual functions set_pixel, get_color,
9200         fill_span and draw_drawable to the GC.
9201         Added global _gdk_fb_screen_gc to use instead of
9202         NULL when drawing to the screen.
9203         Added _gdk_fb_gc_calc_state() prototype.
9204
9205         * gdk/linux-fb/gdkgc-fb.c:
9206         Call _gdk_fb_gc_calc_state() on any gc state change.
9207
9208         * gdk/linux-fb/gdkglobals-fb.c:
9209         Add _gdk_fb_screen_gc
9210                 
9211         * gdk/linux-fb/gdkdrawable-fb2.c:
9212         _gdk_fb_gc_calc_state() calculates best functions
9213         for the GC state and depth.
9214         Moved bpp specialized code to separate functions.
9215         Added optimized 24 bpp AA draw_drawable.
9216
9217         * gdk/linux-fb/gdkevents-fb.c:
9218         Silence gcc warning.
9219
9220         * gdk/linux-fb/gdkimage-fb.c:
9221         Use _gdk_fb_screen_gc
9222
9223         * gdk/linux-fb/gdkwindow-fb.c:
9224         Init and use _gdk_fb_screen_gc
9225
9226         * gdk/linux-fb/mitypes.h:
9227         Remove unused types.
9228
9229 2000-11-14  Havoc Pennington  <hp@pobox.com>
9230
9231         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
9232         to pixels
9233
9234 2000-11-14  Havoc Pennington  <hp@pobox.com>
9235
9236         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
9237
9238         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
9239         unknown char, no real reason we were using a variable. 
9240         Remove gtk_text_unknown_char variable. Fix all the text widget
9241         files accordingly.
9242
9243         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
9244         since the Unicode spec seems to prefer that character for our
9245         purposes.
9246
9247 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
9248
9249         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
9250         value of g_getenv() isn't freeable, so g_strdup it.
9251
9252         * modules/input/inuktitut.c: Inuktitut input method.
9253
9254         * modules/input/Makefile.am: Build this.
9255         
9256 2000-11-14  Elliot Lee  <sopwith@redhat.com>
9257
9258         * gtk/Makefile.am: Install gtk.immodules, needed for operation
9259         of gtk programs.
9260
9261 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
9262
9263         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
9264         reversed > that was causing Home to go to end of previous line.
9265
9266         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
9267         modified-keypresses (leave for bindings.)
9268
9269         * modules/input/Makefile.am: Remove useless -export-dynamic
9270         from module LDFLAGS.
9271
9272 2000-11-14  Havoc Pennington  <hp@redhat.com>
9273
9274         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
9275         higher.
9276
9277         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
9278         account. Also, render rise, underline, background, etc. for
9279         pixbufs as well as text. Also, draw underlines one pixel higher.
9280
9281         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
9282         PangoAttribute for the rise, so it gets drawn properly. Also,
9283         add the GtkTextAppearance attribute for pixbuf/widget segments
9284         as well; we should go ahead and have rise, underline, background,
9285         stipple work for those
9286
9287         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
9288         Pango
9289
9290 2000-11-15  Tor Lillqvist  <tml@iki.fi>
9291
9292         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
9293
9294         * gtk/gtk.def: Update.
9295
9296         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
9297         included.
9298         (gtk_rc_get_im_module_file): Use run-time installation directory
9299         on Win32.
9300
9301         * gdk/win32/rc/gdk.rc: Remove.
9302         * gdk/win32/rc/gdk.rc.in: New file.
9303         * gdk/win32/rc/Makefile.am: New file
9304         * gdk/win32/Makefile.am: Corresponding changes.
9305
9306         * gtk/gtk.rc: Remove.
9307         * gtk/gtk-win32.rc.in: New file.
9308         * gtk/Makefile.am: Corresponding changes.
9309
9310         * configure.in: Corresponding changes.
9311
9312         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
9313         has a built gtkcompat.h. Developers using CVS code on Win32 can
9314         hand-edit it from gtkcompat.h.in.
9315
9316         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
9317         gtkcompat.h from gtkcompat.h.win32.
9318
9319 2000-11-14  Havoc Pennington  <hp@redhat.com>
9320
9321         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
9322         to default to GDK_ACTION_MOVE if the drag is within a single
9323         widget. Defaults to GDK_ACTION_COPY between widgets.
9324
9325 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
9326
9327         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
9328
9329         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
9330
9331         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
9332         srcdir != builddir
9333
9334         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
9335
9336         * configure.in (GTK_VERSION): Up to 1.3.2
9337
9338         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
9339         gtkimcontextxim.h
9340
9341         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
9342         missing doc comment.
9343
9344 2000-11-14  Alexander Larsson  <alexl@redhat.com>
9345
9346         * modules/linux-fb/basic.c:
9347         Use the glib iconv wrappers.
9348
9349 2000-11-13  Havoc Pennington  <hp@pobox.com>
9350
9351         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
9352         still more bugs.
9353
9354         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
9355         scroll the GdkWindows before realization.
9356
9357 2000-11-13  Havoc Pennington  <hp@redhat.com>
9358
9359         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
9360         where GC didn't always get updated properly
9361
9362         * demos/gtk-demo/textview.c (create_tags): Use subattributes
9363         of fonts instead of setting the entire font
9364
9365         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
9366         setting entire font
9367
9368         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
9369
9370         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
9371         a bunch of individually-settable font attributes. You can still 
9372         use the "font" and "font_desc" args, they just set all the font
9373         attributes at once.
9374
9375 2000-11-13 Elliot Lee <sopwith@redhat.com>
9376
9377         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
9378
9379 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
9380
9381         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
9382         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
9383
9384         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
9385         work better.
9386
9387 2000-11-13  Havoc Pennington  <hp@redhat.com>
9388
9389         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
9390         the module file.
9391
9392         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
9393         dest->language
9394
9395         * gtk/testtext.c: Test pixels above/below/inside paragraphs
9396         settings
9397
9398         * gtk/gtktextview.c: Implement object args and setters/getters for
9399         all the aspects of the GtkTextAttributes that are not set from
9400         GtkWidget attributes. This is spacing, justification, margins,
9401         etc.
9402
9403         (gtk_text_view_set_arg)
9404         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
9405         args
9406         (gtk_text_view_class_init): Add args for justify, left_margin,
9407         right_margin, indent, and tabs
9408         
9409
9410         * gtk/gtktextlayout.c (set_para_values): fix to display indent
9411         attribute properly
9412
9413         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
9414         replace with indent attribute
9415
9416         * gtk/gtktextlayout.c (set_para_values): multiply indent by
9417         PANGO_SCALE
9418
9419         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
9420         rearranging code to do that
9421         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
9422         i.e. don't subtract the top_margin first, just to keep
9423         all margin-futzing in one place.
9424
9425         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
9426
9427         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
9428         special case of last line, Pango now handles this itself.
9429         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
9430         Y coordinate
9431         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
9432         (find_display_line_above): wasn't moving the byte index as it
9433         iterated over lines, so always returned byte 0. Also, port to use
9434         PangoLayoutIter.
9435         (find_display_line_below): same problem as
9436         find_display_line_above. Also, port to use PangoLayoutIter.
9437
9438 2000-11-13  Alexander Larsson  <alexl@redhat.com>
9439
9440         * gdk/linux-fb/*.[ch]:
9441         Massive reindent to gtk+ standard. My hands hurt.
9442
9443         * gdk/linux-fb/gdkcolor-fb.c:
9444         Move GdkColorPrivateFB from inherited to windowing_data
9445
9446         * gdk/linux-fb/gdkcursor-fb.c:
9447         _gdk_cursor_new_from_pixmap made static
9448
9449         * gdk/linux-fb/gdkdnd-fb.c:
9450         GdkDragContextPrivate moved to windowing_data
9451
9452         * gdk/linux-fb/gdkdrawable-fb2.c:
9453         Removed endian.h, use glib endianness macros instead
9454         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
9455         and GDK_DRAWABLE_IMPL_FBDATA
9456
9457         * gdk/linux-fb/gdkfont-fb.c:
9458         Add empty gdk_font_load(). Needed for linking of Gtk+.
9459
9460         * gdk/linux-fb/gdkimage-fb.c:
9461         Removed endian.h, use glib endianness macros instead
9462         Moved GdkImagePrivateFB to windowing_data
9463         gdk_image_new_bitmap didn't always allocate enough
9464         memory.
9465
9466         * gdk/linux-fb/gdkinput-ps2.c:
9467         Added semi-working support for MS serial mice.
9468
9469         * gdk/linux-fb/gdkprivate-fb.h:
9470         s/GdkWindowPrivate/GdkWindowObject/
9471         Removed GdkWindowPrivate typedef
9472         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
9473         Removed GDK_DRAWABLE_P
9474         Move GdkColorPrivateFB from inherited to windowing_data
9475         Moved GdkImagePrivateFB to windowing_data
9476
9477         * gdk/linux-fb/gdkvisual-fb.c:
9478         Removed some unused debug code.
9479
9480         * gdk/linux-fb/gdkwindow-fb.c:
9481         Use stock cursors instead of including X headers.
9482         s/GdkWindowPrivate/GdkWindowObject/
9483
9484         * gdk/linux-fb/mitypes.h:
9485         Removed unused types.
9486
9487         * modules/linux-fb/basic.c:
9488         Use the pango fribidi wrappers.
9489
9490 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
9491
9492         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
9493         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
9494         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
9495         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
9496         GEqualFunc where applicable.
9497         
9498         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
9499         pango_font_description_equal as changed in pango.
9500         
9501         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
9502
9503         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
9504
9505         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
9506
9507         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
9508
9509         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
9510
9511         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
9512
9513         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
9514         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
9515
9516         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
9517         gtk_rc_styles_compare -> gtk_rc_styles_equal.
9518
9519 2000-11-12  Havoc Pennington  <hp@pobox.com>
9520
9521         * demos/gtk-demo/Makefile.am (democodedir): change demo install
9522         dir to datadir/gtk+-2.0/demo
9523
9524         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
9525         sorts of text widget and Pango font bugs. Urgh.
9526
9527         * demos/gtk-demo/Makefile.am (demos): Add textview.c
9528
9529         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
9530         tree that you should double click to see the demo. Fix 
9531         types of variables to reflect changed return values from 
9532         GtkTreeStore and GtkTreeViewColumn constructors.
9533
9534         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
9535         newly-created buffer to prepare for GObject semantics
9536
9537         * gtk/testtext.c: don't leak the buffer with GObject semantics
9538
9539         * gtk/testtextbuffer.c: ditto
9540         
9541 2000-11-12  Havoc Pennington  <hp@pobox.com>
9542
9543         Rename this testgtk to gtk-demo to avoid confusion, and 
9544         install it so people can use it as a supplement to 
9545         the documentation.
9546         
9547         * demos/gtk-demo: Moved from demos/testgtk
9548
9549         * demos/testgtk: Removed
9550
9551         * configure.in: make Makefile in gtk-demo
9552         
9553         * demos/gtk-demo/Makefile.am: Install sample source to 
9554         datadir/gtk-demo (maybe there's a better place?), and 
9555         rename the binary to gtk-demo
9556         
9557         * demos/gtk-demo/main.c (load_file): Load installed sample
9558         source if source isn't found in pwd.
9559
9560 2000-11-09  Havoc Pennington  <hp@pobox.com>
9561
9562         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
9563         argument to set the char displayed when visibility == FALSE
9564         (gtk_entry_create_layout): If !entry->visible, replace 
9565         all chars with the "invisible char"
9566
9567         * gtk/testgtk.c: Test the invisible_char deal
9568         
9569 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
9570
9571         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
9572         can't get a native font in the right encoding.
9573
9574 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
9575
9576         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
9577         respectively.
9578
9579 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
9580
9581         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
9582         Fix warning when moving between paragraphs.
9583
9584         * gtk/gtkentry.[ch]: Change move => move_cursor, 
9585         delete => delete_from_cursor, insert => insert_at_cursor
9586
9587 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
9588
9589         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
9590
9591         * modules/input/imthai-broken.c: A Thai input method for use if
9592         Thai keys are really generating Latin1 keysyms.
9593
9594         * modules/input/Makefile.am: Build these.
9595
9596 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
9597
9598         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
9599         g_filename_{to,from}_utf8 now takes an extra parameter.
9600
9601         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
9602         strftime into UTF-8.
9603
9604         (column_from_x, gtk_calendar_paint_day_names): Support RTL
9605         calendars.
9606
9607         (gtk_calendar_paint_day_names): Draw day names in the right 
9608         place.
9609         
9610 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
9611
9612         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
9613         problem with using result of g_get_charset() backwards -
9614         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
9615
9616         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
9617         negative min_width/height and max_width/height to
9618         mean "requisition"; this allows setting a window
9619         to be user-resizable in only one direction easily.
9620
9621         * gtk/testgtk.c (create_main_window): Remove hard-coded
9622         usize - set a default size in the vertical direction.
9623
9624 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
9625
9626         * gtk/gtkrange.c: Add some missing casts. Support 
9627         2 and 3 button clicks on the arrows to mean 
9628         "move by pages" and "jump to end". (Like gtkspinbutton)
9629
9630 2000-11-12 Hans Breuer <Hans@Breuer.Org>
9631
9632         * gdk/win32/makefile.msc : reflect build module changes
9633
9634         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
9635         from GdkPixmap*, cast implementation member instead.
9636
9637         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
9638         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
9639         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
9640         more Gdi functions return value checking. 
9641         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
9642         GdkImagePrivateWin32 *.
9643
9644         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
9645         menus useable again. Add #pragma message to keep reminded on this issue.
9646         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
9647         windows. This allows to enable backing store on Win32!
9648
9649         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
9650         in drawable is of impl type. Correct specific type checks appropriate.
9651  
9652         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
9653         GDK_WINDOW_DESTROYED before allocating new resources.
9654
9655         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
9656
9657         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
9658         (gdk_window_foreign_new) initialize parent handle.
9659         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
9660
9661         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
9662         Let the GDI invalidate the window on MoveWindow call to fix scrolling
9663         problems (e.g. main buttons in testgtk). 
9664
9665 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
9666
9667         * gtk/gtkentry.c (gtk_entry_key_press): Call 
9668         gtk_widget_activate for GDK_Return.
9669
9670         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
9671         of preedit cursor position.
9672
9673 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
9674
9675         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
9676         static.
9677
9678 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
9679
9680         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
9681         out support for multiple locales; that simple doesn't
9682         work reliably with current Xlib
9683
9684         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
9685         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
9686         Add support for positioning the cursor within the preedit string.
9687
9688 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
9689
9690         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
9691         at XIM input method module.
9692
9693         * gtk/gtktextview.c: Check for bindings after passing
9694         events to im context filter.
9695
9696 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
9697
9698         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
9699         empty attribute lists properly.
9700
9701 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
9702
9703         * gtk/queryimmodules.c (main): Return non-zero exit
9704         status if errors were encountered querying any
9705         modules.
9706
9707         * modules/input/Makefile.am (moduledir): remove
9708         leftover bin program target.
9709
9710         * docs/make-todo: Fix typo in error message.
9711
9712 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
9713
9714         * configure.in: Add modules/input/Makefile
9715
9716 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
9717
9718         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
9719         don't include gtkthemes.h.
9720
9721         * gtk/testgtk.c gtk/testtext.c: Set environment variables
9722         to point
9723
9724         * gtk/Makefile.am: Add new .c and .h files, build 
9725         gtk-query-immodules and use it to create a gtk.immodules
9726         file for use of test programs.
9727
9728         * gtk/gtkpreview.c: remove extra blank line.
9729
9730 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
9731
9732         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
9733         Add the ability to add extra tables beyond the default
9734         one, and also the ability to have compose sequences 
9735         that are prefixes of other compose sequences. 
9736
9737         * gtk/gtkimcontextsimple.c: Export a preedit string which
9738         consists of possible candidates for keystrokes that have
9739         been entered but not yet committed.
9740
9741         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
9742         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
9743
9744         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
9745         Add a function to add input-method switching menu items
9746         to a menu.
9747
9748         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
9749         when switching input methods.
9750
9751         * gtk/gtkimcontextsimple.[ch]: Change the format of
9752         the compose table to allow compose tables of different
9753         lengths / sequence.
9754
9755 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
9756
9757         * gtk/gtkimmodule.[ch]: Support routines for loading
9758         GtkIMContext implementations dynamically at runtime.
9759
9760         * modules/input/imcyrillic-translit.c: A sample input
9761         method (based on GtkIMContextSimple with an extra table),
9762         which demonstrates preedit strings and the module
9763         system for input modules
9764
9765         * gtk/queryimmodules.c: Program to query the available
9766         input modules and write the results into a file.
9767          
9768         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
9769         extra config options "im_module_file" (cache file for
9770         input method modules), and "im_module_path" - path
9771         to look for modules when generating cache file.
9772
9773         This doesn't scale.
9774
9775 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
9776
9777         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
9778         generic code from gtkthemes into a new abstraction
9779         GtkModule which has the logic for implementing
9780         a loadable module which implements a number of 
9781         GObject types.
9782
9783 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
9784
9785         * gtk/gtkeditable.[ch]: Convert GtkEditable from
9786         a class into an interface  
9787         
9788         * gtk/gtkoldeditable.[ch]: Move the old editable
9789         implementation into here, so legacy widgets can
9790         still rely on the implemenation. GtkOldEditable
9791         exports GtkEditable. Make selection handling
9792         code use new text conversion functions (and
9793         handle UTF-8 as a side-effect). Use GtkClipboard
9794         for CLIPBOARD.
9795
9796         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
9797         Adopt to match above changes.
9798
9799         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
9800         avoid GtkOldEditable implementation. Restructure
9801         to reduce number of places that modify state directly.
9802         Move to GtkBindingSet. Display the preedit string.
9803         Queue recomputation of PangoLayout and scroll position
9804         to improve effiency of doing complex changes naively.
9805         Add a menu with cut/copy/paste and input method selection.
9806
9807 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
9808
9809         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
9810         to set preedit string and attributes; display preedit string by
9811         inserting string and attributes at cursor when creating the
9812         GtkTextLineDisplay.
9813
9814         * gtk/gtktextlayout.c: Move all conversions between byte
9815         positions in PangoLayout and GtkTextIter into new functions
9816         line_display_iter_to_index/index_to_iter that properly
9817         handle the preedit string.
9818
9819         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
9820         it to return const char * (eventually will end up
9821         as GCONST char *, most likely.)
9822
9823         * gtk/gtktextview.[ch]: Handle the preedit string, call
9824         gtk_im_context_reset() as necessary, add a menu to switch
9825         input methods.
9826         
9827         * gtk/gtktextlayout.[ch]: Remove useless
9828         gtk_text_layout_get_log_attrs() function.
9829
9830 2000-11-11  Tor Lillqvist  <tml@iki.fi>
9831
9832         * gdk/gdk.def
9833         * gtk/gtk.def: Update.
9834
9835         * gdk/win32/*.c: Add last argument to g_type_register_static()
9836         calls.
9837
9838         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
9839
9840         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
9841         generated by older wheel mouse drivers. Get the correct y
9842         coordinate from WM_MOUSEWHEEL messages.
9843
9844         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
9845         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
9846         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
9847         Debugging functions.
9848
9849         * gdk/win32/gdkprivate-win32.h: Declare them.
9850
9851         * gdk/win32/gdkinput-win32.h: Add declaration for
9852         gdk_input_window_destroy().
9853
9854         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
9855
9856 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
9857
9858         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
9859         function to help handle keeping things in sync.
9860
9861 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
9862
9863         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
9864         BOXED marshallers.
9865
9866         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
9867         (gtk_list_store_class_init): use the new BOXED marshallers.
9868
9869         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
9870         new_with_values to new_with_types.
9871         (gtk_tree_store_get_column_type): add this.
9872         (gtk_tree_store_class_init): use the new BOXED marshallers.
9873
9874         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
9875         mirror some POINTER marshallers.
9876
9877 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
9878
9879         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
9880         allow more interesting iterators.  Also, made the lifecycle of
9881         iterators more explicit.
9882
9883         * gtk/gtktreemodelsort.[ch]: New model for sorting.
9884
9885         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
9886         types.
9887
9888 2000-11-09  Alexander Larsson  <alexl@redhat.com>
9889
9890         * demos/testgtk/menus.c:
9891         Changes to make the new testgtk compile after
9892         gtk_menu_append was removed.
9893
9894         * gdk/linux-fb/gdkdrawable-fb2.c
9895         (gdk_fb_get_depth, gdk_fb_get_visual,
9896         gdk_drawable_impl_fb_class_init): Implement
9897         these drawable functions. Now GtkImages work again.
9898
9899         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
9900
9901         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
9902         
9903         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
9904         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
9905         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
9906         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
9907
9908 2000-11-08  Havoc Pennington  <hp@pobox.com>
9909
9910         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
9911         visible_set args, don't know where these had gone, I thought they
9912         used to be there
9913
9914         * gtk/testtext.c: Add a menu item to apply invisibility tag;
9915         now we can test the feature and see that it's totally broken.
9916
9917 2000-11-08  Havoc Pennington  <hp@pobox.com>
9918
9919         Make DND copy pixbufs and tags when source and target share a 
9920         tag table.
9921         
9922         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
9923         in-process GTK_TEXT_BUFFER_CONTENTS target
9924         (gtk_text_view_drag_data_received): Paste from
9925         GTK_TEXT_BUFFER_CONTENTS if we receive it.
9926
9927 2000-11-08  Alexander Larsson  <alexl@redhat.com>
9928
9929         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
9930         API changes.
9931
9932         * gtk/gtkmenu.c: Add support for scrolling menus.
9933         Remove gtk_menu_append/prepend/insert, these have been moved to
9934         gtkcompat.h as #defines.
9935
9936         * gtk/gtkcompat.h.in:
9937         Add compatibility #defines for gtk_menu_append/prepend/insert
9938
9939         * gtk/gtkmenu.h: Add data needed for scrolling menus.
9940         GtkMenuPositionFunc gets an extra argument push_in.
9941         gtk_menu_append/prepend/insert removed.
9942         
9943         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
9944         positioning behaviour to fit to scrolling menus.
9945
9946         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
9947         into menuitem->submeny. That is wrong, and broke torn
9948         off submenus of torn off menus, since they were unrealized
9949         when the first menu was unrealized.
9950
9951         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
9952         gtk_menu_shell_select_item() since these need to be overridden in
9953         GtkMenu.
9954
9955         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
9956         positioning behaviour to fit to scrolling menus.
9957         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
9958         the current item so that it is prelighted when the menu pops up.
9959         This is a workaround to the fact that the menu doesn't get the
9960         initial enter event (due to grabs).
9961
9962         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
9963         s/gtk_menu_append/gtk_menu_shell_append/
9964
9965         * gtk/gtknotebook.c:
9966         s/gtk_menu_insert/gtk_menu_shell_insert/
9967
9968         * gtk/testgtk.c (create_menu, create_menus):
9969         Create the first menu with 50 items so that menu scrolling
9970         can be tested.
9971         
9972         
9973         Patch from Jonathan Blandford  <jrb@redhat.com>
9974
9975         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
9976         system to handle size requests.  First, we ask what the size of
9977         the toggle is.  Then, when allocating the size, we allocate the
9978         toggle_size first.  This way we can have multiple menu-item
9979         classes w/o needing a seperate class for each.
9980
9981         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
9982         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
9983
9984         * gtk/gtkcheckmenuitem.c
9985         (gtk_check_menu_item_toggle_size_request): New function to handle
9986         the toggle size-request.
9987
9988 2000-11-07  Havoc Pennington  <hp@redhat.com>
9989
9990         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
9991         Half-ass somewhat fix this function, so that scrolling to the
9992         insertion point works. Pango hacking is in the future to really
9993         fix it.
9994
9995         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
9996         length of data, no longer used.
9997
9998         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
9999         method contents in here, get rid of destroy method
10000         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
10001         that were backward. Remove debug spew.
10002         (cut_or_copy): Make the clipboard work with insert_range to
10003         preserve tags and pixbufs, not just the primary selection.
10004
10005 2000-11-07  Havoc Pennington  <hp@redhat.com>
10006
10007         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
10008         to gtk_text_mark_get_visible
10009
10010         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
10011         bug that was generating an invalid iterator
10012
10013         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
10014         ensure_char_offsets() in front of code placing the iter in an
10015         invalid state.
10016
10017         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
10018         make override_location arg const
10019         (paste): Replace the selection if we paste into the 
10020         current selection
10021
10022         * gtk/gtkselection.h: Remove "GtkSelectioData"
10023         (struct _GtkSelectionData): move the definition here.
10024
10025         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
10026         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
10027
10028         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
10029
10030         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
10031         (gtk_text_buffer_insert_range_interactive): implement
10032         (gtk_text_buffer_get_tags): Remove, replaced by
10033         gtk_text_iter_get_tags()
10034
10035         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
10036         limit parameter, to avoid infinite linear scan.
10037         (gtk_text_iter_backward_search): Add search limit
10038         (gtk_text_iter_forward_find_char): Add search limit
10039         (gtk_text_iter_backward_find_char): Add search limit
10040
10041 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
10042
10043         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
10044         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
10045         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
10046         gdk/linux-fb/gdkwindow-fb.c:
10047         use g_object_new() instead of g_type_create_instance() which
10048         is a private function for fundamental type implementations.
10049
10050         * gdk/linux-fb/gdkinput-ps2.c:
10051         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
10052         instead just store the current modifier state. Add a (somewhat broken)
10053         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
10054         Rename exported function gdk_input_ps2_get_mouseinfo to
10055         gdk_input_get_mouseinfo.
10056
10057         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
10058         gdk/linux-fb/gdkwindow-fb.c:
10059         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
10060         
10061
10062 2000-11-02  Havoc Pennington  <hp@redhat.com>
10063
10064         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
10065         use stock buttons. Should be 100% source compatible, appropriate
10066         filesel fields now point to dialog->vbox and dialog->action_area.
10067         On the bizarre side, dialog->action_area and filesel->action_area
10068         are not the same widget.
10069         (gtk_file_selection_init): Put some padding around the selection
10070         entry, so it isn't touching the GtkDialog separator.    
10071
10072         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
10073         use stock buttons, etc. Should also be source compatible.
10074         Set the dialog default title in _init not _new().
10075         
10076         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
10077         Use stock buttons; don't put a button box inside the existing
10078         dialog button box. Don't bother with push/pop colormap anymore.
10079
10080         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
10081         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
10082         for message dialog, and necessary for the font selection and color
10083         selection with help and apply buttons.
10084         
10085         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
10086         to the created button widget. Set GTK_CAN_DEFAULT on the button.
10087         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
10088         between buttons, put less padding around the action area.
10089         (gtk_dialog_run): Exit on unmap rather than on destroy. 
10090         This will also exit the loop if the widget is hidden.
10091         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
10092         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
10093         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
10094         special-case delete event.
10095
10096         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
10097         formatting
10098         
10099 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
10100
10101         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
10102         button to temporarily disable position recording in the
10103         "saved position" test.
10104
10105 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
10106
10107         * gtk/gtkthemes.c: added compat code that temporarily implements
10108         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
10109         going to be revamped by owen's upcoming GtkModule patches, but
10110         untill then people want gtk to build, right? ;)
10111
10112 2000-11-04  Havoc Pennington  <hp@pobox.com>
10113
10114         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
10115         list
10116
10117         * docs/Changes-2.0.txt: Add note about
10118         gtk_container_get_toplevels()
10119
10120         * gtk/gtktextview.h: formatting
10121         
10122         * gtk/gtktextview.c: don't start descriptions with "Returns",
10123         confuses gtk-doc
10124
10125 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
10126
10127         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
10128         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
10129
10130 2000-11-03  Havoc Pennington  <hp@redhat.com>
10131
10132         * gtk/gtktexttagtable.c: Docs
10133         (gtk_text_tag_table_size): return a signed int
10134
10135         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
10136         (gtk_text_tag_event): make the event_object a GObject
10137
10138         * gtk/gtktextview.c: Write API docs for all functions.
10139
10140         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
10141         for gtk_text_view_get_window_type() called on one of the private
10142         windows.
10143
10144         * gtk/gtktextview.c: Instead of accessing text_view->buffer
10145         directly, call get_buffer() which demand-creates a default
10146         buffer. So gtk_text_view_new() can be used to create a view with a
10147         default buffer in it, if you just want an empty text box users can
10148         put data in. Useful for GUI builders also.
10149
10150 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
10151
10152         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
10153         the charset encodign portion MUST be in lowercase.
10154         * gtk/gtkrc.az: added file for Azeri language
10155
10156 2000-11-03  Havoc Pennington  <hp@redhat.com>
10157
10158         Get widgets working on the btree/buffer side. Display of them 
10159         still doesn't work.
10160         
10161         * gtk/gtktextview.c: start implementing child widget stuff
10162
10163         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
10164
10165         * gtk/gtktextlayout.c: handle embedded widgets
10166
10167         * gtk/gtktextdisplay.c: handle embedded widgets
10168
10169         * gtk/gtktextchild.c: Implement all the child anchor goo
10170
10171         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
10172         function
10173
10174         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
10175         (insert_pixbuf_or_widget_segment): abstract out common portions of 
10176         creating a child anchor or a pixbuf segment.
10177         (gtk_text_btree_create_child_anchor): new function
10178         (gtk_text_btree_unregister_child_anchor): new function
10179
10180         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
10181         allocate_child signal on GtkTextLayout
10182
10183         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
10184         values
10185         (gtk_text_iter_get_child_anchor): new function
10186
10187         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
10188         default handler for the changed signal, which calls
10189         gtk_text_buffer_set_modified(), instead of just always emitting
10190         changed then calling set_modified() manually. I guess this is
10191         maybe more flexible. It seems logical.
10192
10193 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
10194
10195         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
10196         now.
10197
10198         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
10199
10200 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
10201
10202         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
10203         been marked static.
10204
10205 2000-11-02  Havoc Pennington  <hp@redhat.com>
10206
10207         * gtk/testgtk.c (create_labels): had a test backward
10208
10209         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
10210         fields, so the dest GC ends up with the correct clip origin, 
10211         etc. Fixes a bug where colored labels didn't redraw 
10212         properly.
10213
10214 2000-11-02  Alexander Larsson  <alexl@redhat.com>
10215
10216         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
10217         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
10218         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
10219         Add last argument to t_type_register_static call.
10220         
10221         * gdk/linux-fb/gdkdrawable-fb2.c:
10222         Add last argument to t_type_register_static call.
10223         export the get_image drawable virtual function.
10224
10225         * gdk/linux-fb/gdkimage-fb.c:
10226         Add last argument to t_type_register_static call.
10227         rename gtk_image_get to _gdk_fb_get_image and
10228         export it for use by gdkdrawable-fb2.
10229
10230         * gdk/linux-fb/gdkprivate-fb.h:
10231         export _gdk_fb_get_image.
10232
10233         * gdk/linux-fb/gdkselection-fb.c:
10234         Add new api call stubs.
10235
10236         * gtk/Makefile.am:
10237         Missing ( in linux-fb part.
10238
10239         * modules/linux-fb/Makefile.am:
10240         Must link with gdk_pixbuf or get unresolved symbol.
10241
10242 2000-11-01  Havoc Pennington  <hp@pobox.com>
10243
10244         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
10245         GTK_TYPE_TEXT_ITER and BOXED marshallers
10246
10247         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
10248
10249         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
10250         
10251         * gtk/gtk-boxed.defs: add GtkTextIter
10252
10253         * gtk/gtkmarshal.list: Add marshallers for text widget that 
10254         properly use OBJECT and BOXED
10255
10256 2000-11-01  Havoc Pennington  <hp@redhat.com>
10257
10258         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
10259
10260         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
10261         before returning it. 
10262         
10263 2000-11-01  Havoc Pennington  <hp@redhat.com>
10264
10265         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
10266         Clip the rectangle to be rendered to the drawable, since
10267         get_from_drawable() requires a region within the drawable
10268
10269 2000-11-01  Havoc Pennington  <hp@redhat.com>
10270
10271         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
10272         from coordinates.
10273
10274 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
10275
10276         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
10277         it isn't NULL.
10278
10279 2000-11-01  Havoc Pennington  <hp@pobox.com>
10280
10281         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
10282         on a label
10283         (gtk_label_finalize): unref the attr list if any.
10284
10285         * gtk/testgtk.c (create_get_image): close test on second click
10286         (make_message_dialog): close dialog if it exists
10287
10288         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
10289
10290         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
10291         gdk-pixbuf
10292
10293         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
10294         from Pango markup format
10295         (gtk_label_set_markup_with_accel): ditto but with accelerator
10296         parsing
10297
10298         * gtk/gtkimage.c (gtk_image_expose): reformatting.
10299
10300         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
10301         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
10302         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
10303         call gdk_window_get_origin().
10304
10305         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
10306         implement GDK_PIXBUF_ALPHA_FULL
10307         
10308 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
10309
10310         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
10311         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
10312         g_signal_handlers_disconnect_matched to block/unblock and disconnect
10313         multiple handlers respectively, instead of only treating the
10314         first handler found (bug reported by owen).
10315
10316 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
10317
10318         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
10319
10320         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
10321
10322         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
10323         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
10324         gtk/gtktreeviewcolumn.h: Fixed inline docs.
10325
10326         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
10327         widget.  Needs writing someday.
10328
10329         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
10330         the docs.
10331
10332 2000-10-30  Havoc Pennington  <hp@redhat.com>
10333
10334         * gtk/gtktextview.h, gtk/gtktextview.c:
10335         Rename delete_at_cursor delete_from_cursor, and 
10336         move to move_cursor.
10337
10338 2000-10-30  Havoc Pennington  <hp@redhat.com>
10339
10340         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
10341         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
10342         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
10343         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
10344         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
10345         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
10346         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
10347         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
10348         gtktexttypes.h, gtktextview.c, gtktextview.h:
10349
10350         Massive reindentation and reformatting. Arg alignment and comments
10351         still need fixing in various places.
10352
10353 2000-10-30  Havoc Pennington  <hp@redhat.com>
10354
10355         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
10356         to be named insert_at_cursor and delete_at_cursor so C++ can
10357         handle them.
10358
10359 2000-10-28  Tor Lillqvist  <tml@iki.fi>
10360
10361         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
10362         to get a double directory separator in case the home directory
10363         ends with one. This would cause trouble especially on Windows,
10364         where the path will be confused with the syntax for an an UNC
10365         (network share) path \\server\share\path.
10366         (gtk_rc_add_initial_default_files): Ditto.
10367
10368 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
10369
10370         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
10371
10372         * gtk/gtktextview.c: Use correct marshallers.
10373
10374 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
10375
10376         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
10377         use new iter stuff, and added all the appropriate signals et al.
10378
10379         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
10380         code is internal to gtk only.
10381
10382 2000-10-28  Tor Lillqvist  <tml@iki.fi>
10383
10384         * gtk/gtk.def
10385         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
10386         glib-genmarshal etc.
10387
10388 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
10389
10390         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
10391         parallel builds.
10392
10393 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
10394
10395         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
10396
10397 2000-10-27  Robert Brady  <robert@suse.co.uk>
10398
10399         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
10400         en_GB (British), ia (Interlingua).
10401
10402 2000-10-26  Havoc Pennington  <hp@redhat.com>
10403
10404         * gtk/gtktextiter.c (my_strrstr): fix constness warning
10405
10406         Fixed output of:
10407         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
10408         
10409         * gtk/gtktextsegment.c (char_segment_new): rename
10410         (_char_segment_new_from_two_strings): rename
10411         (_toggle_segment_new): rename
10412         
10413         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
10414         (make_clipboard_widget): make it static
10415         (text_get_func): static
10416         (text_clear_func): static
10417
10418         * gtk/gtkcolorsel.c (adjustment_changed): make this function
10419         static
10420         (hex_changed): make it static
10421         (hsv_changed): make it static
10422         (opacity_entry_changed): make it static
10423
10424         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
10425         (toggle_segment_check_func): rename with _gtk
10426
10427         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
10428         (_widget_segment_new): rename
10429         (_widget_segment_add): rename
10430         (_widget_segment_remove): rename
10431         (_widget_segment_ref): rename
10432         (_widget_segment_unref): rename
10433
10434         * gtk/gtktextmark.c (_mark_segment_new): Rename
10435         _gtk_mark_segment_new   
10436
10437 2000-10-26  Havoc Pennington  <hp@redhat.com>
10438
10439         * gtk/gtkmarshal.list: add new marshallers used by the text widget
10440         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
10441         types
10442
10443         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
10444         marshaller types
10445
10446         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
10447         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
10448         license on these files.
10449
10450         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
10451         work.
10452
10453         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
10454         runtime random number different for each tree, instead of 
10455         a constant I made up.
10456
10457 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
10458
10459         * gtk/Makefile.am: buncha cleanups, kludged build sources
10460         dependencies with a Makefile: oldest-source-stamp dependancy
10461         for the moment. automake is really fighting us here, with
10462         intentionally not allowing user-defined rules or dependancies
10463         prior to it's -include $(DEP_FILES) statement. sucks rocks!
10464
10465         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
10466         to public headers. tehy have a comment stating that they are
10467         "semi-public" aren't included by gtk.h and if enums popup there,
10468         they can be /*< skip >*/-ed.
10469
10470         * gtk/gtktextlayout.h: 
10471         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
10472         added LGPL... <SIGH>
10473
10474 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
10475
10476         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
10477         GtkTreeIter.  Added iterators everywhere.
10478
10479         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
10480
10481         * gtk/gtktreeviewselection.c: Changed to use the iterators.
10482
10483         * gtk/gtktreestore.c: Changed to use the iterators.
10484
10485         * gtk/gtkliststore.c: Commented out the code.  Will convert to
10486         iterators tomorrow.
10487
10488         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
10489         iterators tomorrow.
10490
10491         * gtk/treestoretest.c: Changed to use iterators.
10492
10493         * demos/testgtk/main.c: Moved to use the new iterator system.
10494
10495 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
10496
10497         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
10498         localization misbehaviour.
10499
10500         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
10501         a useless type without copy/free.
10502
10503         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
10504         of GTK_TYPE_CTREE_NODE.
10505
10506 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
10507
10508         * gtk/gtksignal.c:
10509         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
10510         applicable.
10511
10512         * gtk/gtk-boxed.defs (GtkSelectionData): specify
10513         gtk_selection_data_copy and gtk_selection_data_free
10514         do GtkSelectionData work as params in signals.
10515
10516 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
10517
10518         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
10519         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
10520         couldn't they at least give it a non-standard name?
10521         
10522         * gtk/gtktextlayout.c: arg! yet another implementation of
10523         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
10524
10525         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
10526         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
10527         home. now i know this _is_ a conspiracy.
10528
10529         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
10530         ::state-changed.
10531
10532         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
10533         (gtk_accel_group_create_add): marshaller signature fixups.
10534
10535         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
10536         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
10537
10538         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
10539         anymore.
10540
10541 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
10542
10543         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
10544         due to the signal system changes, it wouldn't build currently. to
10545         be fixed soon.
10546
10547         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
10548
10549         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
10550         so it needs gtk_marshal_VOID__ENUM() instead of
10551         gtk_marshal_NONE__UINT().
10552
10553         * gdk/gdk*.c: adapted type registration functions.
10554
10555         * gtk/gtkbindings.c:
10556         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
10557         gone.
10558
10559         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
10560
10561         * gtk/gtkobject.c:
10562         (gtk_object_destroy):
10563         (gtk_object_shutdown): fixed recursion guards. basically we have to
10564         catch the case where any of GObject.shutdown() or gtk_object_destroy()
10565         is called during ::destroy, and avoid recursion there.
10566
10567         * gtk/gtktypeutils.c:
10568         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
10569         boxed_copy/boxed_free. this needs a more general solution based on a
10570         publically installed code-generator utility.
10571
10572         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
10573         glib's gobject has support for that now.
10574         define GtkSignalMarshaller in terms of GSignalCMarshaller.
10575
10576 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
10577
10578         * gtk/gtksignal.[hc]:
10579         * gtk/gtkmarshal.[hc]:
10580         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
10581         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
10582         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
10583         care of that.
10584
10585         * *.c: marshaller name fixups.
10586
10587         * gtk/gtkmarshal.list: added a comment briefing the format.
10588
10589 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
10590
10591         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
10592         compatibility macros here now. more specifically, most of
10593         the API is preserved (yes, _most_, nonwithstanding the
10594         following exceptions listed, the API is stil lHUGE ;)
10595         things that got removed completely:
10596         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
10597         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
10598         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
10599         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
10600         gtk_signal_remove_emission_hook().
10601         non-functional functions variants:
10602         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
10603         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
10604         not supported anymore.
10605         (gtk_signal_compat_matched): new internal function to aid
10606         implementation of the compatibility macros, it  provides
10607         functionality to block/unblock/disconnect handlers based
10608         on func/data.
10609
10610         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
10611
10612         * *.c: adaptions to new type registration API signatures.
10613
10614 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
10615
10616         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
10617
10618 2000-10-25  Robert Brady  <robert@suse.co.uk>
10619
10620         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
10621         gdk_property_delete): If window == NULL, assume the root window.
10622         (restoring the behaviour that was in 1.2).
10623         
10624         * gtk/testtext.c (save_buffer): Allow creation of new files when
10625         saving.
10626
10627         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
10628         calls to read().
10629
10630 2000-10-25  Tor Lillqvist  <tml@iki.fi>
10631
10632         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
10633
10634         * gdk/win32/gdkdrawable-win32.c
10635         * gdk/win32/gdkimage-win32.c
10636         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
10637         X11 backend.
10638
10639         * gdk/win32/gdkcc-win32.c
10640         * gdk/win32/gdkcolor-win32.c
10641         * gdk/win32/gdkfont-win32.c
10642         * gdk/win32/gdkinput-win32.c
10643         * gdk/win32/gdkmain-win32.c
10644         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
10645
10646 2000-10-24  Havoc Pennington  <hp@redhat.com>
10647
10648         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
10649         it a static function
10650
10651         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
10652         redraw text when a tag is applied to it.
10653
10654         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
10655         (gtk_text_tag_affects_nonsize_appearance): private functions to
10656         see if a tag requires various kinds of redraw/layout to be queued
10657         up.
10658
10659         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
10660
10661         * gtk/testtext.c (fill_example_buffer): Put the cursor 
10662         at the start of the buffer, so search works by default
10663
10664         * gtk/gtktextiter.c (lines_match): init match_start always
10665
10666         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
10667         function, get iter at a line + a byte index
10668
10669         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
10670         to set byte position within a line
10671         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
10672
10673 2000-10-23  Havoc Pennington  <hp@redhat.com>
10674
10675         * gtk/testtext.c: Re-enable the "find" dialog
10676
10677         * gtk/testgtk.c: Add test for gdk_drawable_get_image
10678         
10679         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
10680         the arguments to gdk_draw_drawable were in the wrong order
10681         (gdk_window_paint_init_bg): This function was ignoring the
10682         init_region, instead of clipping to it, so the entire backing
10683         pixmap was cleared on every begin_paint()
10684         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
10685         was in here again, the loop kept using the same GtkWindowPaint
10686         over and over.
10687         (gdk_window_begin_paint_region): Fix a bug where we had two
10688         x_offset instead of x_offset and y_offset
10689
10690         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
10691         before we get the image.
10692         (gdk_draw_drawable): get the composite before we draw the drawable.
10693         (gdk_drawable_real_get_composite_drawable): default
10694         get_composite_drawable implementation that returns the drawable 
10695         itself
10696
10697         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
10698         get_composite_drawable virtual function
10699
10700         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
10701         list-walking bug
10702
10703         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
10704         make this work if the source drawable is a GdkDrawableImplX11
10705         instead of a public drawable type. This is really broken; the
10706         problem is that GdkDrawable needs a virtual method get_xid(), but
10707         of course that doesn't work in practice. Enter RTTI.
10708
10709         Also, improve mismatched depth message.
10710
10711         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
10712         GdkPixmap
10713
10714         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
10715         install _gdk_x11_get_image as our implementation of get_image
10716         
10717         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
10718         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
10719
10720         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
10721         gdk_drawable_get_image
10722
10723         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
10724
10725         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
10726         get_image
10727
10728         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
10729         trailing semicolon after for loop
10730
10731 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
10732
10733         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
10734         where font_desc for widget's context lagged widget's font_desc by
10735         one step.
10736
10737 2000-10-22  Tor Lillqvist  <tml@iki.fi>
10738
10739         * gdk/win32/gdkgc-win32.c
10740         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
10741
10742         * gtk/makefile.mingw.in
10743         * gtk/gtk.def: Updates.
10744
10745         * gtk/testgtk.c: sleep() is called _sleep in MS's C
10746         library.
10747
10748         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
10749
10750         * gtk/makefile.msc: Remove
10751
10752         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
10753
10754         * gtk/Makefile.am: Add it.
10755
10756         * configure.in: Generate it.
10757
10758         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
10759         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
10760         something even if not implemented, to satisfy picky MSVC.
10761
10762         Patches by Hans Breuer:
10763         
10764         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
10765         SetBkMode() and SetTextAlign() before calling
10766         pango_win32_render().
10767
10768         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
10769         Set hcliprgn to NULL after destroying it.
10770         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
10771
10772         * gdk/win32/gdkgeometry-win32.c
10773         (_gdk_windowing_window_queue_antiexpose): More effective
10774         implementation.
10775
10776         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
10777         depth as default, not the visual's.
10778
10779         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
10780         against empty title.
10781
10782         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
10783         IMAGE_PRIVATE_DATA.
10784
10785         * gdk/win32/gdkimage-win32.c: Use it.
10786
10787 2000-10-22  Robert Brady  <robert@suse.co.uk>
10788
10789         * configure.in: Check for bind_textdomain_codeset
10790
10791         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
10792         present, make use of it.
10793
10794         Add a translatable string "default:LTR" which, if translated
10795         to "default:RTL", will cause the default direction to be
10796         Right-to-Left.
10797
10798         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
10799         direction if marked as flippable.
10800
10801         * gtk/gtkhscale.c: Mark widget as flippable.
10802         
10803 2000-10-04  Havoc Pennington  <hp@redhat.com>
10804
10805         * gtk/testgtk.c (create_buttons): create some stock buttons
10806         with the default accel group
10807         (create_image): test some new GtkImage features
10808         (make_message_dialog): test GtkMessageDialog
10809         (create_modal_window): fix someone's bizzarro indentation
10810
10811         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
10812         GTK_WIN_POS_CENTER_ON_PARENT. 
10813         Add "destroy with parent" setting, which means the window goes
10814         away with its transient parent.
10815         (gtk_window_get_default_accel_group): get the default accel group
10816         for the window.
10817         (gtk_window_set_destroy_with_parent): set/unset destroy with
10818         parent flag
10819         (gtk_window_read_rcfiles): invalidate icon set caches
10820         after reloading rcfiles 
10821
10822         * gtk/gtkenums.h (GtkWindowPosition): add
10823         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
10824         on its parent window when the dialog is mapped for the first time.
10825
10826         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
10827         a simple message dialog class
10828         
10829         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
10830         handler to emit response signal, and maybe later it would
10831         honor a hide_on_delete flag - though that isn't there yet.
10832         Set border width on the vbox to 2, so we get some padding.      
10833         Use a button box for the action area.
10834         (gtk_dialog_key_press): synthesize a delete event if Esc
10835         is pressed and the GtkWidget key press handler didn't 
10836         handle the escape key.
10837         (gtk_dialog_new_with_buttons): new function creates a dialog
10838         with some default buttons in it.
10839         (gtk_dialog_add_action_widget): add an activatable widget
10840         as a button in the dialog - you can also add a non-activatable
10841         widget by accessing the action area directly.
10842         (gtk_dialog_add_button): add a simple button - stock ID or 
10843         label - to the action area
10844         (gtk_dialog_response): emit response signal
10845         (gtk_dialog_run): block waiting for the dialog, return 
10846         the response. Override normal delete_event behavior, so that 
10847         delete_event does nothing inside gtk_dialog_run().
10848
10849         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
10850         emitted when an action widget is clicked or the dialog gets
10851         delete_event
10852
10853         * gtk/gtk.h: add gtkmessagedialog.h
10854
10855         * gtk/Makefile.am: add gtkmessagedialog.[hc]
10856
10857 2000-10-18  Havoc Pennington  <hp@redhat.com>
10858
10859         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
10860         where any number of empty lines would get skipped
10861
10862         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
10863         edge.
10864
10865         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
10866         warning about invalid iterators (explain more thoroughly)
10867         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
10868
10869         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
10870         big
10871
10872         * demos/*.c: Add error handling
10873
10874         * gtk/gtktextbuffer.c: don't modify const iterators
10875
10876         * gtk/gdk-pixbuf-loader.c: Add full error handling here
10877
10878         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
10879         on file load
10880
10881         * gtk/gtkiconfactory.c: Update to reflect addition of error
10882         handling to gdk-pixbuf loaders
10883
10884 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
10885
10886         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
10887         move to new modularized testgtk.
10888
10889 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
10890
10891         * gtk/gtktreeview.c: Draw the arrows correctly.
10892
10893         * gtk/gtktreemodel.c: Added user docs.
10894
10895         * gtk/gtk.h: remove gtktreedatalist.h.
10896
10897         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
10898         parent when generating my type.
10899
10900         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
10901         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
10902
10903 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
10904
10905         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
10906         GtkTreeModel from object to interface.
10907
10908 2000-10-16  Havoc Pennington  <hp@redhat.com>
10909
10910         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
10911         compilation
10912
10913 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
10914
10915         * gtk/gtktreeselection.c: Add API documentation to all public
10916         functions.
10917
10918         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
10919         functions.
10920
10921 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
10922
10923         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
10924         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
10925         docs to all public functions.
10926
10927         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
10928         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
10929         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
10930         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
10931         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
10932         issue.
10933
10934 2000-10-14  Robert Brady  <robert@suse.co.uk>
10935
10936         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
10937
10938 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
10939
10940         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
10941         values other then G_TYPE_STRING.
10942         * gtk/gtktreeselection.c: Minor commenting updates.
10943         * gtk/gtktreeview.c: Format updates.
10944
10945 2000-10-09  Tor Lillqvist  <tml@iki.fi>
10946
10947         * README.win32: Update.
10948
10949         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
10950         lines that had been deleted by mistake (?).
10951
10952         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
10953         also the case fg==white and bg==black (but still not randomly
10954         coloured cursors). Thanks to Wolfgang Sourdeau.
10955
10956         * gdk/win32/*.c: Silence gcc -Wall.
10957
10958         * gtk/gtk.def: Add missing entry points.
10959
10960         Fixes by Hans Breuer:
10961
10962         * gdk/makefile.msc
10963         * gdk/win32/makefile.msc: Update.
10964
10965         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
10966         some MSVC thing, presumably), cause breakpoint on failures. Add
10967         GDK_NOR case. Call g_log_set_always_fatal.
10968
10969         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
10970         should be pased by reference.
10971         
10972         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
10973         
10974         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
10975
10976         * gdk/win32/gdkevents-win32.c
10977         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
10978
10979         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
10980         implementation object.
10981
10982         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
10983         not just windows.
10984         
10985         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
10986         Use the wrapper object.
10987         
10988 2000-10-06  Havoc Pennington  <hp@redhat.com>
10989
10990         * Makefile.am (SRC_SUBDIRS): contrib subdir
10991
10992         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
10993         so it can be used in Xlib version
10994
10995         * demos/testpixbuf.c (update_timeout): error checking from 1.0
10996         tree
10997
10998         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
10999         change from 1.0 tree that returns first frame of animation
11000         if the loaded file is an animation.
11001
11002         * contrib: add new directory to hold stuff that comes with GTK+
11003         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
11004         
11005         * configure.in: add contrib/*
11006
11007 2000-10-05  Havoc Pennington  <hp@redhat.com>
11008
11009         * demos/testpixbuf-save.c: add pixbuf save test
11010
11011         * demos/Makefile.am: add testpixbuf-save.c
11012
11013 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
11014
11015         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
11016         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
11017         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
11018         * gtk/gtktreeselection.[ch]: Replaced
11019         "node_selected"/"node_unselected" signal with "selection_changed"
11020         signal.
11021
11022 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
11023
11024         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
11025         tree widget.
11026
11027 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
11028
11029         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
11030         drawing.
11031
11032 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
11033
11034         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
11035         Move list pointer forwards before removing item from
11036         list. (Crash reported by Salmaso Raffaele)
11037
11038         * gdk/gdkwindow.h: Remove spurious trailing ,
11039
11040         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
11041         dependencies on uninstalled libraries, sorry folks.
11042
11043 2000-10-04  Havoc Pennington  <hp@redhat.com>
11044
11045         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
11046         gtk/gtkiconfactory.c: Fix copyrights    
11047
11048         * demos/testpixbuf.c: add inline pixbuf test
11049         
11050 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
11051
11052         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
11053         Add gdk_window_iconify.
11054
11055         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
11056         (gdk_window_set_geometry_hints): Add win_gravity
11057         to geometry structure.
11058
11059         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
11060         Implement _NET_WM_PING.
11061
11062         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
11063         Set _NET_WM_PID on the client leader.
11064
11065         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
11066         Handle UTF-8 better.
11067
11068         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
11069         UTF-8 better, set _NET_WM_NAME as well. Only set
11070         icon name if it hasn't previously been explicitely 
11071         set.
11072
11073 2000-10-03  Havoc Pennington  <hp@redhat.com>
11074
11075         * gtk/testtextbuffer.c: clean up trailing whitespace,
11076         add extensive tests for tag toggle iteration.
11077         
11078         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
11079         distance
11080
11081         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
11082         optimize case where the tag root is on level 1
11083         (gtk_text_line_previous_could_contain_tag): attempt to implement
11084         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
11085         functionality
11086
11087         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
11088         Implement this, though not very efficiently.
11089
11090         * gtk/gtktextiterprivate.h: reformat
11091
11092         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
11093         iterator
11094
11095         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
11096         this to properly revalidate the iterators.
11097
11098         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
11099         properly at the end of the line (and therefore on empty lines)
11100
11101         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
11102         maybe we should return a value...
11103
11104 2000-10-03  Tor Lillqvist  <tml@iki.fi>
11105
11106         * config.h.win32: Guard definition of alloca(). glib.h now handles
11107         that.
11108
11109         * gdk/gdk.def
11110         * gtk/gtk.def: Add new entry points.
11111
11112         Changes just to make GTK+ build without errors on Win32. No hope
11113         of it working in its current state, though...:
11114         
11115         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
11116         some functions from the X11 backend, just to make GTK+ build.
11117
11118         * gdk/makefile.mingw.in
11119         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
11120         number. Add new object files.
11121
11122         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
11123         GetMessageTime to get timestamp (where on X11 uses
11124         gdk_x11_get_server_time()).
11125
11126 2000-10-02  Havoc Pennington  <hp@pobox.com>
11127
11128         * gtk/gtktextview.c: text_window_* weren't static and should have
11129         been.
11130         Start work on child widgets; not yet complete, syncing to 
11131         office computer.
11132
11133         * gtk/gtktextchild.h: change this to contain a public interface,
11134         starting work on child interfaces.
11135         * gtk/gtktextchildprivate.h: move private interfaces here
11136
11137         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
11138
11139         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
11140         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
11141         gtk/gtktextmark.c: copyright notices
11142
11143         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
11144         internal functions      
11145
11146         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
11147         internal function
11148
11149         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
11150         Reformatting    
11151
11152 2000-09-30  Havoc Pennington  <hp@pobox.com>
11153
11154         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
11155         NULL start/end pointers
11156
11157         * gtk/gtktextbuffer.c: Write some docs
11158         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
11159         NULL, so you can just check whether there's a selection.        
11160
11161         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
11162         cleanup_line or segments_changed ourselves, it gets done 
11163         in unlink_segment
11164
11165         * gtk/gtktextmark.h:
11166         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
11167         
11168         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
11169
11170         * gtk/gtktextmark.c: delete some more old Tk cruft
11171
11172         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
11173         mark before removing it, so we can emit MARK_DELETED with a valid
11174         pointer.
11175         (gtk_text_buffer_mark_set): hold ref across signal emission
11176
11177         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
11178         whining about attempts to delete special marks
11179
11180         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
11181         underscore, since it's internal.
11182
11183         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
11184         now implemented in terms of iterators in gtktextiter.h
11185
11186         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
11187         New function, destructively sets contents of buffer. Also 
11188         a convenient way to clear the buffer by setting text to ""
11189
11190         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
11191         multiline string literal
11192
11193         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
11194         text changes.
11195
11196         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
11197         is not dereferenceable
11198         (gtk_text_iter_forward_lines): fix return value
11199
11200 2000-09-29  Havoc Pennington  <hp@redhat.com>
11201
11202         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
11203
11204         * gtk/gtktextview.c: Implement drag thresholding; change functions 
11205         that set border window size to have nicer name
11206         (gtk_text_view_mark_set_handler):  Fix this to have the 
11207         right signature.
11208
11209         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
11210
11211         * gtk/testtext.c: Update with API changes, put line numbers on 
11212         both sides.
11213         
11214         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
11215         with this
11216
11217         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
11218         pixbuf; delete a big block of #if 0 Tk code
11219
11220         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
11221         insert_pixmap with insert_pixbuf
11222
11223 2000-09-29  Martin Baulig  <baulig@suse.de>
11224
11225         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
11226         confusion with the GdkPixbuf of the GNOME 1.x platform.
11227
11228 2000-09-29  Havoc Pennington  <hp@pobox.com>
11229
11230         * gtk/gtktextview.c: Implement the side windows.
11231
11232         * gtk/testtext.c: Implement simple line numbering in the 
11233         left side window; seems to make scrolling sloooow. Oops.
11234         Also, cursor blink is for some reason causing redraws
11235         of the line numbers. Should investigate...
11236
11237 2000-09-28  Havoc Pennington  <hp@redhat.com>
11238
11239         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
11240         scrolling child windows, and draw focus rectangle properly.
11241         
11242         (gtk_text_view_buffer_to_window_coords):
11243         Coordinate transformation to deal with all these freaking windows
11244         and offsets
11245         (gtk_text_view_window_to_buffer_coords): transform the other way
11246
11247         * gtk/testtext.c (create_buffer): Update to match Pango API change
11248
11249         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
11250         anonymous tags
11251         (foreach_unref): don't emit remove signal from finalize, just
11252         set tag's parent to NULL
11253
11254 2000-09-26  Havoc Pennington  <hp@redhat.com>
11255
11256         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
11257         Fix some warnings       
11258
11259 2000-09-26  Havoc Pennington  <hp@redhat.com>
11260
11261         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
11262         headers into the private header list
11263
11264         * Makefile.am (pkgconfig_DATA): install pkg-config files
11265
11266         * configure.in: add pkg-config files
11267
11268         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
11269
11270         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
11271         outstanding icon caches on theme change.
11272
11273         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
11274         important types:
11275
11276         (GtkIconSource): Specification for creating a pixbuf 
11277         appropriate for a direction/state/size triplet from 
11278         a source pixbuf or filename
11279
11280         (GtkIconSet): List of GtkIconSource objects that are used to
11281         create the "same" icon (e.g. an OK button icon), and cache for
11282         rendered icons
11283
11284         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
11285         up the icon set for a given stock ID.  GTK maintains a stack of
11286         GtkIconFactory to search, and applications or libraries can add
11287         additional icon factories on top of the stack
11288         
11289         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
11290         the set of GtkIconSource specified for a given stock ID into 
11291         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
11292         RcStyle, under the specified stock ID.
11293
11294         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
11295         render_icon used to derive a GdkPixbuf from a GtkIconSource.
11296         This allows people to theme how prelight, insensitive, etc. are
11297         done.
11298
11299         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
11300         icon factories for a style, and return the resulting 
11301         icon set if any.
11302
11303         (gtk_style_render_icon): Render an icon using the render_icon 
11304         method in the GtkStyleClass.
11305
11306         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
11307         Use the style for a given widget to look up a stock ID, get the
11308         icon set, and render an icon using the render_icon method 
11309         of the style
11310
11311         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
11312         (contains information about a stock item), the built-in stock item
11313         IDs, and functions to add/lookup stock items.
11314
11315         * gtk/stock-icons/*: Stock icons that come with GTK
11316
11317         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
11318         a button based on a GtkStockItem
11319         (gtk_button_new_accel): Takes a uline string and accel group, and
11320         installs the accelerator.
11321
11322         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
11323         image-display widget.
11324
11325 2000-09-25  Havoc Pennington  <hp@redhat.com>
11326
11327         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
11328
11329         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
11330         Fix a bug when removing node data, we didn't properly 
11331         re-splice the linked list after removing the data.
11332
11333         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
11334         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
11335
11336         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
11337
11338         * gtk/gtktextlayout.c (set_para_values): Set tab array 
11339         for the layout from the GtkTextTag.
11340
11341         * gtk/gtktexttypes.h: delete tab and search cruft, 
11342         remove g_convert() in favor of GLib version
11343
11344         * gtk/gtktexttypes.c: remove tab implementation from here,
11345         move to Pango
11346
11347         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
11348         tab stuff using new PangoTabArray from Pango
11349
11350         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
11351         unused border_width stuff
11352
11353 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
11354
11355         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
11356         glib) and now useless utf_to_latin1() latin1_to_utf()
11357
11358         * gtk/gtktextview.[ch]: Change ::move_insert and
11359         ::delete_text action signals to ::move and ::delete;
11360         create the signals with the right enumeration type,
11361         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
11362         C-v bindings, change Home, End to move to beginning/end
11363         of line, Add C-Home C-End to move to beginning/end
11364         of buffer. Change ::cut_text to ::cut_clipboard, etc;
11365         combine ::scroll_text into ::move; use new GtkSelectionData
11366         functions to simplify DND text handling.
11367         
11368         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
11369         deletion enumerations here, rename enumeration values to 
11370         be consistently plural.
11371
11372         * gtk/gtktextbuffer.c: Use new clipboard interfaces
11373         for cut/copy/paste and primary selection.
11374
11375         * gtk/gtktextbuffer.[ch]: Remove excess time and
11376         'interactive' arguments from cut/copy/paste;
11377         rename cut to cut_clipboard, etc; remove
11378         gtk_text_buffer_get_clipboard_contents().
11379
11380         * gtk/gtktextlayout.[ch]: Add 
11381         gtk_text_layout_move_iter_to_line_end() to move the iter to 
11382         line ends.
11383
11384         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
11385         Functions to set or get a UTF-8 string on the selection
11386         data.
11387
11388         * gtk/gtkclipboard.[ch]: New, simplified selection handling
11389         interfaces.
11390
11391         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
11392         created widgets - one of these is useless if we don't.
11393
11394         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
11395         a public function clear all targets registered for the
11396         widget.
11397
11398         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
11399         Never call gtk_widget_realize() - that was just asking
11400         for bizarre side-effects.
11401
11402         * gtk/gtkselection.c (gtk_selection_owner_set): Call
11403         gdk_selection_owner_set even if the widget is the
11404         same so that we reliably update the timestamp on
11405         the server.
11406
11407         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
11408         gdk_x11_get_server_time() function.
11409         
11410         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
11411         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
11412         Add some tricky filtering on serial numbers for
11413         selection clear events to fix up long-standard
11414         race condition FIXME's in gtkselection.c.
11415
11416         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
11417         routines to convert from utf8 to compound text or
11418         STRING and from a text property to UTF-8.
11419
11420         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
11421         a convenience function gdk_get_current_event_time().
11422
11423         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
11424         and free selection_data->data properly
11425
11426 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
11427
11428         * gtk/gtkthemes.c: Remove some unecessary includes.
11429
11430 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
11431
11432         * gtk/gtktextdisplay.c
11433         * gtk/gtktextlayout.c
11434         * gtk/gtktexttag.c
11435         * gtk/gtktexttag.h
11436         * gtk/testtext.c: Change the overstrike property to strikethrough,
11437         to closer match pango.
11438
11439 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
11440
11441         * gtk/gtktextview.c: Fix up visibility so that focus,
11442         cursor_visible and blink interact properly.  Reenable cursor blink
11443         which had been roughly disabled. Make blink and focus
11444         properly per-view.
11445
11446         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
11447         Add a flag for whether to display insertion cursor and
11448         a function to set the flag.
11449
11450         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
11451         get_line_y() to get_line_yrange(), to be a bit more generally
11452         useful.
11453
11454 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
11455
11456         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
11457           do stop_navigating_submenu, to clear last timeout properly.
11458           Also in gtk_menu_motion_notify move ignore_enter above
11459           the conditional to make it always happen as suggested by Owen
11460
11461 2000-09-07  Tor Lillqvist  <tml@iki.fi>
11462
11463         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
11464
11465         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
11466         w32api headers.
11467
11468         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
11469         declarations.
11470
11471         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
11472         (gdk_win32_get_colormap): A line had been deleted by mistake.
11473
11474         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
11475         (gdk_event_translate): Handle more virtual keycodes to be able to
11476         generate GDK events for Control-comma, Control-period, etc.
11477
11478         * gtk/gtk.def: Add some missing entry points.
11479
11480 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
11481
11482         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
11483         Doc comment fixing. (Mostly non-matching parameter names.)
11484
11485         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
11486         comments a little to avoid looking like a doc comment.
11487
11488         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
11489         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
11490         conversions be changed to GError?)
11491
11492         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
11493         Move private #defines into .c file.
11494
11495         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
11496         order of argument addition, remove duplicates.
11497
11498         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
11499         parent class is FrameClass, not BinClass.
11500
11501         * gtk/gtk.h: Add gtkinvisible, which was missing.
11502         (It's occasionalyl useful for client apps, if seldom.)
11503
11504         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
11505         #define.
11506
11507 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
11508
11509         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
11510         coordinates when creating window, instead of GDK-space
11511         coordinates. (Avoid BadValue on too large windows.)
11512
11513 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
11514
11515         * configure.in (use_mmx_asm): Remove conftest* after use along the
11516         lines of AC_TRY_COMPILE.        
11517         
11518         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
11519         of g_dirname, which is deprecated.
11520         (gtk_rc_parse_any): Removed calls to
11521         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
11522
11523         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
11524         Removed calls to g_hash_table_{freeze,thaw}, as they are
11525         deprecated now.
11526
11527         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
11528         instead of g_basename.
11529         
11530 2000-09-04 Elliot Lee <sopwith@redhat.com>
11531         
11532         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
11533         ANSI warning.
11534
11535 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
11536
11537         * gtk/gtkwidget.h:  Add some documenting comments about 
11538           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
11539           just as owen said on irc.
11540
11541         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
11542           set HAS_DEFAULT.  Only set it if there isn't another window
11543           holding it (a focus window which RECEIVES_DEFAULT) and only unset
11544           it if the widget is not the focused window with RECEIVES_DEFAULT.
11545           This fixes weird double default bugs in dialogs which has things
11546           call gtk_window_set_default at times.
11547
11548 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
11549
11550         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
11551         Nils Barth and David Santiago to improve submenu
11552         navigation. The patch does this by creating a triangular
11553         region from the point where the pointer leaves the
11554         menu to the submenu.  While the pointer is in
11555         that region and a timeout has not expired, events 
11556         that would cause the active submenu to change are
11557         ignored.
11558
11559 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
11560
11561         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
11562         moving a toplevel window immediately after sizing it would
11563         result in it being sized back to the old size since 
11564         impl->width, impl->height aren't updated until we hear
11565         back from the server. There is still a (longstanding) bug
11566         here that gdk_window_get_size() will give the wrong size
11567         until we do hear back.
11568
11569 2000-08-31  Havoc Pennington  <hp@redhat.com>
11570
11571         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
11572         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
11573         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
11574         Rename GtkTextStyleValues to GtkTextAttributes
11575
11576 2000-08-31  Havoc Pennington  <hp@pobox.com>
11577
11578         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
11579         for rapid testing whether an iterator is the end iterator
11580         (gtk_text_btree_new): init end line cache
11581         (gtk_text_line_is_last): use fast cached line to 
11582         see if we're the last line.
11583         (get_last_line): use cached line here too, should 
11584         speed up some random unrelated code.
11585         
11586 2000-08-30  Havoc Pennington  <hp@pobox.com>
11587
11588         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
11589         signals.
11590
11591         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
11592         delete_text signals. This allows the signals to be used for
11593         implementing undo.
11594
11595         * gtk/gtktextbuffer.c: Change signal handler signatures; 
11596         provide "interactive" argument when emitting insert_text or
11597         delete_text signal.
11598         
11599 2000-08-30  Havoc Pennington  <hp@pobox.com>
11600
11601         * gtk/gtktextbuffer.c: Docs
11602
11603 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
11604
11605         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
11606         from switch statements, since Tor removed the enumeration
11607         value.
11608         
11609         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
11610         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
11611
11612 2000-08-29 Elliot Lee <sopwith@redhat.com>
11613         * */*.h: Use G_GNUC_CONST.
11614
11615 2000-08-27  Havoc Pennington  <hp@pobox.com>
11616
11617         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
11618         minor indentation fixes, inserted some FIXME about stuff I
11619         realized was broken while documenting it.
11620         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
11621         GTK convention  
11622
11623 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
11624
11625         * gtk/testgtk.c (create_styles): Fix double free of
11626         font desc.
11627
11628 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
11629
11630         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
11631         
11632         * gtk/testgtk.c (create_styles): Add a test for modifying
11633         the style through gtk_widget_modify_*.
11634
11635         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
11636         a function to get the current modifier style.
11637
11638         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
11639         of the passed in GtkRcStyle instead of ref'ing it.
11640
11641         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
11642
11643 2000-08-20  Tor Lillqvist  <tml@iki.fi>
11644
11645         * gdk/gdkimage.h
11646         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
11647         shared memory image+pixmap GdkImage type, or
11648         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
11649         I am dropping that.
11650
11651         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
11652         actually call gtk_init_abi_check(), passing also
11653         sizeof(GtkWindow). Ditto for gtk_init_check(). 
11654
11655         * gtk/gtk.def
11656         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
11657         New functions, used to check that the GTK+-using code has been
11658         compiled using the correct compiler and switches. In particular,
11659         with gcc one has to use the -fnative-struct switch as GTK+ is
11660         compiled with that.
11661
11662 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
11663
11664         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
11665         ->prev fields when merging lists. (Found simultaneously
11666         by Pawel Salek and Jakub Jelinek)
11667
11668 2000-08-12  Tor Lillqvist  <tml@iki.fi>
11669
11670         * gdk/gdk.def
11671         * gtk/gtk.def: Add missing entries.
11672
11673         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
11674         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
11675
11676         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
11677         function. Dummy implementation at this point.
11678
11679         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
11680         rules. Undefine GTK_COMPILATION when compiling the test programs.
11681         
11682         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
11683
11684 2000-08-11  Tor Lillqvist  <tml@iki.fi>
11685
11686         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
11687         to convert back and forth from UTF-8 and the "system" (or "current
11688         locale") charset when necessary. Indentation/spacing cleanup.
11689
11690 2000-08-10  Havoc Pennington  <hp@redhat.com>
11691
11692         * Makefile.am (snapshot): Change the format of the snapshot
11693         version to match glib
11694
11695         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
11696         from EXTRA_DIST since it doesn't seem to exist
11697
11698 2000-08-10  Tor Lillqvist  <tml@iki.fi>
11699
11700         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
11701         version of the directory name (not the UTF-8 one) when building
11702         the path name to stat().
11703
11704 2000-08-03  Elliot Lee  <sopwith@redhat.com>
11705
11706         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
11707         PANGO_ATTR_SHAPE set.
11708
11709 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
11710
11711         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
11712         Peter Osterlund to simplify the code while keeping the
11713         functionality the same.
11714
11715 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
11716
11717         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
11718         is_viewable() test further inside the function, since removing the 
11719         window from the redraw list without clearing ->update_area
11720         was also very broken.
11721
11722 2000-08-02  Tor Lillqvist  <tml@iki.fi>
11723
11724         * configure.in: Check for <unistd.h>.
11725
11726 2000-08-01  Martin Baulig  <baulig@suse.de>
11727
11728         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
11729         to display the message that this is a development version of GTK+.
11730
11731 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
11732
11733         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
11734         was depending on widget->allocation instead of the width of text_area,
11735         which was incorrect for subclasses like GtkSpinButton.
11736
11737         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
11738         with width == 1 tests that should be width == -1.
11739
11740 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
11741
11742         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
11743         (broken, Elliot, every single window blank on X) custom code with call
11744         to gdk_window_is_viewable() which a) prevents code duplicate and
11745         b) works. 
11746
11747 2000-07-31  Elliot Lee  <sopwith@redhat.com>
11748
11749         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
11750         to get the GDK_PARENT_ROOT() macro to work.
11751         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
11752         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
11753         of, windows that aren't shown.
11754         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
11755         pointer grab stuff.
11756
11757 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
11758
11759         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
11760           s/gtk_main_iteration/g_main_iteration/
11761
11762           Did this already in change:
11763                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
11764           don't know how it got reverted.
11765
11766 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
11767
11768         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
11769         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
11770
11771         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
11772         not gdk_pixbuf.
11773
11774 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
11775
11776         * configure.in,po/{sp,sr}.po: Added Serbian files
11777
11778 2000-07-30  Tor Lillqvist  <tml@iki.fi>
11779
11780         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
11781
11782         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
11783         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
11784         GIOChannel implementation.
11785
11786         * gdk/win32/gdkinput.c
11787         * gdk/win32/gdkpango-win32.c: Update license name here, too.
11788
11789         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
11790         definition to match prototype.
11791
11792         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
11793
11794 2000-07-27  Elliot Lee  <sopwith@redhat.com>
11795
11796         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
11797         function, to allow handling image formats that cannot be detected
11798         by looking at content alone.
11799
11800 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
11801
11802         * docs/tutorial/*.gif *.jpg *.eps
11803           Update these to the same look-n-feel.
11804           Why does including images in DocBook suck so badly?
11805
11806 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
11807
11808         * gtk/gtktable.c: applied patch from Phil Thompson
11809         <phil@river-bank.demon.co.uk> that enables space settings for
11810         the last row/columns as well.
11811
11812 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
11813
11814         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
11815         updates the license headers to the GNU Lesser General Public License,
11816         as well as updating the copyright year to 2000.
11817
11818 2000-07-26  Robert Brady  <rwb197@zepler.org>
11819
11820         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
11821           and po/Makefile, was installing and looking for them under gtk20
11822           and gtk2 respectively.
11823
11824 2000-07-25  Havoc Pennington  <hp@redhat.com>
11825
11826         * gtk/testtext.c: Comment out some stuff that depends on the rest
11827         of my patches.
11828
11829 2000-07-25  Havoc Pennington  <hp@redhat.com>
11830
11831         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
11832         buffer
11833
11834 2000-07-25  Havoc Pennington  <hp@redhat.com>
11835
11836         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
11837         widget changes.
11838
11839         * gtk/gtktextview.h: To be consistent with usage of "line"
11840         throughout the API to mean "newline-terminated thingy", change
11841         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
11842         to MOVEMENT_LINE.
11843
11844         (GtkTextView): Add flags for default editability, and whether to
11845         show the cursor. Add functions to get/set that. Add 
11846
11847         (gtk_text_view_get_iter_location): new function
11848
11849         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
11850         gtktextlayout.h
11851         (g_convert): Add g_convert temporarily, will go in glib in a bit
11852         
11853         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
11854         GtkTextTagTableForeach instead of brokenly using GHFunc.
11855         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
11856
11857         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
11858         moved to public header.
11859
11860         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
11861         "invisible", since "elide" was a bad name.
11862         (gtk_text_tag_get_priority): Added
11863
11864         (GtkTextStyleValues): put this in public header, along with
11865         functions to use it.
11866
11867         * gtk/gtktextmarkprivate.h: Include more headers, since we no
11868         longer include gtktextbtree.h.
11869
11870         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
11871         gtk_text_mark_deleted
11872
11873         * gtk/gtktextlayout.h: Don't include the "really private" headers,
11874         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
11875         to make this possible. Now we only need to install
11876         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
11877         (However the Makefile.am isn't changed yet because of the
11878         logistics of merging gtk-hp-patches piecemeal)
11879
11880         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
11881         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
11882         gtk_text_iter_get_line is now used in the public API for a
11883         different purpose.
11884
11885         * gtk/gtktextiter.h: Clean up function names to be more
11886         consistent. Always call char offset "offset" and byte index
11887         "index". A "line" is always a line number. 
11888
11889         (gtk_text_iter_is_last): new function, more efficient than 
11890         the existing way to check
11891         (gtk_text_iter_is_first): new function, also more efficient
11892
11893         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
11894
11895         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
11896         gtk_text_iter_forward_char, etc.
11897
11898         (gtk_text_iter_forward_to_tag_toggle): Renamed from
11899         forward_find_tag_toggle, since this isn't a linear search
11900
11901         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
11902
11903         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
11904         New functions, search for a buffer substring.
11905
11906         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
11907         interactive and default editable (since we need to store that info
11908         until we receive the selection data).
11909
11910         Remove all the _at_char and at_line etc. versions of functions;
11911         only have iterator versions.
11912
11913         Add _interactive() versions of functions, that consider the
11914         editability of text. (FIXME add interactive flag to the 
11915         insert/delete signals per Darin's suggestion)
11916
11917         (gtk_text_buffer_get_tag_table): new function, demand-creates the
11918         tag table if necessary
11919
11920         Remove declaration of gtk_text_buffer_get_iter_from_string
11921
11922         (_gtk_text_buffer_get_btree): private/internal function, added.
11923         
11924
11925         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
11926         (gtk_text_line_is_last): new function
11927
11928 2000-07-25  Havoc Pennington  <hp@redhat.com>
11929
11930         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
11931         using GtkProgressBar. See Changes-2.0.txt for details.
11932
11933         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
11934         "pulse_step" which are the equivalent of
11935         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
11936         Implement new API.
11937         
11938         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
11939         (use_text_format) to mark whether text set on the progress bar is
11940         a format string. Deprecate entire GtkProgress interface.
11941
11942         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
11943         (gtk_progress_build_string): make this a no-op if use_text_format
11944         is FALSE
11945
11946         * docs/Changes-2.0.txt: Describe progress bar changes.
11947
11948 2000-07-25  Tor Lillqvist  <tml@iki.fi>
11949
11950         * Makefile.am: Include the build directory.
11951
11952         * configure.in: Generate build/Makefile, build/win32/Makefile,
11953         gdk/, gdk/win32/, and gtk/makefile.mingw.
11954
11955         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
11956         Add GETTEXT_PACKAGE.
11957         
11958         * gdk/gdk.def
11959         * gtk/gtk.def: Updates.
11960
11961         * gdk/gdkfont.h
11962         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
11963         need them any longer.
11964
11965         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
11966
11967         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
11968         PANGOWIN32_LIBS and gdk_pixbuf.
11969
11970         * gdk/win32: Compiles, but no doubt doesn't work at all.
11971
11972         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
11973
11974         * gdk/win32/gdkinput.c: New file, temporarily.
11975         
11976         * gdk/win32/gdkinput-win32.h: New file
11977
11978         * gdk/win32/gdkinputprivate.h: Remove.
11979
11980         * gdk/win32/gdkpango-win32.c: New file.
11981
11982         * gtk/makefile.mingw.in: New file
11983
11984         * gtk/makefile.cygwin: Removed
11985         
11986         * gtk/Makefile.am: Update accordingly.
11987
11988         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
11989         made externally visible.
11990
11991         * gtk/gtkmain.c: Use it.
11992         
11993         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
11994         is enough.
11995
11996         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
11997
11998 2000-07-24 Elliot Lee <sopwith@redhat.com>
11999         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
12000         individual backends already.
12001         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
12002         again. Yes, there really is a good reason for this, if you are using the gdkregion
12003         internals, and if you're not, why do you care?
12004         * gdk/gdkwindow.c: Fix inverted condition
12005         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
12006         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
12007         * gtk/gtkrange.c: Redraw trough when moving.
12008         * gtk/gtktypeutils.c: Fix warning by adding const cast.
12009         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
12010
12011 2000-07-23  Tor Lillqvist  <tml@iki.fi>
12012
12013         * configure.in: Check for mkstemp and sigsetjmp. Output
12014         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
12015
12016         More work on GDK for Win32. Still in an intermediate state.
12017
12018         * gdk/makefile.cygwin
12019         * gdk/win32/makefile.cygwin: Removed.
12020         
12021         * gdk/makefile.mingw.in
12022         * gdk/win32/makefile.mingw.in: New files.
12023
12024         * gdk/Makefile.am
12025         * gdk/win32/Makefile.am: Generate and distribute them.
12026
12027         * gdk/win32/gdkwindow-win32.h
12028         * gdk/win32/gdkdrawable-win32.h
12029         * gdk/win32/gdkpixmap-win32.h: New files.
12030
12031         * gdk/win32/gdkcolor-win32.c
12032         * gdk/win32/gdkcursor-win32.c
12033         * gdk/win32/gdkdrawable-win32.c
12034         * gdk/win32/gdkgc-win32.c
12035         * gdk/win32/gdkimage-win32.c
12036         * gdk/win32/gdkprivate-win32.h
12037         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
12038         Rename fields and variables called xcursor, xid, etc (these names
12039         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
12040
12041 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
12042
12043         * gtk/gtkentry.[ch]: Fix some problems with vertical
12044         alignment.
12045
12046         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
12047         char/byte confusion.
12048
12049 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
12050
12051         * gtk/gtktextview.c (changed_handler): Fix bug where
12052         redraw wasn't being done properly when height of
12053         dirty region changed.
12054
12055         * demos/Makefile.am: Remove various references to
12056         -lgmodule
12057
12058 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
12059
12060         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
12061         PangoAttrShape to reserve space for pixmaps, add 
12062         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
12063         in the display functions.
12064         
12065         * gtk/testgtk.c (create_layout): Set some more exotic
12066         scrolled window options
12067
12068         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
12069         Add function to set the shadow type of a window, to allow
12070         putting a shadow around widgets such as GtkLayout or GnomeCanvas
12071         which don't draw their own frame.
12072
12073 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
12074
12075         * docs/tutorial/package-db-tutorial.sh: New file for
12076           packaging DocBook format tutorial
12077
12078 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
12079
12080         * docs/tutorial/gtk-tut.sgml: Minor updates
12081
12082         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
12083
12084 2000-07-19  Tor Lillqvist  <tml@iki.fi>
12085
12086         * gtk/gtksignal.c: Fix C++ comment.
12087
12088         * gtk/gtkimmulticontext.c
12089         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
12090         don't return value from void functions.
12091
12092         * gtk/gtk.def: Add gtk_rc_style_unref.
12093
12094 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
12095
12096         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
12097         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
12098         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
12099         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
12100         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
12101         gtk/gtktypeutils.h: Include files outside of the extern "C"
12102         block. Makes some C++ compiler happy. Reported by Denis Vakatov
12103         <vakatov@peony.nlm.nih.gov>.
12104
12105 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
12106
12107         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
12108           Completes first pass. Hurrah!
12109
12110 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
12111
12112         * docs/tutorial/gtk-tut.sgml: More clean ups.
12113
12114 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
12115
12116         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
12117         paint the background of the text area which was accidentally
12118         removed at some point.
12119
12120         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
12121           
12122          - Move most of the functionality from the theme vtable
12123            into GtkRcStyleClass and GtkStyleClass. The moved
12124            vtable functions were changed a bit in the move to
12125            work better in their new home.
12126
12127          - Get rid of the engine and engine_data fields from
12128            GtkRcStyle and GtkStyle; instead the theme
12129            engine derives theme-specific subclasses of GtkRcStyle
12130            and GtkStyle
12131
12132          - Add extra dlsym() found entry point to themes,
12133            theme_create_rc_style().
12134
12135         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
12136         in gtk_style_real_copy.
12137
12138         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
12139         to register a type associated with an engine. (The engine
12140         won't be unloaded as there is an instance of the type.)
12141
12142
12143 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
12144
12145         * docs/tutorial/gtk-tut.sgml: Clean ups.
12146
12147 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
12148
12149         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
12150           of cleaning up to do.
12151
12152 2000-07-15  Tor Lillqvist  <tml@iki.fi>
12153
12154         * gdk/testgdk.c: New file, quick hack to test backends for
12155         pixel-by-pixel correctness of the most simple graphic operations.
12156
12157 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
12158
12159         * Really release 1.3.1
12160         
12161         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
12162         include structure.
12163
12164 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
12165
12166         * Released 1.3.1
12167
12168 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
12169
12170         * gtk/gtktextlayout.c: use FALSE for size_only most
12171         of the time when calling gtk_text_layout_get_line_display()
12172         to avoid causing double reshapes when a redraw follows
12173         immediately after.
12174
12175 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
12176
12177         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
12178         appropriate region and gdk_window_process_updates() so trough
12179         updating doesn't lag behind the window being scrolled.
12180
12181         * gdk/gdkgc.c: Make parent_class pointer static.
12182          
12183 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
12184
12185         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
12186         include <string.h>.
12187          
12188         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
12189         cut-and-paste error in computing memory offset for 4 channels.
12190
12191 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
12192
12193         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
12194         gtk_rc_append_default_pixmap_path(), since it wasn't
12195         adding an interesting path and we don't have a meaningful
12196         default for this value.
12197
12198 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
12199
12200         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
12201         gtk-config to gtk-config-2.0 move gtk_.m4 to
12202         gtk-2.0.m4
12203
12204         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
12205         gdk/Makefile.am demos/Makefile.am: Change 
12206         library names to libgtk-1.3.la, etc, so that we
12207         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
12208
12209         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
12210         gdk/Makefile.am gdk/x11/Makfile.am
12211         Move include files into /usr/include/gtk-2.0, 
12212         /usr/lib/gtk-2.0/include/
12213          
12214         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
12215         gtk/gtkintl.h: Change package for gettext from 
12216         gtk+ to gtk20. Put hack in autogen.sh to modify
12217         po/Makefile.in.in after gettextize to make this
12218         possible.
12219
12220         * gtk+.spec: Some updates, not tested.
12221
12222         * gdk-pixbuf/Makefile.am: Move loaders into
12223         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
12224
12225         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
12226         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
12227         to THEMENAME/gtk-2.0/. Move engine directory  to
12228         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
12229         
12230 2000-07-12  Tor Lillqvist  <tml@iki.fi>
12231
12232         Win32 changes, still doesn't build though.
12233
12234         * gdk/makefile.cygwin
12235         * gdk/win32/makefile.cygwin
12236         * gtk/makefile.cygwin: Updates.
12237
12238         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
12239         default values for fg and bg pixel as X11 does (0 and 1), not
12240         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
12241         Use 0 for pen width by default (treated as 1 anyway later, but for
12242         apps that might check the value in the GdkGC).
12243         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
12244         interface to gdk_gc_predraw and _postdraw.
12245
12246         * gdk/win32/gdkwin32.h
12247         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
12248
12249         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
12250         extraneous semicolon.
12251
12252         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
12253
12254         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
12255         not the Win32 bitspixel value.
12256
12257         * gdk/win32/gdkcc-win32.c:
12258         * gdk/win32/gdkcolor-win32.c 
12259         * gdk/win32/gdkprivate-win32.h
12260         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
12261         GDK object structure.
12262
12263 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
12264
12265         * docs/tutorial/gtk_tut_12.es.sgml (name): 
12266         * docs/tutorial/gtk_tut_it.sgml (name): 
12267         * docs/tutorial/gtk_tut_fr.sgml (name): 
12268         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
12269         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
12270
12271 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
12272
12273         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
12274           small changes.
12275
12276 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
12277
12278         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
12279         a bug here, never been here and never fixed anything ;(
12280         (don't segfault if tree->root_tree is NULL, which happens prior
12281         to widget realization, but puke instead).
12282
12283 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
12284
12285         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
12286         add the necessary tokens.
12287
12288         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
12289         (gtk_rc_style_to_style): copy thicknesses.
12290         (gtk_rc_init_style): apply thicknesses.
12291         (gtk_rc_parse_style): parse xthickness and ythickness.
12292
12293         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
12294
12295         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
12296         (gdk_window_new): 
12297         (_gdk_windowing_window_init): 
12298         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
12299         (gdk_pixmap_create_from_data): 
12300         (gdk_bitmap_create_from_data): 
12301         (gdk_pixmap_new): 
12302         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
12303         (gdk_image_new): 
12304         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
12305         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
12306         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
12307         (gdk_colormap_get_system): 
12308         (gdk_colormap_new): 
12309         * gdk/gdkwindow.c (gdk_window_init): 
12310         * gtk/gtkstyle.c (gtk_style_new):
12311         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
12312         * gdk/gdkpixmap.c (gdk_pixmap_init): 
12313         * gtk/gtkrc.c (gtk_rc_style_new):
12314         use g_object_new() instead of g_type_create_instance() which
12315         is a private function for fundamental type implementations.
12316
12317 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
12318
12319         * configure.in: Add check for db2html
12320
12321 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
12322
12323         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
12324         hack to set glib_debug_objects based on gtk_debug_flags.
12325
12326 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
12327
12328         * INSTALL.in: Update the Prerequisites section.
12329
12330         * Makefile.am demos/Makefile.am docs/Makefile.am
12331         docs/tutorial/Makefile.am gdk/x11/Makefile.am
12332         gdk/linux-fb/Makefile.am: Dist fixes
12333
12334 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
12335
12336         * NEWS: 10,000 foot view of 1.3.1 changes.
12337
12338 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
12339
12340         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
12341         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
12342         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
12343         gdk/x11/gdkmain-x11.c: 
12344
12345         Patch from George Lebl to add a GdkGrabStatus enumeration to use
12346         as a return value of gdk_*_grab(). Previously, we just
12347         returned the X11 values directly.
12348
12349 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
12350
12351         * gdk/x11/Makefile.am: Patch from George Lebl to 
12352         install all the headers in the right place.
12353
12354 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
12355
12356         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
12357           initial conversion to DocBook.
12358
12359 2000-07-04  Tor Lillqvist  <tml@iki.fi>
12360
12361         * README.win32: Improve a bit.
12362
12363         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
12364         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
12365         Alt+0nnn on the numpad (used to enter characters by numeric code
12366         from current DOS or ANSI codepage) working correctly, as in other
12367         Windows apps.
12368
12369         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
12370         same argument validity tests as in X11 version.
12371         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
12372
12373         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
12374         definitions in case missing from headers.
12375
12376         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
12377         destroy the window-specific cursor.
12378         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
12379         calling GetModuleHandle(NULL).
12380         (gdk_window_set_cursor): Reworked to always copy the passed cursor
12381         with CopyCursor before setting it as the window-specific
12382         cursor. It is OK for the caller to destroy the GdkCursor (and thus
12383         also its Windows cursor) after calling this function. Destroy any
12384         previous window-specific cursor.
12385
12386 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
12387
12388         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
12389         font charset is iso8859-1, not iso-8859-1.
12390
12391 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
12392
12393         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
12394         Use g_get_charset() instead of g_get_codeset().
12395
12396         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
12397         Comment out some strdup'ing functions to keep timj
12398         happy until we finish fighting this out.
12399
12400 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
12401
12402         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
12403         <= width or height.
12404
12405         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
12406         from 1.2 for parent/child states.
12407
12408         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
12409         of typos.
12410
12411         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
12412         event structures, replace with a generic axes field. Replace 
12413         deviceid/sourec with GdkDevice *device.
12414
12415         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
12416         to extract particular axis use value from event. (Also
12417         can be used for normal X/Y.)
12418
12419         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
12420         allow for arbitrary number of axes, namespace everything
12421         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
12422         everywhere.
12423
12424         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
12425         Get rid of the gdk_input_vtable setup if favor of simply
12426         defining the functions in gdkinput-none/gxi/xfree.c in
12427         a similar fashion to the way that the port structure is 
12428         done.
12429
12430         * gtk/gtkdnd.c: Fix fields of synthesized button press event
12431         for new event structures. 
12432
12433         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
12434         new device interfaces.
12435
12436 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
12437
12438         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
12439         set the initial text.
12440
12441         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
12442         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
12443         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
12444         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
12445
12446         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
12447         pango_layout_set_font_description to simplify.
12448
12449 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
12450
12451         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
12452         pango_layout_set_font_description to simplify.
12453
12454 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
12455
12456         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
12457         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
12458         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
12459
12460         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
12461         PANGO_PIXELS() macro.
12462
12463 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
12464
12465         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
12466         that returns a PangoContext owned by the widget and updated to
12467         match future changes in the widget. Also, make 
12468         gtk_widget_create_pango_layout() use this context. If we ever
12469         add a ::changed signal to PangoContext, this will make things
12470         much more convenient. 
12471
12472         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
12473         in the appropriate places instead of destroying the layouts and
12474         creating new ones.
12475
12476         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
12477         in a few strategic places.
12478
12479 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
12480
12481         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
12482         gtk_widget_size_request() on reparented child, if one. Otherwise,
12483         queue_resize() on the child never results in it getting size-requested
12484         at all.
12485
12486         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
12487         in option menus, so that (with luck) people won't copy it into
12488         their apps in the future.
12489
12490         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
12491         to gtk_option_menu_calc_size. This isn't perfect, but should fix
12492         a lot of problems with changing the size of the menu's menu
12493         items after adding it to the option menu.
12494
12495         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
12496
12497         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
12498         the text direction for a widget changes.
12499
12500         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
12501         ::direction_changed to get rid of various hacks.
12502
12503 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
12504
12505         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
12506         name.
12507
12508 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
12509
12510         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
12511         flag to the structure. Do not call XFreePixmap on pixmaps created
12512         by gdk_pixmap_foreign_new().
12513
12514 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
12515
12516         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
12517         value using GdkRGB functionality given GdkColormap and GdkColor.
12518         (name not final, waiting for inspiration.)
12519         
12520         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
12521         set the foreground/background of a GC using the GC's colormap
12522         and GdkRGB. (name not final, waiting for inspiration.)
12523
12524         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
12525         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
12526
12527         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
12528         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
12529         purely a function of the corresponding colormap. Make
12530         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
12531
12532         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
12533         gdk_pixbuf_*create_from_xpm_* in terms of
12534         gdk_pixbuf_new_from_xpm_data(), move into platform independent
12535         code.
12536
12537         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
12538         advantage of the new draw_rgb_32_image_dithalign.
12539
12540         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
12541
12542         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
12543         on each created GC.
12544
12545         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
12546
12547         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
12548         which we initialize from the drawable when the GC is created,
12549         if the drawable has a colormap.
12550
12551         * gdk/x11/gdkgc-x11.c: include string.h for memset.
12552
12553         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
12554
12555         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
12556
12557 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
12558
12559         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
12560         actually returning expose events, make sure to set
12561         the count field properly.
12562
12563         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
12564         accidentally reintroced bug which always cleared
12565         the graphics_exposures value. 
12566
12567 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
12568
12569         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
12570
12571 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
12572
12573         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
12574
12575 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
12576
12577         * docs/faq/gtk-faq.sgml: Start of Section 6.
12578
12579 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
12580
12581         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
12582         
12583         (Fixes problem with drawing childless frames. Pointed out
12584         by and a first patch from Anders)
12585         
12586         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
12587         compute a child_allocation, even if we don't have a child.
12588
12589         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
12590         Always chain to the parent's impl, even if we don't have a child.
12591
12592 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
12593
12594         * gdk/gdkrgb.c: If possible, create only a single shm segment and
12595         use multiple parts of it instead of creating a bunch of separate
12596         segments, since the maximum number of segments per system is not
12597         large. (This might be worth backporting to GTK+-1.2.x if we make a
12598         new release )
12599
12600         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
12601         structure in preparation for per-colormap GdkRGB.
12602
12603         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
12604         to False when we get EINVAL from shmget so that the caller of
12605         gdk_image_new can retry with a smaller segment size.
12606
12607 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
12608
12609         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
12610
12611 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
12612
12613         * configure.in: make the current version number 1.3.1 (binary age 0,
12614         interface age 0).
12615         
12616         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
12617         gtkcompat.h is all we want.
12618
12619         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
12620         GLib primitive types. fixed g_type_register_fundamental() argument
12621         ordering.
12622
12623         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
12624         compiles.
12625
12626         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
12627         object code cleanup, comment trigraph fixes, etc...
12628
12629 2000-06-23  Havoc Pennington  <hp@redhat.com>
12630
12631         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
12632         instead of making up a bogus name for first_para_mark
12633
12634         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
12635         0 as a context ID
12636
12637 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
12638
12639         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
12640
12641 2000-06-21  Havoc Pennington  <hp@pobox.com>
12642
12643         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
12644         we didn't check window->bg_pixmap != GDK_NO_BG.
12645
12646         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
12647         gdk-pixbuf
12648
12649 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
12650
12651         * docs/faq/gtk-faq.sgm: Move file to here.
12652           TODO: Update Makfile.am 
12653
12654 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
12655
12656         * docs/gtk-faq.sgm: Add Section 2
12657
12658 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
12659
12660         * docs/gtk-faq.sgm: New file. Start of DocBook
12661           version of the FAQ.
12662
12663 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
12664
12665         * configure.in (GDK_PIXBUF_MAJOR): Define version
12666         numbers for GDK_PIXBUF_*, as they get substituted
12667         into a header file. Need to consider versioning
12668         for gdk-pixbuf more carefully later.
12669
12670 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
12671
12672         Work with srcdir != builddir.   
12673         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
12674         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
12675         * demos/testpixbuf.c: Likewise.
12676         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
12677         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
12678         <gdk/x11/gdkx.h>.
12679         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
12680         "gdk-pixbuf.h".
12681         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
12682
12683 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
12684
12685         * TODO.xml: Change 1.4 version numbers to 2.0.
12686
12687 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
12688
12689         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
12690         fixups to GTK+ standard.
12691
12692 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
12693
12694         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
12695         gdk-pixbuf.
12696
12697         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
12698         fixups for GObject.
12699
12700         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
12701         gdk-pixbuf with GDK dependencies moved into GDK.
12702         
12703         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
12704         move gdk-pixbuf-loader here until GObject has signals.
12705
12706         * demos/: New directory of demos. Move demos from
12707         gdk-pixbuf here.
12708
12709         * demos/pixbuf-init.c: Small bit of code to check for
12710         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
12711         set GDK_PIXBUF_MODULEDIR appropriately.
12712
12713         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
12714         define which no longer makes sense.
12715
12716 2000-06-21  Havoc Pennington  <hp@redhat.com>
12717
12718         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
12719         gtk_get_default_language
12720
12721         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
12722         new function to get the default language
12723
12724         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
12725         s/gtk_text_view_style_values/gtk_text_style_values/
12726
12727         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
12728         Add a "language" field to tags.
12729
12730         (gtk_text_tag_set_arg): Fix bug in setting
12731         "bg_full_height_set" tag.
12732
12733 2000-06-21  Havoc Pennington  <hp@redhat.com>
12734
12735         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
12736         in the interfaces
12737
12738         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
12739         stuff instead when possible.
12740
12741         * gtk/gtktexttypes.h: Delete some unused constants
12742
12743         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
12744         testtextbuffer.c: use glib instead of custom unicode routines
12745
12746 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
12747
12748         * docs/es/: Removed mistakenly added generated sgml
12749
12750         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
12751         Remove outdated info files.
12752
12753         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
12754         Moved tutorial files into subdir
12755
12756         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
12757         subdir.
12758
12759         * docs/man/gtk_button.pod: Remove. (contents will be
12760         integrated into gtk-reference button page.)
12761
12762         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
12763         docs/faq/Makefile.am: Adjust for new organization
12764
12765 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
12766
12767         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
12768         not $(MKINSTALLDIRS)
12769
12770 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
12771
12772         * gtk/testgtk.c (create_text): Finish the job Elliot started
12773         of removing font setting test for text widget. (Since text widget
12774         and GdkFont are not deprecated, and cause portability problems.)
12775
12776 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
12777
12778         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
12779         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
12780         Remove use of libunicode in favor of new GLib functions.
12781
12782         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
12783         nano-x, framebuffer. The X11 include is just a hack until we get
12784         the necessary functions in gdkcolor.h, so there is no reason to
12785         add other includes of platforms.
12786
12787         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
12788         window bigger than the screen change.
12789
12790         * gtk/testgtk.c: Revert some random changes from Elliot
12791         that had no particular point and were causing testgtkrc
12792         not to function correctly.
12793         
12794         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
12795         because GdkSegment and GdkRegionBox have the same fields,
12796         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
12797         results in clearer code.
12798
12799         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
12800         gdk_input_translate_coordinates): Fix missed GdkObjectification
12801
12802 2000-06-18  Elliot Lee  <sopwith@redhat.com>
12803
12804         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
12805         * gtk/gtk{plug,socket}.h: Missed commits from previous.
12806
12807 2000-06-20  Havoc Pennington  <hp@redhat.com>
12808
12809         * modules/linux-fb/Makefile.am: Make this compile
12810         without framebuffer enabled
12811
12812         * gdk/linux-fb/Makefile.am: Add conditional to not build
12813         framebuffer unless specified in configure
12814
12815         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
12816         the size of the target instead of source if -1 was passed for
12817         width/height
12818
12819         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
12820         width/height confusion.
12821
12822 2000-06-19  Havoc Pennington  <hp@redhat.com>
12823
12824         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
12825         GDK_DRAWABLE_XID. In the future, we probably want to make it
12826         faster with G_DISABLE_CHECKS turned on.
12827
12828 2000-06-14  Havoc Pennington  <hp@redhat.com>
12829
12830         * gdk/Makefile.am: add gdkpixmap.c
12831
12832         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
12833         s/gdk_image_init/_gdk_windowing_image_init
12834
12835         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
12836         ref/unref
12837
12838         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
12839
12840         * gdk/gdkcompat.h: remove GdkWindowType compat, since
12841         GdkWindowType is now non-deprecated; 
12842         change gdk_window_get_type() compat to be
12843         gdk_window_get_window_type().
12844
12845         * gdk/gdkdnd.h: make GdkDragContext a GObject.
12846
12847         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
12848         virtual GObject. Make all functions call into the vtable.
12849         Move gdk_image_put() guts in here. Remove GdkDrawableType
12850         and gdk_drawable_get_type(), these are now GdkWindow-specific.
12851         draw_image, get_depth, get_size, set_colormap, get_colormap,
12852         get_visual added to the vtable.
12853         
12854         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
12855         GObject. Virtualize everything. 
12856         (gdk_gc_new_with_values): remove check for destroyed window,
12857         because now GdkWindow::create_gc will check this.
12858         (gdk_gc_set_values): New function to set GC values, this 
12859         was already implemented but wasn't in the header
12860
12861         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
12862
12863         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
12864         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
12865         remove _gdk_window_class; add _gdk_window_impl_get_type() and
12866         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
12867         _gdk_windowing_window_init, rename gdk_image_init to
12868         _gdk_windowing_image_init.
12869         
12870         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
12871         (gdk_draw_layout): Remove check for destroyed window, 
12872         because all the drawable methods already check it.
12873         
12874         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
12875         Add gdkpixmap.c which contains implementation of GdkDrawable
12876         virtual table (by chaining to a platform-specific implementation
12877         object).
12878         
12879         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
12880         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
12881         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
12882         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
12883         GdkColormapPrivate. 
12884
12885         * gdk/gdktypes.h: #include <glib-object.h>
12886
12887         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
12888         Move most functionality to platform-specific implementation
12889         object. GdkWindow itself now handles the backing store, then
12890         chains to the platform-specific implementation.
12891         (gdk_window_get_window_type): return GdkWindowType of the window.
12892         (gdk_window_peek_children): New routine, returns the children of 
12893         a GdkWindow
12894         (gdk_window_get_children): Was in X11-specific code and did 
12895         XQueryTree. Changed to simply return a copy of window->children; 
12896         so it can go in cross-platform code.
12897         
12898         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
12899
12900         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
12901         GdkColormap; just changed to use the new private data instead
12902         of casting to GdkColormapPrivate.
12903
12904         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
12905         gdk_cursor_new().
12906
12907         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
12908         (private data member in the GObject). 
12909         (xdnd_manager_source_filter): Function had broken 
12910         error handling, fix it (use gdk_error_trap_push).
12911
12912         * gdk/x11/gdkdrawable-x11.c: This file now implements
12913         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
12914         base class is purely for the convenience of the X port,
12915         and not part of the interface to cross-platform GDK.
12916
12917         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
12918         
12919         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
12920         specific to X, and returned by the create_gc virtual method
12921         of GdkDrawableImplX11. 
12922         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
12923         rather than gchar, this was also changed in the GdkGC vtable.
12924         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
12925         mask is 0, return immediately, instead of checking every flag.
12926         This is faster, and keeps us from segfaulting if values is NULL
12927         and the mask contains some nonzero flags.
12928
12929         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
12930         GdkWindow.
12931
12932         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
12933         GdkWindowPrivate is gone.
12934
12935         * gdk/x11/gdkim-x11.c: rename things that got renamed.
12936
12937         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
12938         remove the image_put stuff that got transferred to GdkDrawable.
12939         
12940         * gdk/x11/gdkinput.c: renamings
12941
12942         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
12943
12944         * gdk/x11/gdkpixmap-x11.c: GObject conversion
12945
12946         * gdk/x11/gdkprivate-x11.h: indentation fixes
12947
12948         * gdk/x11/gdkproperty-x11.c: renamings
12949
12950         * gdk/x11/gdkselection-x11.c: renamings
12951
12952         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
12953         implements the platform-specific "impl" object.
12954         Moved gdk_window_get_children to gdk/gdkwindow.c
12955
12956         * gdk/x11/gdkx.h: Remove all the private structs and private datas
12957         that no longer exist. Add declaration of GdkGCX11 object here.
12958         Fix all the macros to still work. 
12959
12960         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
12961         GdkDragContext from the boxed types since they are now GObjects.
12962
12963         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
12964         moved xthickness/ythickness into the instance. GtkStyleClass
12965         functions are now in the standard vtable for GtkStyle, so you have
12966         to create a GObject subclass to write a theme engine.
12967         (gtk_style_copy): fixed a leaked PangoFontDescription
12968         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
12969         can be the standard GObject function.
12970         
12971         * Throughout GTK:
12972         s/style->klass->[xy]thickness/style->[xy]thickness
12973         s/pango_layout_unref/g_object_unref/
12974
12975         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
12976         
12977         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
12978         accessing GDK internals.
12979
12980         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
12981         accessing GDK internals.
12982
12983 2000-06-18  Elliot Lee  <sopwith@redhat.com>
12984
12985         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
12986
12987         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
12988         problem by calculating event position relative to the trough
12989         rather than the slider.
12990         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
12991
12992         * gdk/gdkgc.h: Add GDK_NOR.
12993
12994         * configure.in, Makefile.am: Add modules top level dir
12995         * configure.in: Only use pangox library if building x11 target.
12996         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
12997
12998 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
12999
13000         * gtk/gtkcolorsel.c: Change private class member to be named
13001         private_data throughout the file.
13002
13003         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
13004         private_data to avoid clashing with keyword.
13005
13006 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
13007
13008         * gdk/gdkdnd.h: Add comment to remove warning.
13009
13010 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
13011
13012         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
13013         Byelorussian language; changed the Makefile and file names 
13014         to reflect that.
13015
13016 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
13017
13018         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
13019         rather than gdk_window_hide; this makes things work
13020         correctly if the window is programmatically hidden while
13021         iconified.
13022
13023 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
13024
13025         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
13026         cut and paste typo where wrong pixmap was being
13027         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
13028
13029 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
13030
13031         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
13032         Add helper function to compute format / bytes 
13033         relationship. Use in a couple places to fix up
13034         errors which assume 8 * format.
13035
13036         * gtk/gtkselection.c (gtk_selection_request): Use 32
13037         rather than 8 * sizeof (GdkAtom), to work correctly
13038         on Alpha.
13039
13040 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
13041
13042         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
13043         libgtk.la
13044         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
13045         versions
13046
13047         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
13048         checking macros return NULL since the function has a return value.
13049
13050 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
13051
13052         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
13053         GTK+ from building at all.
13054
13055         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
13056
13057 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
13058
13059         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
13060         gtk/Makefile.am: make it possible to configure gtk for different
13061         targets on the same platform. The library name is now 
13062         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
13063         flag. Only the x11 target compiles right now.
13064         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
13065         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
13066         * gdk/nanox/gdk*generic*: delete generic region code.
13067         * gdk/linux-fb/gdk*generic*: delete generic region code.
13068         * README.nanox: update information.
13069         
13070 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
13071
13072         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
13073         prepend not append. (Pointed out by Brett Hall.)
13074
13075 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
13076
13077         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
13078
13079 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
13080
13081         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
13082         need this later, and this makes sure that the atexit for
13083         glib gets called after that for GDK, so atexits are
13084         properly ordered for object leak checking.
13085
13086         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
13087
13088         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
13089         pango_x_shutdown_display()
13090
13091         * gtk/simple.c (main): Close window on destroy.
13092
13093 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
13094
13095         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
13096         to treat initial creation different from setting with 
13097         regards to the graphics-exposures parameter, so add a parameter
13098         indicating whether this is initial or not.
13099
13100 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
13101
13102         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
13103         to sort of work by adding an extra return_exposes arg
13104         to gdk_event_translate() - it might be better to simply
13105         deprecate the function altogether and force people to rewrite
13106         without it. gdk_window_scroll() handles most of it, and where
13107         gdk_window_scroll() doesn't work, simply redrawing more does.
13108
13109         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
13110         assertion.
13111
13112         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
13113
13114         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
13115         bunch of pretty much useless /* Print debugging info */ comments 
13116         which had drifted away from the code they were commenting.
13117
13118 2000-06-02  Havoc Pennington  <hp@pobox.com>
13119
13120         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
13121         is in working order.
13122         
13123         * gtk/testtext.c: Change to reflect anonymous mark API
13124
13125         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
13126
13127         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
13128         field, which was unused.
13129
13130         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
13131         saves some typing.
13132
13133         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
13134
13135         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
13136         flag on the insertion point and selection bound
13137
13138         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
13139         make mark-manipulation functions take a GtkTextMark* instead of a
13140         mark name.
13141         
13142         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
13143         GtkTextMarkBody; will be used to detect attempts to delete
13144         the permanent marks (insert and selection bound)
13145
13146         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
13147
13148 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
13149
13150         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
13151         flag to on.
13152
13153         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
13154         Honor DOUBLE_BUFFRED_FLAG
13155
13156         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
13157         function to set the DOUBLE_BUFFERED flag.
13158
13159         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
13160         or not exposes done on the widget should be double-buffered.
13161
13162         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
13163         to be what would be expected. (Fixes problem with a
13164         g_return_if_fail() validating a TextDirection enumeration)
13165
13166 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
13167
13168         * gtk/gtkwidget.c: Remove all references to 
13169         offscreen flag which was no longer used.
13170
13171         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
13172
13173         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
13174         for non-null label_widget->parent.
13175
13176         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
13177         which no longer was used.
13178
13179         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
13180
13181         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
13182         for null arguments.
13183
13184         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
13185         check for destroyed windows.
13186
13187 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
13188
13189         * gtk/gtkimmulticontext.c: Add a finalize method and unref
13190         the slave context there.
13191
13192         * gtk/gtkinvisible.[ch]: Make reference counting behavior
13193         identical to GtkWindow.
13194
13195 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
13196
13197         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
13198         pangox to here, so we can write them independent of rendering
13199         system, using GDK primitives.
13200
13201         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
13202         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
13203         since we have a rendering-system independent implementation in
13204         terms of draw_glyphs().
13205         
13206         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
13207         function to render a single line.
13208
13209         * gdk/x11/gdkpango.c: Move the guts of this file mostly
13210         into ../gdkpango.c, which simplifies things, since we
13211         don't have to deal with raw X gc's.
13212
13213 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
13214
13215         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
13216         get the logical attributes for a given GtkTextLine.
13217
13218 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
13219
13220         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
13221         g_locale_get_codeset() to g_get_codeset() change.
13222
13223 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
13224
13225         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
13226         descriptions.
13227
13228         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
13229         the entry.
13230
13231         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
13232         redoing (vastly simplifying) for Pango. Still needs quite
13233         a bit of work. (Size selection is currently poor. List of 
13234         predefined sizes is not a good idea, since all of these
13235         sizes won't necessarily be distinct.)
13236
13237 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
13238
13239         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
13240         CODESET results for LANG=C.
13241
13242 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
13243
13244         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
13245         which takes a stringized pango font description;
13246         ignore the older 'font' and 'fontset' declarations.
13247
13248         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
13249         field with a GdkFont derived via gdk_font_from_description(),
13250         for compatibility. (Should we just remove it entirely?
13251         Probably too much compatibility breakage, but people
13252         should be migrating to the new Pango stuff as quickly
13253         as possible.)
13254
13255 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
13256
13257         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
13258
13259 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
13260
13261         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
13262         redoing; there are some bugs in size allocation right
13263         now, the semi-existant distinction between header / day
13264         fonts was removed, but, with Pango, could actually
13265         be made functional in a nice way.
13266         
13267         * gtk/testcalender: Move calender from examples into this
13268         directory as a test program. (We really need to restrcture
13269         testgtk into a whole directory full of tests for every
13270         widget or functionality group, separated into multiple .c
13271         files.)
13272
13273 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
13274
13275         * gtk/testgtk.c (file_exists): Fix stupid typo that
13276         was keeping RC file from being loaded.
13277
13278         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
13279         RC file font code.
13280
13281 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
13282
13283         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
13284         Add function to load a GdkFont from a PangoFontDescription.
13285
13286 2000-05-29  Tor Lillqvist  <tml@iki.fi>
13287
13288         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
13289         variable should be of type GdkEventPrivate.
13290
13291 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
13292
13293         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
13294         to have any widget for the label, use a GtkLabel widget
13295         to display the text. (Based partially on a patch from
13296         Anders Carlson.)
13297
13298         (Quite a bit of code reorganization - strip 90% of the
13299         guts out of gtkaspectframe and add a single virtual
13300         func to GtkFrameClass - compute_child_allocation.)
13301
13302 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
13303
13304         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
13305         (Removed clist->row_center_offset field because caching
13306         it wasn't saving time or code, added private function
13307         _gtk_clist_create_cell_layout()).
13308
13309 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
13310
13311         * gtk/gtkaccellabel.c: Pangoized.
13312
13313         * gtk/[hv]ruler.c: Pangoized
13314
13315 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
13316
13317         * gtk/gtkfilesel.c (gtk_file_selection_init):
13318         Use gtk_clist_set_column_auto_resize() to remove need
13319         need for manual column width computations.
13320
13321 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
13322
13323         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
13324         ensuring Pango correctness, and considerably simplifying the
13325         code.
13326         
13327         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
13328
13329         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
13330         getting of numbers of lines.
13331
13332         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
13333         to the actual requested width of the lable, not to the wrap
13334         width we set.
13335
13336         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
13337
13338         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
13339           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
13340
13341         * gtk/gtktextview.c: Fix structure inheritance.
13342
13343         * gtk/gtkprogressbar.c: Pangoize.
13344
13345 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
13346
13347         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
13348         in a function.
13349
13350         * gtk/gtktextlayout.c (find_display_line_above): Fixed
13351         bug with computing line tops.
13352
13353         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
13354
13355 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
13356
13357         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
13358         and y_offset coordinates to do what we need now. (The offset between
13359         buffer and layout coordinates has been reintroduced, but is a 
13360         bit different than before.)
13361
13362         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
13363         handle the adjustments ourselves, and scroll as necessary using
13364         the new gdk_window_scroll().
13365         
13366         The advantage of this is that when we are incrementally revalidating,
13367         we are essentially rearranging things around the visible portion
13368         of the screen. With the old setup, the visible portion of the
13369         screen was moved around in the layout, so scrolling and redrawing
13370         to track that caused jumping of the display. Since we now
13371         control the scrolling ourselves, we can suppress this and
13372         only redraw when things actually change.
13373
13374 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
13375
13376         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
13377         the region not just redisplay it after-all, since we store the
13378         cursors in the LineDisplay. (Ugly interactions here between
13379         GtkLayout and GtkTextBTree here.)
13380         
13381         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
13382
13383 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
13384
13385         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
13386         Added function to scroll contents of a window while keeping the
13387         window constant. Works by XCopyArea or guffaw-scrolling depending
13388         on the details of how the window is set up. (guffaw-scrolling
13389         still needs to be filled in.)
13390
13391 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
13392
13393         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
13394         move the debugging that was tied to a global variable
13395         to that.
13396
13397         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
13398
13399         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
13400         validated flag, in line data instead of setting height/width to
13401         -1. This allows us to perform operations with partially invalid
13402         buffer (using the old size for invalid lines) and thus to do
13403         incremental vaidation. Keep height/width aggregates up to date
13404         when deleting text and rebalancing the tree.
13405
13406         * gtk/gtktextbtree.[ch]: Add functions validate a line
13407         (gtk_text_btree_validate_line), and to validate up
13408         to a number of pixels (gtk_text_btree_validate).
13409
13410         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
13411         that indicates that something is changed and a revalidation
13412         pass is needed. Change ::need_repaint to ::changed, and
13413         make it take old and new yranges instead of a rectangle.
13414
13415         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
13416         the line_data_destroy() function from 
13417         gtk_text_btree_add_view() to a virtual function in 
13418         GtkTextLayout
13419
13420         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
13421         since we are handling partial repaints in a different fashion
13422         now.
13423
13424         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
13425         of the selection instead of queueing a repaint on the
13426         entire widget.
13427
13428         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
13429         get_selection_bounds() down to btree, make the function
13430         in buffer a wrapper around the btree function.
13431
13432         * gtk/gtktextlayout.[ch]: Add functions to check if the
13433         layout is valid and to recompute either a range of pixels
13434         aroudn a line or a certain total number of pixels.
13435
13436         * gtk/gtktextlayout.[ch]: Cache a single line display;
13437         now that we only redraw the needed portions, the hit rate
13438         for this cache is quite high.
13439         
13440         * gtk/gtktextview.[ch]: Keep track of the first paragraph
13441         on the screen so that when re-laying-out the buffer, we can
13442         keep the same place. This requires connecting to ::value_changed
13443         on the adjustments
13444
13445         * gtk/gtktextview.[ch]: Add idle functions to revalidate
13446         the buffer after we receive an ::invalidated signal.
13447         
13448 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
13449
13450         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
13451         to max of allocation and layout size, not just to the
13452         layout size.
13453
13454         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
13455         Invalidate window so it gets redrawn properly.
13456
13457         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
13458         to mean the entire window.
13459
13460         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
13461         into public header.
13462
13463 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
13464
13465         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
13466         to get the name of a mark.
13467
13468         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
13469         to find the paragraph from a y position.
13470
13471 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
13472
13473         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
13474         nodes have width/height >= 0, not > 0.
13475
13476 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
13477
13478         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
13479         Add a size_only flag, so when we only need the size, we don't create
13480         useless appearance attributes.
13481
13482         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
13483         duplicate setting of font description.
13484
13485         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
13486
13487 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
13488
13489         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
13490         EXTRA_DIST. It does not work well when the file that
13491         everything depends on is not in the tarball.
13492
13493 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
13494
13495         * gtk/testgtk.c: Some hacks and fixes so that it basically
13496         works when not sitting in the GTK+ build tree.
13497
13498 2000-05-03  Havoc Pennington  <hp@redhat.com>
13499
13500         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
13501         Properly determine the ordering of the tag root and the current
13502         line within the tree. Previous algorithm only worked if the tag
13503         root's immediate parent was the common root of both the current
13504         line and the tag root.
13505
13506 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
13507
13508         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
13509         alignment.
13510
13511         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
13512         the widget text directional dynamically.
13513
13514         * gtk/gtktextview.[ch]: Added functions to get and set default
13515         wrap mode.
13516
13517 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
13518
13519         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
13520         in cursor location computation.
13521
13522 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
13523
13524         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
13525         vadjusment values properly when layout gets smaller.
13526
13527         * gtk/gtktextview.c (need_repaint_handler): Areas being
13528         passed in are far completely inaccurate, and sometimes
13529         too small, so, for now, just queue a redraw on the
13530         whole visible region.
13531
13532 2000-04-25  Havoc Pennington  <hp@redhat.com>
13533
13534         * gtk/gtktextbtree.c (summary_destroy): new function to 
13535         destroy tag summary nodes
13536         (gtk_text_line_next_could_contain_tag): this function was 
13537         totally broken if the line passed in wasn't below the tag
13538         root. Fix it.
13539         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
13540         "wildcard" case, we have to do a linear scan. Blah.
13541         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
13542         we have to do the linear scan
13543         (tag_removed_cb): When a tag is removed from the tag table, 
13544         remove the GtkTextTagInfo node from the btree.
13545         (gtk_text_btree_spew): Implement the spew function, for 
13546         our debugging pleasure.
13547
13548 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
13549
13550         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
13551         a problem with referring to the wrong buffer.
13552
13553         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
13554
13555         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
13556         font description to gtk_style_new() - otherwise things
13557         don't work without a .gtkrc file.
13558
13559         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
13560         tags table if we create it ourself, too.
13561
13562         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
13563         it was conflicting with XKB modifiers.
13564
13565         * gtk/gtktextview.[ch]: Add simple support for 
13566         GtkIMContext.
13567
13568 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
13569
13570         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
13571         with deletion from last commit.
13572
13573 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
13574
13575         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
13576         in the context from the current locale.
13577         
13578         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
13579         context, not hardcoded value.
13580
13581         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
13582         not logical.
13583
13584 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
13585
13586         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
13587         attributes - that doesn't handle partial-glyph selection
13588         properly. Instead use new pango_layout_line_get_x_ranges()
13589         functionality to draw the selection.
13590
13591         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
13592         now properly handles out-of-range coordinates.
13593
13594         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
13595
13596         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
13597         public.
13598
13599         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
13600         for paragraphs opposite to the base direction of the widget.
13601
13602         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
13603
13604         * gtk/gtktextlayout.c: Don't split segments on marks, since that
13605         causes Arabic words to reshape as you cursor through.
13606
13607         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
13608         cursor position when moving vertically with the arrow keys and
13609         scrolling with page-up/page-down. (Arrow keys save only the X,
13610         scrolling saves both X and Y.)
13611
13612         This means you can line-up / line-down or page-up / page-down
13613         without losing your place, and also that moving vertically
13614         with the cursor keys keeps the same X position, not the same
13615         character count:
13616
13617         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
13618         arrow keys move by display lines, not paragraphs.
13619
13620 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
13621
13622         * gtk/gtklayout.c: Make sure that the bin window is at least
13623         as big as the allocation. (Should we also make sure that the
13624         bin window is big enough to completely cover widget->window?)
13625
13626         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
13627         function to get the onscreen rectangle.
13628
13629         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
13630         for offsets in window coordinates.
13631
13632 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
13633
13634         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
13635         confusion.
13636
13637         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
13638         from the widget direction.
13639
13640         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
13641         Add a "direction" attribute.
13642
13643         * gtk/gtktextview.c: global s/tkxt/text_view/.
13644
13645         * gtk/testtext.c: Added long block of text in Arabic, to test out
13646         the direction attributes. (Some problems with the shaping system
13647         for arabic become obvious - like the fact the cursor splits words
13648         into unjoined pieces.)
13649
13650 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
13651
13652         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
13653
13654         * gtk/gtktextlayout.c: Fix up alignment.
13655
13656         * gtk/testtext.c: Add some tests for centering, wrapping.
13657
13658 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
13659
13660         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
13661         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
13662         If we wrote GTK+-specific layout-render function this could just replace
13663         the draw_layout() operation in the vtable.
13664
13665         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
13666         pango_layout_get_cursor_pos() and use that function.
13667
13668         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
13669         is a non-static symbol.
13670
13671         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
13672         with gtk_text_btree_find_line_by_y()
13673
13674         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
13675         renderer that handles GtkTextAppearance attributes.
13676
13677         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
13678
13679           - Move the values in the style that don't affect geometry into a
13680             GtkTextAppearance structure.
13681           - Change underline to take a PangoUnderline and "font" a string
13682             representation of a font description
13683           - Add a "font_desc" attribute which takes a FontDescription structure.
13684
13685         * gtk/gtktextlayout.[ch]:
13686
13687           - Get rid of the display-line list per each line. Instead, we
13688             generate, on demand, a GtkTextLineDisplay structure which]
13689             contains a PangoLayout * and other necesary information
13690             (offsets, cursor locations) for displaying a paragraph.
13691           - Get rid of the code to wrap lines, create display chunks,
13692             etc. Instead, we just go through a paragraph and convert
13693             it into the necessary inputs to a PangoLayout.
13694           - Implement a new attribute type, GtkTextAttrAppearance. This
13695             holds a GtkTextAppearance, and is used to pass colors, 
13696             stipple, etc, through from the layout to the display without
13697             having to use lots and lots of individual attributes.
13698           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
13699             in terms of PangoLayout functions.
13700         
13701         * gtk/gtktextview.c: 
13702          
13703           - Handle passing the necessary PangoContext to the layout
13704           - Some fixups in painting to deal with the automatic backing store
13705             and offsetting of GTK+-1.4
13706           - Add a style_set handler so that the default style reacts
13707             properly to theme changes.
13708         
13709         * gtk/gtktext?*.[ch]: Random code-style fixes.
13710
13711         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
13712
13713 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
13714
13715         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
13716         in original form preparatory to Pango-ization and gdkimcontext-ization.
13717
13718 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
13719
13720         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
13721         so that we can derive from gtkimcontext in language bindings properly.
13722
13723 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
13724
13725         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
13726         Add a compose table including (almost) all the compose combinations
13727         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
13728         data in the XIM implementation.
13729
13730         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
13731         Moved functions to convert keyvalues from and to unicode here from
13732         the win32 port and made them public.
13733
13734 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
13735
13736         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
13737
13738 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
13739
13740         * gtk/gtkimcontext.[ch]: Base class for new input context system
13741
13742         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
13743         the real input context implementation to be loaded from modules
13744         and switched on the fly.
13745
13746         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
13747         context that just does direct keysymbol => unicode translation.
13748
13749         * gtk/gtkentry.[ch]: Start switching editing over to using
13750         GtkInputContext. (No handling of preedit yet.)
13751
13752 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
13753
13754         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
13755         many substitutions. (klass should not be subsituted.)
13756
13757 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
13758
13759         * configure.in: Add checks for Pango
13760
13761         * configure.in docs/Makefile.am: Add test for sgml2html
13762         and allow 'make dist' without building html, but print out
13763         warnings in that case. (For making snapshots)
13764
13765         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
13766         Add Pango libraries and C flags
13767
13768         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
13769         Add function (gdk_draw_layout) to draw a pango layout.
13770
13771         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
13772         for getting Pango contexts for GDK.
13773
13774         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
13775
13776         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
13777         editing.
13778
13779         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
13780         keysym => unicode translations. More languages can be added
13781         here, but real input-method support is needed.
13782
13783         * docs/Changes-1.4.txt: Added note about entry behavior.
13784         
13785         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
13786         to set the reading direction for a widget and the global direction.
13787         Add test which allows toggling the global direction. Two private
13788         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
13789
13790         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
13791           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
13792
13793         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
13794
13795         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
13796         underlining now handled by Pango.
13797
13798         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
13799         to RCStyle and Style. (Having both this and the old font name and GdkFont 
13800         is temporary.)
13801
13802         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
13803         convenience functions for creating contexts and layouts for widgets.
13804
13805         * gtk/testgtk.c: Enhance label tests with multilingual labels.
13806
13807 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
13808
13809         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
13810         titles to be active, even if they aren't visible.
13811         (gtk_clist_column_titles_passive):  Ditto.
13812
13813 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
13814
13815         * gtkmenu.c:
13816         * gtkmenu.h:
13817         * gtktypeutils.h: Spelling/grammar fixes in comments.
13818
13819 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
13820
13821         * gdk/nanox/*.h: add missing header files.
13822
13823 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
13824
13825         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
13826         send_event to TRUE.
13827         (gtk_drawing_area_size): queue a resize.
13828
13829 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
13830
13831         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
13832         the handlers, also invalidate them. bug nailed down by Karl Nelson
13833         <kenelson@ece.ucdavis.edu>.
13834
13835 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
13836
13837         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
13838         "(nil)" foundries, patch from Grigorios Magklis.
13839
13840         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
13841         on non-available fonts, based on a patch by Grigorios Magklis
13842         <maglis@cs.rochester.edu>.
13843
13844 2000-05-18  Elliot Lee  <sopwith@redhat.com>
13845
13846         * gdk/x11/gdkregion-generic.c: If a region does not have any
13847         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
13848         instead of GDK_OVERLAP_RECTANGLE_IN.
13849
13850 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
13851
13852         * gtk/gtklayout.c (gtk_layout_map): Remove references to
13853         OFFSCREEN, as it is no longer necessary.
13854
13855 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
13856
13857         * gtk/gtkcolorsel.c: Patch from David Santiago
13858         <mrcooger@cyberverse.com> to change things so that the 
13859         indicator of the active palette entry is done independently,
13860         not via the focus, since it should always be visible.
13861
13862 2000-05-17  Tor Lillqvist  <tml@iki.fi>
13863
13864         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
13865         refcount leaks as in the X11 backend.
13866
13867         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
13868         cosmetics.
13869
13870         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
13871         backend. Add _gdk_windowing_window_destroy().
13872
13873         * gtk/gtkcolorsel.c: Include correct backend-specific header.
13874         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
13875         either, but these probably do exist on nanox?)
13876         
13877         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
13878         which isn't necessarily defined by <math.h>.
13879
13880         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
13881         ancestry past GtkObject.
13882
13883         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
13884         from DLL on Win32.
13885
13886         * gtk/gtk.def: Update corresponding to recent changes.
13887
13888         * gtk/makefile.{cygwin,msc}: Updates.
13889
13890 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
13891
13892         * docs/Changes-1.4.txt: A bit of editing.
13893
13894         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
13895         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
13896         to clear the update area for the window, and clear it
13897         when hiding a window.
13898
13899         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
13900         if window destroyed.
13901
13902         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
13903
13904         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
13905         gdk_window_destroy() to the generic code, since there was a lot of 
13906         window-system-independent logic it in. Add a function:
13907         
13908          _gdk_window_destroy() 
13909
13910         to the internal API to destroy a window without unreferencing it.
13911         Add a function:
13912
13913          _gdk_windowing_window_destroy()
13914
13915         That does the windowing-system-dependent part of destroying 
13916         the window.
13917
13918 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
13919
13920         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
13921
13922 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
13923
13924         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
13925         Make gtk_widget_shape_combine_mask() keep a reference count on
13926         the pixmap since it keeps it around.
13927
13928 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
13929
13930         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
13931         leak.
13932
13933         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
13934         leak with event filters.
13935
13936 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
13937
13938         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
13939         signal handlers with the right data arguments. (Fixes
13940         some warnings when a widget was repeatedly set as a drag
13941         destination.)
13942
13943         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
13944         window so we can avoid avoid setting the DND properties on the
13945         toplevel window repeatedly.
13946
13947 2000-05-13  Tor Lillqvist  <tml@iki.fi>
13948
13949         * gdk/win32/gdkwin32.h: Define more message types missing from
13950         mingw headers.
13951
13952         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
13953         call gdk_window_destroy_notify(). It was never called. This
13954         probably meant that the GdkWindow was never freed. Thanks Owen for
13955         noticing (!).
13956
13957         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
13958         window as destroyed before calling DestroyWindow(). DestroyWindow()
13959         causes a call to the window procedure (gdk_WindowProc), which
13960         calls gdk_event_translate(), which calls
13961         gdk_window_destroy_notify(), which gets confused unless the window
13962         is set as destroyed.
13963
13964         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
13965         this function to indicate it's win32 only. Put inside #ifdef
13966         G_ENABLE_DEBUG.
13967
13968         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
13969         debugging function. (gdk_event_translate:) Add a default branch
13970         that uses the above function to print debug messages with all
13971         Windows messages symbolically.
13972
13973         * gdk/win32/gdkprivate-win32.h: Declare it, and
13974         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
13975
13976 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
13977
13978         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
13979         public header file.
13980
13981 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
13982
13983         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
13984
13985         * gtk/gtktext.c: made the adjustments no-construct args, simply
13986         provide default adjustments.
13987         (gtk_text_destroy): release adjustments.
13988
13989         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
13990         adjustment argument non-construct.
13991
13992         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
13993         instead of in finalize.
13994         (gtk_progress_get_text_from_value): 
13995         (gtk_progress_get_current_text): 
13996         (gtk_progress_set_value): 
13997         (gtk_progress_get_percentage_from_value): 
13998         (gtk_progress_get_current_percentage): 
13999         (gtk_progress_set_percentage): 
14000         (gtk_progress_configure): ensure an adjustment is present.
14001
14002 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
14003
14004         * gtk/gtkcolorsel.[hc]:
14005         * gtk/gtkcolorseldialog.[hc]:
14006         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
14007         their parent implementation, use bit fields for boolean values, don't
14008         create unused widgets, usage of glib types, braces go on their own
14009         lines, function argument alignment, #include directives etc. etc. etc..
14010
14011         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
14012
14013 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
14014
14015         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
14016
14017         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
14018         of NULL.
14019
14020         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
14021         to freed data.
14022         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
14023
14024         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
14025         to NULL when the toplevel is getting destroyed.
14026         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
14027         (gtk_menu_destroy): 
14028         (gtk_menu_init): store the information of whether we have to
14029         readd the initial child ref_count during destruction in a new
14030         GtkMenu field needs_destruction_ref_count.
14031
14032         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
14033         here, those reading: learn from my mistake! ;)
14034         in order for set_?adjustment to support a default adjustemnt if
14035         invoked with an adjustment pointer of NULL, the code read (pseudo):
14036         if (v->adjustment) unref (v->adjustment);
14037         if (!adjustment) adjustment = adjustment_new ();
14038         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
14039         now imagine the first unref to actually free the old adjustment and
14040         adjustment_new() creating a new adjustment from the very same memory
14041         portion. here, the latter comparision will unintendedly fail, and
14042         all hell breaks loose.
14043         (gtk_viewport_set_hadjustment):
14044         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
14045         after unreferencing it.
14046
14047         * gtk/gtkcontainer.[hc]: removed toplevel registration
14048         functions: gtk_container_register_toplevel(),
14049         gtk_container_unregister_toplevel() and
14050         gtk_container_get_toplevels() which had wrong semantics
14051         anyways: it didn't reference and copy the list.
14052
14053         * gtk/gtkwindow.c: we take over the container toplevel registration
14054         bussiness now. windows are registered across multiple destructions,
14055         untill they are finalized. the initial implicit reference count
14056         users are holding on windows is removed with the first destruction
14057         though.
14058         (gtk_window_init): ref & sink and set has_user_ref_count, got
14059         rid of gtk_container_register_toplevel() call. add window to
14060         toplevel_list.
14061         (gtk_window_destroy): unref the window if has_user_ref_count
14062         is still set, got rid of call to
14063         gtk_container_unregister_toplevel().
14064         (gtk_window_finalize): remove window from toplevel list.
14065         (gtk_window_list_toplevels): new function to return a newly
14066         created list with referenced toplevels.
14067         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
14068
14069         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
14070         adjustment a non-construct arg.
14071         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
14072         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
14073         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
14074
14075         * gtk/gtkrange.c: added some realized checks.
14076         (gtk_range_destroy): get rid of the h/v adjustments in the
14077         destroy handler instead of finalize. remove timer.
14078         (gtk_range_get_adjustment): demand create adjustment.
14079
14080         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
14081         we simply create them on demand now and get rid of them in
14082         the destroy handler.
14083         (gtk_viewport_destroy): get rid of the h/v adjustments in the
14084         destroy handler instead of finalize.
14085         (gtk_viewport_get_hadjustment): 
14086         (gtk_viewport_get_vadjustment): 
14087         (gtk_viewport_size_allocate): demand create h/v adjustment
14088         if required.
14089
14090         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
14091         gtk_widget_real_destroy () functionality.
14092         (gtk_widget_real_destroy): reinitialize with a new style, instead
14093         of setting widget->style to NULL.
14094
14095 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
14096
14097         * gtk/gtkcalendar.c:
14098         * gtk/gtkbutton.c: ported _get_type() implementation over to
14099         GType, either to preserve memchunks allocation facilities,
14100         or because Gtk+ 1.0 GtkTypeInfo was still being used.
14101
14102         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
14103         over. prepare for ::destroy to be emitted multiple times.
14104         removed reference tracer magic. chain into GObjectClass.shutdown()
14105         to emit ::destroy signal.
14106
14107         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
14108         fundamental.
14109
14110         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
14111         cludge.
14112
14113         * gtk/gtksocket.c:
14114         * gtk/gtkplug.c:
14115         * gtk/gtklayout.c:
14116         * gtk/gtklabel.c:
14117         * gtk/gtkargcollector.c:
14118         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
14119         not being a fundamental anymore, and to work with the new
14120         type system (nuked fundamental type varargs clutter).
14121
14122         * gtk/*.c: install finalize handlers in the GObjectClass
14123         part of the class structure.
14124         changed direct GTK_OBJECT()->klass accesses to
14125         GTK_*_GET_CLASS().
14126         changed direct object_class->type accesses to GTK_CLASS_TYPE().
14127
14128         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
14129         GType. made most of the GTK_*() type macros and Gtk* typedefs
14130         simple wrappers around macros and types provided by GType.
14131         most notably, a significant portion of the old API vanished:
14132         GTK_TYPE_MAKE(),
14133         GTK_TYPE_SEQNO(),
14134         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
14135         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
14136         GTK_TYPE_ARGS,
14137         GTK_TYPE_CALLBACK,
14138         GTK_TYPE_C_CALLBACK,
14139         GTK_TYPE_FOREIGN,
14140         GtkTypeQuery,
14141         gtk_type_query(),
14142         gtk_type_set_varargs_type(),
14143         gtk_type_get_varargs_type(),
14144         gtk_type_check_object_cast(),
14145         gtk_type_check_class_cast(),
14146         gtk_type_describe_tree(),
14147         gtk_type_describe_heritage(),
14148         gtk_type_free(),
14149         gtk_type_children_types(),
14150         gtk_type_set_chunk_alloc(),
14151         gtk_type_register_enum(),
14152         gtk_type_register_flags(),
14153         gtk_type_parent_class().
14154         replacements, where available are described in ../docs/Changes-1.4.txt.
14155         implemented compatibility functions for the remaining API.
14156
14157         * configure.in: depend on glib 1.3.1, use gobject module.
14158
14159 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
14160
14161         * TODO.xml: Various updates to current status.
14162
14163 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
14164
14165         * gtk.m4: Print out version when test succeeds.
14166
14167 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
14168
14169         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
14170         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
14171         
14172         (Original triangle color selector from Simon Budig
14173         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
14174         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
14175         Santiago <mrcooger@cyberverse.com>)
14176
14177         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
14178         out into a separate widget.
14179
14180         * gtk/testgtk.c: Add some checkbuttons for toggling palette
14181         and opacity controls.
14182
14183 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
14184
14185         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
14186         snuck in prematurely.
14187
14188 2000-05-07  Tor Lillqvist  <tml@iki.fi>
14189
14190         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
14191         had deleted a ! operator by mistake, which caused
14192         GDK_SELECTION_CLEAR events never to be generated, which caused
14193         only the first copy to the clipboard from an gtkeditable to
14194         actually cause a copy to the Windows clipboard.
14195
14196 2000-05-06  Tor Lillqvist  <tml@iki.fi>
14197
14198         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
14199         compilation, too. Current mingw gcc distributions include the
14200         necessary headers. Also the necessary IIDs are now in mingw
14201         headers/libraries, and own definitions unnecessary.
14202
14203         More hacking on OLE2 DND, still doesn't work though, and thus
14204         ifdeffed out.
14205
14206         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
14207         here, too.
14208
14209 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
14210
14211         * gdk/nanox/*: nano-X port work in progress.
14212         * gdk/simple.c: simple test for Gdk.
14213         * README.nanox: notes about the port: read this first!
14214         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
14215         with nano-X.
14216
14217 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
14218
14219         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
14220         gdk_window_clear() into common code, implement in terms of
14221         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
14222         not redirected to the backing rectangle.
14223
14224 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
14225
14226         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
14227         EXTRA_DIST. It does not work well when the file that
14228         everything depends on is not in the tarball.
14229
14230 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
14231
14232         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
14233         with recursion where process_updates() is called from
14234         an expose handler. (GtkTextView is highly broken in
14235         doing this, but it should work, so it is a nice test
14236         case.)
14237
14238 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
14239
14240         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
14241         handle the case where updates are queued during processing of
14242         updates.
14243
14244 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
14245
14246         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
14247         window is on gdk_display - use that instead of segfaulting.
14248
14249 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
14250
14251         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
14252         broken and require an empty arg, give it to them.
14253
14254 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
14255
14256         * gtk/gtklabel.h: indentation fixes.
14257
14258 2000-05-02  Tor Lillqvist  <tml@iki.fi>
14259
14260         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
14261         draw too narrow or too low arcs, they seem to fail, at least with
14262         some display drivers.
14263
14264         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
14265
14266         Large changes to the Win32 backend, partially made necessary by
14267         the changes to the backend-independent internal
14268         structures. Attempts to implement similar backing store stuff as
14269         on X11. The current (CVS) version of the Win32 backend is *not* as
14270         stable as it was before the no-flicker branch was merged. A
14271         zipfile with that version is available from
14272         http://www.gimp.org/win32/. That should be use by "production"
14273         code until this CVS version is usable. (But note, the Win32
14274         backend has never been claimed to be "production quality".)
14275
14276         * README.win32: Add the above comment about versions.
14277
14278         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
14279
14280         * gdk/gdk.def: Update.
14281
14282         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
14283         presumably be replaced by some more better mechanism as 1.4 gets
14284         closer to release shape.
14285
14286         * gdk/makefile.{cygwin,msc}: Update.
14287
14288         * gdk/win32/*.c: Correct inclusions of the backend-specific and
14289         internal headers. Change code according to changes in these. Use
14290         gdk_drawable_*, not gdk_window_* where necessary.
14291
14292         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
14293         our old DND.
14294
14295         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
14296         to interpret single characters as UTF-8. Thanks to Hans Breuer.
14297         Use correct function name in warning messages.
14298
14299         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
14300         GSourceFuncs gdk_event_prepare and gdk_event_check.
14301         (gdk_event_get_graphics_expose): Do implement, use
14302         PeekMessage. Thanks to Hans Breuer.
14303         (event_mask_string): Debugging function to print an GdkEventMask.
14304         (gdk_pointer_grab): Use it.
14305
14306         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
14307         (old) book I used claimed was Hangul actually is CJK Unified
14308         Ideographs Extension A. Also, Hangul Syllables were missing.
14309         Improve logging.
14310
14311         * gdk/win32/gdkgc-win32.c: Largish changes.
14312
14313         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
14314         g_win32_getlocale() from GLib, and not setlocale() to get current
14315         locale name.
14316
14317         * gdk/win32/gdkprivate-win32.h
14318         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
14319         gdkwin32.h, similarily as in the X11 backend.
14320
14321         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
14322         assignment was used instead of equals in if test. Thanks to Hans
14323         Breuer.
14324
14325         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
14326         the X11 version.
14327
14328         * gdk/win32/makefile.{cygwin,msc}
14329         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
14330         path to the Win32 headers that works also with the mingw compiler.
14331
14332         * gtk/gtkstyle.c: Include <string.h>.
14333
14334 2000-04-26  Havoc Pennington  <hp@redhat.com>
14335
14336         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
14337         replacing the broken gtk_label_get ()
14338
14339 2000-04-15  Havoc Pennington  <hp@pobox.com>
14340
14341         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
14342         this keeps scanner scripts from getting confused.
14343
14344         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
14345         data, rather than void
14346
14347 2000-04-15  Tor Lillqvist  <tml@iki.fi>
14348
14349         * gtk/gtkclist.c (gtk_clist_motion)
14350         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
14351         with is_hint FALSE, get x and y from the event. They used to be
14352         used uninitialised. The Win32 backend never sends motion events
14353         marked as hints. This for instance fixes the annoying file and
14354         font selector behaviour in the Win32 version.
14355
14356 2000-04-14  Tor Lillqvist  <tml@iki.fi>
14357
14358         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
14359         gtk_private_n_signals variables, they are used by some software,
14360         sigh.
14361
14362         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
14363         installation directory from the Registry, where the installer
14364         should have put it.
14365
14366 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
14367
14368         * gdk/x11/Makefile.am: Fix problem with installation directory for
14369         gdkx.h
14370
14371         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
14372         <mrcooger@cyberverse.com> so that when selecting menus with the
14373         mouse, the first item will not be selected, but when selecting
14374         with an accelerator, or navigating left-right on a menubar with
14375         the menus popped up, the first item will be selected.
14376
14377 2000-04-05  Dan Damian  <dand@dnttm.ro>
14378
14379         * configure.in: Added "ro" to ALL_LINGUAS.
14380
14381 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
14382
14383         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
14384         indentation.
14385
14386         * Makefile.am (EXTRA_DIST): Fix typo.
14387
14388         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
14389         to catch gdkconfig.h
14390
14391         * gtk/gtkitemfactory.c: Added FIXME.
14392
14393 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
14394
14395         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
14396         s/return_if_fail/return_val_if_fail/g and add a return value.
14397
14398 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
14399
14400         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
14401         merge slipup.
14402
14403         * gdk/gdkinput.h: Fix missing line from merge.
14404
14405 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
14406
14407         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
14408         instead of gdkprivate.h.
14409
14410 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
14411
14412         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
14413         parent class to correctly be GtkDialogClass.
14414
14415 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
14416
14417         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
14418         toplevel windows and their immediate children by their parents,
14419         since the size of toplevel windows is out of our immediate
14420         control and we don't get any real benefit from trying to track
14421         this size for clipping.
14422
14423         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
14424         for input_only windows.
14425
14426         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
14427         to fix some hacks and make sure that we don't try to set the
14428         background of input only windows.
14429
14430 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
14431
14432         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
14433         the _really_ internal stuff, and leave gdkprivate.h for the fake private
14434         stuff that we've traditionally exposed.
14435
14436         * gdk/**.c: Use gdkinternals.h where appropriate.
14437
14438         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
14439         not include gdkprivate-x11.h, move all stuff of conceivable public
14440         interest into gdkx.h; keep all really private stuff in
14441         uninstalled header gdkprivate-x11.h.
14442
14443         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
14444         image->image_put on windows through a new function _gdk_window_draw_image()
14445         to allow us to do backing store for images. (Sort of ugly)
14446
14447         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
14448         contexts locally so that we can offset them properly when drawing 
14449         onto backing pixmaps.
14450
14451         * gdk/gdkinput.h: Reindented
14452
14453         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
14454         pixmap or color for the window, so we can properly initialize
14455         our double-buffer pixmaps, and also so that we temporarily set
14456         a background of None while scrolling.
14457
14458         * gdk/gdkregion.h: Revise region boolean operators to have an
14459         interface that is actually convenient - switch from creating new
14460         regions on every op, to "methods" that modify existing regions
14461         (A = A OP B). 3 argument forms which allow dest == src, would also
14462         be possible, but the current interfaces seem to map nicely
14463         onto what needs to be done. (There is quite a lot of region
14464         code in GDK now.)
14465
14466         * gdk/gdkregion.h: Add constructor from rectangle and a copy
14467         operator.
14468
14469         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
14470         gdkpoly-generic.h: Copy region code from Xlib, switch it over
14471         to 32 bit coordinates, modify it to be mostly GTK+ style
14472         and to have interfaces that match gdkregion.h.
14473
14474         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
14475         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
14476         create a backing pixmap and redirect all drawing to
14477         that backing pixmap until a matching gdk_window_end_paint().
14478
14479         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
14480         Create a special drawable class for GtkWindow's that 
14481         redirects the drawing to the backing pixmap as necessary
14482         and then calls the real operations in _gdk_windowing_window_class.
14483
14484         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
14485         Store invalid region for each window. Generate expose events for invalid
14486         region in an idle. This replaces both the expose compression
14487         and the redrawing queuing in GTK+. It is both more efficient and
14488         simpler than either one individually and far more so then the
14489         combination.
14490
14491         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
14492         Emulate 32 bit coordinates for windows with 16 bit coordinates
14493         by offsetting drawing, guffaw scrolling techniques and
14494         mapping/unmapping child windows as necessary.
14495
14496         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
14497         where, when invalid regions are processed, the region is stored,
14498         and if expose events come in that are detectably duplicate
14499         the processed exposes (by comparison of event serial numbers),
14500         the stored region is subtracted out of those exposes.
14501
14502         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
14503         regions newly exposed when scrolling or resizing windows.
14504         This, combined with forcing processesing of queued invalidated
14505         regions, gives nice flicker-free scrolling.
14506
14507         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
14508         invalidated regions after every scroll.
14509
14510         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
14511         emulation in GDK. Its, for all practical purposes just a
14512         GtkViewport/GtkFixed hybrid now.
14513
14514         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
14515         (16-bit) structures as necessary instead of just casting.
14516
14517         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
14518         in terms of the structures from gdkregion-generic.c, using appropriate
14519         offsets from GDK to X11 coordinates. Cache clip mask and
14520         origin and ts origin locally and only flush to the server
14521         when drawing, to avoid constantly setting and resetting these
14522         values when offsetting GC's for scrolling and backing pixmaps.
14523
14524         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
14525
14526         * gtk/gtkcontainer.c: Call process_all_updates at end
14527         of resizing to reduce flicker. (Avoids having redraw
14528         lag arbitrarily behind resize under some circumstances)
14529
14530         * gtk/gtkentry.c: Remove old backing store code, and simply take
14531         advantage of the new backing store capabilities of GDK.
14532
14533         * gtk/gtkmain.c: Simple implementation of widget backing
14534         store - simply push a paint while handling each expose.
14535         (Should really be configurable widget for widget.)
14536         
14537         * gtk/gtkwidget.c: Remove all the old complicated redraw
14538         code, and simply invalidate the GDK windows from
14539         gdk_window_queue_clear(), etc. (Sigh, so much carefully
14540         debugged complexity ... gone to the winds.)
14541
14542         Remove all the code for suppressing expose events while
14543         resizes are pending; this isn't needed since the invalid
14544         areas won't be processed until after the resizes are
14545         processed, since they are in a lower priority idle.
14546
14547 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
14548
14549         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
14550         and height of dest rectangle for non-intersecting rectangles.
14551
14552 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
14553
14554         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
14555         for GdkRectangle.
14556
14557 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
14558
14559         * gdk/gdk{events,image,private,types,window}.h
14560          gdk/x11/gdkinputprivate.h: Change all coordinates
14561          from int16 to int. Also, Change width and height from
14562          unsigned to signed to avoid all the stupid C 
14563          signedness bugs.
14564
14565 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
14566
14567         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
14568         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
14569         Add some more detailed checking.
14570
14571         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
14572         New function to retrieve the depth of a drawable.
14573
14574         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
14575         field, reorder fields to save memory. 
14576
14577 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
14578
14579         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
14580         of the background image instead of scaling the background down to
14581         a line.
14582
14583         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
14584         which temporarily set slider to wrong size.
14585
14586         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
14587         queue_clear().
14588
14589 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
14590
14591 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
14592
14593         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
14594
14595 2000-03-17  Tor Lillqvist  <tml@iki.fi>
14596
14597         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
14598         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
14599
14600         * gdk/win32/gdkfont-win32.c
14601         * gdk/win32/gdkproperty-win32.c
14602         * gdk/win32/gdkselection-win32.c
14603         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
14604         now declared such.
14605
14606 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
14607
14608         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
14609
14610 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
14611
14612         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
14613         is called without trapping X errors.
14614
14615 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
14616
14617         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
14618         way into the fontset lists.
14619
14620 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
14621
14622         * gtk/gtkthemes.h: add extern "C" scope.
14623
14624 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
14625
14626         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
14627         to make appends to the list constant. (gtk-guy-990901-0.patch)
14628
14629 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
14630
14631         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
14632         for the typename hash table.
14633
14634 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
14635
14636         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
14637         to make sure we never divide by zero. 
14638         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
14639
14640 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
14641
14642         * gtk/gtkfontsel.c: Apply patch from
14643         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
14644         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
14645
14646         Also, some cleanups in atom handling.
14647
14648 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
14649
14650         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
14651         not GtkWidget.
14652
14653 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
14654
14655         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
14656         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
14657         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
14658         more guint wrap-around bugs before going to bed.
14659
14660 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
14661
14662         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
14663         guint wrap arounds in allocation.width.
14664
14665         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
14666         process untill we fit the allocation given.
14667
14668 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
14669
14670         * gtk/gtkwidget.c:
14671         (gtk_widget_unrealize): guard widget access with ref/unref
14672         around signal emission.
14673         (gtk_widget_hide): same here, but also check its destroyed
14674         state before queueing a resize.
14675
14676 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
14677
14678         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
14679         of gtk_default_insensitive_bg as insensitive base color.
14680
14681         * gtk/gtktext.c (gtk_text_style_set): set the background color according
14682         to the widget's state.
14683         (gtk_text_realize): same here.
14684         (gtk_text_state_changed): same here.
14685         (draw_bg_rect): compare background color against base[] from
14686         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
14687
14688 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
14689
14690         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
14691         grabs are active, unless a delete event is send to the toplevel
14692         of the currently grab holding widget.
14693
14694 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
14695
14696         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
14697         debugging g_print's.
14698
14699 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
14700
14701         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
14702         ever make the scrolled-window requisition ever depend on the 
14703         visibility state of the scrollbars for the AUTOMATIC policy. 
14704         This breaks the GTK+ requisition model, and causes loops.
14705
14706 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
14707
14708         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
14709         the default font to avoid problems with XFree86-4.0 where the
14710         default charset is iso10646-1, not iso8859-1.
14711
14712 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
14713
14714         * acinclude.m4
14715         * config.guess
14716         * config.sub
14717         * ltconfig
14718         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
14719
14720         * gtk/Makefile.am: minor cosmetic consistency tweak
14721
14722 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
14723
14724         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
14725         the activate_time to 0, so that we handle a quick
14726         press/release press/release properly and don't suppress
14727         the second release. (Red Hat bug #7545)
14728
14729 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
14730
14731         * gtk/gtkctree.c (row_delete):
14732         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
14733         bugs with destruction notifier, *always* update internal
14734         structures *before* calling user code.
14735
14736 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
14737
14738         A few more fixes for bug #5487, #2051, #2677.
14739         * gtk/gtkclist.c : 
14740         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
14741         not GDK_BUTTON_PRESS.
14742         (resync_selection): resync only if selection_mode is
14743         GTK_SELECTION_EXTENDED
14744         * gtk/gtkctree.c (resync_selection): same here
14745
14746 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
14747
14748         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
14749         gdk_drag_get_selection() and gtk_menu_detach().
14750
14751         [ From Jeroen Ruigrok/Asmodai ]
14752
14753 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
14754
14755         * gtk/gtknotebook.c (gtk_notebook_size_request): 
14756         page->tab_label can be NULL.
14757
14758 2000-01-25  Havoc Pennington  <hp@pobox.com>
14759         
14760         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
14761         arg is boolean
14762
14763         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
14764
14765         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
14766
14767         * gdk/gdkproperty.c (gdk_property_get): return boolean
14768
14769         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
14770
14771         * gdk/gdkim.c (gdk_im_ready): return boolean
14772
14773         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
14774
14775         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
14776         glib clash, should fix glib)
14777
14778         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
14779         (gdk_get_show_events): return gboolean, and canonicalize 
14780         to TRUE/FALSE
14781
14782         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
14783         colormap is private
14784         (gdk_colors_alloc): gboolean whether to be contiguous
14785         (gdk_color_equal): return gboolean since we are a predicate
14786         and not a qsort() (this looks semi-wrong due to glib breakage,
14787         IMO glib should be fixed)
14788         
14789         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
14790         (gdk_get_use_xshm): return gboolean
14791         (gdk_pointer_is_grabbed): return gboolean
14792
14793         * gdk/gdk.h: Change prototypes to match all the above changes,
14794         and re-run egtk-format-protos as required.
14795
14796 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
14797
14798         * gtk/gtkctree.c (resync_selection): 
14799         * gtk/gtkclist.c (resync_selection):
14800
14801         Return immediately if clist->drag_pos < 0. This is a workaround
14802         for the corrupt state that the clist gets into when a
14803         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
14804
14805         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
14806         
14807         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
14808         variable from recent commit.
14809
14810 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
14811
14812         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
14813
14814 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
14815
14816         * gtk/Makefile.am: prefix all autogenerated source that get build in
14817         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
14818         in builddir. since we subsequently cd into srcdir for autogeneration,
14819         the paths have to be stripped from the target file names, thusly we
14820         use $(@F) as target names now.
14821         put a comment about configure.in's --disable-rebuilds option,
14822         which can be used for non-writable source directories, for development
14823         setups though, srcdir has to be *writable*.
14824
14825 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
14826
14827         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
14828           Finish the job of allowing event to be NULL.
14829           (Fixes bug #4283, reported by Chris Blizzard)
14830
14831         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
14832           things so that the cursor appears on screen, properly
14833           take into account INNER_BORDER.
14834           (Fixes bug #4754, reported by Antonio Campos)
14835
14836 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
14837
14838         * gtk/gtknotebook.c (gtk_notebook_map): Don't
14839           show the tab_label unless it itself is visible.
14840
14841           gtk/gtknotebook.c (gtk_notebook_size_request):
14842           Do a better job of making sure that the visibility
14843           of the tab label corresponds to whether it should
14844           be mapped or not.
14845
14846 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
14847
14848         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
14849           Use the requisition, not the allocation, since the
14850           allocation has not necessarily been computed yet.
14851           (Pointed out by Eugene Osintsev)
14852
14853 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
14854
14855         * gtk/gtkstyle.c (gtk_style_new): Dont' set
14856           style/base[GTK_STATE_INSENSITIVE] both to
14857           gtk_default_insensitive_bg!
14858           (Bug #2187, reported by Jonathan Blandford)
14859
14860         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
14861           Add Alt_L, Alt_R to list of invalid accelerators.
14862           (Bug #3736, reported by Vlad Harchev)
14863
14864 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
14865
14866         * gtk/gtkfilesel.c (open_ref_dir): Fix several
14867         bugs which occured after an attempt to open 
14868         invalid home directory left cmpl_state->reference_dir == NULL.
14869
14870          - completion on files in home directory didn't work
14871          - completion on an empty string caused  segfault
14872
14873          (Bug #3678, reported by Steve Ratcliffe)
14874
14875         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
14876         cut and paste error that was causing scales to
14877         be incorrectly positioned.
14878         (Bug #2956,
14879          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
14880
14881 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
14882
14883         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
14884         when checking for dcgettext, if we've found we needed
14885         it for dgettext.
14886 +
14887 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
14888
14889         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
14890         queue_clear on NO_WINDOW widgets during a reparent,
14891         since at that point the window and widget heirarchies
14892         are out of sync. This stops crashing in some cases
14893         (the scrolled window reparent test, for instance), and
14894         _probably_ won't cause drawing errors.
14895
14896         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
14897         test do what it was supposed to do and be robust against
14898         window closings, etc. (Bug #2443)
14899
14900 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
14901
14902         * gtk/gtkentry.c: Fix return values on mouse events.
14903         (Bug #2686, Sky <seb_sky@yahoo.com>)
14904
14905         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
14906         (pointed out by George Lebl)
14907
14908         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
14909         (From Ettore Perazzoli  <ettore@helixcode.com>)
14910  
14911 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
14912
14913         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
14914         clicks between rows or outside calender area correctly.
14915         (Patch from Damon Chaplin)
14916
14917         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
14918         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
14919           Call destroy function when overwriting existing data. 
14920           (Pointed out by Damon Chaplin)
14921
14922 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
14923
14924         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
14925           which was causing problems on various systems with Xmu.
14926           This hasn't been needed for a very long time.
14927           (Fixes #1185 3167)
14928
14929 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
14930
14931         * gdk/gdki18n.h: Include <ctype.h> when defining
14932           gdk_isw* in terms of is* as a fallback.
14933           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
14934
14935 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
14936
14937         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
14938           realize the widget when it is size allocated!
14939           (old, old bug)
14940
14941         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
14942           Removed unused call to gdk_window_get_size() that
14943           showed up when the above was fixed.
14944
14945 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
14946
14947         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
14948           fix up widget->window when the widget is a
14949           NO_WINDOW container widget.
14950
14951 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
14952
14953         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
14954           to account for the fact that feof() does _not_ 
14955           return TRUE on errors, and thus avoid infinite loops
14956           when trying to use gdk_pixmap_create_from_xpm()
14957           on unreadable values.
14958
14959 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
14960
14961         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
14962
14963 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
14964
14965         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
14966           gdk_gc_set_dashes to take gint8 instead of gchar to
14967           make it clearer that it is _not_ a NULL terminated string.
14968
14969         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
14970           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
14971           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
14972           arguments.
14973
14974 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
14975
14976         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
14977         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
14978         background size relative to our allocation, guard against small
14979         allocations, we may have not yet been size allocated.
14980
14981 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
14982
14983         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
14984         not just version == 3. We implement all 3 + most of 4 - 
14985         (we don't support matching text/plain;charset=iso-8859-1
14986         to a dest that expects text/plain). We'll still advertise
14987         3 to be safe, but any client implementing version >= 3
14988         must interoperate with 3.
14989         
14990 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
14991
14992         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
14993         background and gc members, add a warning in gtk_tooltips_set_color()
14994         indicating that this function is deprecated.
14995
14996 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
14997
14998         * docs/gtkfaq.sgml: FAQ Update:
14999           - Minor cleanups (Emmanuel, me)
15000           - New questions:
15001                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
15002                 How can I retrieve the text from a GtkMenuItem? (timj)
15003                 How do I validate/limit/filter the input to a GtkEntry? (me)
15004                 Memory does not seem to be released when I free the list
15005                         nodes I've allocated (timj)
15006
15007 2000-03-07  Tor Lillqvist  <tml@iki.fi>
15008
15009         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
15010         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
15011         for which it is no use to call GetLastError onWin9x.
15012         (gdk_other_api_failed) New function, for general error
15013         reporting without calling GetLastError.
15014         (gdk_win32_api_failed) OTOH, this function always calls
15015         GetLastError. (gdk_win32_last_error_string) Remove this function,
15016         GLib has the equivalent now.
15017
15018         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
15019         call them with function name, file name and line number in the
15020         arguments.
15021
15022         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
15023         functions.
15024         
15025         * gtk/gtk.def: Add some missing entry points.
15026
15027         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
15028         gtk_paned_set_gutter_size, which don't exist any longer, as void.
15029         
15030         Fixes by Hans Breuer:
15031
15032         * gdk/makefile.msc: Update for debugging.
15033
15034         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
15035         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
15036         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
15037         in the dash_list.
15038
15039         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
15040         the x11 backend.
15041
15042         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
15043
15044         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
15045
15046 2000-03-04  Tor Lillqvist  <tml@iki.fi>
15047
15048         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
15049         just pixel value of background colour.
15050
15051         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
15052         containing code snippet previously duplicated in a couple of
15053         places.
15054         
15055         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
15056         gdk_colormap_color.
15057
15058         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
15059         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
15060         events for autorepeated Shift, Control and Alt keys. Use
15061         gdk_colormap_color.
15062
15063         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
15064         pointer is inside the window the cursor of which we are setting,
15065         call SetCursor immediately.
15066
15067         * gdk/win32/makefile.cygwin
15068         * gtk/makefile.cygwin: If we don't have the build number stamp
15069         file, use zero.
15070
15071         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
15072         gtk_paned_set_gutter_size as empty.
15073
15074         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
15075         
15076 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
15077
15078         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
15079           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
15080           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
15081           docs/gtk_tut.sgml docs/gtk.texi TODO:
15082
15083           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
15084
15085 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
15086
15087         * gtk/gtkcalendar.c: Implement num_marked_dates,
15088           and don't emit mutiple day_selected signals on
15089           month_prev.
15090
15091 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
15092
15093         * docs/make-todo (lineno): let title and logo be configurable so
15094         that GNOME can use this script too.
15095
15096         * TODO.xml: added logourl and a title
15097
15098 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
15099
15100         * TODO.xml: Added some UI items, and an explanatory
15101         comment at the top of the file.
15102
15103 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
15104
15105         * TODO.xml: some updates, added abunch of new entries.
15106         a note for those fiddeling with this file, when done
15107         with it, invoke:
15108         $ ./docs/make-todo TODO.xml >/dev/null
15109         and correct output errors before comitting changes.
15110
15111 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
15112
15113         * TODO.xml: Added XML-structured TODO file.
15114         * docs/make-todo: python script to turn TODO.xml into
15115           pretty XML output. 
15116
15117 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
15118
15119         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
15120         the function to let it draw the seven dots, instead of the old,
15121         much maligned, method.
15122         (draw_dot): New function to draw a dot.
15123
15124         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
15125         to draw the handle inside the border width as opposed to outside.
15126         Use paint function instead of gdk_draw_point.
15127
15128         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
15129         to draw the handle inside the border width as opposed to outside.
15130         Use paint function instead of gdk_draw_point.
15131
15132         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
15133         Change indenting to be more GTK like.
15134
15135 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
15136
15137         * docs/gtk_tut.sgml: New section on GtkCalendar
15138         * examples/calendar: Update example code
15139
15140 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
15141
15142         * docs/gtkfaq.sgml: FAQ Update
15143
15144 2000-02-19  Anders Carlsson  <andersca@gnu.org>
15145
15146         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
15147         to prevent the scroll event to be propagated upwards.
15148
15149 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
15150
15151         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
15152         OwnerGrabButtonMask from button entries for
15153         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
15154
15155         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
15156         to the event mask (which will result in button/press release
15157         being added to the event mask on Unix) so scrolling works
15158         for layouts in scroll windows.
15159
15160         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
15161
15162         Patch from Anders Carlsson  <andersca@gnu.org> to add
15163         a scroll event.
15164
15165         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
15166         scrolling to the "Test Scrolling" part of testgtk.
15167  
15168         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
15169  
15170         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
15171         it against GDK_SCROLL.
15172  
15173         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
15174         way of mouse wheel scrolling.
15175  
15176         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
15177  
15178         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
15179  
15180         * gtk/gtkmain.c: Removed previous mouse wheel hack.
15181  
15182         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
15183         gdk_event_mask_table.
15184  
15185         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
15186         GdkEventScroll handler.
15187  
15188         * gdk/gdkevents.h: Added GdkEventScroll structure.
15189  
15190 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
15191
15192         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
15193         and Anders Carlsson to change the Paned widgets so that they
15194         can be dragged from anywhere along the length. Also change
15195         the way that this is drawn to make this apparent.
15196
15197         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
15198         from George Lebl to check that option_menu->menu is present
15199         before getting history.
15200
15201 2000-02-14  Tor Lillqvist  <tml@iki.fi>
15202
15203         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
15204         before the assertion for non-NULL segment list.
15205
15206         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
15207         Seems that pattern brushes *must* be 8x8 pixels! At least on my
15208         machine, but it might be display driver dependent. Sigh, so make
15209         sure the stipple is that size. Does Windows suck or what?
15210
15211         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
15212         places.
15213
15214 2000-02-13  Havoc Pennington  <hp@pobox.com>
15215
15216         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
15217         refcount to 1
15218         (gdk_cursor_new): init refcount to 1
15219
15220         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
15221
15222 2000-02-13  Tor Lillqvist  <tml@iki.fi>
15223
15224         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
15225         so that we don't have to do unnecessary settings to the HDC.
15226
15227         * gdk/win32/gdkdrawable-win32.c
15228         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
15229         gdk_gc_predraw.
15230
15231         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
15232         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
15233         GDI paths, call WidenPath to get the outline of the stroken path,
15234         and then fill the outline (with the brush that was built from the
15235         stipple).
15236
15237         * gdk/win32/gdkgc-win32.c: Factor out common code from
15238         _gdk_win32_gc_new and gdk_win32_gc_set_values into
15239         gdk_win32_gc_values_to_win32values. Use correct colour for
15240         SetBkColor() (Until now the code actually used a random colour in
15241         the call to SetBkColor()... but that didn't show up as not many
15242         GDI APIs use the background colour. Pattern (opaque stippled)
15243         brushes do.)
15244
15245         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
15246         gdk_win32_api_failed): New functions for error logging.
15247
15248         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
15249         WIN32_API_FAILED to call them, passing function or file name and
15250         line number.
15251
15252         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
15253
15254         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
15255         GdkColor for foreground and background in GdkGCWin32Data.
15256
15257         * gdk/makefile.cygwin: Link in the resource object separately.
15258
15259         * gdk/win32/rc/gdk.rc
15260         * gtk/gtk.rc (New file)
15261         * gdk/win32/makefile.cygwin
15262         * gtk/makefile.cygwin: Update build number in DLLs automatically,
15263         as in GLib.
15264
15265 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
15266
15267         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
15268         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
15269         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
15270         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
15271         parameters given and cursor->ref_count. coding style fixups.
15272
15273         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
15274         not GtkWidget.
15275         
15276         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
15277         fix up widget macros and add _GET_CLASS() variant.
15278         
15279         * gtk/*.c: some GtkType fixups.
15280
15281 2000-02-09  Tor Lillqvist  <tml@iki.fi>
15282
15283         * gdk/win32/gdkproperty-win32.c
15284         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
15285         were reversed.
15286
15287 2000-02-04  Tor Lillqvist  <tml@iki.fi>
15288
15289         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
15290         g_filename_to_utf8 to convert the font names Windows gives us from
15291         whatever is the default codepage to UTF-8.
15292         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
15293         in the other direction.
15294
15295         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
15296         error in debugging output.
15297
15298 2000-02-02  Tor Lillqvist  <tml@iki.fi>
15299
15300         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
15301         and height parameters to gdk_window_clear_area(). Not minus one.
15302
15303 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
15304
15305         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
15306         checks if the widget passed to gtk_drag_get_data() was not the
15307         dest widget.
15308
15309 2000-02-01  Tor Lillqvist  <tml@iki.fi>
15310
15311         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
15312         g_filename_from_utf8 functions (which were added a moment ago to
15313         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
15314         size buffers.
15315
15316         gtk_file_selection_get_filename returns the filename in the C
15317         runtime encoding. It calls g_filename_from_utf8, but copies the
15318         returned string to a static buffer, which is returned. I think
15319         this is better than returning the result from g_filename_from_utf8
15320         directly, which would mean all apps that use it would have to free
15321         the return value. Or should this function care about this issue at
15322         all? Maybe a new function with clearly defined semantics.
15323
15324         * gtk/gtkfilesel.h: Add comment about
15325         gtk_file_selection_get_filename returning the filename in the C
15326         runtime's encoding.
15327
15328         * README.win32
15329         * gdk/gdk.def
15330         * gdk/makefile.{cygwin,msc}
15331         * gtk/gtk.def: Updates.
15332
15333         * gdk/gdkcursor-win32.c: Initialise refcount.
15334
15335 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
15336
15337         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
15338
15339 2000-01-30  Havoc Pennington  <hp@pobox.com>
15340
15341         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
15342         destroy
15343
15344         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
15345
15346         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
15347         implemented in platform-specific code
15348
15349         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
15350
15351         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
15352         underscore in front
15353
15354         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
15355         put an underscore in front
15356
15357         * gdk/gdkcursor.c: new file, implements
15358         gdk_cursor_ref/gdk_cursor_unref
15359
15360         * gdk/gdkcursor.h: Refcount GdkCursor
15361
15362         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
15363
15364 2000-01-29  Tor Lillqvist  <tml@iki.fi>
15365
15366         * gdk/gdkwindow.h
15367         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
15368
15369 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
15370
15371         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
15372         structures to properly inherit from GtkWidget not GtkBin.
15373
15374 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
15375
15376         * gtk+.spec.in: Added lib/gtk+/include/* to %files
15377         (bug #5178 - Peter Wainright)
15378         
15379         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
15380         so that it will be installed.
15381         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
15382
15383 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
15384
15385         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
15386         for the GtkStyleClass vtable const.
15387
15388         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
15389         take a const string argument like GtkTranslateFunc. This will
15390         require changes in use code.
15391
15392 2000-01-19  Tor Lillqvist  <tml@iki.fi>
15393
15394         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
15395         semantics (to mimic the X11 backend, which just calls XClearArea)
15396         is to check for zero width (and height), and in that case use the
15397         window's width minus x (height minus y). This fixes for instance
15398         some redraw problems with gtkclist, which were easily noticeable
15399         in the gtk file selection widget.
15400
15401         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
15402         windows.
15403
15404 2000-01-13  Tor Lillqvist  <tml@iki.fi>
15405
15406         * configure.in
15407         * gdk/Makefile.am
15408         * gdk/x11/Makefile.am
15409         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
15410         (bug #5177).
15411         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
15412         out later.
15413
15414 2000-01-09  Tor Lillqvist  <tml@iki.fi>
15415
15416         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
15417         WM_MOVE for iconified or invisible windows. This fixes various
15418         problems when minimising windows. Thanks to Bernd Herd.
15419
15420 2000-01-05  Tor Lillqvist  <tml@iki.fi>
15421
15422         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
15423         backend's draw_lines method, not draw_points.
15424
15425 2000-01-02  Tor Lillqvist  <tml@iki.fi>
15426
15427         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
15428         before Owen's reorganisation: Don't have queued_events and
15429         queued_tail statics in this file, but use gdk_queued_events and
15430         gdk_queued_tail. This makes exposure event compression work again.
15431
15432         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
15433         seem to be needed?
15434
15435 1999-12-30  Tor Lillqvist  <tml@iki.fi>
15436
15437         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
15438         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
15439         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
15440         doesn't do anything.
15441
15442         * gdk/gdk.def: Add gdk_xid_table_insert.
15443
15444         * gdk/win32/gdkprivate-win32.h
15445         * gdk/win32/gdkevents-win32.c
15446         * gdk/win32/gdkinput-win32.c
15447         
15448         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
15449         extension_events field in the GdkWindowWin32Data struct. Use only
15450         the extension_events field in GdkWindowPrivate. Previously one was
15451         set, and the other one tested, which broke tablet
15452         functionality. Thanks to Keishi Suenaga for pointing this out.
15453
15454 1999-12-18  Tor Lillqvist  <tml@iki.fi>
15455
15456         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
15457         When handling a single character (text length == 1), don't handle
15458         it as if it was UTF-8.
15459
15460 1999-12-11  Tor Lillqvist  <tml@iki.fi>
15461
15462         * Makefile.am: Distribute README.win32.
15463         
15464         * gdk/Makefile.am
15465         * gdk/win32/Makefile.am: Distribute Win32 files.
15466
15467         * gdk/makefile.msc: New file.
15468
15469         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
15470         after label).
15471
15472         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
15473         gdk_error_code as GDKVAR, as they are referred outside GDK.
15474
15475         * gdk/win32/makefile.msc: Update.
15476
15477         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
15478         tweaks. Check only if at least one of those Unicode subrange bits
15479         we care for is set. If no code page bits are set, guess (wildly)
15480         based on the charset.
15481
15482         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
15483
15484         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
15485         non-NULL.
15486
15487         * gtk/gtkdnd.c
15488         * gtk/gtklayout.c
15489         * gtk/gtkplug.c
15490         * gtk/gtkselection.c
15491         * gtk/gtksocket.c
15492         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
15493         appropriate. There must be a cleaner way to handle this?
15494
15495         * gtk/gtkrc.c: Must include windows.h on Win32.
15496
15497         * gtk/testgtk.c: No need to include gdkx.h.
15498
15499         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
15500
15501 1999-12-07  Tor Lillqvist  <tml@iki.fi>
15502
15503         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
15504         the rbearing is set to the same as the width, but this should be
15505         fixed.
15506
15507 1999-12-06  Tor Lillqvist  <tml@iki.fi>
15508
15509         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
15510         function. If Windows doesn't tell us what Unicode subranges a font
15511         covers, guesstimate based on the codepages it covers. This will
15512         hopefully help those Windows versions or fonts that don't give us
15513         any useful Unicode subrange information with GetTextCharsetInfo.
15514         Call this function in gdk_font_load_internal.
15515
15516         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
15517         minor changes.
15518
15519 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
15520
15521         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
15522         New function, long needed.
15523
15524 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
15525
15526         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
15527         only_if_exists argument of gdk_atom_intern to
15528         bool.
15529
15530 1999-11-25  Tor Lillqvist  <tml@iki.fi>
15531
15532         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
15533         Fix two copy&paste errors.
15534
15535         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
15536         win32 has changed.
15537
15538         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
15539         GdkWin32SingleFont struct.
15540
15541         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
15542         subranges of loaded fonts. Clear font signature first, in case
15543         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
15544         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
15545
15546         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
15547         Unoffset clip region.
15548
15549 1999-11-23  Tor Lillqvist  <tml@iki.fi>
15550
15551         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
15552         event->any.window before calling filter functions.
15553
15554 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
15555
15556         * gtk/gtkgamma.h: Adapt cast macros to standard.
15557
15558 [ Merges from 1.2 ]
15559
15560 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
15561
15562         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
15563         If translation does not include a '/', use entire
15564         translation instead of crashing.
15565
15566 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
15567
15568         * docs/gtk_tut.sgml:
15569         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
15570
15571 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
15572
15573         * gtk/gtkselection.c (gtk_target_list_remove): Use
15574         g_list_remove_link, not g_list_remove.
15575
15576         [ From Geert Bevin <gbevin@thunderstorms.org> ]
15577         
15578 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
15579
15580         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
15581         statement upon unselection (how the heck did that slip in?).
15582
15583 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
15584
15585         * gtk/gtktext.c (gtk_text_freeze): 
15586         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
15587         in frozen state (and aparently crashes). patch provided by Anders
15588         Melchiorsen <and@kampsax.dtu.dk>.
15589
15590 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
15591
15592         * fix insensitive default/focus widget activation,
15593         reported by Matt Goodall <mgg@isotek.co.uk>.
15594
15595         * gtk/gtkwindow.c (gtk_window_key_press_event): 
15596         (gtk_window_activate_default):
15597         (gtk_window_activate_focus):
15598         return handled=FALSE for actiavtion of insensitive default
15599         widgets. return handled=TRUE for activation of insensitive
15600         focus widgets. don't activate in either case.
15601
15602 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
15603
15604         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
15605         and $glib_cflags to match library order and in the
15606         theory that an old version of GLib is more likely to
15607         be in the include directory for X then vice-versa.
15608         (Bug #2776)
15609
15610 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
15611
15612         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
15613         to determine the locale for fontsets, not LC_MESSAGES;
15614         the user may want English messages with a handling
15615         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
15616         will still be broken) (Bug #2891)
15617
15618 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
15619
15620         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
15621
15622 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
15623
15624         * gtk/gtkrc.ko: Changed the Korean default fontset.
15625
15626 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
15627
15628         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
15629         where when scrolling to the left or top double exposes
15630         were done, causing major slowdowns.
15631
15632 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
15633
15634         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
15635         names to lowercase and alphanumeric, before looking
15636         them up.
15637
15638         * gtk/Makefile.am: Install codeset variant gtkrc files
15639         with normalized names.
15640
15641 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
15642
15643         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
15644         popup menus when the menu is already visible, but its parent
15645         is still hidden, (happens after tornoff window got hidden).
15646
15647 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
15648
15649         * gtk/Makefile.am (install-data-local): Fix
15650         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
15651         deleted, causing error messages on install.
15652
15653 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
15654
15655         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
15656         the handle as well, since we now sometimes ignore
15657         exposes on the handle while resizing.
15658
15659 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
15660
15661         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
15662         extra g_free introduced in one of the last one or two 
15663         commits.
15664
15665 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
15666
15667         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
15668         consistent, put each style that a gtkrc.* file creates
15669         in a unique namespace, remove old files before installing.
15670
15671 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
15672
15673         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
15674         gtk_rc_init is called multiple times. (Yes, people who
15675         do that have bugs in their code.)
15676
15677 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
15678
15679         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
15680         Remove it since it's generated by the Makefile anyway
15681
15682 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
15683
15684         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
15685         device->info.axes for core pointer.
15686
15687 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
15688
15689         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
15690         idle_id, to deal with obsolete, broken C libraries.
15691
15692 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
15693
15694         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
15695         allocation->x/y twice!
15696
15697         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
15698         consistent with gtk_vscale_pos_trough().
15699
15700 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
15701
15702         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
15703         be queueing a resize on a toplevel container between
15704         the time we show it and when we map it. So, we need
15705         to test GTK_WIDGET_VISIBLE() for toplevels, and only
15706         use GTK_WIDGET_DRAWABLE() for child windows.
15707
15708 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
15709
15710         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
15711         (fixes bug #2144)
15712
15713 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
15714
15715         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
15716         container DRAWABLE (instead of VISIBLE), so we don't queue
15717         resizes on non-toplevel containers.
15718
15719 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
15720
15721         * gtk/gtkselection.[ch]: Make the data argument
15722         const guchar *.
15723
15724 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
15725
15726         * gtk/gtkwindow.c: Try to behave sensibly if 
15727         the focus widget is the window itself. (Should
15728         we allow this at all?)
15729
15730 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
15731
15732         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
15733         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
15734         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
15735         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
15736         in prototypes and implementations consistent (Tomas Ogren).
15737
15738         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
15739         before the widget is unparented (reported by damon).
15740
15741         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
15742         since we provide unsigned data anyways.
15743
15744 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
15745
15746         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
15747         the call to gtk_tooltips_layout_text() until later.
15748
15749         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
15750         Call gtk_widget_ensure_style() before using the style.
15751
15752 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
15753
15754         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
15755         for old widgets that don't propagate draws to all
15756         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
15757
15758 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
15759
15760         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
15761         for a redraw but just the widget that requested the resize.
15762
15763 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
15764
15765         * gtk/gtkcontainer.c: added new widget level method
15766         gtk_container_set_reallocate_redraws() and a GtkContainer flag
15767         reallocate_redraws : 1 to reflect the setting, exported this through
15768         the argument system as a boolean ::reallocate_redraws.
15769
15770         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
15771         on the widget because the allocation changes, do so as well for
15772         widget->parent if the parent has reallocate_redraws set to TRUE.
15773         with that containers requesting reallocation redraws get automatically
15774         redrawn if their children changed allocation (this unfortunately
15775         affects also other children that didn't change allocation, but we
15776         cannot work around that before 1.3).
15777
15778 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
15779
15780         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
15781         _and_ height are >0 (not _or_).
15782
15783         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
15784         instead of gtk_container_queue_resize(), which is a core gtk internal
15785         function (must have been on crack when i queued that).
15786
15787         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
15788         we can check more reliably if we want to discard expose events.
15789         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
15790         flag.
15791         
15792         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
15793         we simply trust these events. for deciding whether to discard exposes,
15794         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
15795         
15796 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
15797
15798         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
15799         queues of areas that are completely off screen.
15800
15801         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
15802         logic for handleboxes.
15803
15804         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
15805         check on width/height.
15806
15807 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
15808
15809         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
15810         we are fine with using $@ the way we do (if we actually encounter
15811         brokeness with $@ in VPATH builds because of additional path prefixes,
15812         we need to use $(@F) actually).
15813
15814 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
15815
15816         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
15817         short lived bugs, that would allow language bindings to do surgeries
15818         to our guts.
15819
15820 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
15821
15822         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
15823         where comparison was being done against an uninitialized
15824         value causing intermittant results depending on
15825         compiler flags. Also make it clearer that we aren't
15826         ever initializing the child as 0x0 (though this will
15827         be caught in gtk_widget_size_allocate())
15828
15829 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
15830
15831         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
15832         gtk_window_unset_transient_for() call after we do checks
15833         involving the old transient parent.
15834         [ From Lance Capser <lmc@cyberhighway.net> ]
15835
15836 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
15837
15838         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
15839         an empty file.
15840
15841 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
15842
15843         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
15844         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
15845
15846 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
15847
15848         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
15849         `$@' is valid only in the build dir, not after we've done 
15850         `cd $srcdir'.  Also use `test -f' instead of less portable
15851         `test -e'.
15852
15853 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
15854
15855         * gtk/gtktext.c (correct_cache_insert): Rewrite
15856          for simplicity, and hopefully correctness.
15857          (Fixes bug #1322, which was a segfault when
15858           on some insertions with the properties around
15859           the insertion set up just wrong.)
15860
15861         * gtk/gtktext.c (gtk_text_adjustment): When we receive
15862          a "changed" signal, clamp the new value to the adjustment
15863          bounds to avoid segfaulting if someone tries to change
15864          the adjustment to a bogus value. (Bug #1795)
15865
15866 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
15867
15868         * gtk/gtkmain.c: Ignore unexpected destroy notifies
15869         for children, for toplevel windows handle them
15870         like delete_event.
15871
15872         * gtk/gtkplug.c: Add an unrealize handler so that
15873         we unref plug->socket_window when we are done
15874         with it.
15875
15876 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
15877
15878         * gtk/gtktext.c (clear_area): Fix stupid signedness
15879          problem that was causing background to sometimes
15880          be misaligned.
15881
15882 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
15883
15884         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
15885         
15886         * gtk/gtkmenu.c (gtk_menu_position): Make
15887          sure we never position menus with negative x, y,
15888          since gtk_widget_set_uposition() can't handle that.
15889
15890         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
15891          Modify the positioning code a bit so that we always
15892          put the top-left corner onscreen. (This is for
15893          UI reasons, gtk_menu_position() now takes care of
15894          gtk_widet_set_uposition() brokeness.)
15895
15896 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
15897
15898         * gtk/Makefile.am: fixed up things for -jx, x > 1.
15899
15900 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
15901
15902         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
15903           RC style that is passed in. The lack of the ref
15904           before was a bug. If people worked around this
15905           bug, this will introduce a slight memory leak
15906           in their code. The code should typically look like:
15907
15908             rc_style = gtk_rc_style_new ();
15909             [...]
15910             gtk_widget_modify_style (widget, rc_style);
15911             gtk_rc_style_unref (rc_style);
15912
15913         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
15914           the style if it was already set.
15915
15916         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
15917           style if it was set before.
15918
15919 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
15920
15921         * gtk/testgtk.c (main): Add a check to see if we
15922           are being run from the correct directory and
15923           to quit nicely if we are not.
15924
15925         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
15926           static.
15927
15928 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
15929
15930         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
15931
15932         * gtk/gtkwindow.c:
15933         queue resizes unconditionally (gtk_widget_queue_resize will figure
15934         what to do if the window is not realized).
15935         (gtk_window_move_resize): only recenter the window
15936         for GTK_WIN_POS_CENTER_ALWAYS.
15937         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
15938         the same way as GTK_WIN_POS_CENTER.
15939
15940 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
15941
15942         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
15943         with (!(info->last_flags & GDK_HINT_POS)) instead of
15944         (!info->last_flags & GDK_HINT_POS).
15945
15946         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
15947         new_height unconditionally, because we use these values even if
15948         !default_size_changed && !hints_changed.
15949         comented the (default_size_changed || hints_changed) case with
15950         respect to resize rejects from the window manager.
15951
15952         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
15953         in the zvt condition hack, since this includes the window hints, set
15954         the hints after the handling_resize case.
15955
15956         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
15957         window is initially shown with to the geometry.
15958
15959 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
15960
15961         * gtk/gtkwindow.c (gtk_window_move_resize):
15962         s/size_changed/default_size_changed/g so i know what's
15963         really going on (frying brain on smaller flame now).
15964
15965 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
15966
15967         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
15968         we have size_changed upon handling_resize. this is a gross
15969         workaround for the broken zvt widget and should be removed in
15970         1.3 again (search for FIXME).
15971         Owen provided an accurate comment for this:
15972
15973         /* We could be here for two reasons
15974          *  1) We coincidentally got a resize while handling
15975          *     another resize.
15976          *  2) Our computation of size_changed was completely
15977          *     screwed up, probably because one of our children
15978          *     is broken. It's probably a zvt widget.
15979          *
15980          * For 1), we could just go ahead and ask for the
15981          * new size right now, but doing that for 2)
15982          * might well be fighting the user (and can even
15983          * trigger a loop). Since we really don't want to
15984          * do that, we requeue a resize in hopes that
15985          * by the time it gets handled, the child has seen
15986          * the light and is willing to go along with the
15987          * new size. (this happens for the zvt widget, since
15988          * the size_allocate() above will have stored the
15989          * requisition corresponding to the new size in the
15990          * zvt widget)
15991          *
15992          * This doesn't buy us anything for 1), but it shouldn't
15993          * hurt us too badly, since it is what would have
15994          * happened if we had gotten the configure event before
15995          * the new size had been set.
15996          */
15997
15998 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
15999
16000         * gtk/gtkrc.c: deal properly with the fact that RC
16001           style lists may include rc styles more than once.
16002
16003         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
16004           unused static function.
16005
16006         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
16007           stack of directories of RC files currently being
16008           parsed and implicitely add them to pixmap path.
16009           
16010           This fixes a bug where the directory would get
16011           appended then overwritten by pixmap_path declarations.
16012
16013           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
16014
16015         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
16016           theme's exit function. (Patch from Peter Wainwright,
16017           bug #1454)
16018
16019         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
16020           Add a destroy() handler to take care of removing
16021           group for menu item. (Fixes bug #1197)
16022
16023         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
16024           in warning message.
16025
16026 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
16027
16028         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
16029         roundtrip to figure window's width and height, since we know that
16030         anyways from widget->allocation.
16031
16032 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
16033
16034         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
16035           the hints after we request the new size.
16036
16037 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
16038
16039         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
16040           GTK_WIDGET_REALIZED() assertion - we can compute the
16041           hints before we are realized.
16042
16043         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
16044           hint changing so that we have a value of hints_changed
16045           when we decide whether to constrain the window size.
16046
16047         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
16048
16049         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
16050         change back to G_MAXINT.
16051
16052 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
16053
16054         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
16055         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
16056         contain uncluttered values.
16057         (gtk_window_compute_hints): simply assert that window is realized
16058         and that geometry_info is valid, since we rely on this anyways.
16059         (gtk_window_constrain_size): major cleanups to the code.
16060         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
16061         for the base size, instead of the minimums. use 32767 as max width
16062         and height (like in gtkwindow.c) instead of G_MAXINT.
16063
16064 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
16065
16066         * cleaned up the GtkContainer.need_resize flag handling mess, we
16067         only need to force resize requests when we were prematurely
16068         realized, or our widget tree was modified when we were temporarily
16069         hidden. handling these cases directly upon showing the window (i.e.
16070         while the GdkWindow is still unmapped) avoids the need to wait for
16071         a configure event response and therefore makes the GUI more snappier
16072         and avoids blank windows during the roundtrip.
16073
16074         * gtk/gtkwidget.c:
16075         (gtk_widget_hide): 
16076         (gtk_widget_show): don't queue resizes on toplevels, they know how
16077         to deal with matters.
16078
16079         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
16080         flag directly for not visible resize containers and spare us unecessary
16081         signal emissions.
16082
16083         * gtk/gtkwindow.c:
16084         (gtk_window_realize): if we need to enforce premature size allocation,
16085         queue a container resize so we are correctly resized later on.
16086         (gtk_window_init):
16087         (gtk_window_size_request):
16088         don't freak around with the ->need_resize flag,
16089         gtk_container_queue_resize() will care about that.
16090         (gtk_window_show):
16091         handle initial resizing issues here, we can handle matters better in
16092         this place, especially since we know that our GdkWindow is still
16093         unmapped.
16094         (gtk_window_move_resize):
16095         don't care about ->need_resize at all.
16096         handle size changes properly that occoured while we waited for a
16097         configure event.
16098
16099 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
16100
16101         * gtk/gtkwidget.c (gtk_widget_set_uposition):
16102         * gtk/gtkwindow.[hc] (gtk_window_reposition):
16103         Move the hint setting code from gtk_widget_set_uposition
16104         to here; set the hints so that we respect any previously
16105         set geometry hints.
16106
16107         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
16108         change the window hints here or move the window here,
16109         let that happen in gtk_window_move_resize().
16110
16111 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
16112
16113         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
16114         to already queued resizes (and therefore redraws) on a widget, check
16115         its anchestry as well.
16116
16117         * gtk/gtkcontainer.c:
16118         (gtk_container_queue_resize): clear resize widgets for resize
16119         containers before aborting prematurely. this is especially important
16120         for toplevels which may need imemdiate processing or their resize
16121         handler to be queued.
16122         (gtk_container_dequeue_resize_handler): added new internal function for
16123         gtkwindow.c.
16124
16125         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
16126         configure event, take possible changes in window position into account
16127         as well.
16128         if we request a new window size, queue up a resize handler that will
16129         last until the configure event response arrives.
16130         combined the ->need_resize case (initial show) with the general size
16131         (hints) changed case and added even more comments.
16132         if !auto_shrink, only revert to the old allocation if the new size
16133         is smaller than the current allocation.
16134
16135 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
16136
16137         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
16138                            gtk_window_set_geometry_hints
16139                            gtk_window_set_default_size):
16140         When hints are set, queue a resize so that the hints will
16141         be eventually reset on the toplevel.
16142
16143         * gtk/gtkwindow.c (gtk_window_show): Use
16144         gtk_window_compute_default_size(). Clear the need_resize flag
16145         on the initail map so that we don't unnecessarily trigger the
16146         resize code.
16147
16148         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
16149         into separate functions. Compare the hints we are setting
16150         with what we set last time so that we can accurately
16151         tell when we need to reset the hints.
16152
16153         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
16154         function to figure out the size from requisition
16155         and default_size.
16156
16157         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
16158         from fvwm to constrain a size to the geometry hints.
16159
16160         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
16161         to compare two sets of geometry hints.
16162
16163         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
16164         from gtk_window_set_hints(), just compute the hints,
16165         don't set them.
16166
16167         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
16168         code from gtk_window_move_resize() to separate function,
16169         rationalize a bit.
16170
16171 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
16172
16173         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
16174         structure into a new private structure.
16175
16176         * gtkrc.c: Split GtkRcStyle into public/private.
16177         In the private part, add a list of pointers to the
16178         RcStyle lists this RcStyle participates in.
16179
16180         * gtkrc.c: When a RcStyle is free, remove all
16181         lists referencing it from the 
16182         realized_style_ht hash, and free those lists.
16183         
16184         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
16185         gtk_rc_init(), since that adds the default styles
16186         to the list of parsed RC files again.
16187
16188         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
16189         
16190 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
16191
16192         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
16193         checks that ensure that a widget's allocation is at least 1 in width
16194         and height. (GNOME note: this doesn't affect old panel code anymore,
16195         because GtkSocket will request width and height of at least 1 since
16196         Fri Jul 23).
16197
16198         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
16199         allocated yet (happens if the user realizes the window prematurely),
16200         size request and allocate it.
16201         (gtk_window_size_allocate): guard against guint underflows.
16202
16203 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
16204
16205         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
16206         in gtk_built_sources, so gtk.defs gets built prior to all other
16207         sources.
16208
16209 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
16210
16211         * gtk/Makefile.am:
16212         invoke indent on gtkmarshal.*. 
16213         rewrote source generation rules, use COPYING as oldest source tag for
16214         a piggyback rule to generate all sources from (don't touch it ;).
16215         major cleanups, strip spaces on build rules for GNU Make.
16216
16217         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
16218         source and target files from commandline arguments. don't invoke indent.
16219
16220 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
16221
16222         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
16223         notebook after switch to avoid drawing problems.
16224         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
16225         
16226         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
16227         show them instead. 
16228         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
16229
16230 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
16231
16232         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
16233         notebook after switch to avoid drawing problems.
16234         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
16235         
16236         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
16237         show them instead. 
16238         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
16239
16240 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
16241
16242         * gtk/gtkwindow.c:
16243         we use window->need_resize from configure_event now, to indicate that
16244         the gtkwindow should keep its allocation (e.g. because the user resized
16245         the window through window manager handles). resize_count is now reliably
16246         used to figure whether we got the allocation we requested from the
16247         window manager.
16248         configure events get queued as resizes now, the real stuff (size
16249         computation and allocation) now only goes on in gtk_window_move_resize().
16250         GtkWindow's requisition now contains its *real* requisition (like all
16251         other widgets), *not* taking usize into account.
16252         geometry_info->last_{width|height} is now updated from set_hints() only
16253         so it always contains the last hints we set for the window manager.
16254         made some event handlers return TRUE instead of FALSE.
16255         the overall code should be much more straight forward now, and the
16256         significant code portions are accompanied by comments now.
16257         (gtk_window_set_hints):
16258         removed requisition argument and made it
16259         fetch the requisition through gtk_widget_get_child_requisition.
16260         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
16261         does that now.
16262         (gtk_window_show):
16263         ensure that the widget is realized before calling 
16264         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
16265         ensure that we got properly size requested and allocated before
16266         realization.
16267         (gtk_window_configure_event):
16268         ignore plain window moves, or reallocate the widget tree through the
16269         resize queue otherwise.
16270         (gtk_window_move_resize):
16271         mostly rewrote this function to figure window manager hints more
16272         reliably, coalesce window moves and resizes to reduce configure events
16273         and do actuall size allocations.
16274
16275 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
16276
16277         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
16278         that have a resize pending, because a redraw is already queued for them.
16279
16280         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
16281         hack to clear resize_widgets.
16282
16283         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
16284         for resize containers prior to size allocation. (this is also a bit
16285         ugly, but avoids side effects for stopped emissions and is thus more
16286         reliable).
16287         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
16288
16289         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
16290         function from gtk_tooltips_expose, as we connect to ::expose_event
16291         *and* ::draw now.
16292
16293 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
16294
16295         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
16296         checks.
16297         (gtk_target_list_unref): Likewise.
16298
16299         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
16300
16301 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
16302
16303         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
16304         guard against division by zero. (Fixes bug #1339)
16305
16306 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
16307
16308         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
16309         Prevent the trivial leak of information of allowing
16310         word motion when the entry is not visible.
16311
16312 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
16313
16314         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
16315         modality to error dialog as well as confirmation dialogs.
16316         (Bug #1803, reported by Rosanna Wing Sze Yuen)
16317
16318 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
16319
16320         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
16321         tree->view_lines.
16322         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
16323
16324         * gtk/Makefile.am (install-data-local): Solaris apparently
16325         has various troubles with ln -f; use rm first instead.
16326         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
16327
16328 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
16329
16330         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
16331         use `cp' followed by `rm' (the `rm' was already there).
16332
16333 July 30, 1999 Elliot Lee <sopwith@redhat.com>
16334         
16335         * configure.in: Fix autoconf warnings about cross compilation by
16336         trying to provide sane defaults for AC_TRY_RUN.
16337         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
16338         put them into $(srcdir) when generated. Also add a dependency of
16339         gtksignal.h on gtkmarshal.h for -j builds. 
16340         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
16341
16342 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
16343
16344         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
16345         GDK_THREADS_{LEAVE,ENTER} pair.
16346         (From Paul Fisher <pnfisher@redhat.com>)
16347
16348 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
16349
16350         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
16351         width and height are always >0 (owen).
16352
16353 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
16354
16355         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
16356         change that assured that a widget's allocated with and height are
16357         always >1, since this breaks *buggy* panel code. unfortunately this
16358         back-breaks the gimp's color selector.
16359
16360         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
16361         allocation is always >0 in width and height, before sending the
16362         configure event; this is a *gross* hack to get the gimp back to work.
16363         
16364         * marked both cases with TODO-1.3
16365
16366 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
16367
16368         * gtk/gtktext.c: Don't display wrap indicators when
16369         text is not editable and word wrap is on.
16370
16371 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
16372
16373         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
16374         option menus here as they are not derived from menu shell, assure that
16375         the option menu has a menu we can add items to.
16376
16377 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
16378
16379         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
16380         width/height to (gint) before calculations and check against < 0 to
16381         avoid guint wraparounds.
16382
16383 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
16384
16385         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
16386         width and height is never zero. sanity check both dimensions against
16387         32767 and issue a warning if the allocation is greater than that.
16388
16389 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
16390
16391         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
16392         to g_main_pending() as well.
16393
16394 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
16395
16396         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
16397         call to g_main_iteration() - since that will regrab
16398         GTK+ lock to process events.
16399
16400 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
16401
16402         * gtk/gtkwindow.c
16403         - Regularize with the rest of GTK+ by making widget->requisition
16404           not reflect the set_usize()
16405         - Always recompute geometry hints, then check if they
16406           changed before sending them to the X server. The
16407           previous checks for changes would fail in a number
16408           of circumstances. 
16409
16410 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
16411
16412         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
16413
16414 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
16415
16416         * gtk/gtkdnd.c:
16417         - Code cleanups
16418         - Instantaneously update on modifier key presses
16419         - Allow cancellation of the drag with Escape.
16420
16421 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
16422
16423         * gtk/testgtk.c (create_handle_box): Set the policy
16424         to auto_shrink - otherwise the appearance is rather
16425         strange when flipping between horizontal and vertical.
16426
16427 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
16428
16429         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
16430         (gtk_window_set_default_size): don't change a value if it's < 0.
16431         queue a resize.
16432
16433 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
16434
16435         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
16436
16437 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
16438
16439         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
16440         add an extra "/" when concating "/" + filename.
16441         (From Matt Grossman <mattg@oz.net>)
16442
16443 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
16444
16445         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
16446         for fg_gc if we set it for drawing pixmap.
16447
16448 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
16449
16450         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
16451         
16452         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
16453         already set, call old engine's destroy function and
16454         unref the old engine.
16455
16456 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
16457
16458         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
16459
16460 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
16461
16462         * gtk/gtkaccelgroup.h: mark certain functions as internal.
16463
16464 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
16465
16466         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
16467         expand behaviour changed.
16468
16469         * gtk/gtklabel.c (gtk_label_set_pattern):
16470         (gtk_label_set_justify):
16471         (gtk_label_set_line_wrap):
16472         don't bother invoking queue_clear, the reallocation does
16473         that for us, always free_words so the upcoming resize will
16474         relayout the label's contents.
16475
16476 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
16477
16478         * applied argument implementation patches from Elena Devdariani
16479         <elena@cogent.ca>.
16480
16481         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
16482         ::space_style, ::relief
16483         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
16484         * gtk/gtkpreview.c: ::expand
16485         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
16486         * gtk/gtknotebook.c: ::homogeneous
16487         * gtk/gtklabel.c: ::wrap
16488         * gtk/gtklist.c: ::selection_mode
16489         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
16490         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
16491         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
16492         * gtk/gtkclist.c: ::sort_type
16493         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
16494         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
16495
16496 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
16497
16498         * gtk/gtkstyle.c: Removed ill-thought-out part of last
16499         comment.
16500
16501 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
16502
16503         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
16504         counting right when we have to attach a new style
16505         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
16506
16507         * gtk/gtkstyle.c: Documented the refcounting
16508         peculularities of gtk_style_attach.
16509
16510 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
16511
16512         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
16513         window types.
16514
16515         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
16516         of GTK_TOPLEVEL for creating the window.
16517
16518 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
16519
16520         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
16521         the last argument (reported by Per Winkvist).
16522         
16523 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
16524
16525         Fixes for invisible XOR lines (Frank Loemker
16526         <floemker@TechFak.Uni-Bielefeld.DE>)
16527         
16528         * gtk/gtkclist.c (gtk_clist_realize): Always use
16529         a non-zero pixel for GDK_XOR.
16530
16531         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
16532         Use GDK_INVERT instead of GDK_XOR.
16533
16534 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
16535
16536         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
16537         signals if h/voffsets differ from adjustment values.
16538         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
16539
16540 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
16541
16542         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
16543         ::selection-done emissions up to the topmost menu shell.
16544
16545 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
16546
16547         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
16548         the user data on the window before destroying it.
16549
16550         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
16551         unrealize handler to take care of destroying 
16552         notebook->panel properly. 
16553         (Bug #1198 - Morten Welinder <terra@diku.dk>)
16554
16555         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
16556         of g_new and g_realloc to stop memory leak. (Actually,
16557         we could just use g_realloc(), but I'm not 100% sure
16558         that is portable).
16559         (Bug #1196 - Morten Welinder <terra@diku.dk>)
16560
16561 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
16562
16563         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
16564
16565         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
16566         for fontsets.
16567
16568         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
16569         with bin/button confusion.
16570
16571 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
16572
16573         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
16574         and show how preselection of radio items is done.
16575
16576 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
16577
16578         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
16579         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
16580         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
16581         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
16582         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
16583         * gtk/gtktable.c (gtk_table_attach): 
16584         * gtk/gtklist.c (gtk_list_insert_items): 
16585         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
16586         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
16587         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
16588         * gtk/gtkbin.c (gtk_bin_add): 
16589         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
16590         * gtk/gtkfixed.c (gtk_fixed_put): 
16591         * gtk/gtklayout.c (gtk_layout_put):
16592         general fixups to container_add logic. always realize child if
16593         child->parent is realized, only map the child and queue a resize
16594         if child and child->parent are both visible.
16595
16596 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
16597
16598         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
16599         instead of gtk_container_foreach to walk and unrealize children, so
16600         composite children get also unrealized.
16601         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
16602         (gtk_widget_map): assert that the widget is visible (basic constrain).
16603         (gtk_widget_real_map): assert that the widget is realized (basic
16604         constrain).
16605
16606 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
16607
16608         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
16609
16610 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
16611
16612         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
16613         file for iso-8859-2 locales.
16614
16615         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
16616
16617 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
16618
16619         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
16620          (Pointed out by andy@rz.uni-karlsruhe.de and others).
16621          Remove some suspicious and useless lines. 
16622
16623 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
16624
16625         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
16626         width,height = 0, 0 to mean - here to edge of window,
16627         instead of -1, -1, since the former is all we support.
16628
16629 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
16630
16631         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
16632         when removing from quit_functions list.
16633
16634 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
16635
16636         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
16637
16638 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
16639
16640         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
16641          When redrawing characters on non-visible entry, use appropriate
16642          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
16643
16644 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
16645
16646         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
16647         from drag coordinates.
16648         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
16649         use drag_dest_cell.
16650
16651         * gtk/gtktree (drag_dest_cell)
16652         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
16653         (Bug #1129)
16654
16655 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
16656
16657         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
16658         translate_* fields.
16659         (gtk_item_factory_finalize): invoke translate_notify independant from
16660         translate_data.
16661         (gtk_item_factory_set_translate_func): likewise.
16662         (gtk_item_factory_destroy): only remove ifactory pointer from those
16663         widgets that belong to us (stupid me).
16664
16665 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
16666
16667         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
16668         rc_style list when lookup succeeeds.
16669
16670 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
16671
16672         * gtk/gtkctree.c (resync_selection): 
16673         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
16674         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
16675         bug.
16676
16677 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
16678
16679         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
16680         Add some missing GDK_THREADS_ENTER()/LEAVE around
16681         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
16682
16683 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
16684
16685         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
16686         rather than emit_by_name.
16687
16688         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
16689         on the widget across multiple signal emissions.
16690         (gtk_editable_delete_text): same here.
16691         (gtk_editable_class_init): set widget_class->activate_signal after
16692         editable_signals[ACTIVATE] has been created.
16693
16694 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
16695
16696         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
16697         position here prematurely -- we might not have the
16698         right ->min_position and ->max_position yet.
16699
16700 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
16701
16702         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
16703         Add error traps so if the other end of the connection
16704         dies, we survive.
16705
16706         * gtk/gtkselection.c (gtk_selection_notify): Clean
16707         up properly when selection property retrieval fails.
16708         
16709         * gtk/gtkselection.c (gtk_selection_request): Correctly
16710         reject SelectionRequest notifies where the handler
16711         returns no data.
16712
16713 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
16714
16715         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
16716         when we've previously highlighted.
16717
16718         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
16719         emit two "drag_leave" signals for Motif drops.
16720
16721         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
16722         back the correct status messages when dropping from
16723         Motif onto a proxy window that is rejecting the
16724         drop.
16725
16726 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
16727
16728         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
16729         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
16730         to compare two argument values. added gtk_arg_to_valueloc() to set a
16731         variable from an arg through its location (pointer).
16732
16733         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
16734         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
16735         as gfloat*, uchars are collected as guchar*, ints are collected as
16736         gint*, etc...
16737
16738 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
16739
16740         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
16741         Include <string.h> instead of <strings.h>.
16742
16743         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
16744         (actually, a lot more duplicate includes occur if
16745          you trace through the sequence of #include's)
16746         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
16747         
16748 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
16749
16750         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
16751         gtk-a-higuti-990322-[0-3]
16752
16753         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
16754         that was causing -DX_LOCALE not to work.
16755
16756         * gtk/gtkrc.c (gtk_rc_init):
16757         X_LOCALE will never have LC_MESSAGES defined
16758
16759 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
16760
16761         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
16762         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
16763
16764         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
16765         left/right as well (gtk-michael-980726-0.patch.gz).
16766
16767         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
16768         for pointer values, use gchar instead of char. fixed uline allocation
16769         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
16770         chunks instead of G_ALLOC_ONLY.
16771         (gtk_label_size_request): always alter requisition as passed and leave
16772         widget->requisition alone.
16773         (gtk_label_set_text): allow NULL strings.
16774         (gtk_label_new): likewise.
16775
16776 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
16777
16778         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
16779
16780 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
16781
16782         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
16783         *and* mapped (i.e. drawable).
16784         (gtk_bin_expose): only send exposes to drawable children.
16785
16786         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
16787         (gtk_box_expose): only send exposes to drawable children.
16788
16789         * gtk/gtkhscale.c (gtk_hscale_draw): 
16790         * gtk/gtkvscale.c (gtk_vscale_draw):
16791         hm, this is an ugly one. we first compute the size of our trough area
16792         here (window relative) and then check intersection with the draw_area
16793         which is parent relative because we're a NO_WINDOW widget, so we need
16794         to offset the trough area by allocation.x and allocation.y before the
16795         check. (this must not be done for the background area though, since
16796         that's already computed parent relative).
16797
16798 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
16799
16800         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
16801         unrealize title buttons.
16802
16803 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
16804
16805         * gtk/gtkclist.c (gtk_clist_column_title_passive)
16806         (gtk_clist_column_title_active): 
16807         only connect/disconnect to GtkWidgetClass::event to block mouse events.
16808
16809         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
16810         zero initialize event, removed superfluous gdk_window_get_pointer call
16811
16812         * gtk/gtklist.c (gtk_list_vertical_timeout)
16813         (gtk_list_horizontal_timeout): removed superfluous
16814         gdk_window_get_pointer call
16815
16816 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
16817
16818         * plugging problems reported by "Bruce Mitchener, Jr."
16819         <bruce@puremagic.com> due to a purify session.
16820
16821         * gtk/gtkstyle.c:
16822         (gtk_style_ref): 
16823         (gtk_style_unref): assert ref_count to be > 0.
16824
16825         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
16826         the requisition.
16827         (gtk_clist_set_shift): likewise.
16828
16829         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
16830         adjustments.
16831
16832         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
16833         event before sending it and set send_event to TRUE (which needs to
16834         be done for *all* synthesized events).
16835         (gtk_list_vertical_timeout): likewise.
16836
16837         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
16838         leaks.
16839
16840         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
16841         to TRUE when synthesizing events.
16842
16843 [ *** end of merges from 1.2 *** ]      
16844         
16845 1999-11-21  Tor Lillqvist  <tml@iki.fi>
16846
16847         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
16848         (or copied from gdkconfig.h.win32 on Win32, sigh).
16849
16850         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
16851
16852         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
16853
16854         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
16855
16856         * gdk/gdkconfig.h.win32: New file.
16857
16858         * gdk/win32/makefile.cygwin: Build just a static archive here.
16859
16860         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
16861         for the DLL from the static archive built above.
16862
16863         * gdk/gdk.def: Moved here from the win32 subdirectory.
16864
16865         * gdk/win32/*: Adapt for the changed private struct organisation.
16866
16867         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
16868
16869 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
16870
16871         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
16872         for wheel mice (buttons 4 and 5).
16873
16874 1999-11-18  Tor Lillqvist  <tml@iki.fi>
16875
16876         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
16877         drawables use just the pixel field in the foreground and
16878         background GdkColor of the GdkGC.
16879
16880         gdk_gc_set_{fore,back}ground() are called in the GIMP with
16881         GdkColors containing uninitialized (red,green,blue) fields, and
16882         just the pixel field filled in, and furthermore in the
16883         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
16884         It thus turns out that we really don't need to have the full
16885         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
16886         it later to have just the pixel values.
16887
16888 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
16889
16890         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
16891
16892 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
16893
16894         * docs/gtkfaq.sgml: threads example from Erik Mouw.
16895         New question on GtkLabel background colors.
16896
16897         * docs/gtk_tut.sgml:
16898           - Correct the example code callback
16899             function definitions.
16900           - Update the gtkdial example code, from Frans van Schaik.
16901           - Update setselection.c to current API.
16902
16903         * examples/Makefile examples/*/*.c: Update to code
16904         listed in tutorial.
16905
16906 1999-11-10  Tor Lillqvist  <tml@iki.fi>
16907
16908         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
16909         subrange table (from the "Developing International Software for
16910         WIndows 95 and Windows NT" book) was missing the Hangul syllable
16911         block... Get the loaded font's charset correctly.
16912
16913         (Note that this, and the other *-win32.c files, still really are
16914         the old ones, the win32 subdirectory is not ready for compilation
16915         yet after the reorg.)
16916
16917 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
16918
16919         * gtk/gtkclist.c: Fix off-by-one bug in parameter
16920         check.
16921
16922 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
16923
16924         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
16925         on results of XQueryDeviceState().
16926
16927 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
16928
16929         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
16930         we need to accesss only ->children. We need an accessor
16931         for the children.
16932
16933         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
16934         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
16935         to get rid of gdkx.h include.
16936         
16937         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
16938         and random references to 'None'.
16939
16940         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
16941         Get rid of unused #include <gdk/gdkx.h>
16942
16943         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
16944         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
16945         gdkconfig.h.
16946
16947 1999-11-08  Tor Lillqvist  <tml@iki.fi>
16948
16949         * gdk/win32/gdkdraw.c
16950         * gdk/win32/gdkfont.c
16951         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
16952         following yesterday's changes. (Unrelated to Owen's reorg.)
16953
16954 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
16955
16956         * gdk/x11/gdkinput-gxi.c: Add missing include,
16957           fix GdkWindowPrivate => GdkDrawablePrivate.
16958
16959         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
16960
16961         * gdk/x11/Makefile.am (xinput_sources): Add missing
16962         backslash to fix building with --with-xinput=none
16963
16964 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
16965
16966         Move all X specific code into the x11/ directory.
16967         Aside from shuffling things around, did the following:
16968
16969        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
16970          gdk_arg_context_* - a simple argument parsing system
16971          in the style of popt.
16972
16973        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
16974          gdk/x11/gdkprivate-x11.h:
16975          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
16976          add ->klass and ->klass_data fields. The klass_data
16977          field points to an auxilliary structure that is
16978          windowing system dependent.
16979
16980        * gdk/gdkfont.c: Make most of the measurement functions
16981          simply wrappers around gdk_text_extents().
16982
16983        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
16984          _gdk_font_strlen() function that hides the weird
16985          behavior in gtk+-1.[02] where a string is interpreted
16986          differently for 8-bit and 16-bit fonts.
16987
16988        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
16989          to store common code for synthesizing double/triple
16990          press events.
16991         
16992        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
16993          Make all the function that modify an existing GC
16994          simply wrappers around gdk_gc_set_values().
16995          
16996        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
16997          for throwing out later.
16998
16999        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
17000          GdkImagePrivate and GdkColormapPrivate to have a
17001          windowing system dependent part (GdkFontPrivateX etc.)
17002          that "derives" from the system-independent part.
17003
17004        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
17005          Got rid of the included-source-files for XInput in
17006          favor of automake conditionals. (Which didn't exist
17007          when XInput support was originally added.)
17008
17009        * gdk/gdkrgb.c: Remove the visual id from the debugging
17010          statements since that is X11 specific; print out
17011          type/depth info instead.
17012          
17013
17014 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
17015
17016         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
17017         loading duplicates of hashed fonts.
17018
17019         * gdk/gdk.c (gdk_keysym_convert_case): rename
17020         gdk_XConvertCase to gdk_keysym_convert_case, allow
17021         results to be NULL in the GTK+ style.
17022
17023         * gdk/gdkcompat.h: Started compatibility header
17024         for renames.
17025
17026 1999-11-07  Tor Lillqvist  <tml@iki.fi>
17027
17028         * gdk/win32/gdkprivate.h: New font private structures, related to
17029         fontsets.
17030
17031         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
17032         gdk_font_list_free(). On X11, will just be wrappers to
17033         XListFonts() and XFreeFontNames(). On Win32, the code previously
17034         in gtkfontsel.c is now here.
17035
17036         New function gdk_font_xlfd_create(). On X11 will get the FONT
17037         property of the font (for GDK_FONT_FONTs), or call
17038         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
17039         builds a XLFD style name from the font information in the LOGFONT
17040         struct(s).
17041
17042         New function gdk_font_xlfd_free(), which correspondingly frees the
17043         string returned by gdk_font_xlfd_create().
17044
17045         Implement fontsets on Win32. Add a function that iterates over a
17046         wide char string and calls a callback function for each substring
17047         of wide chars from the same Unicode subrange (and thus probably
17048         available in the same real font).
17049
17050         Improve the XLFD emulation a bit.
17051
17052         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
17053
17054         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
17055         Beta3, WM_IME_CHAR messages don't seem to contain the composed
17056         multi-byte char as with the Active IMM on Win9x. Oh well, handle
17057         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
17058         ImmGetCompositionStringW() to get the composed Unicode chars.
17059
17060         * gdk/win32/gdkgc.c
17061         * gdk/win32/gdkdraw.c: Changes needed because of the font private
17062         struct changes.
17063
17064         * gdk/win32/gdk.def: Add the new functions.
17065
17066 1999-11-04  Tor Lillqvist  <tml@iki.fi>
17067
17068         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
17069         get the Platform SDK to get <dimm.h>.
17070
17071         * gdk/win32/gdkevents.c: More event handling fixes and
17072         simplification. Never generate motion events with is_hint true. We
17073         used to do that on bogus grounds earlier. Windows sends
17074         WM_MOUSEMOVE messages on button events even if the mouse hasn't
17075         moved, ignore these.
17076
17077         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
17078
17079         * gdk/win32/gdkglobals.c
17080         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
17081         the TrackMouseEvent function, and use it.
17082
17083         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
17084         char before calling WideCharToMultiByte in order to get a string
17085         for the window title.
17086
17087         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
17088
17089         * gdk/win32/gdk.def: Remove obsolete functions.
17090
17091         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
17092         /nodefaultlib and /defaultlib switches.
17093
17094         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
17095
17096 1999-10-31  Tor Lillqvist  <tml@iki.fi>
17097
17098         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
17099         EuroSign).
17100
17101         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
17102         same type as GdkWChar, especially on Win32.
17103
17104         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
17105
17106         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
17107         before passing to Windows GDI for drawing etc. Convert to the
17108         system default codepage before passing to Windows as window
17109         titles.
17110
17111         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
17112         support changing input locale on the fly.
17113
17114         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
17115         on-the-fly changes. Convert incoming characters from the current
17116         codepage to Unicode (and then to a UTF-8 multi-byte string) based
17117         on the current input language. Use keysym<->Unicode mapping tables
17118         and functions borrowed from xterm sources.
17119
17120         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
17121         editions of Win9x, use the ActiveX-based Active IMM (Input Method
17122         Manager) if available. IMEs and the Active IMM are available under
17123         the disguise of Chinese, Korean and Japanese support for IE and
17124         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
17125         support is present in all editions (as long as you install it).
17126
17127         Call DispatchMessage from gdk_events_queue() (and thus
17128         gdk_WindowProc()), instead of duplicating the code in
17129         gdk_WindowProc().
17130
17131         Reworked the grab handling and propagation code, factored out
17132         duplicated code snippets into separate functions. Other cleanups,
17133         too.
17134
17135         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
17136         the <dimm.h> header describing the Active IMM.
17137
17138         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
17139         just do the same as for "single" fonts.
17140
17141         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
17142         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
17143         the new keysyms from gdkkeysyms.h.
17144
17145         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
17146         fontset, so that gtkentry uses wide characters.
17147
17148         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
17149         GTk+'s system directory "gtk+", not "gtk".
17150
17151 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
17152
17153         * docs/gtkfaq.sgml: FAQ update
17154
17155 1999-10-21  Tor Lillqvist  <tml@iki.fi>
17156
17157         * gdk/win32/gdkprivate.h: Add more font private data.
17158
17159         * gdk/win32/gdkfont.c
17160         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
17161         fonts and strings. Now works much better. You still have to
17162         have a correct font selected, though. No fontset emulation yet.
17163
17164 1999-10-19  Tor Lillqvist  <tml@iki.fi>
17165
17166         * gtk/maketypes.awk: Use G_OS_WIN32.
17167
17168         * gtk/gtk.def: Add some missing entry points. Also some non-public
17169         ones, but PyGTK porter claims to need them.
17170
17171         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
17172         built-in type generation.
17173
17174 1999-10-14  Tor Lillqvist  <tml@iki.fi>
17175
17176         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
17177         GDK_FONT_FONT fonts (which is all we have for now, we don't
17178         emulate fontsets). The X11 version uses plain XDrawString in that
17179         case, too. The string passed to gdk_draw_text_wc seems to be in
17180         fact (at least, when used by gtkentry and gtktext) either in a
17181         single-byte charset, or a DBCS. Not Unicode.
17182
17183         This fixes the problem in gtkfontsel, where even if you had
17184         selected a font with a non-Latin1 charset (windows-greek, for
17185         instance), the preview still used Latin-1 glyphs.
17186
17187         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
17188         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
17189         (gdk_font_load): Recognize the demibold etc weights, even if we
17190         don't have the corresponding constants in the headers.
17191         (gdk_font_hash_insert): Use same hash mechanism as in the X11
17192         version. Should save font resources a bit, when we don't have
17193         multiple HFONTs for the same font.
17194
17195         * gdk/win32/gdkprivate.h: Add the names field as in the X11
17196         version.
17197
17198 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
17199
17200         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
17201         X values
17202
17203 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
17204
17205         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
17206         layout support (as mentioned on
17207         http://www.jcinteractive.com/gnome-ui/software/widgets/)
17208
17209 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
17210
17211         * gtk/fnmatch.c
17212         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
17213
17214 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
17215
17216         * configure.in (ALL_LINGUAS): Added Galician (gl)
17217
17218 1999-10-05  Tor Lillqvist  <tml@iki.fi>
17219
17220         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
17221
17222         * gdk/win32/gdkcompat.c: New file, actually provide an
17223         implementation for the deprecated functions. (Just temporarily.)
17224
17225         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
17226
17227         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
17228
17229         * gdk/win32/gdk.def gtk/gtk.def: Updates.
17230
17231 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
17232
17233         * configure.in: Added "uk" to ALL_LINGUAS.
17234         
17235 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
17236
17237         * configure.in: correct checking for BeOS check
17238
17239         * gdk/gdktypes.h
17240         * gtk/fnmatch.c
17241         * gtk/gtkfilesel.c
17242         * gtk/gtkitemfactory.c
17243         * gtk/gtkmain.[ch]
17244         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
17245
17246 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
17247
17248         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
17249         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
17250         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
17251         by Bulgarian). 
17252
17253 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
17254
17255         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
17256         Fix a reference to window_private->destroyed.   
17257
17258         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
17259         (ugly) setting of an internal GdkWindow member to use
17260         a _slightly_ cleaner macro.
17261
17262         * gdk/gdkprivate.h: Split GdkWindowPrivate into
17263         GdkDrawablePrivate and GdkWindowPrivate.
17264         Add extra macros for accessing GDK_DRAWABLE_ components.
17265
17266         * *.[ch]: Massive adjustments for the above, use the
17267         new macros in a lot of places.
17268
17269 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
17270
17271         * gdk/gdktypes.h: Make GdkDrawable the base type,
17272         not GdkWindow.
17273
17274 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
17275
17276         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
17277
17278 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
17279
17280         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
17281
17282 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
17283
17284         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
17285         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
17286
17287         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
17288
17289         * docs/gtk-config.1: Now autogenerated.
17290         * docs/Changes-1.4.txt: started
17291         
17292 1999-10-03  Tor Lillqvist  <tml@iki.fi>
17293
17294         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
17295         to #ifdef also here.
17296
17297         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
17298         Owen did to the X11 backend.
17299
17300         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
17301         ScrollWindowEx when blitting inside a window, it can't be correct
17302         in the general case.
17303
17304         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
17305         WM_GETMINMAXINFO is easier.
17306
17307         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
17308         depth equal to the bitspixel value, not the visual's depth.
17309
17310         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
17311         to 24 even if the bitspixel value is 32.
17312
17313         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
17314         need to check for depth==32 when bpp==32, depth will always be 24.
17315
17316 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
17317
17318         * docs/Changes-1.4.txt: Started
17319         
17320         * gtk/Makefile.am (gdk_headers): Include all the new headers.
17321
17322         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
17323         
17324         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
17325         into C file.
17326         
17327         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
17328         header to gdkinputprivate.h.
17329
17330         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
17331         unused since before 1.2.
17332
17333 1999-09-30  Tor Lillqvist  <tml@iki.fi>
17334
17335         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
17336         expand possible hex escapes in the font family (put there by
17337         logfont_to_xlfd if the font name isn't a legal XLFD font family,
17338         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
17339         On Win32, add hex escapes here, too.
17340
17341 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
17342
17343         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
17344         to #ifdef GDK_WINDOWING_X11.
17345
17346 [ Merges from gtk-1-2 ]
17347
17348 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
17349
17350         * configure.in: fixed "GNU Make" check to pass with new make version
17351         3.77.95.
17352
17353 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
17354
17355         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
17356         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
17357         AM_PATH_GTK() macros don't get confused by the -pre1.
17358
17359 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
17360
17361         * configure.in (REBUILD): Change check for perl5
17362           to check explicitely for v >= 5.002. (5.001
17363           does not work with our scripts.)
17364
17365 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
17366
17367         * configure.in: evaluate $PERL for the perl version check. added
17368         --disable-rebuilds to give the user an option to completely disable
17369         any source autogeneration rules.
17370
17371 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
17372
17373         * configure.in: evaluate $ac_make when checking for GNU Make.
17374
17375 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
17376
17377         * docs/Makefile.am: added generation.txt.
17378
17379         * Makefile.am: require automake 1.4, build README from README.in and
17380         INSTALL from INSTALL.in in dist-hook.
17381         
17382         * README.in:
17383         * INSTALL.in: new files to autogenerate README and INSTALL from.
17384
17385         * configure.in: figure whether we have GNU Make
17386
17387         * docs/generation.txt: minor additions/corrections.
17388
17389 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
17390
17391         * docs/gtkfaq.sgml: FAQ Update
17392
17393 July 30, 1999 Elliot Lee <sopwith@redhat.com>
17394         
17395         * configure.in: Fix autoconf warnings about cross compilation by
17396         trying to provide sane defaults for AC_TRY_RUN.
17397
17398 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
17399
17400         * ltconfig
17401         * ltmain.sh: upgrade to libtool 1.3.3
17402
17403 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
17404
17405         * INSTALL: Indicate that the --with-glib= configure
17406         time flag is unsupported.
17407
17408 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
17409
17410         * docs/generation.txt: Added a file that gives
17411         documenation about the autogeneration process for
17412         various autogenerated files.
17413         
17414 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
17415
17416         * configure.in (LIBS): Look for libgmodule in the
17417         right location.
17418
17419 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
17420
17421         * docs/gtk_tut.sgml: Removed references to
17422         code examples in my directory on gtk.org as
17423         they should all be in the tutorial now.
17424
17425         * docs/gtk_tut.sgml: Added sources for dial-test
17426         and scribble-xinput programs that were previously
17427         missing.
17428
17429 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
17430
17431         * TODO: Added entry about menu keyboard navigation, removed
17432         some finished items.
17433
17434 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
17435
17436         * acinclude.m4: Standardize on func_dgettext
17437         not func_gettext, so that the checks for dgettext
17438         actually are paid attention to.
17439
17440 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
17441
17442         * configure.in (LIBS): Add $INTLLIBS into $LIBS
17443         directly, rather than repeating the checks for
17444         gettext.
17445
17446         * INSTALL: Added information about gettext and
17447         NLS support.
17448
17449         * acinclude.m4 (LIBM): Check for dgettext, not
17450         just gettext. This should hopefully fix things wrt
17451         systems with old versions of GNU gettext installed.
17452
17453 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
17454
17455         * configure.in (LIBS): Look for libgmodule in the
17456         right location.
17457
17458 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
17459
17460         * autogen.sh: add --enable-maintainer-mode
17461
17462         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
17463
17464 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
17465
17466         * docs/gtk-config.1.in:
17467           docs/Makefile.am:
17468           configure.in: gtk-config is now generated.
17469
17470         * docs/gtk-config.1: Removed, now generated.
17471
17472 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
17473
17474         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
17475         handle CreateNotify itself, still put out a debuging message for
17476         --gdk-debug=events. made the ReparentNotify debugging message more
17477         verbose.
17478         wrap xcoords translation for ConfigureEvents into an error trap,
17479         a destroy event may already be pending, and in that case, the
17480         actuall coordinate values are not at all critical.
17481
17482 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
17483
17484         * gdk/gdkcc.c: Stop leaking the color_hash all over
17485         the place. Simplify and improve the logic.
17486
17487 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
17488
17489         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
17490         for prototypes and function implementations consistent (reported
17491         by Tomas Ogren).
17492
17493 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
17494
17495         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
17496         send_event set in debugging output.
17497         (gdk_compress_exposures): default initialize the event so we don't
17498         operate on bogus values (namely send_event).
17499
17500 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
17501
17502         * gdk/gdkwindow.c: When we receive an unexpected
17503         destroy notify on one of our windows, don't just
17504         warn about it, also mark our windows as destroyed.
17505
17506 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
17507
17508         * gdk/gdkfont.c (gdk_font_hash_insert): Add
17509           name => font and name => fontset hashes. The 
17510           name => fontset hash is a _big_ win since we
17511           weren't previously caching fontsets at all and loading
17512           fontsets is expensive. The name => font hash
17513           is less of a win, but it does save us from doing
17514           repeated XQueryFont calls on the same font.
17515
17516         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
17517           list so we can remove font/fontset from hash.
17518
17519 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
17520
17521         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
17522           and slightly confusing test. [ XInternAtom (,,TRUE)
17523           will never return None ].
17524
17525 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
17526
17527         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
17528           gdk/gdkwindow.c (gdk_window_set_hints):
17529
17530         Don't omit setting the properties if flags == 0 -
17531         there may be an existing set of properties there
17532         already. (Very old bug. Would it be better to
17533         delete the property instead?)
17534
17535         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
17536           spelling error in comment.
17537
17538 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
17539
17540         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
17541           to avoid stomping over gdk_error_warnings.
17542
17543         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
17544           as (bits_per_pixel + 7) / 8. This gives the same
17545           result as before for multiples of 8, but actually
17546           a "reasonable" value for 1bit or 4bit displays.
17547
17548 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
17549
17550         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
17551         GNU Make.
17552
17553 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
17554
17555         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
17556         discarding configure events.
17557
17558 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
17559
17560         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
17561         refcount is greater than zero.
17562
17563         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
17564
17565         * gdk/gdkfont.c (gdk_font_unref): Likewise.
17566
17567         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
17568
17569         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
17570
17571 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
17572
17573         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
17574         that format 32 => sizeof(item) == 4. It really is
17575         sizeof(long).
17576
17577 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
17578
17579         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
17580         core dump at all on X IO errors, only core dump
17581         if --enable-debug for X errors.
17582
17583 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
17584
17585         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
17586         unknown window:" message. disabled ConfigureNotify discarding code,
17587         because it led to events being processed out of order.
17588
17589 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
17590
17591         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
17592
17593         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
17594         we export this function, supress error warnings and don't reset the
17595         error code in the first half of this function.
17596
17597         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
17598         code (instead of just -1) so gdk_error_trap_pop() reveals something
17599         actually informative about the error that happened.
17600
17601         * gdk/*.c:
17602         don't rely on gdk_error_code being -1 if an error occoured, but just
17603         gdk_error_code != 0.
17604
17605 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
17606
17607         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
17608         pointer *before* invoking the filter function, so we at least don't
17609         crash if a filter is removed that is currently executed. window filters
17610         *really* need to be made truely reentrant at some point.
17611
17612 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
17613
17614         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
17615         PropertyNotify debug messages.
17616
17617 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
17618         
17619         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
17620         
17621         * gdk/gdkim.c: Fix cut-and-paste errors for 
17622         x/y and PreeditAttributes/StatusAttributes.
17623
17624 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
17625
17626         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
17627         G_MAXINT to 2^16 to alleviate overflow problems in
17628         various window managers.
17629
17630 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
17631
17632         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
17633         for fontsets.
17634
17635 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
17636
17637         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
17638         Initialize size_hints.x and size_hints.y because kwm
17639         brokenly pays attention to them.
17640         (Bug #1181 -  Lars Heete <hel@admin.de>)
17641
17642 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
17643
17644         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
17645         return value of gdk_list_visuals(). 
17646         (Bug #1193 - Morten Welinder <terra@diku.dk>)
17647
17648 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
17649
17650         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
17651         XSetIMValues to (void *) when comparing to NULL, to workaround
17652         the problem of some compilers barfing since older X headers don't
17653         have the prototype for it.
17654
17655 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
17656
17657         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
17658         for pseudocolor where colormap->colors was double
17659         allocated.
17660
17661         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
17662         color value in the hash table with the pixel filled
17663         in so when we do later hash table lookups, the color
17664         value is correct.
17665         
17666 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
17667
17668         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
17669         making the call
17670
17671 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
17672
17673         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
17674         pointed out by Morten Welinder <terra@diku.dk>.
17675
17676 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
17677
17678         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
17679           default filter from the list
17680
17681 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
17682
17683         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
17684           default filter from the list
17685
17686 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
17687
17688         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
17689
17690         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
17691         g_strdup_printf instead of calcing the length separately
17692
17693 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
17694
17695         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
17696         that we don't do in many other places. (Fixing duplicate 
17697         #include of config.h)
17698
17699         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
17700         Otherwise, #ifndef XINPUT_NONE check in the latter
17701         doesn't work. (Bug #546)
17702
17703 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
17704
17705         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
17706         "None" case insensitive.
17707
17708 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
17709
17710         * gdk/gdkselection.c: 
17711         Add error traps so if the other end of the connection
17712         dies, we survive.
17713
17714 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
17715
17716         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
17717         dest_xid field into two fields - one for the window
17718         to send in messages, one to indicate the last looked
17719         up window for caching purposes. This is needed, so
17720         that Leave messages get the correct window.
17721
17722 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
17723
17724         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
17725         Fix warning created by people mucking around
17726         with the gsource API.
17727
17728         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
17729         Change mapping between GIOCondition and GdkInputCondition
17730         to match the way the Linux kernel does it. This should
17731         fix problems where closed pipes were no longer signalling
17732         GDK_INPUT_READ on systems with a native poll().
17733
17734 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
17735
17736         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
17737         explicitly for the string "None" - it is in the XPM
17738         spec and some servers treat unknown colors in odd ways
17739         (like asking the user!)
17740
17741 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
17742
17743         * gdk/gdkevents.c: made "->" into a "." of previous change so
17744         it compiles
17745
17746 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
17747
17748         * gdk/gdkevents.c (gdk_compress_exposures): Set the
17749         window field of the event structure before calling
17750         user filters.
17751
17752 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
17753
17754         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
17755         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
17756
17757 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
17758
17759         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
17760         intermediate text property - prevents major memory
17761         leak when gdk_use_mb.
17762         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
17763
17764 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
17765
17766         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
17767         gtk-a-higuti-990322-[0-3]
17768
17769         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
17770         sizeof(wchar_t) != sizeof (GdkWChar)
17771
17772         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
17773         that was causing -DX_LOCALE not to work.
17774
17775         * gtk/gtkrc.c (gtk_rc_init):
17776         X_LOCALE will never have LC_MESSAGES defined
17777
17778         * gdk/gdk.c (gdk_init_check):
17779         Remove --xim-preedit and --xim-status from argv properly.
17780
17781         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
17782         that the client window is present on the X server
17783         before we pass it to the input method.
17784
17785 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
17786
17787         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
17788         if --display is specified on the command line, than
17789         the drag window will not be created on that display.
17790         
17791 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
17792
17793         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
17794         lookups with only_if_exists == TRUE were inserting
17795         bogus values into the atom cache.
17796
17797 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
17798
17799         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
17800         then reset it to NULL.
17801
17802         * gdk/gdkcolor.c:
17803         (gdk_colors_free): 
17804         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
17805         key for g_hash_table_remove() in both functions, this prevents us
17806         from accessing possibly uninitialized portions of a GdkColor structure
17807         where we are only interested in its pixel value.
17808
17809 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
17810
17811         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
17812         font hash table, if we have a GdkFontPrivate entry for this font
17813         already, simply increment its reference count, provided by Olaf Dietsche
17814         <olaf.dietsche+list.gtk@netcologne.de>.
17815
17816 1999-09-21  Tor Lillqvist  <tml@iki.fi>
17817
17818         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
17819         just to be sure.
17820
17821         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
17822         unused variables, leftovers from the X11 version.
17823
17824         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
17825
17826         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
17827         downcase fields on X11.
17828
17829 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
17830         
17831         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
17832         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
17833
17834 1999-09-17  Tor Lillqvist  <tml@iki.fi>
17835
17836         * gdk/win32/gdk.def: Add gdk_threads_mutex.
17837
17838         * gtk/makefile.msc: Correct path to libintl.
17839
17840         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
17841         use of gint vs. int, and gint vs. gboolean in headers and
17842         definitions. Use GtkType for the *_get_type functions. Note that
17843         these changes preserve binary compatibility.
17844
17845         * gdk/gdk.c
17846         * gdk/win32/gdk.c
17847         * gdk/gdk.h: Fix inconsistencies: gint vs int.
17848
17849         * gtk/gtkmain.c
17850         * gtk/gtkclist.c
17851         * gtk/gtkmenufactory.c
17852         * gtk/gtknotebook.c
17853         * gtk/gtkwidget.c: Fix inconsistencies, also gint
17854         vs. gboolean.
17855
17856         * gtk/gtkcolorsel.[ch]
17857         * gtk/gtkcombo.[ch]
17858         * gtk/gtkdrawingarea.[ch]
17859         * gtk/gtkgamma.[ch]
17860         * gtk/gtkhandlebox.[ch]
17861         * gtk/gtkhpaned.[ch]
17862         * gtk/gtkhruler.[ch]
17863         * gtk/gtkplug.[ch]
17864         * gtk/gtkpreview.[ch]
17865         * gtk/gtkruler.[ch]
17866         * gtk/gtksocket.[ch]
17867         * gtk/gtkstatusbar.[ch]
17868         * gtk/gtktoolbar.[ch]
17869         * gtk/gtkvbbox.[ch]
17870         * gtk/gtkvpaned.[ch]
17871         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
17872         functions.
17873
17874         * gtk/gtkgamma.h: Fix bug, missing () in call of
17875         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
17876
17877 1999-09-14  Tor Lillqvist  <tml@iki.fi>
17878
17879         * gdk/gdkcolor.c (gdk_colormap_new)
17880         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
17881         colormap->colors was allocated twice.
17882
17883         * gdk/win32/gdk.c: Remove some unused stuff.
17884
17885         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
17886         colormap.
17887
17888         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
17889         * gtk/gtklabel.h (gtk_label_get_type)
17890         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
17891         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
17892         in a couple of places, not guint.
17893
17894 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
17895
17896         * configure.in,po/et.po: added Estonian language file
17897
17898 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
17899
17900         * configure.in,po/da.po: added Danish file
17901
17902 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
17903
17904         * docs/gtkfaq.sgml: Minor FAQ Update
17905
17906 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
17907
17908         * docs/gtkfaq.sgml: FAQ update
17909
17910 1999-08-27  Tor Lillqvist  <tml@iki.fi>
17911
17912         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
17913         way to get window contents continually refreshed while resizing. I
17914         didn't like the effects myself, so it's not on by default.
17915
17916         * gdk/win32/gdkprivate.h: New flag variable
17917         gdk_event_func_from_window_proc, FALSE by default.
17918
17919         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
17920         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
17921         are passed --gdk-event-func-from-window-proc.
17922
17923         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
17924         and we have am event_func, call it instead of enqueing the event.
17925
17926 1999-08-23  Tor Lillqvist  <tml@iki.fi>
17927
17928         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
17929         Kelley: Set expose_count in GdkEventExposes correctly.
17930
17931         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
17932         MULTIPLE_WINDOW_CLASSES).
17933
17934         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
17935         for bug in NT, apparently NT *does* draw the end pixel, too, in
17936         LineTo with a one-pixel pen, so we don't have to do it ourselves.
17937
17938 1999-08-21  Tor Lillqvist  <tml@iki.fi>
17939
17940         Improvements by Hans Breuer: 
17941
17942         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
17943
17944         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
17945         CS_?REDRAW flags as they cause lots of (late) redraws when "show
17946         window contents while dragging" is turned on. Allocate at least
17947         one unique class for every GdkWindowType. If support for single
17948         window-specific icons is ever needed (eg. Dialog specific), every
17949         such window should get its own class.
17950
17951 1999-08-19  Tor Lillqvist  <tml@iki.fi>
17952
17953         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
17954         error that caused crashes.
17955
17956 1999-08-17  Tor Lillqvist  <tml@iki.fi>
17957
17958         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
17959         window, use ScrollWindowEx, and call UpdateWindow. This prevents
17960         bugs when for instance part of the window was outside the
17961         display. Thanks to Philippe Colantoni for finding and fixing this.
17962
17963 1999-08-16  Tor Lillqvist  <tml@iki.fi>
17964
17965         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
17966         endpoint calculations which were totally wrong. (A little RTFMing
17967         helps a lot ;-)
17968
17969         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
17970         from a separate directory, not from gettext, because of licensing
17971         issues (we want to use the LGPL version).
17972
17973         * README.win32: Mention the intl from glibc vs from gettext issue.
17974
17975 1999-08-13  Tor Lillqvist  <tml@iki.fi>
17976
17977         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
17978         in the key event handling: Now AltGr chars work again. Also,
17979         now Alt-digits are passed up as well as Control-digits.
17980         Pass keypad plus and minus as normal plus and minus.
17981
17982 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
17983
17984         * docs/gtkfaq.sgml: FAQ Update
17985
17986 1999-07-25  Tor Lillqvist  <tml@iki.fi>
17987
17988         * README.win32
17989         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
17990         the Wintab SDK.
17991
17992         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
17993         OK, but getting closer. Guard against bogus tilt data from Wacom
17994         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
17995         enable easier building without Wintab.
17996
17997         * gdk/win32/gdkinput.h
17998         * gdk/win32/gdkevents.c 
17999         * gdk/win32/gdkwindow.c: Minor changes related related to above.
18000         
18001         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
18002         code. As we have just one visual on Win32, no sense to have it in a
18003         table, and no need for the hash table.
18004
18005         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
18006         better on white background.
18007
18008 1999-07-21  Tor Lillqvist  <tml@iki.fi>
18009
18010         * README.win32: Update gcc build instructions. Mention gettext is
18011         GPL.
18012
18013         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
18014         supported cursor size with GetSystemMetrics.
18015
18016         * gdk/win32/gdkfont.c
18017         * gtk/gtkfontsel.c: Guard against some font weight and charset
18018         symbols being undefined (in mingw32 headers).
18019
18020         * gdk/win32/makefile.cygwin
18021         * gtk/makefile.cygwin
18022         * gtk/gtkthemes.c: No longer need to have differently named
18023         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
18024
18025 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
18026
18027         * docs/gtkfaq.sgml: Long awaited FAQ update.
18028
18029 1999-07-15  Tor Lillqvist  <tml@iki.fi>
18030
18031         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
18032         it. Obscure bit manipulation needed.
18033
18034         * gdk/win32/gdkevents.c: Logging.
18035         
18036         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
18037         style (file name include compiler name) for theme engines.
18038
18039 1999-07-13  Tor Lillqvist  <tml@iki.fi>
18040
18041         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
18042
18043         * gdk/win32/gdkevents.c: Fix long-standing bug in key
18044         events. The key.string wasn't zero-terminated, still we strdup'ed
18045         it in gdk_event_copy(). Synthesize crossing events for button
18046         events before possible propagation.
18047
18048         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
18049
18050         * gdk/win32/makefile.cygwin
18051         * gtk/makefile.cygwin: Use new DLL naming style for the
18052         GCC-compiled ones.
18053
18054         * gdk/win32/makefile.msc
18055         * gtk/makefile.msc: Cosmetics mostly.
18056
18057         * gtk/gtk.def: Add missing entry points.
18058
18059         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
18060
18061 1999-07-09  Tor Lillqvist  <tml@iki.fi>
18062
18063         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
18064         or height is zero. Don't print a warning if Pie or Arc fails, they
18065         always fail (?) for very narrow ellipses.
18066
18067         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
18068         the part or the destination window corresponding to source area
18069         outside of the source drawable's boundary.
18070
18071         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
18072         anything if less than two points.
18073
18074         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
18075         return NULL. Gtk cut-and-paste inside a single program works
18076         better this way. (It always gets the clipboard contents from
18077         Windows, not from its own copy, which is cleared anyway. I can't
18078         say I fully understand what happens... Emulating the X selection
18079         and property stuff is a bit of a mess.)
18080
18081         * gdk/win32/gdkevents.c
18082         * gdk/win32/gdkproperty.c: A bit more verbose logging.
18083
18084         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
18085         that never got deleted). Revamp gdk_region_shrink.
18086
18087         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
18088         after use.
18089
18090         * gtk/gtk.def: Add some missing entry points.
18091
18092         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
18093         component.
18094
18095 1999-07-04  Tor Lillqvist  <tml@iki.fi>
18096
18097         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
18098         Control-digits specially.
18099
18100 1999-07-03  Tor Lillqvist  <tml@iki.fi>
18101
18102         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
18103
18104 1999-06-28  Tor Lillqvist  <tml@iki.fi>
18105
18106         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
18107         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
18108         finding this.)
18109
18110 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
18111
18112         * gtk+.spec.in: Corrected some typos in files section.
18113         
18114 1999-06-15  Tor Lillqvist  <tml@iki.fi>
18115
18116         * README.win32: Mention using GNU gettext.
18117         * config.h.win32: Enable NLS stuff.
18118         * gtk/makefile.msc: Use GNU gettext.
18119         * gdk/win32/gdkdnd.c: Minor header reorg.
18120         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
18121         cosmetics.
18122         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
18123         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
18124
18125 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
18126
18127         * acinclude.m4
18128         * config.guess
18129         * config.status
18130         * ltconfig
18131         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
18132
18133 1999-05-30  Tor Lillqvist  <tml@iki.fi>
18134
18135         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
18136         SafeAdjustWindowRectEx. Don't override all calls to
18137         AdjustWindowRectEx by it, but use it only in two places: When
18138         creating a new top-level window and when moving a top-level
18139         window.
18140
18141         Use screen coordinate rectangle, not client rectangle, in
18142         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
18143         when we try to place a window so that the decoration (mainly,
18144         title bar) isn't visible.
18145
18146         These changes fix the bug that showed up for instance as the
18147         GIMP's saved top-level windows moving right and down (by an amount
18148         equal to the window decoration) for each session. This bug showed
18149         up also in testgtk's "Saved Position".
18150
18151         gdk_window_resize also redone a bit.
18152
18153 1999-05-25  Tor Lillqvist  <tml@iki.fi>
18154
18155         * gtk/testgtkrc: Add (commented out) Windows-style theme
18156         include line.
18157
18158         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
18159
18160 1999-05-18  Tor Lillqvist  <tml@iki.fi>
18161
18162         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
18163         gdkx.h to a gdk subdirectory, so that applications can include
18164         these with <gdk/*.h> without trouble.
18165
18166         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
18167         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
18168         have their bitmap destroyed.
18169
18170         * gdk/win32/gdk.def: Add gdk_root_parent.
18171
18172 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
18173
18174         * configure.in
18175           gtk-config.in
18176           ltconfig
18177           ltmain.sh     
18178           gtk/Makefile.am: changes to compile nicely (with xlib) 
18179           on BeOS
18180
18181 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
18182
18183         * acinclude.m4
18184         * config.guess
18185         * config.sub
18186         * ltconfig
18187         * ltmain.sh: upgrade to libtool 1.3
18188
18189 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
18190
18191         * gtk/gtkclist.c:
18192         * gtk/gtkctree.c: merges from gtk-1-2
18193
18194 1999-04-25  Tor Lillqvist  <tml@iki.fi>
18195
18196         Support added for building using a GNU toolchain on Win32,
18197         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
18198
18199         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
18200         * config.h.win32: Changes for gcc.
18201         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
18202         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
18203         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
18204         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
18205         Protect shl stuff unavaiilable with mingw32 headers.
18206         * gdk/win32/gdkevents.c: Fix typo.
18207         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
18208         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
18209         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
18210         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
18211         the mingw32 headers.
18212         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
18213         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
18214         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
18215         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
18216         Test for NATIVE_WIN32, not _MSC_VER.
18217         * gtk/gtkmain.c: No use warning about developer version on Win32,
18218         there aren't any non-developer versions anyhow.
18219         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
18220         * gtk/makefile.msc: Use pthread from another directory. Minor other
18221         changes. 
18222
18223 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
18224
18225         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
18226           default filter from the list
18227
18228 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
18229
18230         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
18231          when gtk_widget_grab_default() is called for a widget that
18232          is not within a GtkWindow.
18233
18234 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
18235
18236         * docs/gtk_tut.sgml, examples/clist.c: use a
18237           scrolled window in the clist example. Minor
18238           tutorial fixes.
18239
18240 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
18241
18242         * docs/gtk_tut.sgml: Style check from David King
18243           <dking@youvegotmail.net>
18244
18245 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
18246
18247         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
18248         compile with unknown value of GDK_WINDOWING
18249
18250 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
18251
18252         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
18253         after the rule is fired.
18254         (install-exec-local): Install gdkconfig.h only if the contents are
18255         different from the currently installed gdkconfig.h.
18256
18257 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
18258
18259         * gdk/Makefile.am (configexecincludedir): Rename from 
18260         configincludedir so that gdkconfig.h will be installed 
18261         as part of `make install-exec'. 
18262
18263 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
18264
18265         * acinclude.m4
18266         * config.guess
18267         * config.sub
18268         * ltconfig
18269         * ltmain.sh: upgrade to libtool 1.2f
18270
18271         * autogen.sh: libtool is not required to autogen gtk+
18272
18273         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
18274         needed)
18275
18276 1999-03-18  Tor Lillqvist  <tml@iki.fi>
18277
18278         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
18279         declaring gdk variables exported/imported from the DLL. New image
18280         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
18281         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
18282         GDK_DRAG_PROTO_OLE2.
18283
18284         * gdk/gdk.h: Merge in Win32 version: Two new functions,
18285         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
18286         declared only for the Win32 version, but could be in the X11
18287         version as well. (Needed for a Xlib-less gdk_imlib.)
18288         gdk_color_hash should have only one parameter. Declare
18289         gdk_threads_mutex with GDKVAR.
18290         
18291         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
18292         just one parameter.
18293
18294         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
18295         per pixel, not bits.
18296
18297         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
18298         Fetch bpp (which means bits-per-pixel here) from another place on
18299         Win32. Accept also depth==32 (which we might get on Win32) with
18300         bpp==32.
18301
18302         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
18303         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
18304         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
18305         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
18306         in the backend-dependent directory, not in the common gdk
18307         directory.
18308
18309         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
18310         headers.
18311
18312 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
18313
18314         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
18315         want to use the Gtk+ devel version (which is true, and yes - even i am
18316         currently working with the 1.2.x branch). so everyone reading this, you
18317         probably want to issue
18318         cvs checkout -r glib-1-2 glib
18319         and
18320         cvs checkout -r gtk-1-2 gtk+
18321         as your next two comands.
18322
18323 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
18324
18325         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
18326         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
18327
18328         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
18329         file. strongly deprecated the GTK_HAVE_* macros, we provide
18330         GTK_CHECK_VERSION() for people that need to check for certain
18331         Gtk+ versions.
18332
18333         * gtk/gtkcompat.h: removed this from CVS.
18334         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
18335         idea right from the start, it just didn't seem like that back then.
18336
18337 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
18338
18339         * merges from gtk-1-2:
18340
18341 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
18342
18343         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
18344         item factory class has been created.
18345         (gtk_item_factory_parse_rc): likewise.
18346
18347         * gtk/gtkmenu.c:
18348         keep proper references for old_active_menu_item.
18349         (gtk_menu_reparent): unset the usize of the new parent,
18350         so the menu can sanely be size requested and we don't get nasty screen
18351         artefacts upon next reparentation.
18352         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
18353         enter notify. only synthesize enter notifies if the pointer really is
18354         inside the event window.
18355         (gtk_menu_popdown): use gtk_menu_shell_deselect().
18356         (gtk_menu_popup): move the background setting stuff into
18357         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
18358
18359         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
18360         gtk_menu_shell_select_item() to select the new item.
18361         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
18362         do the right thing for deselection as well.
18363
18364 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
18365
18366         * gtk/gtkwidget.[hc]:
18367         (gtk_widget_accelerators_locked): return whether a widget's accelerators
18368         are locked.
18369
18370         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
18371         existing accelerators if the widget's accelerators are locked.
18372
18373 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
18374
18375         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
18376
18377         * gtk/gtkmenu.c: truely forward key press and key release events to
18378         the menu widget from the toplevel or tearoff window. we can't simply
18379         connect to that, we need to stop further processing of the events as
18380         well.
18381
18382 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
18383
18384         * gtk/gtkmenu.c:
18385         (gtk_menu_key_press): pass event->keyval, event->state to
18386         gtk_accelerator_valid, instead of event->keyval twice.
18387         refuse to install single letter accelerators for menus that use
18388         single letter shortcuts.
18389
18390         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
18391         gtk_menu_ensure_uline_accel_group().
18392
18393         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
18394         which will always return an uline accel group, made
18395         gtk_menu_get_uline_accel_group() return NULL if the group isn't
18396         yet created.
18397
18398 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
18399
18400         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
18401
18402         * gtk/gtkclist.c (gtk_clist_column_title_passive):
18403         Leave button sensitive, trap  button_press, button_release,
18404         motion_notify, enter_notify and leave_notify events instead.
18405         (gtk_clist_column_title_active): disconnect event handler.
18406         (gtk_clist_drag_data_get): fixed memory leak. Reported by
18407         Guillaume Laurent <glaurent@worldnet.fr>
18408
18409 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
18410
18411         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
18412         width/height mixups.
18413
18414         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
18415         if needed.
18416
18417 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
18418
18419         * gtk/testgtk.c (create_item_factory): unref the item factory after
18420         window's destruction.
18421
18422         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
18423         count on the menu shell around the menu item's activation, since the
18424         signal emission may cause menu shell destruction.
18425
18426         * gtk/gtkitemfactory.c:
18427         the previous code leaked one accel group per menu. we use
18428         gtk_menu_get_uline_accel_group() now to fix that, and with that
18429         also create the underline accelerator group of the menus only if
18430         required (i.e. an underline accelerator has been specified).
18431         (gtk_item_factory_construct):
18432         (gtk_item_factory_create_item): removed code that would create an
18433         extra accel group for the menu (and leak references).
18434         (gtk_item_factory_create_item): adapted the underline accelerator
18435         installation code to properly feature gtk_menu_get_uline_accel_group().
18436
18437         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
18438         menu->accel_group, this may return NULL if the accelerator group
18439         hasn't been set yet.
18440         added gtk_menu_get_uline_accel_group() to retrive the underline
18441         accelerator group of the menu, this will be created on demand
18442         and proper care is taken about its reference count.
18443
18444         * gtk/gtkitemfactory.h:
18445         * gtk/gtkitemfactory.c:
18446         dumped the approach of keeping a widgets by action list on the
18447         factory since the factory<->widget destroy negotiation didn't work
18448         and would be hard to get going at all. instead we keep a list of
18449         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
18450         persistant throughout a program's life time).
18451         also, i removed the static const gchar *key_* variables, and made
18452         them inline strings (they weren't actually used anyways).
18453         (gtk_item_factory_add_item): update ifactory->items.
18454         (gtk_item_factory_destroy): destroy ifactory->items (and remove
18455         the item factory pointer from the remaining ifactory widgets).
18456         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
18457         list to find the widget.
18458         (gtk_item_factory_get_item): new function that works around
18459         gtk_item_factory_get_widget() limitations, this function will only
18460         return menu items, even for <Branch> entries.
18461
18462 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
18463
18464         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
18465         font hash table, if we have a GdkFontPrivate entry for this font
18466         already, simply increment its reference count, provided by Olaf Dietsche
18467         <olaf.dietsche+list.gtk@netcologne.de>.
18468
18469         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
18470         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
18471
18472 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
18473
18474         * gtk/gtkcontainer.c:
18475         (gtk_container_add_with_args):
18476         (gtk_container_addv):
18477         (gtk_container_add): before adding a child to a conatiner, make sure
18478         it is (default) constructed, this is neccessary because under certain
18479         circumstances the child will get relized and mapped immediatedly, in
18480         which case it has to be constructed already.
18481
18482 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
18483
18484         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
18485         values > 1 as TRUE also.
18486
18487 1999-03-16  Tor Lillqvist  <tml@iki.fi>
18488
18489         * README.win32: New file.
18490                 
18491         * configure.in: Check for lstat.
18492
18493         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
18494         completeness.
18495
18496         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
18497
18498         * gtk/gtk.def: Removed CRs.
18499
18500         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
18501         ..\gdk\win32).
18502
18503         * gdk/win32/makefile.msc: Correct upwards relative paths.
18504         
18505 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
18506
18507         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
18508           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
18509           it was connecting a void function to expose_event and the int
18510           returning function to the draw signal
18511
18512 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
18513
18514         * configure.in:
18515         Use correct path to libgmodule.la when ref'ing uninstalled copy
18516         of glib.  (Already in stable branch, Bug #417)
18517
18518 1999-03-15  Tor Lillqvist  <tml@iki.fi>
18519
18520         Win32 merge and general portability stuff:
18521                 
18522         * acconfig.h,configure.in: Check for <sys/time.h>.
18523
18524         * gdk/win32: New directory (actually, been there for a while).
18525         
18526         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
18527         NATIVE_WIN32, and use these. Always case fold on Win32. No
18528         backslashed escapes on native Win32.
18529
18530         * gtk/{gtk.def,makefile.msc}: New files.
18531
18532         * gtk/Makefile.am: Add above new files.
18533         
18534         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
18535         instead of <strings.h>.
18536
18537         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
18538         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
18539         <unistd.h> appropriately.
18540
18541         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
18542         Use ABS() (from <glib.h>) instead of abs().
18543         
18544         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
18545         of gtk (and thus glib) headers, so that WIN32 will be
18546         defined. With MS C, include <direct.h> for mkdir prototype.
18547
18548         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
18549         some casts, needed by MS C.
18550
18551         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
18552         implemented).
18553
18554         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
18555         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
18556         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
18557
18558         * gtk/gtkmain.h: Mark variables for export/import on Win32.
18559                 
18560         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
18561         the event is not a hint, or its window is not the slider. Needed
18562         on Win32, at least.
18563
18564         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
18565         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
18566         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
18567         a subdirectory of the Windows directory as gtk system
18568         configuration directory.
18569
18570         * gtk/gtkselection.c: No chunks on Win32.
18571
18572         * gtk/gtksocket.c: Not implemented on Win32.
18573
18574         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
18575
18576         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
18577
18578         * gtk/maketypes.awk: Declare variables with a macro that expands to
18579         necessary export/import magic in the case of Win32.
18580                 
18581         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
18582
18583 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
18584
18585         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
18586         since those were meant only for gdki18n.h.  
18587         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
18588         for widechar tests.
18589         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
18590
18591 1999-03-13  Tor Lillqvist  <tml@iki.fi>
18592
18593         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
18594         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
18595
18596         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
18597         installed) to CFLAGS.
18598
18599         * gdk/Makefile.am: Add rules for gdkconfig.h.
18600
18601         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
18602         APIs.
18603
18604         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
18605         gdkx.h anyway when compiling for X11.
18606         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
18607         general): Merge in Win32 version.
18608         
18609         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
18610         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
18611         expansion (if we don't have HAVE_PWD_H), allow for drive
18612         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
18613         included code from Craig Setera's port to Win32 (the one that uses
18614         X11, and the cygwin dll), even if it probably will be abandoned.
18615
18616         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
18617         the user entered one herself.  This way one can complete *.h and
18618         don't get matches on any .help files, for instance.
18619         
18620 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
18621
18622         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
18623         font hash table, if we have a GdkFontPrivate entry for this font
18624         already, simply increment its reference count, provided by Olaf Dietsche
18625         <olaf.dietsche+list.gtk@netcologne.de>.
18626
18627         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
18628         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
18629
18630 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
18631
18632         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
18633         the number of calls to gdk_draw_point() (and thus to X) by
18634         clipping the points by hand.
18635
18636         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
18637         the clip parameter.
18638         (gtk_handle_box_paint): Only paint the handle if the expose area
18639         intersects it.
18640
18641 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
18642
18643         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
18644
18645 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
18646
18647         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
18648         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
18649
18650 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
18651
18652         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
18653          textmode (O_TEXT) for OS/2 version.
18654
18655 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
18656
18657         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
18658         GtkSpinButton, "input" and "output", to make the output more flexible.
18659         The user has to provide a mapping between adjustment->value and the
18660         output string (and vice versa, if the spin button is editable). 
18661         See testgtk for examples.
18662
18663 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
18664
18665         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
18666         new one.
18667         
18668         * configure.in: set gtk+ version to 1.3.0.