]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
Test for bin->child being present before doing anything with it. Patch
[~andy/gtk] / ChangeLog.pre-2-4
1 2001-05-07  Federico Mena Quintero  <federico@ximian.com>
2
3         * gtk/gtkwindow.c (gtk_window_focus): Test for bin->child being
4         present before doing anything with it.  Patch from Håvard Kvålen
5         <havardk@netcom.no>.
6
7 2001-05-04  Havoc Pennington  <hp@redhat.com>
8
9         * configure.in: fix some shell typos
10
11         * gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix
12
13         * gtk/gtkimage.c: handle animations
14
15         * gtk/gtkcheckbutton.c (gtk_check_button_size_request): request
16         border_width * 2, not just border_width
17
18         * gtk/gtkscale.c: add "format_value" signal to allow people
19         to override the way values are drawn.
20         (gtk_scale_get_value_size): fix width/height mistake,
21         and compute size from actual displayed text, not 
22         from made-up text.
23
24         * gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in 
25         signal registration
26
27         * tests/testtext.c: Add "Remove all tags" menu item for testing
28
29         * gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement
30
31         * demos/gtk-demo/main.c (main): add hack so we can find modules
32         without installing gtk
33
34         * demos/gtk-demo/textview.c (insert_text): demo font scaling
35
36         * gtk/gtkcellrenderertext.c: Add "scale" property (font scaling
37         factor)
38         (gtk_cell_renderer_text_set_property): remove some bogus
39         g_object_notify
40
41         * gtk/gtktexttag.c: add "scale" property which is a font scaling
42         factor
43
44         * gtk/gtktextlayout.c (add_text_attrs): add font scale attribute 
45         to layout
46
47         * gtk/gtktextiter.c (gtk_text_iter_is_start): rename from
48         gtk_text_iter_is_first
49
50 2001-01-06  Hans Breuer  <hans@breuer.org>
51
52         * gdk/gdk.def : updated exports
53
54         * gdk/win32/makefile.msc : -DGDK_ENABLE_BROKEN otherwise
55         gdk won't compile anymore
56  
57         * gdk/win32/gdkevents-win32.c : initialize ret_val when
58         processing GDK_FILTER functions, initialize event.key->hardware_keycode.
59         Improved gdk_flush () to not only do pending drawing operations
60         but also process all currently pending events. This should make
61         the behaviour more similar to the X11 version.  
62
63         * gdk/win32/gdkgc-win32.c (predraw_set_background) : a background
64         option needs to be set even if there is no GDK_GC_BACKGROUND.
65         (gdk_win32_hdc_get) : use predraw_set_background () independent
66         of value_mask. This allows to draw dashed lines leaving the original
67         background intact.
68
69         * gdk/win32/gdkimage-win32.c (gdk_image_new_bitamp) : free data
70         after processing, because we can't reuse it as the X11 version does.
71
72         * gtk/gtk.def : updated exports
73
74         * gtk/makefile.msc.in : added ATK, removed all test apps. (I
75         would like to get rid of this file again, and use straight
76         makefile.msc again, as the other Gtk+ subdirs do)
77
78         * test/makefile.msc (new file) : build the test apps here
79
80 Sat May  5 10:06:24 2001  Owen Taylor  <otaylor@redhat.com>
81
82         * Release 1.3.5
83
84         * configure.in (GTK_MICRO_VERSION): Up to 1.3.5
85
86         * NEWS: Updated
87
88         * demos/gtk-demo/Makefile.am (EXTRA_DIST): Fix minor
89         Makefile breakage.
90
91 Sat May  5 09:18:30 2001  Owen Taylor  <otaylor@redhat.com>
92
93         * demos/gtk-demo/images.c (progressive_timeout): Fix
94         typo in filename.
95
96         * gtk/gtktreeview.c (gtk_tree_view_row_activated): Comment
97         out FIXME warning; just too annoying.
98
99 2001-05-04  Alex Larsson  <alla@lysator.liu.se>
100
101         * gdk/linux-fb/gdkcolor-fb.c:
102         Better error messages.
103
104         * gdk/linux-fb/gdkpixmap-fb.c (gdk_pixmap_new):
105         Initialize abs_x and abs_y.
106         
107         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic):
108         Correct handling of stipple offset.
109
110         * gdk/linux-fb/gdkvisual-fb.c (gdk_visual_init):
111         Treat directcolor framebuffers as truecolor.
112         
113 Thu May  3 14:13:49 2001  Owen Taylor  <otaylor@redhat.com>
114
115         * INSTALL.in HACKING gtk/gtkaccessible.[ch] gtk/gtk.c: Add
116         dependency on Atk for accessibility support.
117
118         * configure.in **/Makefile.am: Major reworking of substituted
119         variables for CFLAGS/LIBS to make a lot more sane and 
120         keep the the compile/link lines a bit shorter.
121
122         * gdk/x11/gdkkeys-x11.c: Fix #endif with trailing stuff.
123
124 Thu May  3 08:10:54 2001  Owen Taylor  <otaylor@redhat.com>
125
126         * gtk/gtktexttag.c (gtk_text_tag_class_init): Fix return
127         value to be G_TYPE_BOOLEAN, not G_TYPE_INT, also,
128         use _gtk_boolean_handled_accumulator.
129
130 Thu May  3 07:00:09 2001  Owen Taylor  <otaylor@redhat.com>
131
132         * gtk/gtktextview.c: Patch from Juan Pablo Mendoza Mendoza
133         to fix things so clicking inside selection leaves cursor
134         at point where clicked. (#50324)
135
136         * gtk/gtksettings.c (gtk_settings_class_init): Restore
137         sane value for default double click time.
138
139         * tests/testtext.c (test_init): Really path to input modules.
140
141 2001-05-03  Sven Neumann  <sven@convergence.de>
142
143         * demos/testpixbuf-save.c: include target-specific headers as
144         done in testpixbuf-drawable.c
145
146 Wed May  2 20:36:38 2001  Owen Taylor  <otaylor@redhat.com>
147
148         * gtk/gtkentry.c (gtk_entry_real_insert_text): Reduce
149         new_text_length appropriately when we run into the 
150         size limit for the entry. (#53445, reported by Jeff Franks)
151
152         * tests/testgtk.c (create_entry): Remove most of the
153         property toggle buttons. Replace with a "Props" button
154         that brings up a property editor.
155
156         * tests/prop-editor.[ch] test/testtreeview.c tests/Makefile.am:
157         Split the property editor code out for reuse, improve.
158
159 Wed May  2 17:26:22 2001  Owen Taylor  <otaylor@redhat.com>
160
161         * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.c: Always
162         trap errors around calls to XSetInputFocus since we have
163         no way of knowing reliably whether we are viewable or
164         not. (#53947)
165
166 Tue May  1 09:21:23 2001  Jonathan Blandford  <jrb@webwynk.net>
167
168         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
169         fix bug in dropping columns.  Moving columns now basically works
170         modula some fine tuning.
171
172 Tue May  1 19:09:21 2001  Jonathan Blandford  <jrb@redhat.com>
173
174         * gtk/gtktreeview.c (gtk_tree_view_horizontal_autoscroll): Add
175         autoscroll support.  It mostly works, but could use some fine
176         tuning.
177         * gtk/gtktreeview.c (gtk_tree_view_button_release_drag_column):
178         Actually move the column.
179
180 Mon Apr 30 20:29:27 2001  Owen Taylor  <otaylor@redhat.com>
181
182         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c 
183           gtk/gtkspinbutton.c gtk/gtkstyle.c gtk/gtkwidget.c:
184           New default theme! A slighly improved version of the 2.0 Raleigh
185           theme, with Windows-esque focus/drawing default. 
186           (GtkWidget::interior_focus defaults to TRUE.)
187
188         * gtk/gtkstyle.[ch]: Add a text_aa color halfway between text and base.
189
190 2001-04-30  Havoc Pennington  <hp@pobox.com>
191
192         * tests/testtext.c (line_numbers_expose): fix to work with
193         gtk_paint_layout change
194
195 Mon Apr 30 19:18:07 2001  Owen Taylor  <otaylor@redhat.com>
196
197         * gtk/gtkstyle.[ch] gtk/gtkaccellabel.c gtk/gtkcellrenderertext.c
198           gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c gtk/gtkprogressbar.c
199           gtk/gtkvruler.c gtk/gtkvscale.c: Add an extra parameter
200           use_text to gtk_paint_label() to deal with style->bg[] vs style->text[].
201
202         * gtk/gtkbbox.c gtk/gtkdialog.c: Tweak padding some to deal
203           with GtkWidget::interior_focus = TRUE better.
204
205         * gtk/gtkbutton.c: Switch ::default_spacing to ::default_border,
206         ::default_outside_border for more flexibility.
207
208         * gtk/gtkwidget.c (gtk_widget_style_get_valist): Remove 
209         G_VALUE_NO_COPY_CONTENTS, to correspond with the recent
210         change that had to be made with g_object_get.
211
212 Sun Apr 29 20:13:40 2001  Jonathan Blandford  <jrb@redhat.com>
213
214         * gtk/gtktreeview.c (gtk_tree_view_get_columns): new function.
215         (gtk_tree_view_move_column_after): Clean up interface. 
216
217 Sun Apr 29 03:02:02 2001  Tim Janik  <timj@gtk.org>
218
219         * gtk/gtkpacker.h:
220         * gtk/gtkenums.h: moved GtkAnchorType and GtkSideType from gtkpacker.h
221          to gtkenum.h.
222
223         * gtk/gtkmain.c (gtk_main_do_event): silence compiler (GDK_SETTING not
224         handled in switch).
225
226         * gtk/Makefile.am:
227         (gtk.defs): generate enum portions with  glib-mkenums.
228         (gtktypebuiltins_evals.c): generate this with glib-mkenums.
229         got rid of makeenums.pl and makeenums.awk in distributed tarballs.
230         
231         * gtk/gtkaccelgroup.c (gtk_accel_group_add): refined havocs warning
232         addition.
233
234         * docs/Changes-2.0.txt: keep a note on signal handlers now
235         not getting emitted during the emission they were connected within.
236
237 2001-04-28  Havoc Pennington  <hp@pobox.com>
238
239         * gtk/gtkcolorsel.c (palette_new): fix bug in tooltip
240
241 2001-04-24  Havoc Pennington  <hp@redhat.com>
242
243         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_previous_line): 
244         (gtk_text_layout_move_iter_to_next_line): fix these two for
245         invisible text, lots of other stuff still hosed.
246
247         * gtk/gtkcolorsel.c (gtk_color_selection_set_change_palette_hook):
248         new function, replaces the get/set palette stuff. This function 
249         is intended for use by libgnomeui which should set the hook to a
250         thing which sets the palette in GConf, and we need the
251         GConf-to-xsettings proxy which will result in the change being
252         propagated back to the GTK app.
253
254         * gtk/gtkaccelgroup.c (gtk_accel_group_add): add note to warning 
255         about unusable signals that it may be because the signal has 
256         parameters.
257
258         * gtk/gtkwidget.c (gtk_widget_modify_style): always copy the
259         style, otherwise gtkrc.c won't know to create a new GtkStyle for
260         it.
261         (gtk_widget_modify_color_component): call
262         gtk_widget_modify_style() so the rc style will get copied.
263         (gtk_widget_modify_font): ditto
264
265         * gtk/gtkrc.c: make a couple variables static
266
267         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): hide
268         help button by default, since it does nothing
269
270         * gtk/gtkcolorsel.c: add tooltips, work on key navigation, fool
271         around with UI
272
273         * gtk/gtkentry.c (gtk_entry_realize): request enter/leave notify
274         so we can have tooltips
275
276         * gtk/gtkhsv.c (gtk_hsv_realize): request enter/leave notify so we
277         can have tooltips
278
279         * gdk/gdkimage.h: mark gdk_image_new_bitmap with
280         GDK_ENABLE_BROKEN, because its memory behavior is completely
281         hosed.
282
283         * gtk/gtknotebook.c: remove key press handler, replace with
284         binding set, add numeric keypad support
285
286         * gtk/gtktextview.c (gtk_text_view_class_init): accept KP_Delete
287
288         * gtk/gtktext.c (gtk_text_key_press): add a bunch of KP keysyms
289
290         * gtk/gtkentry.c (gtk_entry_class_init): accept GDK_KP_Delete in
291         addition to plain Delete
292
293         * gtk/gtktextview.c (gtk_text_view_key_press_event): accept
294         GDK_KP_Enter in addition to GDK_Return
295
296         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): connect to
297         activate on entry instead of key press
298         (gtk_font_selection_on_clist_key_press): get
299         rid of this signal handler, not needed with new font sel.
300
301         * gtk/gtkfilesel.c (gtk_file_selection_key_press): remove a
302         no-longer-needed emit_stop_by_name(), just return TRUE
303
304         * gtk/gtkhscrollbar.c, gtk/gtkvscrollbar.c: remove keybindings
305         cruft, this widget is no longer focusable.
306
307         * gtk/gtkrange.h, gtk/gtkrange.c, gtk/gtkvscale.c,
308         gtk/gtkhscale.c: Get rid of trough_keys virtual function, add
309         move_slider action signal, add binding set for vscale/hscale, in
310         the process support numeric keypad
311
312         * gtk/gtkentry.c (gtk_entry_class_init): Add keypad bindings; 
313         make GDK_Return and GDK_KP_Enter activate the entry via 
314         binding set, instead of hardcoded.
315
316 Fri Apr 27 20:27:21 2001  Jonathan Blandford  <jrb@redhat.com>
317
318         * gtk/gtktreeview.[hc]: Massive reorder/cleanup of a lot of the
319         code.  Some documentation added.
320
321 2001-04-27  Havoc Pennington  <hp@redhat.com>
322
323         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning
324
325         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable
326
327         * gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
328         line/para separators
329         (gtk_entry_create_layout): set single paragraph mode on the layout
330
331         * gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
332         spacing between the image and label; instead, inside a button box 
333         the button will get extra space that will go there, but if people 
334         configure button box for 0 chubbiness, then there's no spacing.
335
336         * gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
337         and min/max size style properties, so people can tune their
338         chubbiness.
339
340         * tests/testgtk.c (make_toolbar): remove calls to removed toolbar
341         functions
342
343         * gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
344         space_style, and button_relief into style properties, remove
345         functions for setting them
346         
347         * gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop 
348         it back down
349
350         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
351         types from gtk_widget_style_get
352
353         * gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
354         with a style property.
355
356         * gdk/x11/gdkevents-x11.c: namespace the settings
357
358         * gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.
359
360         * gtk/gtksettings.c (gtk_settings_class_init): remove code with
361         side effects from inside g_assert(), so that G_DISABLE_ASSERT can
362         be used. Also, translate doc strings for settings. Also, namespace
363         the double-click-time property. Also, remove bell properties crap.
364
365 2001-04-27  Sven Neumann  <sven@gimp.org>
366
367         * Makefile.am: before creating links, check if pkg-config files
368         exist for the default target. Otherwise link to the pkg-config files
369         that got installed with this build.
370
371 Thu Apr 26 19:11:46 2001  Jonathan Blandford  <jrb@redhat.com>
372
373         * gtk/gtktreeview.c (gtk_tree_view_motion): clean up column
374         dragging code.  Revealed some (potential) GdkWindow bugs.
375
376         * gdk/x11/gdkwindow-x11.c (gdk_window_reparent): add
377         _gdk_window_init_position to the end of reparent to fix the case
378         of reparenting when new_x != old_x and new_y != old_y.
379
380 Thu Apr 26 10:54:50 2001  Owen Taylor  <otaylor@redhat.com>
381
382         * gtk/gtkentry.c (strstr_len): Fix optimization that
383         was correct for the use here, but completely incorrect
384         in general.
385
386 Thu Apr 26 10:40:41 2001  Owen Taylor  <otaylor@redhat.com>
387
388         * gtk/gtkwindow.h: Remove deprecation of gtk_window_set_default_size()
389         until patch adding gtk_window_set_size() is recommitted. 
390
391         * **Makefile.am configure.in gdk/x11/gdkim-11.c
392           gtk/gtkmain.c gtk/gtkimmulticontext.c gtk/gtkmain.c
393           gtk/gtkrc.c: Remove all traces of -DX_LOCALE support.
394           (#10784)
395
396 Wed Apr 25 12:16:36 2001  Owen Taylor  <otaylor@redhat.com>
397
398         * gdk/X11/gdkevents-x11.c (gdk_event_translate): Test for 
399         window == NULL in a number of cases.
400
401         * tests/testdnd.c: Set module path for gdk-pixbuf.
402
403 Thu Apr 19 16:11:07 2001  Owen Taylor  <otaylor@redhat.com>
404
405         * gtk/Makefile.am xembed.h: File containing #defines
406         for XEMBED protocol.
407
408         * gtk/gtkplug.[ch] gtk/gtksocket.[ch]: 
409
410         - Change protocol from old plug/socket specific protocol
411           to XEMBED draft
412         - Various fixes to work with GTK+-2.0
413
414         Still quite a bit of work to do here to handle initiation
415         from the socket side (as specified by XEMBED), to handle
416         the more advanced features of XEMBED, and to figure out
417         a good way to handle same-app embedding with less overhead
418         than using full XEMBED.
419
420 Wed Apr 18 16:04:28 2001  Owen Taylor  <otaylor@redhat.com>
421
422         * gtk/gtkwindow.[ch] (gtk_window_real_set_focus): Keep
423         track of whether the toplevel has the focus; only send
424         focus-in events to the focus widget when the window
425         actually has the focus.
426
427 2001-04-25  Havoc Pennington  <hp@pobox.com>
428
429         * gtk/gtkwindow.h: set_decorations_hint and set_functions_hint
430         were still in the header
431
432 2001-04-24  Alexander Larsson  <alexl@redhat.com>
433
434         * gtk/gtkclist.[ch]:
435         * gtk/gtkctree.c:
436         When there is a row highlighted for D'n'D it must alse
437         be painted hightlighted on exposes. Otherwise exposes from
438         the icon being dragged will mess up the hightlight.
439
440         * gtk/gtkfontsel.c:
441         Don't recenter selected font when exposing the font family
442         clist. This means you can now actually scroll the font family
443         list.
444
445         * gtk/gtknotebook.c:
446         Fix focus movement on scrolling tabs that are placed on the left
447         and right.
448
449 2001-04-21  Havoc Pennington  <hp@pobox.com>
450
451         * gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height
452         empty/invisible lines.
453
454         * gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset)
455         (gtk_text_iter_set_visible_line_index): new functions to set
456         indexes excluding invisible text
457
458         * gtk/gtktextlayout.c (line_display_iter_to_index): get visible 
459         index
460
461         * gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index)
462         (gtk_text_iter_get_visible_line_offset): new functions to 
463         get indexes excluding invisible text
464
465         * gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a
466         bunch of extra padding that served no purpose
467
468         * gtk/gtkdialog.c: Make all the spacings configurable via style
469         properties, for chubbiness configuration in themes
470
471         * tests/testtext.c: fix path to the immodules.
472         
473 Mon Apr 23 18:57:03 2001  Jonathan Blandford  <jrb@redhat.com>
474
475         * gtk/gtksocket.c (gtk_socket_filter_func): add missing '}' that
476         got munched by #endif.
477
478         * gtk/Makefile.am (gtk_plug_c_sources): add missing '\'
479
480         * gtk/gtktreeview.c: Refactored code to clean up a number of
481         events.
482
483         * gtk/gtktreemodel.c (gtk_tree_path_compare): Switched return
484         values to make consistent with other functions.  Spotted by Jeff
485         Franks <jcf@tpg.com.au>.
486
487         * gtk/gtktreeview.h (struct _GtkTreeViewClass): Fixes to signal
488         declaration spotted by Jeff Franks <jcf@tpg.com.au>.
489
490 2001-04-23  Sven Neumann  <sven@gimp.org>
491
492         * gtk/Makefile.am
493         * gtk/gtkplug.c
494         * gtk/gtksocket.c: on request of Owen, reverted my last change 
495         and exclude gtkplug.c/gtksocket.c from the build for non-X11 targets
496
497 2001-04-23  Sven Neumann  <sven@gimp.org>
498
499         * gtk/gtkplug.c: put into #ifdef GDK_WINDOWING_X11 to make GTK+
500         compile for non-X11 targets again
501
502 2001-04-20  Alexander Larsson  <alexl@redhat.com>
503
504         * gtk/gtkcolorsel.[ch]:
505         API Change. Take GdkColor arguments instead of gdouble *.
506         Leave the old gtk_color_selection_set_color for compatibility,
507         but marked deprecated.
508         Do correct rounding when converting RGB <-> HSV.
509         
510         * gtk/gtkcolorseldialog.c:
511         * tests/testgtk.c:
512         Use new GtkColorSelection API.
513
514         * gtk/gtkhsv.c:
515         Fix problem selecting colors in triangle when Hue is 330.
516         Fix some black dots around the HSB triangle.
517         
518         * gtk/gtkfilesel.c:
519         return FALSE from the focus_in_event handler to fix focus problems.
520
521 2001-04-18  Havoc Pennington  <hp@redhat.com>
522
523         * gtk/gtkwindow.c (gtk_window_class_init): add signals and binding
524         set, so keybindings are configurable    
525         (gtk_window_activate_default): Change to activate the focus widget
526         instead if there's a focus widget, to be consistent with the
527         behavior that previously existed in key_press_event
528
529 2001-04-18  Havoc Pennington  <hp@redhat.com>
530
531         * gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201
532
533 2001-04-18  Havoc Pennington  <hp@redhat.com>
534
535         Close bug #50615:
536         
537         * gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
538         the layout
539
540         * gtk/gtktext.c: Use base/text instead of bg/fg throughout
541
542         * gtk/gtkentry.c: Use base/text instead of bg/fg throughout
543
544         * gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout
545         
546         * gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
547         to blue for base, in addition to bg
548         
549 2001-04-18  Havoc Pennington  <hp@redhat.com>
550
551         * tests/testgtk.c (create_image): allow shrinking the image window
552         to test that we clip to allocation.
553
554         * gtk/gtkimage.c (gtk_image_expose): clip to allocation,
555         #9845
556
557         * gtk/gtkenums.h: move GtkWrapMode in here, #50472
558
559 Wed Apr 18 14:23:14 2001  Owen Taylor  <otaylor@redhat.com>
560
561         * gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
562         mode on shm segments to 0600. We'll see who complains.
563
564         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
565         _gdk_windowing_window_destroy() AFTER recursing through
566         children.
567
568         * tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
569         testsocket_child on X.
570
571         * tests/testsocket[_child].c: Fix uses of
572         gtk_window_get_default_accel_group().
573
574         [ Merge patch from Ramiro Estrugo  <ramiro@eazel.com> from gtk-1-2 ]
575
576         * gdk/gdkimage.c: (gdk_image_get):
577         Deal with the possibility that XGetImage() might return NULL.
578         Allocate the GdkImagePrivate structure only after XGetImage()
579         succeeds in order not to dereference a NULL ximage pointer.  This
580         prevents a core dump when XGetImage() fails - which is unlikely,
581         but can happen due to race conditions accessing the geometries of
582         drawables.  An x error will still be triggered, but the gdk image
583         wrapper at least wont seg fault.
584         
585 2001-04-18  Havoc Pennington  <hp@redhat.com>
586
587         * gtk/gtkimage.c: fix to properly queue resizes when the image is
588         set
589
590         * gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
591         if the insertion point isn't editable
592
593         * demos/gtk-demo/images.c: Added a GtkImage demo
594
595         * demos/gtk-demo/drawingarea.c: drawing area demo
596         
597         * demos/gtk-demo/menus.c (create_menu): cleanups
598
599 Wed Apr 18 12:15:52 2001  Owen Taylor  <otaylor@redhat.com>
600
601         * gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h 
602           gdk/x11/gdkevents-x11.c: Introduce an extra child
603         of toplevel windows that serves to hold the focus to
604         avoid events being delivered to embedded windows.
605
606         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
607         some extra variables to clean up code and reduce the
608         number of casts.
609
610         * gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
611         guint for 1 bit bit fields, not gboolean.
612
613 Wed Apr 18 10:04:23 2001  Owen Taylor  <otaylor@redhat.com>
614
615         * gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE,
616         not TRUE. (Fixes #52925)
617
618 Tue Apr 17 18:05:34 2001  Owen Taylor  <otaylor@redhat.com>
619
620         * Released 1.3.4
621
622         * NEWS: Updated
623
624         * gtk/gtktextview.c (gtk_text_view_class_init): Fix to not
625         use GTK_TYPE_ENUM.
626
627 Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
628
629         * configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
630
631         * gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
632         names to compatibility #defines so docs work.
633
634         * gtk/gtkenums.h: Remove GtkMenuFactoryType
635
636         * gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
637
638         * configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
639
640         * tests/testgtkrc: No magenta cursors, please.
641
642         * README.in INSTALL.in HACKING README.cvs-commits: Updated.
643
644         * gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
645         
646 Mon Apr 16 14:38:41 2001  Owen Taylor  <otaylor@redhat.com>
647
648         * gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
649         grabs, since they are no longer necessary.
650
651         * gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
652         by signal_connect() and call gtk_button_pressed() rather
653         than signal_connect_after().
654
655         * tests/testgtk.c: Restore radio menu items to combos 
656         since they'll look OK with Raleigh, and it is easier
657         than finishing the process of removing them that was
658         started earlier.
659
660 2001-04-16  Hans Breuer  <hans@breuer.org>
661
662         * gdk/gdk.def :
663         * gtk/gtk.def : added all exports required to link PyGtk 0.7.1
664
665         * gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
666         we are interested in the functions return value not the function address
667         * gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
668
669         * gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
670
671 2001-04-14  Hans Breuer  <hans@breuer.org>
672
673         * gdk/gdk.def :
674         * gdk/makefile.msc : updated
675
676         * gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is 
677         "fill with tile" do so with new helper function gdk_win32_draw_tiles 
678         (the testgtk::text backgound pixmap is drawn again)
679         Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect 
680         Win32 Pango change
681         * gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
682
683         * gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
684         Not sure if the returned settings have the right unit, because I couldn't
685         find any docs for the X version ...
686
687         * gtk/gtk.def :
688         * gtk/makefile.msc.in : updated
689
690 Thu Apr 12 17:41:17 2001  Owen Taylor  <otaylor@redhat.com>
691
692         * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
693         wording problems. (Compared to version from Johannes Stezenbach to
694         check correctness.)
695
696 Thu Apr 12 21:04:26 2001  Tim Janik  <timj@gtk.org>
697
698         * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
699         this to compile.
700
701 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
702
703         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
704         not pixbufpos.
705
706         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
707
708         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
709         are unsigned insts, therefore use g_value_set_uint.
710         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
711
712 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@webwynk.net>
713
714         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
715
716         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
717         GTK_TYPE_STRING.
718
719         * gtk/gtktreeview.c: New functions to allow initial column
720         dragging work.
721
722         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
723
724         * tests/testtreefocus.c: give dave some love.
725
726         * tests/testtreesort.c: Modify test to check really long samples.
727
728 2001-04-11  Alexander Larsson  <alexl@redhat.com>
729
730         * gtk-2.0.m4: Pass pkg-config options
731         before the other args so it works even if
732         POSIXLY_CORRECT is set.
733
734 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
735
736         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
737         0, interface 0).
738
739 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
740
741         * gtk/gtkcalendar.c (gtk_calendar_button_press):
742         check for action_func != NULL
743
744 2001-04-04  Sven Neumann  <sven@gimp.org>
745
746         * tests/testgtk.c (test_init): corrected path to gtk.immodules
747
748 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
749
750         * Released Gtk+-1.3.3.
751
752 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
753
754         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
755
756 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
757
758         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
759         files to/from source dir. (if we don't stay in builddir, we
760         can't reach make-inline-pixbuf.
761
762         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
763         deps.
764
765         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
766         ages 0).
767
768 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
769
770         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
771         moved to the GtkTreeSortable interface.
772
773         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
774         Make more efficient (fixes #50262).
775
776 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
777
778         * NEWS: Updated.
779
780         * configure.in: Remove support for uninstalled glib.
781
782         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
783         so as not to stop emission.
784
785         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
786         is no longer supported.
787
788         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
789         into tests, change build order to build modules before
790         gtk/.
791
792         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
793         to here.
794
795 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
796
797         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
798         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
799         GPatternSpec. this is actually unlikely to cause breakage in
800         third-party apps since except for gle, pretty much ever caller
801         passes NULL here.
802
803         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
804
805         * *.c: use g_pattern_*() API.
806
807         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
808
809         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
810         directions aren't passed in.
811
812         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
813         functionality to be usable from gtkstyle.c as well, give precedence
814         for conversion to user-supplied parsers.
815         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
816
817         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
818         _gtk_settings_parse_convert() for rcporperty value conversion.
819
820 2001-04-03  Alexander Larsson  <alexl@redhat.com>
821
822         * gdk/linux-fb/gdkevents-fb.c:
823         Add empty gdk_setting_get().
824
825 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
826
827         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
828         variable names.
829         
830         * gtk/makeenums.pl: touch this so enum files get remade.
831
832 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
833
834         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
835         work again when not sorted.
836
837         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
838         and "expand_row" signal, closing bug 52578.
839
840         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
841         support.
842
843         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
844         support.
845
846 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
847
848         * gdk/gdkevents.h: Add GdkEventSetting event for notification
849         of changes to system settings, gdk_setting_get() to retrieve
850         a single system setting.
851
852         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
853         to the draft XSETTINGS mechanism.
854
855         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
856         XSETTINGS.
857
858         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
859         of GDK settings changes to the GtkSettings object.
860
861         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
862         double-click-timeout property to GDK.
863
864         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
865         Define GDK boxed types here.
866
867         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
868         gdk/gdkenumtypes.[ch] for enum definitions.
869
870         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
871         * gtk/gtk-boxed.defs: Comment out GDK types
872         * gtk/gtktypeutils.h: Remove GDK types
873         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
874
875 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
876
877         * Applied patch from Ron Steinke to add signal accumulators
878         so that signals with the convention 'TRUE return means
879         handled' stop emission on a TRUE return.
880
881         * gtk/gtkmain.[ch]: Add private accumulator 
882         _gtk_boolean_handled_accumulator, used throughout GTK+.
883         
884         * gtk/gtkspinbutton.c: Add accumulator for ::output.
885
886         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
887         
888         * gtk/gtkwidget.c: Add accumulators for event signals,
889         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
890         for ::mnemonic-activate.
891
892         * gtk/gtkwindow.c: Add accumulator for ::frame_event
893
894 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
895
896         * gtk/gtkwidget.c: Add missing include.
897
898 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
899
900         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
901         marshaller.
902
903         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
904         "changed" signal to "range_changed".
905
906         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
907         removing a tree from one model would remove all trees from that
908         model.
909         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
910         changed signal instead.
911
912 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
913
914         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
915         chaining up to parent impl, since we have a INPUT_ONLY
916         window.
917
918         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
919         foreground color for the cursor.
920
921 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
922
923         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
924         param spec when caching property values, since we unref it
925         later when we free the style.
926
927         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
928         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
929
930 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
931
932         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
933         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
934         stupidity.
935
936 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
937
938         [ First pass at adding style properties. Still needs some definite
939         fine-tuning. ]
940
941         * gtk/gtkbutton.c: Add ::default_spacing style property.
942          
943         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
944         ::indicator_spacing style properties.
945
946         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
947         style properties.
948
949         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
950         rather than a normal property.
951
952         * gtk/gtkwidget.c: Add an ::interior_focus style property to
953         draw focus inside buttons, in the Windows/Java Metal/etc. style.
954
955         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
956         Honor ::interior_focus.
957         
958         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
959         TRUE.
960
961         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
962         Add ::slider_width, ::trough_border, ::stepper_size,
963         ::stepper_spacing style properties.
964
965         * gtk/gtkscale.[ch] Add ::slider-length style property.
966
967 2001-04-02 Alexander Larsson   <alexl@redhat.com>
968
969         * gdk/linux-fb/gdkwindow-fb.c:
970         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
971         warnings that were spewed on startup.
972
973         * gtk/gtkwindow-decorate.c:
974         gtk_window_reposition -> _gtk_window_reposition
975
976 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
977
978         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
979         Add boxed type for GtkRequistion. Use it for ::size-request.
980
981         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
982         Add a new GtkBorder structure useful for geometry properties
983         for widgets. Add corresponding GTK_TYPE_BORDER.
984         
985         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
986         Support automatic parser selection like
987         gtk_settings_install_property_parser().
988
989         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
990         functionality for use by gtk_widget_class_install_style_property.
991         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
992
993 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
994
995         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
996         g_param_spec_unichar(). 
997
998 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
999
1000         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
1001         _NET window managers.
1002
1003         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
1004
1005 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
1006
1007         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
1008         bad needs to be nuked, not just deprecated.
1009
1010         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
1011         gtk_widget_popup().
1012
1013         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
1014         
1015         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
1016         widget.
1017         
1018         * docs/Changes-2.0.txt: updates.
1019         
1020 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
1021
1022         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
1023         for (i = 0; i < 100; i ++)
1024           g_print ("I will confirm it compile before committing\n");
1025
1026 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
1027
1028         * gtk/gtktreestore.c: Initial work on implementing the
1029         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
1030
1031 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
1032
1033         * gtk/gtkwidget.c: fixed a bunch of notifications, added
1034         reference counts around emissions where the widget is used afterwards.
1035         added freeze/thaws around multiple properties being notified.
1036         (_gtk_widget_get_aux_info): cleanups.
1037         
1038         * gtk/gtksettings.c (gtk_settings_install_property): provide
1039         default parsing functions for gdkcolor, enums and flags.
1040
1041         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
1042         applied by owen.
1043         backed out gtk_window_get_location(), gtk_window_set_location(),
1044         gtk_window_get_size() and gtk_window_set_size(), these
1045         have to be sorted out wrg x/y/width/height/default_with/default_height
1046         properties.
1047         kept a flag in GtkWindowGeometryInfo to handle user
1048         resetting default sizes.
1049         cleaned up ZVT comments.
1050         bunch of assorted bug fixes, notification fixes.
1051         (_gtk_window_reposition): make this a really internal function.
1052         
1053         * gtk/testgtk.c: fixups.
1054         
1055 2001-03-31  Hans Breuer  <hans@breuer.org>
1056
1057         * config.h.win32.in : disable USE_MMX for msvc build cause
1058         the assembler doesn't fit and is out of my scope. Disable
1059         USE_GMODULE for msvc build as wel. The right way to share
1060         binaries on win32 would be to use libtiff.dll etc. To reduce
1061         installation hassles IMO it's better to include all fileformats
1062         builtin to gdk-pixbuf
1063
1064         * gdk-pixbuf/makefile.msc : new file
1065
1066         * gdk/gdk.def : updated
1067
1068         * gdk/win32/gdkevents-win32.c : don't erase the background if
1069         .no_bg is set. It improves the scrolling (e.g. of testgtk main
1070         buttons
1071         * gdk/win32/gdkgeometry-win32.c : added comment about the above
1072
1073         * gdk/win32/gdkwindow-win32.c : added three new functions like
1074         the X version. Only one is implemented, because the other two
1075         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
1076         be default behaviour on win32 anyway ...
1077
1078         * gtk/gtk.def : updated
1079
1080         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
1081         from where it was built and add an additional rule to automagically
1082         build gtkmarshal.[hc]
1083
1084         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
1085         before array access for the current entry isn't finished
1086
1087         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
1088         use g_return_val_if_fail
1089
1090         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
1091         for the static array, but let the compiler calculate it. It
1092         makes me wonder if gcc isn't capable to catch bugs like this ...
1093
1094 2001-03-31  James Henstridge  <james@daa.com.au>
1095
1096         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
1097         constant "-1" in the aux info structure.
1098
1099 2001-03-30  Alexander Larsson  <alexl@redhat.com>
1100
1101         * gtk/gtkbutton.c (gtk_button_get_property):
1102         * gtk/gtklabel.c:
1103         Remove leaks.
1104         
1105         * gtk/gtkcontainer.c:
1106         * gtk/gtkhscale.c:
1107         * gtk/gtkhscrollbar.c:
1108         * gtk/gtklayout.c:
1109         * gtk/gtkmisc.c:
1110         * gtk/gtkprogress.c:
1111         * gtk/gtkprogressbar.c:
1112         * gtk/gtkrange.c:
1113         * gtk/gtktable.c:
1114         * gtk/gtkviewport.c:
1115         * gtk/gtkvscale.c:
1116         * gtk/gtkvscrollbar.c:
1117         * gtk/gtkwidget.c:
1118         Property patches, based on patches from John Margaglione and Lee Mallabone.
1119
1120 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
1121
1122         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
1123         adjustment. Cleaned redundant preconditions (spin != NULL). Added
1124         inline API function docs.
1125         (gtk_spin_button_new_with_range): New convenience constructor.
1126         (gtk_spin_button_set_increments): New adjustment helper.
1127         (gtk_spin_button_set_range): New adjustment helper.
1128
1129         * gtk/testgtk.c : added test of the new convenince constructor and
1130         value_changed signals.
1131
1132 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
1133
1134         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
1135         listen to the reorder signal.
1136
1137 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
1138
1139         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
1140         to get the aux info structure fo the widget.
1141
1142         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
1143         above function.
1144
1145         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
1146
1147         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
1148         to get the size of the window manager frame, basically the same
1149         code that gdk_window_get_root_origin() had
1150         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
1151
1152         * gtk/gtkwindow.c (gtk_window_set_default_size): use
1153         gdk_window_resize() if the window is realized and resizeable
1154
1155         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
1156         typo so that setting gravity works
1157
1158         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
1159         allocation if auto_shrink is on, even if the default size
1160         has not changed.
1161
1162         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
1163         g_return_if_fail
1164
1165 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
1166
1167         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
1168         reordering/sorting work.  Now pretty much works.
1169
1170         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
1171         reorder mostly work.  Still need to get the parity correct.
1172
1173         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
1174         signal, so I can listen for the sort_column_changed signal so I
1175         can change my "sort_indicator" property.  Cool.
1176
1177 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
1178
1179         [ Patch from Havoc Pennington, hp@redhat.com ]
1180
1181         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
1182         Add functions gdk_window_begin_resize_drag/begin_move_drag
1183         to start resizing or moving a toplevel window. This
1184         is done either using the _NET_WM_MOVERESIZE protocol,
1185         or, if that isn't present, by emulation.
1186
1187         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
1188         to export the above to GTK+-land.
1189
1190         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
1191         
1192         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
1193         Move this function into gdkwindow, since we need it
1194         when implementing fallback resizing.
1195
1196         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
1197         Fix typo when setting gravity.
1198
1199         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
1200         Add an optional (but on by default) resize grip for resizing 
1201         the parent window.
1202
1203 01-03-29  Alexander Larsson  <alexl@redhat.com>
1204
1205         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
1206         Don't return TRUE from the event handler, that blocks all
1207         event signals on the tooltip widget. Now you can press buttons
1208         in toolbars again.
1209
1210 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
1211
1212         * gtk/testtext.c (create_buffer): Add missing NULL on
1213         valist.
1214
1215         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
1216         c-n-p problem with INCONSISTENT property.
1217
1218         [ Patch from Havoc Pennington  <hp@redhat.com> ]
1219
1220         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
1221         hook.
1222
1223         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
1224         signal as a hook for extending the default popup menu
1225
1226         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
1227         use radio menu items for the input method menuitems
1228
1229         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
1230         inserted unicode from Ctrl-Shift-hex input method
1231
1232         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
1233         validatation here, already done at GtkTextBuffer level.
1234
1235         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
1236         popup_menu run action signal and Shift+F10 and Menu keybindings.
1237
1238         * gtk/gtkentry.c: implement a default handler for popup_menu
1239
1240         * gtk/gtktextview.c: implement a default handler for popup_menu
1241
1242         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
1243         from a key event
1244         
1245         * gtk/gtklabel.c: remove "trailer" cruft
1246
1247 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
1248
1249         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
1250         handle reordering of trees.  Seems to mostly work w/ the exception
1251         of the parity flag.
1252
1253         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
1254         signal.
1255
1256 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
1257
1258         * gtk/gtkwidget.h: c++ fixes.
1259
1260 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
1261
1262         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
1263         memory.
1264
1265 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
1266
1267         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
1268         Nils Barth fixing event return values. (#51041)
1269
1270         * gtk/gtkwidget.c: Fix some return values for default
1271         functions.
1272
1273         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
1274         return values for trough_keys functions.
1275
1276         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
1277         value for add_accelerator (shoudl have been a void
1278         return.)
1279
1280         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
1281         Fix return type of EVENT.
1282
1283         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
1284         signal return a boolean.
1285
1286 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
1287
1288         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
1289         reordered signal.
1290
1291         * tests/testtreesort.c (main): fix spelling.
1292
1293 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
1294
1295         * gtk/gtkliststore.c: More work on implementing sortable
1296         interface.
1297
1298 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
1299
1300         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
1301         reference the widgets in the resulting list. (#11821)
1302         This makes this consistent with gtk_container_children.
1303
1304         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
1305         uses of gtk_window_list_toplevels.
1306
1307 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
1308
1309         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
1310         a virtual function to set whether the IM context should use 
1311         the preedit string. (#51922)
1312         
1313 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
1314
1315         * gdk/gdkpango.h: Remove stale FIXME comment.
1316
1317 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
1318
1319         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
1320         Fixed bug that returned NULL if a filename was selected.
1321
1322 2001-03-24  Havoc Pennington  <hp@pobox.com>
1323
1324         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
1325         to contain the word "theme"
1326
1327 2001-03-24  Havoc Pennington  <hp@pobox.com>
1328
1329         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
1330         slower but finer-grained
1331         (gtk_hsv_focus): get initial focus on the ring or triangle 
1332         according to tab direction
1333
1334         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
1335
1336 2001-03-23  Havoc Pennington  <hp@pobox.com>
1337
1338         * gtk/gtkhsv.c: make this somewhat key-navigable
1339
1340         * gtk/gtkfontsel.c: mnemonics
1341
1342         * gtk/gtkgamma.c: mnemonics
1343
1344         * gtk/gtkcolorsel.c: add mnemonics to labels
1345
1346 2001-03-22  Havoc Pennington  <hp@pobox.com>
1347
1348         Applied big patch from Seth Lytle to fix event handler return
1349         values, slightly modified.
1350
1351         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
1352         handled.
1353         (gtk_calendar_key_press): return TRUE for GDK_space triggers
1354         select_day
1355
1356         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
1357         (gtk_clist_button_release): return TRUE if handled
1358
1359         * gtk/gtkcolorsel.c (mouse_release):
1360         (palette_activate): 
1361         (palette_press): 
1362         (palette_new): 
1363         (mouse_press): 
1364         (get_screen_color): 
1365         fixed return type (void to gboolean), return TRUE,
1366         added GTK_SIGNAL_FUNC cast
1367
1368         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
1369         (void to gboolean), and return TRUE
1370         (gtk_combo_button_release): changed return value to TRUE after
1371         gtk_grab_add on combo->popwin
1372
1373         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
1374         collapse or expand
1375
1376         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
1377         button/motion
1378
1379         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
1380         press/release and motion that trigger act
1381
1382         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
1383
1384         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
1385         for GDK_Return
1386         
1387         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
1388         (gtk_list_button_release): return TRUE if selection
1389
1390         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
1391         press
1392
1393         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
1394         (gtk_menu_shell_button_release): chain parent_menu_shell retval
1395
1396         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
1397         nothing triggered
1398         (gtk_notebook_button_release): return TRUE if we do anything
1399
1400         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
1401         (gtk_spin_button_button_release): return TRUE or chained retval
1402
1403         * gtk/gtktext.c (gtk_text_button_press): 
1404         (gtk_text_button_release): return TRUE
1405         (gtk_text_key_press): remove redundant retval code
1406         
1407         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
1408         and sensitive
1409         (gtk_tree_item_subtree_button_click): changed type to gint, and return
1410         TRUE if sensitive
1411
1412         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
1413         return TRUE
1414
1415 2001-03-23  Havoc Pennington  <hp@redhat.com>
1416
1417         * gtk/testgtk.c: fix warnings
1418
1419         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
1420
1421         * gtk/gtktextview.c: fix warnings
1422
1423         * gtk/gtktext.c (find_cursor_at_line): fix warning
1424
1425         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
1426
1427         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
1428         of this function
1429
1430         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
1431         fix warning
1432
1433         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
1434
1435         * gtk/gtkfontsel.c: fix warning
1436
1437         * gtk/gtkcolorsel.c: fix warnings
1438
1439 2001-03-23  Havoc Pennington  <hp@redhat.com>
1440
1441         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
1442
1443         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
1444
1445         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
1446         and deprecated gtk_check_menu_item_set_show_toggle().
1447         
1448         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
1449
1450         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
1451
1452         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
1453
1454 2001-03-23  Havoc Pennington  <hp@redhat.com>
1455
1456         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
1457         some docs
1458
1459 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
1460
1461         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
1462         this.
1463
1464         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
1465         set_cell to set_value
1466
1467         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
1468         set_cell to set_value
1469
1470 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
1471
1472         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1473         fix braino.
1474         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
1475         support.
1476
1477         * gtk/gtktreeview.c: Addition of initial sortable support.
1478
1479         * gtk/gtktreestore.c: Addition of initial sortable support.
1480
1481         * gtk/gtkliststore.c: Addition of initial sortable support.
1482
1483         * gtk/gtkmarshal.list: yet another marshaller.
1484
1485         * gtk/gtktreedatallist.[ch]: shared code between the store models
1486         for handling sorting headers.
1487
1488 2001-03-22  Havoc Pennington  <hp@redhat.com>
1489
1490         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
1491         (gtk_container_unset_focus_chain): Add ability to override the 
1492         focus chain for a container explicitly
1493
1494 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
1495
1496         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
1497         added PROP_MNEMONIC_WIDGET.
1498
1499         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
1500         (gtk_window_remove_mnemonic): 
1501         (gtk_window_add_mnemonic): fixed assertions.
1502         (gtk_window_activate_mnemonic): constrain modifier checks to those
1503         permitted by gtk_accelerator_get_default_mod_mask().
1504         got rid of gtk_window_get_default_accel_group().
1505
1506         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
1507         activatable widgets either by focussing or a warning.
1508         added a signal accumulator to ::activate_mnemonic which stops the
1509         emission once a handler returned TRUE.
1510
1511 2001-03-22  Havoc Pennington  <hp@pobox.com>
1512
1513         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
1514         the stock item label
1515
1516         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
1517
1518         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
1519
1520         * demos/gtk-demo/*.c: Add mnemonics all over the place
1521
1522         * gtk/gtklabel.h: mark parse_uline deprecated
1523
1524 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1525
1526         * gtk/gtkitemfactory.[ch]:
1527         Add support for stock and normal imagemenuitems.
1528         
1529         * gtk/testgtk.c:
1530         Add some tests for mnemonics, stock toolbars, stock
1531         and image menuitems in itemfactory and gdk_window_scroll.
1532
1533 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1534
1535         * gtk/gtkbutton.[ch]:
1536         * gtk/gtkdialog.c:
1537         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
1538         removed accel_group argument. Renamed gtk_button_new_accel() to
1539         gtk_button_new_with_mnemonic() and removed accel_group argument.
1540
1541         * gtk/gtkcheckbutton.[ch]:
1542         New function gtk_check_button_new_with_mnemonic().
1543
1544         * gtk/gtkentry.c:
1545         Override activate_mnemonic and just grab focus.
1546
1547         * gtk/gtkitemfactory.c:
1548         Don't add menu uline accel group, instead use mnemonics support.
1549
1550         * gtk/gtklabel.[ch]:
1551         New support for mnemonics.
1552
1553         * gtk/gtkmarshal.list:
1554         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
1555
1556         * gtk/gtkmenu.[c]:
1557         * gtkmenushell.c:
1558         Use mnemonics instead of accel groups for uline
1559         support in menu items.
1560         Removed gtk_menu_get_uline_accel_group() and
1561         gtk_menu_ensure_uline_accel_group().
1562
1563         * gtk/gtkmenuitem.c:
1564         Override activate_mnemonic to handle switching between
1565         menu items if there are collisions.
1566         
1567         * gtk/gtknotebook.c:
1568         Connect to activate_mnemonic on the tab_label, so that
1569         activating it switches to that notebook page.
1570
1571         * gtk/gtkwidget.[ch]:
1572         Add activate_mnemonic signal. New function
1573         gtk_widget_activate_mnemonic() to emit it.
1574         Default implementation does activate/grab_focus.
1575
1576         * gtk/gtkwindow.[ch]:
1577         Add support for mnemonics in windows.
1578         New functions:
1579         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
1580         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
1581
1582         * gtk/testgtk.c:
1583         Update to function name changes.
1584         
1585 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1586
1587         * gtk/gtkimagemenuitem.[c]:
1588         Add gtk_image_menu_item_new_from_stock()
1589
1590 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
1591
1592         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1593         Fix buglet in meeting.
1594
1595 2001-03-19  Havoc Pennington  <hp@redhat.com>
1596
1597         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
1598         add a bunch of accessor functions. This is because we have
1599         reasonable expectations of extending what fields it contains in
1600         the future.
1601
1602         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
1603         changes
1604
1605         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
1606         GtkIconSource   
1607
1608 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
1609
1610         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
1611         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
1612
1613         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
1614           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
1615           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
1616           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
1617         Change float to double everywhere with the exception of 0<->1.0 alignment
1618         and GtkCurve.
1619
1620 2001-03-19  Tor Lillqvist  <tml@iki.fi>
1621
1622         * gdk/win32/gdkdrawable-win32.c
1623         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
1624         output.
1625
1626         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
1627         gdkwin32.h.
1628
1629 2001-03-18  Tor Lillqvist  <tml@iki.fi>
1630
1631         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
1632         print_event_state, print_event): Use preprocessor macro to make
1633         code more compact. Print also GDK_WINDOW_STATE events.
1634         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
1635         
1636         * gtk/gtk.def
1637         * gtk/makefile.mingw.in: Update.
1638
1639         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
1640         to catch also Cygwin.
1641
1642 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
1643
1644         * gtk/gtkspinbutton.[hc]: added rc-style argument
1645         GtkSpinButton::shadow_type.
1646         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
1647         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
1648         rc-style settings.
1649
1650         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
1651
1652         * gtk/gtkwidget.c: quark cleanups.
1653
1654         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
1655         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
1656         to create_rc_style() (we don't do cloning in standard OO sense).
1657         added per rc style properties.
1658         
1659         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
1660         property values and for caching those. some cleanups.
1661         
1662         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
1663         
1664         * gtk/gtksettings.[hc]: new file for global rc-file properties
1665         (at least currently, should get extended to support X properties
1666         and other communication mechanisms).
1667         
1668         * gtk/gtkwidget.[hc]: added style property support:
1669         (gtk_widget_class_install_style_property_parser): install style
1670         property pspec with parser function for rc-file values other
1671         than LONG, DOUBLE or STRING.
1672         (gtk_widget_class_install_style_property): same as above without
1673         parser (parsers are going to be needed quite infrequently).
1674         (gtk_widget_style_get_property): retrive style property value.
1675         (gtk_widget_style_get_valist): same as above with varargs support,
1676         has NOCOPY semantics.
1677         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
1678
1679 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
1680
1681         * demos/gtk-demo/main.c (row_activated_cb): modified to use
1682         "row_activated" signal.
1683
1684         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
1685         stupidity.  Lets actually pass in the row with this signal...
1686
1687 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
1688
1689         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
1690
1691         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
1692
1693         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
1694         everything into the ::destroy function, and freed a lot more.
1695
1696 2001-03-16  Havoc Pennington  <hp@redhat.com>
1697
1698         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
1699         instead of gint16, to avoid overflow issues, since sizes > 16-bit
1700         are now allowed.
1701
1702 2001-03-16  Havoc Pennington  <hp@redhat.com>
1703
1704         * Applied patch from Nils Barth (bug # 51041) to 
1705         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
1706         in various places.
1707
1708 2001-03-15  Havoc Pennington  <hp@redhat.com>
1709         
1710         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
1711         for properties to set on the tag.
1712
1713         * gtk/testtext.c: fixups to reflect create_tag change
1714         
1715         * gtk/gtktexttag.c (gtk_text_tag_set_property):
1716         background/foreground stipple are objects, not boxed.
1717
1718         * demos/gtk-demo/textview.c: intellihancing
1719
1720 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
1721
1722         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
1723         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
1724
1725 2001-03-16  Alexander Larsson  <alexl@redhat.com>
1726
1727         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
1728         Fix sign error with queued region translations.
1729
1730 2001-03-15  HideToshi Tajima  <tajima@happy>
1731
1732         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
1733         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
1734         * gtk/gtkentry.c (update_im_cursor_location): 
1735         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
1736         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
1737         set_cursor_pos to set_cursor_location in GtkInputContext class
1738
1739 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
1740
1741         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
1742         the location of the cell relative to its area.
1743         * gtk/gtkcell*: modified for above change
1744         * gtk/gtktreeview.c: modified for above change.
1745
1746 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
1747
1748         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
1749          (gtk_tree_view_finalize): actually unref the model.  Thanks to
1750         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
1751
1752 2001-03-14  Havoc Pennington  <hp@redhat.com>
1753
1754         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
1755         
1756         * gtk/gtk.h: remove gtkdata.h
1757
1758         * gtk/Makefile.am: remove gtkdata
1759         
1760         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
1761         not "disconnect" on the adjustments.
1762         
1763         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
1764         GtkData
1765
1766         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
1767         not GtkData
1768
1769         * configure.in: handle case where X render exists, but Pango lacks
1770         Xft support.
1771
1772 2001-03-15 Alexander Larsson  <alexl@redhat.com>
1773
1774         * gtk/gtktoolbar.[ch]:
1775         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
1776         to add stock items to toolbars.
1777
1778         * gtk/Makefile.am:
1779         Remove ../gdk/gdkim.h from gdk_headers.
1780
1781 2001-03-15  Sven Neumann  <sven@gimp.org>
1782
1783         * gdk/gdkim.h: removed
1784         
1785         * gdk/gdkprivate.h
1786         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
1787
1788 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
1789
1790         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
1791         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
1792         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
1793         set_cursor_pos() virtual method
1794
1795         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
1796         (gtk_im_context_xim_set_cursor_pos): add implementation for
1797         set_cursor_pos() method
1798
1799         * gtk/gtkentry.c (recompute_idle_func): set current cursor
1800         position to input methods
1801
1802 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
1803
1804         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
1805         code a lot.
1806
1807         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
1808         g_mem_chunk.
1809         (_gtk_tree_data_list_alloc): use g_mem_chunk.
1810         (_gtk_tree_data_list_node_to_value): Fix to switch on
1811         G_TYPE_FUNDAMENTAL.
1812         (_gtk_tree_data_list_value_to_node): Fix to switch on
1813         G_TYPE_FUNDAMENTAL.
1814         (_gtk_tree_data_list_node_copy): Fix to switch on
1815         G_TYPE_FUNDAMENTAL.
1816
1817 2001-03-12  Havoc Pennington  <hp@redhat.com>
1818
1819         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
1820         to convert to new property API. Also, change default_width and
1821         default_height get_property to return 0 as the flag value for
1822         "unset"; -1 is not a valid value for these fields.
1823
1824 2001-03-12  Havoc Pennington  <hp@redhat.com>
1825
1826         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
1827         enum with registration for icon sizes, instead of strings.
1828
1829         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
1830         gtkwidget.c: Fix to reflect GtkIconSize
1831         
1832 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1833
1834         Make GtkFB compile and link.
1835         
1836         * gdk/linux-fb/gdkdrawable-fb2.c:
1837         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1838         
1839         * gdk/linux-fb/gdkwindow-fb.c:
1840         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1841         Added gdk_window_shape_combine_region.
1842         Added assorted placeholders for unimplemented new GdkWindow API calls.
1843
1844 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1845
1846         * gtk/gtkfilesel.c:
1847         Add more test when converting filenames from/to utf-8.
1848         Don't allow entering text in the filename entry which isn't allowed in
1849         a filename. Just beep instead.
1850
1851 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1852
1853         * gtk/gtkclist.c:
1854         Scroll using gdk_window_scroll(). Don't wait for exposes.
1855         Move the column headers in an order that makes them flash less.
1856
1857 2001-03-10  Hans Breuer  <hans@breuer.org>
1858
1859         * gdk/gdk.def : updated
1860
1861         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
1862         to offseting the clip_mask at the right place
1863
1864         * gdk/win32/gdkwindow-win32.c : don't create background brushes
1865         for all the gdkClasses, especially not for the input_only case.
1866         Otherwise flickering wont be avoidable, because we don't get
1867         WM_ERASEBKGND message for these windows.
1868
1869         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
1870         and fixed massive redraw problems apparently triggered by Alexanders 
1871         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
1872         but it seems to work quite well :-)
1873
1874         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
1875         prototype
1876
1877 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
1878
1879         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
1880         (gtk_list_store_set_cell): Fix a stupid typo.
1881
1882 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
1883
1884         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
1885         select_all not work if you're in SINGLE mode (it doesn't make that
1886         much sense, anyway.)
1887
1888         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1889         handle types more sanely.
1890         (_gtk_tree_data_list_value_to_node): handle types more sanely.
1891         (_gtk_tree_data_list_node_copy): handle types more sanely.
1892
1893         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
1894         GValue better. Converts the type as well.
1895
1896         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
1897         GValue better. Converts the type as well.
1898
1899 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
1900
1901         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
1902         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
1903         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
1904         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
1905
1906         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
1907         gdk_im/gdk_ic.
1908
1909 2001-03-09  Hans Breuer  <hans@breuer.org>
1910
1911         * gdk/gdk.def : updated
1912
1913         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
1914         for their palette
1915
1916         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
1917         removing
1918
1919         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
1920         removing and implemented Havoc's GdkWindow state functions; 
1921         stick/unstick only as no-op, cause I don't know how to emulate 
1922         on win32 ...
1923
1924         * gtk/gtk.def : updated
1925
1926         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
1927
1928         * gtk/gtktypeutils.c : #include <string.h>
1929
1930         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
1931
1932 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
1933
1934         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
1935         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
1936         not a boxed.
1937
1938 2001-03-09  Alexander Larsson  <alexl@redhat.com>
1939
1940         * docs/Changes-2.0.txt:
1941         Document expose event->region change and that gtk_widget_event
1942         doesn't allow passing expose events.
1943
1944         * gdk/gdkevents.h:
1945         Add region to expose event.
1946         
1947         * gdk/gdkevents.c:
1948         Handle event->region in gdk_event_copy() and gdk_event_free().
1949
1950         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
1951         Generate expose_event->region when creating expose events.
1952
1953         * gdk/x11/gdkevents-x11.c:
1954         Generate expose events with regions when translating X events.
1955
1956         * gtk/gtkcontainer.[ch]:
1957         Default expose handler that propagates expose events to NO_WINDOW
1958         children. New function gtk_container_propagate_expose()
1959
1960         * gtk/gtkwidget.[ch]:
1961         Moved gtk_widget_event implementation to gtk_widget_event_internal.
1962         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
1963         expose events. New function gtk_widget_send_expose() to send expose
1964         events. New function gtk_widget_region_intersect() to calculate
1965         window/region intersections.
1966         
1967         * gtk/gtkmain.c (gtk_main_do_event):
1968         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
1969         Use gtk_widget_send_expose() to send expose events.
1970         
1971         * gtk/gtkbin.c:
1972         * gtk/gtkbox.c:
1973         * gtk/gtkfixed.c:
1974         * gtk/gtkimagemenuitem.c:
1975         * gtk/gtklist.c:
1976         * gtk/gtkpacker.c:
1977         * gtk/gtktable.c:
1978         * gtk/gtktree.c:
1979         Remove expose handler, using the default container implementation
1980         instead.
1981         
1982         * gtk/gtkbutton.c:
1983         * gtk/gtkcheckbutton.c:
1984         * gtk/gtkeventbox.c:
1985         * gtk/gtkfixed.c:
1986         * gtk/gtkhandlebox.c:
1987         * gtk/gtklayout.c:
1988         * gtk/gtklistitem.c:
1989         * gtk/gtkmenu.c:
1990         * gtk/gtkmenubar.c:
1991         * gtk/gtkmenuitem.c:
1992         * gtk/gtknotebook.c:
1993         * gtk/gtkoptionmenu.c:
1994         * gtk/gtkpaned.c:
1995         * gtk/gtkscrolledwindow.c:
1996         * gtk/gtktogglebutton.c:
1997         * gtk/gtktoolbar.c:
1998         * gtk/gtktreeitem.c:
1999         * gtk/gtkviewport.c:
2000         Chain expose handler to parent class handler. Use
2001         gtk_container_propagate_expose() to propagate exposes.
2002
2003         * gtk/gtkclist.c (check_exposures):
2004         * gtk/gtktext.c (process_exposes):
2005         Use gtk_widget_send_expose instead of gtk_widget_event.
2006
2007 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
2008
2009         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
2010
2011 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
2012
2013         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
2014         unref the nodes.   Fixes bug #50058.
2015
2016         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
2017         "::ref_iter" to "::ref_node".
2018         (gtk_tree_model_unref_node): change "::unref_iter" to
2019         "::unref_node". Fixes bug #50064.
2020
2021 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
2022
2023         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
2024         support for invisible cells.
2025          (gtk_tree_view_bin_expose): ditto
2026
2027 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
2028
2029         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
2030         on gobjects.
2031
2032         * tests/testtreefocus.c (main): New test file.
2033
2034         * tests/testtreeview.c: update to latest glib changes.
2035
2036         * tests/testtreecolumns.c: update to latest glib changes.
2037
2038 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
2039
2040         * gtk/testgtk.c: re-enabled event watcher emission hooks.
2041
2042 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
2043
2044         * *.c: added accumulator data argument to g_signal_newc()
2045         functions.
2046
2047         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
2048         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
2049         * gtk/treestoretest.c (make_window):
2050         s/g_signal_connect/g_signal_connectc/.
2051
2052         * gtk/gtktextbuffer.c: completed signal arg fixups,
2053         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
2054
2055 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
2056
2057         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
2058         G_CONST_RETURN.
2059
2060         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
2061         ::hierarchy-changed signal when a widget changes
2062         from anchored to unanchored or vice versa.
2063         (anchored means 
2064          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
2065         Use a private flag to keep track of this efficiently.
2066
2067 2001-03-07  Havoc Pennington  <hp@redhat.com>
2068
2069         * gtk/testgtk.c (create_spins): uglify so that size request gets
2070         tested.
2071
2072         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
2073         request on values for upper/lower, completes #6152
2074
2075 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
2076
2077         * Makefile.am: Remove gtk-config-2.0 again.
2078         (Grrrr, pkg-config. And stops make loops.)
2079
2080 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
2081
2082         * gtk/gtksignal.[hc]: removed old emission hook API.
2083         
2084         * docs/Changes-2.0.txt: fixed sections.
2085         
2086         * gtk/gtktextbuffer.c: signal arg fixups.
2087
2088 2001-03-07  Havoc Pennington  <hp@redhat.com>
2089
2090         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
2091
2092         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
2093         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
2094         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
2095         validation and the redraw which is higher priority than the
2096         validation.
2097
2098 2001-03-07  Havoc Pennington  <hp@redhat.com>
2099
2100         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
2101         (gtk_entry_set_property): remove trailer
2102
2103         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
2104         (gtk_entry_get_width_chars): new functions, to set size request to 
2105         a given number of characters
2106
2107         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
2108
2109         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
2110         (gtk_dialog_get_has_separator): new function
2111         (run_delete_handler): fix to not emit "response" signal
2112         because we already did in the delete event handler installed
2113         at dialog creation time.
2114         
2115         * gtk/gtkdialog.h: add a has_separator property,
2116         add GTK_DIALOG_NO_SEPARATOR flag
2117
2118 2001-03-07  Havoc Pennington  <hp@redhat.com>
2119
2120         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
2121         off decorations for a window.
2122
2123         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
2124         changes
2125
2126         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
2127         to get location of PangoLayout inside the label, closes #51198
2128
2129         * gtk/testgtk.c (create_bbox): fix up button box usage
2130
2131         * gtk/testcalendar.c (create_calendar): fix up button box usage
2132
2133         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
2134
2135         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
2136
2137         * gtk/gtkhbbox.h: deprecations
2138
2139         * gtk/gtkvbbox.h: deprecations
2140
2141         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
2142         emulate deprecated gtk_button_box_get_spacing
2143
2144         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
2145         the "set global default" functions
2146         (struct _GtkButtonBox): remove "spacing" field, use the one from 
2147         GtkBox base class
2148
2149         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
2150
2151         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
2152         render the icon, return the missing image icon.
2153
2154         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
2155         image icon if the load fails.   
2156
2157         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
2158         when no image is found; should be the Netscape "missing image"
2159         icon eventually but for now is a random image
2160
2161         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
2162         role for the session manager
2163
2164         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
2165
2166         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
2167         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
2168
2169         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
2170
2171 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
2172
2173         * gtk/*.c: marshaller fixes.
2174         
2175         * gtk/gtkmarshal.list: extreme cleanup.
2176
2177         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
2178         param spec for now.
2179
2180         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
2181         where appliable.
2182
2183         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
2184         special cased autogenerated boxed types from gtktypebuiltins_ids.c
2185         which are not reference counted:
2186         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
2187         PangoFontDescription, GtkTreeIter and GtkTreePath.
2188
2189 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
2190
2191         * gtk/gtktreeselection.h: 
2192         * gtk/gtktreemodel.c:
2193         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
2194         file should be included directly, and gobject/gmarshal.h
2195         as well as gtk/gtkmarshal.h even can't be included directly.
2196
2197         * Makefile.am: grr, install gtk-config-2.0.
2198
2199         * gtk/testgtk.c:
2200         * gtk/simple.c:
2201         * gtk/gtkmenu.c:
2202         * gtk/gtkitemfactory.c: use g_object_connect() instead of
2203         passing "*signal*::*" args to gtk_widget_set().
2204         
2205         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
2206         
2207         * gtk/*.c: removed trailer arg from property setters and getters.
2208         macro fixups.
2209
2210 2001-03-07  Alexander Larsson  <alexl@redhat.com>
2211
2212         * gtk/gtklabel.c (set_markup): Removed warning
2213
2214 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
2215
2216         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
2217         field to allow you to hide cell renderers.
2218
2219         * gtk/gtkcellrenderer.c: Add support for invisible cells.
2220
2221         * gtk/gtktreeview.c: Add support for invisible cells.
2222
2223 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
2224
2225         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
2226         Add "clicked" signal back to columns.
2227
2228         * ChangeLog: remove conflict markers.
2229
2230 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
2231
2232         * gtk/gtkbutton.c: Add animation of activation by, on 
2233         activate, pressing the button, and adding a timeout that 
2234         releases the button after 250ms or on key release and
2235         emits ::clicked. (#51501)
2236
2237         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
2238         action area, we connect to ::clicked instead of ::activate
2239         so the dialog stays up through the animation.
2240
2241 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
2242
2243         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
2244         check the ignore_enter flag for the menu shell that
2245         the item is actually a child of, not for attached
2246         submenus. (#51536)
2247
2248 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
2249
2250         * gtk/gtkmain.c (gtk_propagate_event): Only do special
2251         special key-press grab handling for widgets within
2252         GtkWindows. Otherwise, fall through to normal case.
2253
2254         This prevents key events being sent twice to GtkInvisible
2255         widgets, which can cause all sorts of mischief.
2256
2257 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
2258
2259         * gtk/gtkmain.c (gtk_propagate_event): When a grab
2260         widget is in effect, give the grab widget a first
2261         crack at KEY_PRESS/RELEASE events. (#424)
2262
2263 2001-03-06  James Henstridge  <james@daa.com.au>
2264
2265         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
2266         offset for the window_state_event to point at window_state_event
2267         rather than no_expose_event.
2268
2269 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
2270
2271         * gtk/gtkimmodule.h: fix busted /* comment */
2272
2273 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
2274
2275         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
2276         object properties.
2277
2278 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
2279
2280         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
2281         add object properties.
2282
2283         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
2284         to add object properties.
2285
2286         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
2287         object properties.
2288
2289         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
2290         add object properties.
2291
2292         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
2293         object properties.
2294
2295 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
2296
2297         * gtk/gtktreemodel.c: renamed "child_toggled" to
2298         "has_child_toggled".
2299
2300         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
2301         handle new signal name.
2302
2303         * gtk/gtktreestore.c: Updated to handle new signal name.
2304         * gtk/gtklisttore.c: Updated to handle new signal name.
2305         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
2306
2307 2001-03-05  Alexander Larsson  <alexl@redhat.com>
2308
2309         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
2310         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
2311
2312 2001-03-05  Michael Natterer  <mitch@gimp.org>
2313
2314         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
2315         pixbuf-engine coincidentially also failed to make one of it's
2316         parent_class pointers static, causing overwriting of GtkLabel's
2317         parent_class pointer in pixbuf_style_class_init().
2318         (Will commit the fix to the pixbuf-engine too).
2319
2320 2001-03-05  Alexander Larsson  <alexl@redhat.com>
2321
2322         * gdk/gdkwindow.h:
2323         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
2324         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
2325         gdk_window_set_icon_list for net wmspec functionality.
2326
2327         * gdk/x11/gdkwindow-x11.c:
2328         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
2329         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
2330         gdk_window_set_icon_list.
2331         Added gdk_wmspec_change_state helper function and used it in the code.
2332         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
2333
2334         * gtk/gtkdialog.c (gtk_dialog_init):
2335         Set GDK_WINDOW_TYPE_HINT_DIALOG.
2336
2337         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
2338         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
2339
2340         * gtk/gtkwindow.c:
2341         new function gtk_window_set_type_hint.
2342         On realize, set type hint and modal hint.
2343
2344         * gtk/gtkwindow.h:
2345         Added type_hint field and gtk_window_set_type_hint.
2346
2347 2001-03-05  Alexander Larsson  <alexl@redhat.com>
2348
2349         * gtk/gtklabel.[ch]:
2350         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
2351         New function gtk_label_get_accel_keyval () to get the underline accelerator
2352         of the label. Setting the label pattern overrides other attributes.
2353
2354 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
2355
2356         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
2357         Added missing initializers to gtk_rc_style_init().
2358
2359 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
2360
2361         * gtk/gtktextview.c: fixed bug #51097 about setting 
2362         gtk_text_view_set_border_window_size() if the widget is 
2363         already realized.
2364
2365 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
2366
2367         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
2368
2369         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
2370         comment. Won't do to have duplicated doc comments between
2371         the platform subdirs.
2372
2373 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
2374
2375         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
2376           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
2377
2378         Detectable auto-repeat - make a repeating key generate
2379         press/press/press/release instead of press/release pairs.
2380
2381         If we have Xkb and XkbSetDectableAutoRepeat supports
2382         that, we do it that way. Otherwise, when we get
2383         a release event, we check ahead with XPending to see
2384         if the next key is a KeyPress with the same keycode
2385         and timestamp. (Not 100% reliable, but pretty close.)
2386           
2387 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
2388         
2389         * gtk/gtkmain.c (gtk_propagate_event): Only do special
2390         special key-press grab handling for widgets within
2391         GtkWindows. Otherwise, fall through to normal case.
2392  
2393         This prevents key events being sent twice to GtkInvisible
2394         widgets, which can cause all sorts of mischief.
2395  
2396 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
2397  
2398         * gtk/gtkmain.c (gtk_propagate_event): When a grab
2399         widget is in effect, give the grab widget a first
2400         crack at KEY_PRESS/RELEASE events. (#424)
2401  
2402 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
2403
2404         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
2405         to extend the selection. (Roughly based on patch
2406         from Jay Cox, #50939)
2407
2408         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
2409         to properly handle previous GDK_BUTTON_PRESS. 
2410         (Patch from Jay Cox, #50938)
2411
2412         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
2413         '\0' back along with the deleted text. (#51148)
2414
2415 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
2416
2417         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
2418         the group when extracting it from the X keyboard event.
2419
2420         * modules/input/Makefile.am modules/input/imipa.c: 
2421         Simple module for entering IPA. (Do we need a 
2422         gtk-stupid-input-tricks CVS module?)
2423
2424 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
2425
2426         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
2427         const.
2428
2429         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
2430
2431         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
2432         is no focus widget for the dialog currently, grab the focus as well
2433         as the default.
2434
2435         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
2436         the action area's children to iterate through, not the
2437         dialog's children.
2438
2439 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
2440
2441         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
2442         Add plug-socket tests. (Won't work worth a darn until I commit
2443         the rest of the plug-socket changes, but no reason these
2444         can't go into CVS now.)
2445
2446 2001-03-02  Havoc Pennington  <hp@redhat.com>
2447
2448         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
2449         _gdk_region_get_xrectangles()
2450
2451         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
2452
2453         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
2454
2455         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
2456         function, contributed by Ron Steinke    
2457
2458         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
2459         gdk_net_wm_supports
2460
2461         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
2462         New function, contributed by Ron Steinke
2463
2464         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
2465         used to line up the text in the entry when using the entry for
2466         editable sheet cell hacks
2467
2468         * gtk/testgtk.c (create_entry): test the activate_default setting
2469         on GtkEntry
2470
2471         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
2472         cause the entry to activate the default button for a dialog when 
2473         activated
2474         (gtk_entry_get_activates_default): new function
2475
2476 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
2477
2478         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
2479         Hwang to move call to sync_selection() up a few lines
2480         to before the row list is modified, to fix crash when
2481         removing rows in the undo_selection list.
2482
2483         (Test case provided by Daniel Elstner:
2484
2485         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
2486
2487 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
2488
2489         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
2490         of tree->root_tree in parent_set rather than _map(), 
2491         fixing #50892 in a bit better manner.
2492
2493 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
2494
2495         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
2496
2497 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
2498
2499         * gtk/gtkstyle.c : Remove duplicate fwd decl for
2500         gtk_default_draw_shadow.
2501
2502 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
2503
2504         * gdk/gdkimage.c (gdk_image_new): Remove excess 
2505         warning, make warnings more verbose, treat a error
2506         in shmat as permanent, and don't try again.
2507         (#51163, Ed Randall.)
2508
2509 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
2510
2511         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
2512         delay for the first click before starting to scroll.
2513         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
2514
2515         * gtk/gtktext.c: GtkText should have I-beam cursor. 
2516         (based on gtk-enf-990513-1.patch, Eric Fisher.)
2517
2518 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
2519
2520         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
2521         cleanup to remove some references to unused
2522         ->xoffset, ->yoffset.
2523
2524 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
2525
2526         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
2527         mask. (#51039, fix from Martin Maierhofer)
2528
2529 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
2530
2531         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
2532         for unshifted + and shifted = for non-us keyboards.
2533         Make <Control>+ and <Control>- work as well as 
2534         <Control>KP_Plus, <Control>KP_Minus for recursive
2535         open/close.  (#2682, René Seindal)
2536
2537 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
2538
2539         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
2540         the active menu item before deactivating the menu,
2541         so gtk_menu_popdown doesn't change the history. (#50964)
2542         
2543 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
2544
2545         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
2546         draw lines with text_gc rather than black_gc.
2547         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
2548
2549 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
2550
2551         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
2552         Move handling of buttons fully in gtktreeviewcolumn.  This code is
2553         less interrelated then it was, but it still requires the
2554         GtkTreeView to map it.
2555
2556         * test/testtreecolumn.c: Now I can add a column to one view,
2557         remove it, add it to the another view, remove it, then re-add it
2558         to the first.  Nifty.
2559
2560 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
2561
2562         * docs/tutorial/gtk-tut.sgml: Minor corrections
2563
2564 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
2565
2566         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
2567         GtkRowReference.
2568
2569 2001-02-28  Havoc Pennington  <hp@redhat.com>
2570
2571         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
2572         draw_default
2573         (gtk_widget_draw_focus): remove this function; we could instead
2574         make it just gtk_widget_draw(), but in most cases I think the
2575         result would be broken user code, so think it's better to have
2576         that code not compile and get fixed
2577         (gtk_widget_draw_default): ditto
2578
2579         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
2580         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
2581         
2582         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
2583         widgets lose/get the default, instead of calling draw_default
2584         
2585         * docs/Changes-2.0.txt: note about all this
2586
2587         Then fixed every widget in GTK, I won't list all the filenames.
2588
2589 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
2590
2591         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
2592         _gtk_tree_row_reference_deleted.
2593         (inserted_callback): Proxy out to
2594         _gtk_tree_row_reference_inserted.
2595         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
2596         get around signal emission ordering problem.
2597
2598         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2599         fix to work with SINGLE 
2600         (_gtk_tree_selection_internal_select_node): Major sanitization on
2601         selections.  SINGLE now seems to work.
2602
2603         * tests/Makefile.am: add testtreecolumn.c:
2604
2605         * tests/testtreecolumn.c: New test.  Mostly points out selection
2606         bugs currently, but will test columns later.
2607
2608         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
2609         selection bug.  I hate touching this code -- it's scary.
2610
2611 2001-02-26  Havoc Pennington  <hp@redhat.com>
2612
2613         * gtk/testgtk.c: test the window state stuff
2614
2615         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
2616         window come to the user's attention as if it were just created
2617         (gtk_window_iconify): new function
2618         (gtk_window_deiconify): new function
2619         (gtk_window_stick): new function
2620         (gtk_window_unstick): new function
2621         (gtk_window_maximize): new function
2622         (gtk_window_unmaximize): new function
2623
2624         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
2625
2626         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
2627
2628         * gdk/x11/gdkevents-x11.c: create window state events when
2629         appropriate
2630         (gdk_wmspec_supported): new function
2631
2632         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
2633         iconification before showing the window
2634         (gdk_window_deiconify): new function
2635         (gdk_window_stick): new function
2636         (gdk_window_unstick): new function
2637         (gdk_window_maximize): new function
2638         (gdk_window_unmaximize): new function
2639
2640         * gdk/gdkwindow.c: store the window state in the window; 
2641         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
2642         window->mapped.
2643         (gdk_window_get_state): return the current window state
2644
2645         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
2646         (gdk_event_get_state): handle GDK_WINDOW_STATE
2647         (gdk_synthesize_window_state): function to create the window state
2648         events
2649
2650         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
2651         event, for changes to "window state" such as maximized, sticky, 
2652         etc.
2653         
2654         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
2655         focuses a window
2656
2657         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
2658         finds out if we support a given WM spec hint
2659
2660 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
2661
2662         * docs/faq/gtk-faq.sgml: New question re memory leaks.
2663
2664 2001-02-25  Hans Breuer  <hans@breuer.org>
2665
2666         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
2667         cause we want to loose those prototypes only in the latter case
2668
2669         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
2670         GdkPixmapImplWin32 because it itsn't derived from it. Use the
2671         impl member variable instead
2672
2673         * gtk/gtk.def : updated
2674
2675         * gtk/gtklist.c : 
2676         * gtk/gtkmenus.c : include <string.h> for memset ()
2677
2678         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
2679         for everthing built here, but for gtk-x.x.dll only. This solves
2680         problem of indifferent gtk type definitions
2681
2682 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
2683
2684         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
2685
2686 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
2687
2688         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
2689         column that is exposed.
2690
2691         (_gtk_tree_view_update_size): Changed name from set_size, and
2692         changed function to do more work, and not force people calling it
2693         to figure out the size.  Simplifies a lot of code elsewhere.
2694
2695 2001-02-23  Alexander Larsson  <alexl@redhat.com>
2696
2697         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
2698         return solid masks for xpms that have no transparent color.
2699         This makes the ..._create_from_xpm... API backwards
2700         compatible.
2701
2702 2001-02-23  Tor Lillqvist  <tml@iki.fi>
2703
2704         * README.win32: Update. Mention the gtk-1-3-win32-production
2705         branch.
2706
2707         * gdk/win32/bdfcursor.c: New file. A program that generates
2708         xcursors.h. Thanks to Stefan Ondrejicka.
2709
2710         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
2711         compact format.
2712
2713         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
2714
2715         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
2716         function, uses xcursors.h.
2717         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
2718         cursor from inline data instead of using LoadCursor() to generate
2719         it from a resource.
2720
2721         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
2722         event, must check the Windows message for mouse button state, as
2723         the GDK event state might not have been built if it is
2724         undelivered. Remove one goto.
2725
2726         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
2727         SetCursor() if the current cursor as returned by GetCursor() is
2728         the window's previous cursor. The ChildWindowFromPoint() test
2729         apparently didn't work correctly.
2730
2731         * gdk/win32/rc/*.cur: Remove.
2732
2733         * gdk/win32/rc/gdk.rc.in: Remove cursors.
2734
2735         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
2736
2737         * gtk/makefile.{mingw,msc}.in: Updates.
2738
2739 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
2740
2741         * gtk/gtktreemodel.h: add functions for signal emission.
2742
2743         * gtk/gtktreestore.c: move to use above functions instead of
2744         g_signal_emit.
2745
2746         * gtk/gtkliststore.c: ditto
2747
2748 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
2749
2750         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
2751         GObject instead of GtkObject.
2752
2753         * gtk/gtkliststore.c: ditto.
2754
2755         * gtk/gtktreemodelsort.c: ditto.
2756
2757         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
2758         GtkTreeModelIface, instead of in each model.
2759
2760 2001-02-21  Havoc Pennington  <hp@redhat.com>
2761
2762         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
2763         unbreak this function
2764
2765         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
2766         properties
2767
2768         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
2769         properties
2770
2771         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
2772         properties
2773
2774         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
2775         mean unset the max length
2776
2777 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
2778
2779         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
2780         Changed name to be set_cell_data_func to make it clear what
2781         the functino does.  Close bug #51069.
2782
2783 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
2784
2785         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
2786         have memory actually freed.  Keeps box running longer.
2787
2788 2001-02-21  Alexander Larsson  <alexl@redhat.com>
2789         
2790         * gtk/gtkseparatormenuitem.[ch]:
2791         Added new menu separator item. The drawing and size handling
2792         is still done in GtkMenuItem, but the API is a bit more sane.
2793         
2794         * gtk/Makefile.am:
2795         Add gtkseparatormenuitem.[ch].
2796
2797         * gtk/gtk.h:
2798         Add gtkseparatormenuitem.h.
2799         
2800         * gtk/gtkentry.c:
2801         * gtk/gtkmenufactory.c:
2802         * gtk/gtktextview.c:
2803         Use the new API for menu separators.
2804         
2805         * demos/gtk-demo/menus.c (create_menu):
2806         Add some GtkSeparatorMenuItem demo code.
2807
2808 2001-02-20  Havoc Pennington  <hp@redhat.com>
2809
2810         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
2811         Lee Mallabone
2812
2813         * gtk/gtkarrow.c: Convert to new property API, patch from 
2814         Lee Mallabone
2815
2816 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
2817
2818         * tests/testtreeview.c (toggled_callback): fix to reflect change
2819         in GtkTreeModelStore.
2820
2821 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
2822
2823         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
2824         function to create an icon set from a pixbuf.
2825
2826 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2827
2828         * gtk/gtkcellrenderertext.[ch]:
2829         Add a "markup" property.
2830
2831         * gtk/treestoretest.c:
2832         Use the markup property, remove some leftover stuff from
2833         GtkTreeModelMapping.
2834
2835 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2836
2837         * gtk/gtklabel.c (gtk_label_set_selectable):
2838         Queue a redraw if the selectable setting was changed.
2839
2840 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2841
2842         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
2843         Actually copy the whole gc, not just the public parts.
2844         
2845         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2846         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
2847         labels.
2848
2849 2001-02-19  Havoc Pennington  <hp@pobox.com>
2850
2851         * gdk/gdkwindow.c: docs
2852
2853         * gdk/gdkrgb.c: docs
2854
2855         * gdk/gdkregion-generic.c: docs
2856
2857         * gdk/gdkgc.c (gdk_gc_set_values): docs
2858
2859         * gdk/gdkdraw.c: docs
2860
2861         * gdk/gdkdrawable.h: deprecate drawable get/set data
2862
2863 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
2864
2865         * demos/gtk-demo/dialog.c: Add simple new demo.
2866
2867 2001-02-19  Havoc Pennington  <hp@redhat.com>
2868
2869         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
2870         insert_child_anchor signal, bug #50245
2871
2872         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
2873         from create_child_anchor, so the anchor is passed in
2874
2875         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
2876         (_gtk_widget_segment_new): have the child anchor object passed in, 
2877         instead of creating it.
2878
2879         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
2880         to gtk_text_buffer_get_modified
2881
2882 2001-02-19  Havoc Pennington  <hp@redhat.com>
2883
2884         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
2885         changed GLib without fixing GTK
2886
2887         * gtk/gtkrange.h: Rename all the stupid implementation detail 
2888         functions to have an underscore in front. Most of them should 
2889         probably just go away, but for starters don't export them.
2890         Bug #50482
2891
2892 2001-02-19  Havoc Pennington  <hp@redhat.com>
2893
2894         * gdk/gdkcolor.h: test was backward, so deprecated functions were
2895         excluded by default
2896
2897         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
2898         clean up the old code a bit
2899
2900         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
2901         inconsistent state
2902
2903         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
2904         draw inconsistent state
2905
2906         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
2907         (create_menu): add inconsistent test
2908
2909         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
2910         new function
2911         (gtk_check_menu_item_get_inconsistent): new function
2912         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
2913         state (using etched in for now)
2914
2915         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
2916         draw inconsistent state
2917
2918         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
2919         function, used when the user has selected a range of stuff in
2920         different states
2921         (gtk_toggle_button_get_inconsistent): accessor for that
2922         (gtk_toggle_button_paint): draw inconsistent state (etched in?
2923         don't know what else to do)
2924
2925 2001-02-19  Hans Breuer <hans@breuer.org>
2926
2927         * gtk/gtk.def : updated exported symbols
2928
2929         * gtk/makefile.msc.in : updated
2930
2931         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
2932         a colormap, when invoked from testgtk::entry. I'm not sure where
2933         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
2934         avoids immediate crashing ...
2935
2936         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
2937         any objections ?
2938
2939         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
2940         0 parameter. At least msvc doesn't like macros with var args. 
2941         I simply removed the extra 0, was it a feature or a typo ?
2942
2943         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
2944         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
2945         because the value assignment to the internal struct wasn't working.
2946         I'm not absolutely sure. The problem could have been resolved by
2947         changing the "func" declartion in the struct, but was the pointer
2948         to the function pointer intended ?
2949
2950         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
2951
2952         * gdk/gdk.def : updated exported symbols
2953
2954         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
2955         only use SetDIBitsToDevice if there is a palette at the drawable
2956         and the image is GDK_VISUAL_PSEUDO_COLOR
2957
2958         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
2959
2960         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
2961
2962         * gdk/*/makefile.msc : updated
2963
2964 2001-02-19  Havoc Pennington  <hp@redhat.com>
2965
2966         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
2967         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
2968
2969         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
2970         (gdk_key_repeat_restore): nuke
2971
2972         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
2973         (gdk_init_check): no atexit func
2974
2975         * gdk/gdkrgb.h: mark some stuff deprecated
2976
2977         * gdk/gdkcolor.h: mark some stuff deprecated
2978         
2979         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
2980
2981         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
2982
2983 2001-02-16  Havoc Pennington  <hp@redhat.com>
2984
2985         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
2986         scroll steps.
2987
2988         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
2989         steps, and add Ctrl-arrow shortcuts for paging visually as with
2990         HScale, since Page Up and Page Down move logically.
2991
2992         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
2993         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
2994         
2995         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
2996         steps
2997         (gtk_range_scroll): handle the visual steps
2998
2999         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
3000         scroll steps
3001
3002         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
3003         steps, not the logical ones.
3004
3005         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
3006         (scroll_vertical): handle up/down steps
3007
3008 2001-02-19 Alexander Larsson  <alexl@redhat.com>
3009
3010         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
3011         Copy data and free data with free().
3012
3013         * gdk-pixbuf/gdk-pixbuf.c:
3014         * gdk-pixbuf/io-jpeg.c:
3015         * gdk-pixbuf/io-png.c:
3016         Use g_try_malloc/g_free instead malloc/free.
3017         
3018         * gdk-pixbuf/test-gdk-pixbuf.c:
3019         Must... initialize... gobject...
3020         
3021         * gdk-pixbuf/pixops/timescale.c:
3022         * gtk/gtkcalendar.c:
3023         Use g_malloc instead of malloc.
3024         
3025 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
3026
3027         * gtk/testgtkrc:
3028         Comment out property assignments, these don't work yet.
3029
3030 2001-02-17  Havoc Pennington  <hp@pobox.com>
3031
3032         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
3033         bit.
3034
3035 2001-02-17  Havoc Pennington  <hp@pobox.com>
3036
3037         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
3038         shadowed variables that had broken size request in some cases,
3039         leading to bogus tooltips (#50996)
3040
3041 2001-02-06  Jon K Hellan  <hellan@acm.org>
3042
3043         Implement fast browsing of tooltips, bug #50619
3044         
3045         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
3046         and last_popdown
3047         
3048         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
3049         use_sticky_delay and last_popdown.
3050         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
3051         time of popdown.
3052         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
3053         is NULL.
3054         (gtk_tooltips_recently_shown): New static function.  Return true
3055         if < sticky_delay has elapsed since last popdown.
3056         (gtk_tooltips_event_handler): Display window after sticky_delay
3057         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
3058         since last popdown.
3059         
3060 2001-02-17  Havoc Pennington  <hp@pobox.com>
3061
3062         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
3063         instead of (). #6394
3064
3065         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
3066         G_CONST_RETURN, make it return by reference, #50473
3067         
3068 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
3069
3070         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
3071         generated ENTER_NOTIFY event with 0, otherwise not explicitely
3072         setup fields contain garbage (e.g. subwindow, breaking
3073         gdk_drawable_ref() upon event copy).
3074         (gtk_menu_stop_navigating_submenu_cb): same here.
3075
3076         * gtk/gtklist.c (gtk_list_vertical_timeout): 
3077         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
3078         * gtk/gtkclist.c (vertical_timeout): 
3079         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
3080         default-zero-intialization for unions to memset(,0,), as unions are
3081         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
3082         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
3083
3084         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
3085         g_closure_sink() warning.
3086
3087         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
3088         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
3089         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
3090         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
3091         
3092 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
3093
3094         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
3095         gtk_*_store_get, and moved to GtkTreeModel.
3096
3097         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
3098
3099         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
3100
3101         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
3102
3103         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
3104         set the func.
3105
3106         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
3107         freeze/thaw notify between setting all the properties for a cell.
3108
3109         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
3110
3111 2001-02-15  Havoc Pennington  <hp@redhat.com>
3112
3113         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
3114         the X coordinates so they're with respect to the line, rather than 
3115         with respect to the layout.
3116
3117         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
3118         Mallabone
3119
3120         * gtk/testgtk.c (create_range_controls): add vscale tests, 
3121         and inverted test
3122
3123         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
3124         #50806
3125
3126         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
3127
3128         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
3129         gtk_text_iter_is_end
3130
3131         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
3132         rename gtk_text_buffer_get_end_iter
3133
3134         * gtk/testgtk.c (create_labels): Add test for selectable
3135
3136         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
3137         the selection stuff. This code is kind of broken since it doesn't 
3138         use the theme engine.
3139
3140         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
3141         fix infinite loop and y offset problem
3142         (gdk_draw_layout_line_with_colors): fix foreground color handling
3143
3144         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
3145         that makes the label selectable.
3146         
3147         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
3148         layout when the style is set, since fonts etc. could have changed.      
3149
3150 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
3151
3152         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
3153
3154         * gtk/gtktreemodelsimple.[ch]: removed.
3155
3156 2001-02-16  Alexander Larsson  <alexl@redhat.com>
3157
3158         * gtk/gtktreemodelmapping.[ch]:
3159         New files. Implement GtkTreeModelMapping.
3160         
3161         * gtk/Makefile.am:
3162         Add gtktreemodelmapping.[ch].
3163         
3164         * gtk/gtk.h:
3165         Add gtktreemodelmapping.h
3166
3167         * gtk/treestoretest.c:
3168         Test the GtkTreeModelMapping
3169
3170 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
3171
3172         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
3173         have a demo, we might as well pass in real values.  Thanks to
3174         clahey for pointing this out.
3175
3176 2001-02-14  Havoc Pennington  <hp@pobox.com>
3177
3178         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
3179         "static" to a private function
3180         (gtk_image_menu_item_class_init): remove destroy handler,
3181         add "image" object property
3182
3183 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
3184
3185         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
3186         Add a shortcut if the window and the current clip_region doesn't
3187         overlap. This is needed when there are a lot of windows in a
3188         window. The layout test in testgtk is a good test.
3189
3190         * gdk/linux-fb/gdkwindow-fb.c:
3191         Whitespace fix.
3192
3193 2001-02-13  Sven Neumann  <sven@convergence.de>
3194
3195         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
3196
3197 2001-02-13  Alexander Larsson  <alexl@redhat.com>
3198
3199         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
3200         Don't reference last_cursor if it is null. Fixes crash when rotating
3201         the screen before having moved the mouse.
3202
3203         * gdk/linux-fb/gdkcc-fb.c: Zapp!
3204
3205         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
3206
3207         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
3208         when using 90 or 270 degrees rotation.
3209
3210 2001-02-12  Havoc Pennington  <hp@pobox.com>
3211
3212         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
3213         it always set the foreground, even if we were only using
3214         a stipple.
3215         (gdk_draw_layout_line_with_colors): new function, allow
3216         override colors
3217         (gdk_draw_layout_with_colors): new function, allow override
3218         colors
3219         (gdk_pango_layout_line_get_clip_region): function to get the clip
3220         region for a logical text range
3221         (gdk_pango_layout_get_clip_region): get the clip region for a
3222         logical text range
3223
3224         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
3225         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
3226         the right number of arguments.
3227
3228         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
3229         enhance the function to check that node data corresponds to a 
3230         view still belonging to the tree.
3231
3232         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
3233         GtkTreePath
3234         (gtk_tree_view_inserted): ditto
3235         (gtk_tree_view_child_toggled): ditto
3236
3237         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
3238         simplify this code.
3239
3240         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
3241         a PangoAttrList
3242
3243         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
3244
3245         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
3246
3247         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
3248         size in the size request 
3249         (gtk_menu_bar_size_allocate): consider toggle size here
3250
3251         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
3252         that displays a widget in the toggle slot
3253
3254         * gtk/testgtk.c: test GtkImageMenuItem
3255
3256         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
3257         
3258         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
3259         request and allocation
3260
3261         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
3262
3263         * gtk/gtkcheckmenuitem.c
3264         (gtk_check_menu_item_toggle_size_request): ditto
3265         
3266 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
3267
3268         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
3269         reference.
3270
3271         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
3272         and refuse to initialize GTK+ if they fail.
3273
3274 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
3275
3276         * configure.in: Add check for gtk-doc version.
3277
3278 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
3279
3280         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
3281         where the xpad/ypad was only being used on one side!
3282
3283 2001-02-11  Tor Lillqvist  <tml@iki.fi>
3284
3285         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
3286         function, copied from X11 version.
3287
3288         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
3289         DestroyCursor failures. The reason for the problem (despite the
3290         inconsistent messages from GetLastError()) was that
3291         DestroyCursor() cannot be called while a cursor is set in a
3292         window. Set the new cursor first and then destroy the old one.
3293         Thanks to jpe@archaeopteryx.com.
3294
3295         * gdk/win32/gdkcc-win32.c: Remove.
3296
3297         * gdk/win32/Makefile.am: Remove from here, too.
3298         
3299         * gdk/gdk.def
3300         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
3301
3302         * gtk/gtk.def
3303         * gtk/makefile.mingw.in: Updates.
3304
3305 2001-02-08  Havoc Pennington  <hp@redhat.com>
3306
3307         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
3308         add a widget to a bin that already has a child.
3309
3310         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
3311
3312         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
3313         
3314         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
3315
3316         * gdk/gdk.h: remove gdkcc.h
3317
3318         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
3319
3320         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
3321         GdkPixbuf, since the previous implementation was GdkColorContext
3322         dependent.
3323
3324         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
3325         
3326 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
3327
3328         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
3329         a sane value!
3330
3331 2001-02-08  Havoc Pennington  <hp@redhat.com>
3332
3333         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
3334         lighten them.
3335
3336 2001-02-08  Havoc Pennington  <hp@redhat.com>
3337
3338         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
3339         validation idle
3340
3341         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
3342         cell renderer
3343
3344         * demos/pixbuf-demo.c (timeout): remove deprecated
3345         gtk_widget_draw
3346
3347         * demos/testpixbuf-save.c (main): remove deprecated
3348         gtk_drawing_area_size
3349
3350         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
3351         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
3352         at the start of the allocation.
3353         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
3354         unsetup or NULL model.
3355
3356         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
3357         even/odd/sorted cells in the tree view.
3358
3359         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
3360         bugfixes
3361
3362         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
3363         backgrounds with draw_flat_box using different detail for even/odd
3364         rows.
3365
3366         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
3367         row, so we can draw the alternating colors thing
3368
3369         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
3370         property from a synonym property, notify for the synonym.
3371         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
3372         (gtk_text_tag_get_property): Always return the font, even if
3373         all its fields aren't set
3374
3375         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
3376         store the attr list; it leaves us with no way to change attributes
3377         in _render according to the render flags, and no way to implement
3378         get_property. Instead store all the specific text attributes. 
3379         Separate whether an attribute is enabled from its value. Sync all
3380         properties with GtkTextTag, make them all consistent, etc.
3381
3382         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
3383         renderers can highlight the sort row/column     
3384
3385         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
3386         accessor functions to get values; this has the side effect of
3387         showing up which accessor functions were missing. Added those.
3388
3389         * gtk/gtktreeviewcolumn.h: Replace set_justification with
3390         set_alignment, to be consistent with GtkLabel, GtkMisc
3391
3392         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
3393         arrow.
3394
3395         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
3396
3397         * gtk/gtktreesortable.h: updates in here
3398
3399 2001-02-07  Sven Neumann  <sven@convergence.de>
3400
3401         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
3402         pango dimensions after painting the background. We used to draw
3403         gigantic flat boxes here.
3404
3405 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
3406
3407         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
3408         error introduced with earlier commit) (pointed out by
3409         Ollie Lho)
3410
3411 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
3412
3413         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
3414         which are no longer necessary.
3415
3416 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
3417
3418         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
3419
3420 2001-02-04  Tor Lillqvist  <tml@iki.fi>
3421
3422         * gdk/gdk.def
3423         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
3424         Provide dummy implementations.
3425
3426 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
3427
3428         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
3429
3430         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
3431         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
3432         deprecated this function.
3433
3434         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
3435         argument.
3436
3437 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
3438
3439         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
3440
3441 2001-02-03  Havoc Pennington  <hp@pobox.com>
3442
3443         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
3444         Mikael Hermansson with patch from Mikael (if there was a toggle
3445         start one after the first character in the range, this function
3446         was broken). Bug #50380
3447
3448 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
3449
3450         * configure.in: Remove confusing comment about X11.
3451
3452 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
3453
3454         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
3455         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
3456         
3457 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
3458
3459         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
3460         it breaks things on BSD. If you want to compile GTK+ with
3461         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
3462         when configuring, since GTK+ simply can't be "pure ANSI" 
3463         in the header files it uses. (#8170, Greg Hudson)
3464
3465 2001-02-02  Havoc Pennington  <hp@redhat.com>
3466
3467         * gtk/gtkwindow.c: docs
3468
3469         * gtk/gtkwidget.c: docs
3470         (gtk_widget_set_colormap): add a reference to the colormap
3471         (gtk_widget_get_default_colormap): add a reference to the colormap
3472
3473         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
3474
3475         * gtk/gtktextiter.c: docs
3476
3477         * gtk/gtkmain.c (gtk_propagate_event): docs
3478
3479         * gtk/gtkpaned.c (gtk_paned_get_position): docs
3480         (gtk_paned_set_position): docs
3481
3482         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
3483         sort interface, no implementation yet.
3484
3485         * demos/testpixbuf.c (new_testrgb_window): replace
3486         gtk_drawing_area_size() with gtk_widget_set_usize()
3487
3488         * demos/testpixbuf-drawable.c (main): ditto
3489         
3490         * gtk/testgtk.c: remove use of GtkStatusbarMsg
3491
3492         * gtk/gtktextbuffer.c: docs
3493
3494         * gtk/gtkstock.c: docs
3495
3496         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
3497
3498         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
3499
3500         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
3501         
3502         * gtk/gtkimage.c: add some docs in here
3503         (gtk_image_size_request): change name of
3504         gtk_widget_render_stock_icon
3505         (gtk_image_get_icon_set): don't dup returned string
3506         (gtk_image_get_icon_set): don't dup returned string
3507
3508         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
3509         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
3510         and gtkiconfactory.h functions
3511
3512         * gtk/gtkiconfactory.c: add some docs in here
3513
3514         * gtk/gtkmain.c (gtk_get_default_language): document
3515         (gtk_get_current_event): document
3516         (gtk_get_current_event_state): document
3517         (gtk_get_event_widget): document
3518
3519         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
3520
3521         * gtk/gtkcontainer.c: Add some documentation
3522         (gtk_container_add): give a more explanatory warning on adding an
3523         already-parented widget, this is kind of a FAQ and also a common
3524         typo that's easier to debug with a nice warning 
3525
3526         * gtk/gtkcellrenderertoggle.c
3527         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
3528         adding this, it's useless
3529         (gtk_cell_renderer_toggle_set_active): remove
3530         (gtk_cell_renderer_toggle_get_radio): add
3531
3532         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
3533         the NULL cell renderer, that doesn't make any sense to me. 
3534
3535         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
3536         demo code should never use deprecated features.
3537
3538         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
3539         code should never use deprecated features.
3540
3541         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
3542         gtk_widget_queue_clear_area deprecated
3543
3544         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
3545         deprecated
3546
3547         * gtk/gtklabel.h: mark gtk_label_get() deprecated
3548
3549         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
3550         a GdkImage deprecated, replaced by new consistently-named
3551         functions       
3552
3553         * gtk/gtkmain.h: Mark gtk_exit() deprecated
3554
3555         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
3556
3557         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
3558         deprecated
3559
3560         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
3561         so it won't appear in docs and confuse people.
3562
3563         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
3564
3565         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
3566         macros deprecated. (can't mark the type itself deprecated, since
3567         GtkProgressBar is not deprecated and we need the type decl to use
3568         GtkProgressBar)
3569
3570         * gtk/gtkpixmap.h: Mark deprecated
3571
3572         * gtk/gtkoldeditable.h: Mark deprecated
3573
3574         * gtk/gtklist.h: Mark deprecated
3575
3576         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
3577         for anything anymore.
3578
3579         * gtk/gtkctree.h: Mark deprecated
3580
3581         * gtk/gtkclist.h: Mark deprecated
3582
3583         * gtk/gtkpreview.h: Mark deprecated
3584
3585         * gtk/gtkpacker.h: Mark deprecated
3586
3587         * gtk/gtktipsquery.h: Mark deprecated
3588
3589         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
3590
3591         * gtk/gtkvruler.h: Add comment that it will move out of GTK
3592
3593         * gtk/gtkhruler.h: Add comment that it will move out of GTK
3594
3595         * gtk/gtkruler.h: Add comment that it will move out of GTK
3596
3597         * gtk/gtkgamma.h: Add comment that it will move out of GTK
3598
3599         * gtk/gtkcurve.h: Add comment that it will move out of GTK
3600
3601 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
3602
3603         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
3604         gdk_colormap_sync private since it was never exported
3605         in a header file.
3606
3607         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
3608         colormap->colors[] for StaticGray, StaticColor colormaps.
3609
3610         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
3611         was being used as if it was image->bits_per_pixel.
3612
3613         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
3614         for the image in the GdkImage structure since it isn't
3615         reconstructable, and we need it to handle packed types
3616
3617         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
3618         the assumption that on Win32 image->bits_per_pixel == image->depth,
3619         always.
3620
3621         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
3622
3623         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
3624         warning message if no converter can be found. 
3625
3626 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
3627
3628         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
3629         chars to isupper() / tolower(). (#567)
3630
3631         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
3632         to clear up 64-bit warnings. (#567)
3633
3634 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
3635
3636         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
3637         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
3638
3639         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
3640         since some people set $(libdir) separately. (#1290, David Kaelbling)
3641
3642 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
3643
3644         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
3645         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
3646         MAXPATHLEN, but the code here depends on a fixed value.)
3647         (#4524)
3648
3649 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
3650
3651         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
3652         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
3653
3654 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
3655
3656         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
3657         viewable there is no way that moving the node will cause the 
3658         focus row to become not viewable, so omit check on the visibility
3659         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
3660
3661 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
3662
3663         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
3664         selection before inserting new text.
3665
3666 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
3667
3668         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
3669         Make the sensitivity of the reparented child track that of
3670         the original parent menu item. (#34218, David Hodson)
3671
3672         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
3673         the case where the current item is destroyed properly.
3674
3675         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
3676         some edge cases with child-less menuitems.
3677         
3678 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
3679
3680         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
3681         key pop down window. (#12074, Jon K Hellan)
3682
3683 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
3684
3685         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
3686         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
3687         The solution here isn't perfect - you get an extraneous
3688         emission of "toggle", which could conceivably confuse an app,
3689         but better than the current situation. LXR search seems to
3690         indicate that no apps in GNOME CVS connect to "toggle".
3691
3692 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
3693
3694         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
3695         gtk_public_h_sources to directly here to avoid warning when
3696         building srcdir != builddir. (#9656)
3697
3698 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
3699
3700         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
3701         handlers in gtkrange.c return the proper values (TRUE == handled)
3702         (#10316).
3703
3704         This is just the tip of the iceberg, but gtkrange.c is the
3705         most common place where the propagation is problematical,
3706         and also a place where it is almost certainly safe to change
3707         this in the stable branch.
3708
3709         (You don't want right click popups on a range control or anything...)
3710
3711 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
3712
3713         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
3714         area on focus out, even if a background pixmap isn't set.
3715         (#13941)
3716         
3717 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
3718
3719         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
3720         to deal with setting the shape properly when scrolling arrows are
3721         turned on, but not visible because there is sufficient space.
3722         (#13432)
3723
3724 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
3725
3726         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
3727         items with submenus, destroy the item along with the submenu.
3728         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
3729         properly.
3730
3731         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
3732         later.
3733
3734 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
3735
3736         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
3737         the focus widget sometimes wasn't drawn with the default if there
3738         was no default widget.
3739
3740         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
3741         unreference pixmaps. 
3742
3743         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
3744         for some extra safety.
3745
3746 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
3747
3748         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
3749         the text of a cell to the old pointer value better, by
3750         copying the new text before freeing the old text. Some code
3751         cleanup. (#8079, Karl Nelson)
3752
3753 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
3754
3755         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
3756         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
3757
3758 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
3759
3760         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
3761         item from a menu, check to see if it matches 
3762         menu->old_active_menu_item, and if so, unref and clear
3763         old_active_menu_item (Patch from Pavel Cisler)
3764
3765         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
3766         menu_shell->active_menu_item, if it is the child being
3767         removed. (Patch based on that of Gene Ragan, #50337)
3768
3769 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
3770
3771         * gdk/linux-fb/gdkselection-fb.c: 
3772         * gdk/linux-fb/gdkcolor-fb.c: 
3773         * gdk/linux-fb/gdkdrawable-fb2.c: 
3774         * gdk/linux-fb/gdkfont-fb.c: 
3775         * gdk/linux-fb/gdkim-fb.c: 
3776         * gdk/linux-fb/gdkinput.c: 
3777         * gdk/linux-fb/gdkkeyboard-fb.c: 
3778         * gdk/linux-fb/gdkmain-fb.c: 
3779         * gdk/linux-fb/gdkrender-fb.c: 
3780         A bunch of whitespace cleanup.
3781         
3782 2001-01-30  Havoc Pennington  <hp@pobox.com>
3783
3784         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
3785         #ifdef GTK_ENABLE_BROKEN.
3786
3787         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
3788         GTK_ENABLE_BROKEN just before including the broken headers.
3789         
3790         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
3791         deprecated types registered.
3792
3793         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
3794         we have to test the broken stuff.
3795
3796         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
3797         
3798 2001-01-30  Havoc Pennington  <hp@redhat.com>
3799
3800         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
3801         here where prev pointer was set to the wrong thing
3802
3803         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
3804         (gtk_tree_path_is_descendant): new function
3805
3806         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
3807         cached length
3808         (gtk_list_store_get_iter): don't modify iter if we can't get the
3809         path.
3810
3811         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
3812         
3813         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
3814         GtkTreeDragDest
3815
3816         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
3817         was causing segfault
3818
3819         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
3820         pointer to NULL
3821
3822         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
3823
3824         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
3825         on returning FALSE
3826         (gtk_list_store_iter_children): ditto
3827         (gtk_list_store_iter_nth_child): ditto
3828         (gtk_list_store_iter_nth_child): ditto
3829         (gtk_list_store_iter_parent): ditto
3830
3831         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
3832         on iter->user_data != NULL instead of silently accepting it.
3833         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
3834         we are returning TRUE.
3835         (gtk_tree_store_iter_children): ditto
3836         (gtk_tree_store_iter_nth_child): ditto
3837         (gtk_tree_store_iter_parent): ditto
3838         (gtk_tree_store_insert): remove handling of parent->user_data ==
3839         NULL, replace with parent == NULL       
3840
3841         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
3842         and a comment explaining things
3843
3844         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
3845         interface support to GtkTreeStore.
3846
3847         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
3848         FALSE if no prev, fix
3849
3850         * gtk/gtktreeview.c (set_source_row): use a row reference
3851         (set_dest_row): use a row reference
3852
3853 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
3854
3855         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
3856         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
3857         (gtk_tree_selection_select_iter): The same as above.
3858
3859 2001-01-26  Havoc Pennington  <hp@redhat.com>
3860
3861         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
3862         which holds a handle to a specific row (particular set of values
3863         in the model, i.e. pointer-identity row).
3864
3865         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
3866         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
3867         Still need to use it for the src/dest row saved on the drag context.
3868
3869 2001-01-26  Havoc Pennington  <hp@redhat.com>
3870
3871         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
3872
3873         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
3874         not offset by TREE_VIEW_HEADER_HEIGHT
3875         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
3876         TREE_VIEW_HEADER_HEIGHT
3877
3878         * configure.in (included_loaders): for me, --with-included-loaders
3879         generates the error "the specified loader yes does not exist",
3880         i.e. the arg defaults to "yes", so change test for value ""
3881         to test for value "yes", and include all loaders in that case.
3882
3883         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
3884
3885         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
3886         handle TREE_VIEW_VERTICAL_SEPARATOR
3887         (gtk_tree_view_bin_expose): fix to consider the row offset as
3888         pointing halfway into vertical separator.       
3889         (gtk_tree_view_draw_node_focus_rect): ditto
3890
3891         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
3892         --gtk-debug=updates, which causes gdk_window_set_debug_updates
3893         (TRUE) to be called.
3894
3895         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
3896         debug mode where the invalid region is colored in on invalidate,
3897         so you can see the flicker and know whether your redraw code is 
3898         doing a good job.
3899
3900         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
3901         tree window coordinates (clip rect is in tree window coords)
3902
3903         * gtk/Makefile.am: add gtktreednd.[hc]
3904
3905         * gtk/gtkliststore.c: implement gtktreednd interfaces.
3906
3907         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
3908         drag-and-drop data operations on a model (so we can set up tree
3909         drag-and-drop automatically)
3910
3911         * gtk/testgtk.c: Add a window to change sensitivity in the
3912         GtkLabel test; add a way to change the entry frame in GtkEntry
3913         test
3914
3915         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
3916         (gtk_entry_get_has_frame): new functions to remove the frame
3917         around an entry
3918         (gtk_entry_size_request): shrink requisition if no frame
3919         (gtk_entry_draw_focus): don't draw frame if no frame
3920
3921         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
3922         checks inside a cell renderer
3923         (gtk_default_draw_option): ditto for options
3924
3925         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
3926         children from the alignment, not the button
3927         (gtk_tree_view_column_init): ref/sink the column, to emulate
3928         GObject refcounting.
3929
3930         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
3931         
3932         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
3933         Use theme functions to draw the toggles 
3934
3935         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
3936
3937         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
3938         GdkPangoAttrEmbossed to use in rendering insensitive text
3939
3940         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
3941
3942         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
3943         using new GDK features
3944         
3945 2001-01-24  Alexander Larsson  <alexl@redhat.com>
3946
3947         * gtk/gtkimage.c:
3948         Splitted gtk_image_clear into gtk_image_clear() and
3949         gtk_image_reset(). Call gtk_image_clear() in ::destroy
3950         to avoid leaks.
3951
3952         * gtk/gtklabel.c (set_markup):
3953         Don't leak text.
3954
3955         * gtk/gtktextlayout.c:
3956         Always free display->shaped_objects.
3957
3958         * gtk/testgtk.c (create_clist):
3959         Don't leak custom style.
3960
3961 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3962
3963         * gtk/gtkcolorsel.c (grab_color_at_mouse):
3964         Don't leak image. Simplify using gdk_colormap_query_color().
3965         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
3966
3967         * linux-fb/gdkcolor-fb.c:
3968         Implemented gdk_colormap_query_color.
3969
3970 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3971
3972         * linux-fb/gdkcursor-fb.c:
3973         Don't leak built-in cursors.
3974
3975         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
3976         Don't leak tmp_points.
3977
3978         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
3979         Don't modify desc. Don't leak font if the PangoFont
3980         isn't found.
3981         
3982         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
3983         Free dash_list.
3984
3985         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
3986         Don't leak string.
3987         
3988 2001-01-20  Havoc Pennington  <hp@pobox.com>
3989
3990         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
3991         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
3992         me, matches Pango
3993
3994 2001-01-22  Havoc Pennington  <hp@redhat.com>
3995
3996         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
3997
3998         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
3999
4000         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
4001         Remove, move back to gdk-pixbuf
4002
4003         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
4004         to all the word functions
4005
4006         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
4007         before doing anything on NULL layout or if we don't have the focus
4008
4009         * gtk/testtext.c (fill_example_buffer): "justification"
4010
4011         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
4012         to be called "justification" not "justify"
4013
4014         * demos/gtk-demo/textview.c (create_tags): "justification"
4015         
4016         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
4017
4018 2001-01-22  Alexander Larsson  <alexl@redhat.com>
4019
4020         * gdk/gdkwindow.c (gdk_window_invalidate_region):
4021         Don't leak visible_region. Use visible_region instead of region.
4022         
4023         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
4024         Don't do extra gdk_drawable_ref(). This is not X.
4025         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
4026         gdk_fb_focused_window is ref:ed.
4027         (gdk_fb_window_send_crossing_events): Watch out for destroyed
4028         windows.
4029
4030 2001-01-22  Alexander Larsson  <alexl@redhat.com>
4031
4032         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
4033         Don't leak the PangoFontDescriptor.
4034
4035 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
4036
4037         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
4038         when not realized.
4039         (gtk_tree_view_scroll_to_cell): Make work when not realized.
4040         (gtk_tree_view_realize): add scroll_to support
4041         (gtk_tree_view_finalize): add a finalize method.  Populate.
4042         (gtk_tree_view_insert_column): ref and sink the column.
4043         (gtk_tree_view_append_column): ref and sink the column.
4044         (gtk_tree_view_queue_draw_node): New function to handle redrawing
4045         individual nodes.  Should make the code much more efficient, if
4046         actually used.
4047
4048 2001-01-19  Havoc Pennington  <hp@redhat.com>
4049
4050         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
4051         byte_offset variable was being used to mean both "offset into
4052         layout" and "offset into buffer line" which was no longer true
4053         with addition of preedit string; fix
4054
4055 2001-01-19  Havoc Pennington  <hp@redhat.com>
4056
4057         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
4058
4059         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
4060         function
4061
4062         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
4063         implement
4064
4065         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
4066         scroll_to_cell, matches TextView scroll functions better
4067         (gtk_tree_view_tree_to_widget_coords): new function
4068         (gtk_tree_view_widget_to_tree_coords): new function
4069         (gtk_tree_view_get_visible_rect): new function
4070         (gtk_tree_view_get_path_at_pos): accept negative coordinates
4071         (gtk_tree_view_draw_node_focus_rect): new function moved from
4072         draw_focus, also, use width of bin_window as width of the focus
4073         rect
4074         (gtk_tree_view_expand_row): fix bug where it didn't recognize
4075         already-expanded rows
4076         (gtk_tree_view_get_cell_rect): new function
4077         (gtk_tree_view_get_path_at_pos): return the click position
4078         relative to the passed-in cell
4079         (gtk_tree_view_set_expander_column): new function
4080
4081         * configure.in: remove gtk-config-2.0 chmod
4082
4083         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
4084         and properly handle drags with targets we don't understand
4085         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
4086         scrolling anyway
4087         (gtk_text_view_drag_drop): stop scrolling here though, and set the
4088         mark invisible
4089
4090         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
4091         function
4092         (gtk_drag_dest_get_target_list): new function
4093         (gtk_drag_dest_set_target_list): new function
4094         
4095         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
4096
4097         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
4098         related to drag-and-drop
4099
4100 2001-01-19  Alexander Larsson  <alexl@redhat.com>
4101
4102         * gdk/linux-fb/gdkprivate-fb.h:
4103         Define EMULATE_GDKFONT.
4104         Add extra pango_font stuff to GfkFontPrivate.
4105         
4106         * gdk/linux-fb/gdkdrawable-fb2.c:
4107         * gdk/linux-fb/gdkfont-fb.c:
4108         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
4109         emulation using PangoFont.
4110
4111 2001-01-17  Havoc Pennington  <hp@pobox.com>
4112
4113         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
4114         all the non-deprecated set_foo functions. Added missing object
4115         properties, and added g_object_notify() to setters. 
4116         Wrote docs.
4117         
4118 2001-01-18  Tor Lillqvist  <tml@iki.fi>
4119
4120         * gtk/gtkmain.c
4121         * gtk/gtkrc.c: (Win32) Use the new
4122         g_win32_get_package_installation_(sub)directory() functions.
4123
4124         * config.h.win32.in: New file.
4125         
4126         * config.h.win32: Removed.
4127
4128         * configure.in: Output config.h.win32.
4129
4130         * Makefile.am: Add it to EXTRA_DIST.
4131
4132         * gtk/gtk.def: Update.
4133
4134 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
4135
4136         * gtk/gtklabel.c (gtk_label_size_request): Set the
4137         attributes onto the PangoLayout even if they are newly
4138         created from label->pattern.
4139
4140 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
4141
4142         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
4143
4144         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
4145         structures in functions. Fixes bug where gtk_dataset_*
4146         was accidentally still being used in one place, causing
4147         every dest side event to be treated independently.
4148
4149         * gtk/gtkdnd.c: Remove last vestages of handling
4150         ::draw (fixes warning)
4151         
4152         * gtk/gtkentry.[ch]: Add drag and drop support.
4153
4154         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
4155         new function gtk_check_drag_threshhold() for checking
4156         to check if (dx,dy) has exceeded the threshhold for starting
4157         a drag and use it everywhere.
4158
4159 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
4160
4161         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
4162         add -I{includedir}/gtk-2.0.
4163
4164         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
4165         gdk/gdk-pixbuf.h: Doc fixups.
4166         
4167         * gtk/gtkobject.h: Remove trailing , from enum
4168
4169 2001-01-17 Alexander Larsson <alexl@redhat.com> 
4170
4171         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
4172         Doh! Mixed up x and y.
4173
4174         * gdk/linux-fb/gdkglobals-fb.c:
4175         Removed gdk_fb_pointer_grab_window_events,
4176         added _gdk_fb_pointer_grab_owner_events and
4177         _gdk_fb_keyboard_grab_owner_events.
4178
4179         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
4180         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
4181         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
4182         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
4183         Send crossing events after ungrab finished.
4184         (gdk_keyboard_grab): Set ..._owner_events
4185         (type_masks): Move out of function.
4186         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
4187         gdk_fb_keyboard_event_window): New functions, return the
4188         window an event should be targeted at. Handles grabs and
4189         event propagation. Can return NULL.
4190         (gdk_event_make): Remove event_mask checking. Now always
4191         returns an event.
4192                 
4193         * gdk/linux-fb/gdkkeyboard-fb.c:
4194         * gdk/linux-fb/gdkproperty-fb.c:
4195         * gdk/linux-fb/gdkselection-fb.c:
4196         Use new event_window/gdk_event_make() behaviour.
4197         
4198         * gdk/linux-fb/gdkmouse-fb.c:
4199         Use new event_window/gdk_event_make() behaviour.
4200         Only send motion events if in the same window.
4201         If grabbed, use cursor from window if sibling of grabbed
4202         window, and cursor from grabbed window otherwise.
4203
4204         * gdk/linux-fb/gdkprivate-fb.h:
4205         Update gdk_fb_window_send_crossing_events, gdk_event_make
4206         and grab varaible declarations. Add gdk_fb_*_event_window().
4207
4208         * gdk/linux-fb/gdkwindow-fb.c:
4209         Use new event_window/gdk_event_make() behaviour.
4210         Keep correct track of focus window.
4211         (gdk_window_set_events): Set all specific button motion masks
4212         if GDK_BUTTON_MOTION_MASK set.
4213
4214         * gtk/gtkdnd.c (gtk_drag_update):
4215         Free info->last_event if gdk_drag_motion returned FALSE.
4216
4217 2001-01-16  Tor Lillqvist  <tml@iki.fi>
4218
4219         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
4220         Eliminate redraws when input-only windows are shown or
4221         hidden. Thanks to jpe@archaeopteryx.com.
4222
4223 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
4224
4225         * docs/faq/gtk-faq.sgml: FAQ update:
4226           - Update to bugzilla
4227           - Add GTK+ and security/SUID/SGID
4228           - Add DnD question
4229
4230 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
4231
4232         * gdk/linux-fb/gdkdnd-fb.c:
4233         Some cleanups.
4234         
4235 2001-01-15  Havoc Pennington  <hp@pobox.com>
4236
4237         * tests/testtreeview.c: add test stuff for CellRendererToggle
4238
4239         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
4240         accessor
4241
4242         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
4243         only toggle on button press (would do release like GtkButton, but
4244         we'd need implicit grab code for treeview cells)
4245
4246 2001-01-16  Tor Lillqvist  <tml@iki.fi>
4247
4248         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
4249
4250         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
4251         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
4252
4253         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
4254         to g_{locale,filename}_{to,from}_utf8 to match current API.
4255
4256         * gtk/makefile.msc.in (gtk_OBJECTS)
4257         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
4258
4259         * gtk/gtk.def: Update.
4260
4261 2001-01-15  Tor Lillqvist  <tml@iki.fi>
4262
4263         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
4264         implementaion that more closely mimics the events that an X server
4265         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
4266         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
4267         with nested preview widgets, for instance, more responsive when
4268         you move the mouse quickly into them.
4269         (find_window_for_pointer_event): Make it actually compile.
4270         (gdk_event_translate): Set send_event to the value of
4271         InSendMessage (). This doesn't really mean the same as X11's
4272         send_event flag, but is close enough, says jpe@archaeopteryx.com
4273
4274 2001-01-15  Alexander Larsson  <alexl@redhat.com>
4275
4276         * gdk/linux-fb/gdkdnd-fb.c:
4277         Implemented drag and drop.
4278         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
4279         when it tries to free and then copy the same event (info->last_event).
4280         I am not sure about why this happens, but will continue looking.
4281
4282 2001-01-15  Alexander Larsson  <alexl@redhat.com>
4283
4284         * gdk/linux-fb/gdkwindow-fb.c:
4285         Use gdk_window_invalidate_rect instead of
4286         gdk_window_invalidate_rect_clear to minimise flashing.
4287         When hiding windows you need to clear the root window though.
4288
4289 2001-01-15  Alexander Larsson  <alexl@redhat.com>
4290
4291         * gdk/linux-fb/gdkdrawable-fb2.c:
4292         For optization, add an full_shapes argument to gdk_fb_clip_region.
4293         If this is false, only the cliprects of the shapes are used.
4294
4295         * gdk/linux-fb/gdkprivate-fb.h:
4296         Export gdk_fb_window_peek_shape.
4297         Add full_shapes to gdk_fb_clip_region.
4298
4299         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
4300         When moving a window, don't clear everything under the it, just the
4301         root window. Makes stuff faster and flash less.
4302         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
4303         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
4304         offset of the shape.
4305         
4306
4307 2001-01-12  Havoc Pennington  <hp@redhat.com>
4308
4309         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
4310         current invalid region, fixes redraw bug while scrolling the 
4311         text widget
4312
4313         * gtk/gtktextview.c, gtk/gtktextview.h:
4314         Rearrange the scrolling/validation/etc. code in a major way, 
4315         so it seems to make sense to me. Probably isn't genuinely that
4316         much better, but...
4317
4318         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
4319         notifies
4320
4321         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
4322
4323 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
4324
4325         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
4326         Hide mouse pointer while rotation. Show it afterwards.
4327
4328 2001-01-12  Alexander Larsson  <alexl@redhat.com>
4329
4330         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
4331         windows in consideration when generating clip region.
4332
4333         * gdk/linux-fb/gdkfb.h:
4334         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
4335
4336         * gdk/linux-fb/gdkprivate-fb.h:
4337         Add shape to GdkWindowFBDatat.
4338         exported gdk_fb_window_get_abs_shape().
4339         removed gdk_fb_draw_lines declaration.
4340
4341         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
4342         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
4343         send focus changes when there is a grabbed window.
4344         (gdk_window_get_pointer): Handle shaped windows.
4345         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
4346         (gdk_fb_window_peek_shape): Returns the shape for a window,
4347         handles GDK_FB_USE_CHILD_SHAPE.
4348         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
4349         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
4350         (gdk_window_shape_combine_mask): Implement.
4351
4352         * gtk/gtkwindow-decorate.c:
4353         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
4354         setting the shape of a window makes the window transparent.
4355
4356 2001-01-11  Havoc Pennington  <hp@redhat.com>
4357
4358         * gtk/gtktreemodelsimple.h: Oops, broke some macros
4359
4360 2001-01-10  Havoc Pennington  <hp@redhat.com>
4361
4362         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
4363         add this function, bug 40251
4364
4365         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
4366         of type macro   
4367
4368 2001-01-11  Alexander Larsson  <alexl@redhat.com>
4369
4370         * acconfig.h:
4371         Added ENABLE_SHADOW_FB
4372
4373         * configure.in:
4374         Added --disable-shadowfb
4375
4376         * gdk/linux-fb/gdkcursor-fb.c:
4377         Update shadowfb when updating cursor
4378
4379         * gdk/linux-fb/gdkdrawable-fb2.c:
4380         Added wrappers for shadowfb that calls  the normal drawable
4381         methods, but calls gdk_shadow_fb_update(bounding box) when
4382         GdkWindows are drawed to.
4383         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
4384         which also returns the bounding box.
4385
4386         * gdk/linux-fb/gdkfb.h:
4387         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
4388
4389         * gdk/linux-fb/gdkgeometry-fb.c:
4390         Update shadowfb when scrolling window.
4391
4392         * gdk/linux-fb/gdkglobals-fb.c:
4393         Add _gdk_fb_screen_angle.
4394         
4395         * gdk/linux-fb/gdkkeyboard-fb.c:
4396         Test code for screen rotation. Shift-F2 in the xlate driver
4397         rotates the screen.
4398
4399         * gdk/linux-fb/gdkmain-fb.c:
4400         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
4401
4402         * gdk/linux-fb/gdkmouse-fb.c:
4403         Use fb_width/height instead of modeinfo.xres/yres.
4404
4405         * gdk/linux-fb/gdkprivate-fb.h:
4406         Added fb_men, fb_width, fb_height & fb_stride. When using
4407         shadow fb these can differ from the framebuffer stuff.
4408         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
4409         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
4410         _gdk_fb_screen_angle. Removed CM, RP.
4411
4412         * gdk/linux-fb/gdkrender-fb.c:
4413         Added code for shadowfb handling and screen rotation using
4414         shadowfb.
4415
4416         * gdk/linux-fb/gdkwindow-fb.c:
4417         Use fb_mem, fb_stride, fb_width, fb_height.
4418         Added recompute_rowstride to reset the rowstride of all windows.
4419         Added gdk_fb_recompute_all() which recomputes rootwindow size,
4420         window abs positions and window rowstrides. Usefull when the
4421         rotation has changed.
4422
4423 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
4424
4425         * docs/faq/gtk-faq.sgml: update to make web site updating easier
4426
4427 2001-01-10  Havoc Pennington  <hp@redhat.com>
4428
4429         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
4430         where sibling == iter
4431         (gtk_tree_store_insert_after): handle sibling == iter
4432         (gtk_tree_store_prepend): remove stamp checks
4433         (gtk_tree_store_insert_before): ditto
4434         (gtk_tree_store_append): ditto
4435         (gtk_tree_store_get_path): ditto
4436         (gtk_tree_store_get_value): ditto
4437         (gtk_tree_store_iter_has_child): ditto
4438         (gtk_tree_store_iter_n_children): ditto
4439         (gtk_tree_store_iter_nth_child): ditto
4440         (gtk_tree_store_insert_after): ditto
4441         (gtk_tree_store_is_ancestor): ditto
4442         (gtk_tree_store_iter_depth): ditto
4443         (gtk_tree_store_insert_before): assert that sibling's parent is
4444         the same as the passed-in parent
4445         (gtk_tree_store_insert_after): assert that sibling's parent is
4446         the same as the passed-in parent
4447
4448         
4449         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
4450         function to get the first iterator in a model
4451         
4452         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
4453         conventionally the "root" in this sense is just NULL afaict.
4454
4455         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
4456         where sibling == iter
4457         (gtk_list_store_insert_after): handle case where sibling == iter
4458
4459         * tests/testtreeview.c (run_automated_tests): fairly lame basic
4460         automated tests for ListStore, TreeStore
4461
4462         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
4463         (gtk_list_store_insert): update tail pointer, and fix it to work
4464         (gtk_list_store_insert_before): update tail pointer, and fix it to work
4465         (gtk_list_store_append): use tail to be faster
4466         (gtk_list_store_prepend): fix it, update tail pointer
4467         (gtk_list_store_insert_after): fix it, update tail pointer
4468
4469         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
4470         the list
4471
4472 2001-01-09  Havoc Pennington  <hp@redhat.com>
4473
4474         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
4475         is NULL due to a pending resize
4476
4477         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
4478         column width to values less than 1
4479
4480         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
4481         width to be between min/max width, and still set the width 
4482         even if autosize is turned on, so the tree view can use this 
4483         function in order to autosize.
4484         (gtk_tree_view_column_init): set initial width to 1 not 0
4485
4486         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
4487         setter function to modify column width, so we get notification
4488         (gtk_tree_view_insert_iter_height): ditto
4489         (gtk_tree_view_calc_size): ditto
4490         (gtk_tree_view_check_dirty): ditto
4491
4492         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
4493         properties to change all the interesting attributes of the tree
4494         view column.
4495         (gtk_tree_view_column_set_header_clickable): rename set_clickable
4496         (gtk_tree_view_column_get_clickable): add
4497         (gtk_tree_view_column_set_cell_renderer): don't unset the current
4498         attributes; assume a cell renderer with equivalent object
4499         properties has been swapped in. Do g_object_notify().
4500         (gtk_tree_view_column_set_visible): g_object_notify
4501         (gtk_tree_view_column_get_sizing): rename from get_col_type
4502         (gtk_tree_view_column_set_sizing): g_object_notify
4503         (gtk_tree_view_column_set_width): add g_object_notify
4504         (gtk_tree_view_column_set_min_width): ditto
4505         (gtk_tree_view_column_set_max_width): ditto
4506         (gtk_tree_view_column_set_title): ditto
4507         (gtk_tree_view_column_set_clickable): ditto
4508         (gtk_tree_view_column_set_widget): ditto
4509         (gtk_tree_view_column_set_justification): ditto
4510
4511 2001-01-09  Havoc Pennington  <hp@redhat.com>
4512
4513         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
4514         there are no rows in the model
4515
4516         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
4517         NULL, then return the start of the list
4518
4519         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
4520         if we can't get any rows from an empty model 
4521
4522         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
4523         extraneous * after function pointer typedef usage
4524
4525         * Makefile.am: don't specify full path to cp and rm
4526
4527         * gtk/gtkcellrenderertextpixbuf.c
4528         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
4529         NULL before dereferencing, fixes a segfault that happened from
4530         time to time
4531
4532         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
4533         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
4534         and reindent the function
4535         (gtk_cell_renderer_pixbuf_get_size): indentation
4536
4537         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
4538         we quit it
4539         (gtk_dialog_add_buttons_valist): add g_return_if_fail
4540         (gtk_dialog_set_default_response): New function, to set default
4541         button
4542         (gtk_dialog_set_response_sensitive): New function, to set 
4543         sensitivity of buttons
4544
4545         * gtk/gtkcellrendererpixbuf.c
4546         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
4547         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
4548
4549         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
4550         handle any G_TYPE_OBJECT subclass, not just the base class, and 
4551         also boxed types.
4552         (_gtk_tree_data_list_value_to_node): ditto
4553
4554         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
4555         --gtk-debug=tree
4556
4557         * gtk/gtkmain.c: add GTK_DEBUG_TREE
4558
4559         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
4560
4561 2001-01-09  Tor Lillqvist  <tml@iki.fi>
4562
4563         * gdk/win32/gdkevents-win32.c: Implement better mouse
4564         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
4565         (find_window_for_pointer_event): New function.
4566         (gdk_event_translate): Use it when handling mouse events.
4567
4568 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
4569
4570         * configure.in:
4571         Added --with-included-loaders option
4572
4573         * gdk-pixbuf/Makefile.am:
4574         * gdk-pixbuf/gdk-pixbuf-io.c:
4575         Add support for including selected gdk-pixbuf loaders only.
4576
4577         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
4578         gtk_window_set_has_frame):
4579         Added inline documentation.
4580
4581         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
4582         * docs/reference/gdk/tmpl/windows.sgml:
4583         Added inline documentation.
4584
4585 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
4586
4587         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
4588         realizing buttons that have already been realized.
4589
4590 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
4591
4592         * tests/testtreeview.c (main): Show menu items before adding to
4593         option menu.
4594
4595         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
4596         around if we kill them.
4597
4598         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
4599         Return if we pass in a NULL model.
4600
4601 2001-01-08  Havoc Pennington  <hp@redhat.com>
4602
4603         * tests/testtreeview.c: hack on this some
4604
4605         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
4606         gtk_tree_store_set_valist, v is for arrays, valist for varargs
4607         list
4608         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
4609
4610         * gtk/gtkliststore.h: Add varargs set() and get() convenience
4611         functions
4612
4613 2001-01-08  Alexander Larsson  <alexl@redhat.com>
4614
4615         * gtk/gtkwindow-decorate.[hc]:
4616         * gtk/Makefile.am:
4617         New files. Contains an implementation of a minimal WM for
4618         linux-fb.
4619
4620         * gtk/gtkwindow.h:
4621         Add the possibility for GtkWindows to specify a frame. This
4622         is used for the window decoration code, but could concievably
4623         be used for X programs too (xmms style windows).
4624         GtkWindow->frame is the toplevel window if the window is framed.
4625         The signal frame_event gets all events that are targeted to
4626         GtkWindow->frame.
4627         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
4628         
4629         * gtk/gtkwindow.c:
4630         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
4631         Call out to gtkwindow-decorate.c for WM support in linx-fb.
4632
4633 2001-01-08  Alexander Larsson  <alexl@redhat.com>
4634
4635         * docs/README.linux-fb:
4636         Correct filename ~/.pangoft2_aliases
4637
4638         * gdk/gdkwindow.h:
4639         Added new function gdk_window_get_decorations.
4640
4641         * gdk/linux-fb/gdkfb.h:
4642         Removed _gdk_window_get_decorations declaration.
4643         Renamed _gdk_window_set_child_handler to
4644         gdk_fb_window_set_child_handler.
4645
4646         * gdk/linux-fb/gdkwindow-fb.c:
4647         Renamed _gdk_window_set_child_handler to
4648         gdk_fb_window_set_child_handler.
4649
4650         * gdk/x11/gdkwindow-x11.c:
4651         New function gdk_window_get_mwm_hints().
4652         Implemented gdk_window_get_decorations.
4653
4654         * docs/reference/gdk/tmpl/windows.sgml:
4655         * docs/reference/gdk/gdk-sections.txt:
4656         Added gdk_window_get_decorations docs.
4657         
4658 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
4659
4660         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
4661         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
4662         gdk_fb_window_send_crossing_events):
4663         Possibly send focus events when the mouse moves from one
4664         window to another.
4665
4666 2001-01-07  Tor Lillqvist  <tml@iki.fi>
4667
4668         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
4669         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
4670         to match current API.
4671
4672         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
4673         environment variable is set, don't call g_error when on a
4674         palettized (PseudoColor) display. Some people want to use GTK+ 
4675         in 256-colour mode even though works only partially.
4676
4677         * gdk/gdk.def
4678         * gtk/gtk.def
4679         * gtk/makefile.mingw.in: Update.
4680
4681 2001-01-05  Havoc Pennington  <hp@redhat.com>
4682
4683         * tests/testtreeview.c: hack on this a bit
4684
4685         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
4686         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
4687
4688         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
4689         was spelled incorrectly
4690         (GTK_IS_TREE_MODEL_SIMPLE): ditto
4691
4692         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
4693         from gtk_tree_view_set_headers_active   
4694
4695         * gtk/gtktexttag.c:
4696         (gtk_text_tag_get_property): handle PROP_DIRECTION
4697         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
4698         properties, bug 40235
4699
4700         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
4701         forward_to_line_end
4702
4703 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
4704
4705         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
4706         modules/input/gtkimcontextxim.c: Adapt to new prototypes
4707         for unicode,locale,filename conversion functions.
4708
4709 2001-01-05  Havoc Pennington  <hp@redhat.com>
4710
4711         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
4712         broken if called on the first position in the buffer.
4713
4714         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
4715         forward_to_delimiters to be called only if we aren't already at
4716         the delimiters.
4717
4718 2001-01-05  Havoc Pennington  <hp@redhat.com>
4719
4720         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
4721
4722 2001-01-05  Alexander Larsson  <alexl@redhat.com>
4723
4724         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
4725         colormap in here. Sync from X port.
4726         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
4727         Sync from X port.
4728         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
4729         This happens now and then, and i don't think it is a bug.
4730         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
4731         != endpoint.
4732         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
4733         GDK_LINE_SOLID.
4734
4735         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
4736         some of the fields filled in at least.
4737
4738         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
4739         miLineArcD is no more, remove it from the function definition.
4740
4741 2001-01-04  Havoc Pennington  <hp@redhat.com>
4742
4743         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
4744         this
4745
4746         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
4747         user_data instead of tree_node
4748
4749         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
4750         TREE_VIEW_COLUMN_SIZE
4751
4752         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
4753         "size" field to "width" finishes bug 40061
4754
4755         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
4756         for bitfields, bug 40268
4757
4758 2001-01-04  Havoc Pennington  <hp@redhat.com>
4759
4760         Rename some stuff:
4761         
4762         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
4763
4764         s/GtkModelSimple/GtkTreeModelSimple/g;
4765         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
4766         s/gtk_model_simple/gtk_tree_model_simple/g;
4767         s/gtkmodelsimple/gtktreemodelsimple/g;
4768
4769         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
4770
4771         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
4772         s/column_set_col_type/column_set_sizing/g;
4773
4774         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
4775         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
4776
4777         s/GtkCellRendererType/GtkCellRendererState/g;
4778         
4779         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
4780         (gtk_cell_renderer_toggle_class_init): change "state" property to
4781         "active", to match GtkToggleButton
4782         (gtk_cell_renderer_toggle_get_active): new function, bug
4783         40269
4784         (gtk_cell_renderer_toggle_set_active): new function
4785         (gtk_cell_renderer_toggle_set_property): route changes to toggle
4786         state through gtk_cell_renderer_set_active
4787
4788 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
4789
4790         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
4791         temporarily until they work again.  Brought up to date with
4792         changes in the model.
4793         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
4794         model.
4795
4796 2001-01-04  Havoc Pennington  <hp@redhat.com>
4797
4798         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
4799         equal to the line length, then position iterator before paragraph 
4800         separators. Fixes crash reported by Mikael Hermansson when
4801         pressing left arrow from the start of a line.   
4802
4803         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
4804         about byte indexes off the end
4805         (iter_set_from_char_offset): add g_error about char offsets
4806         off the end
4807
4808 2001-01-03  Havoc Pennington  <hp@redhat.com>
4809
4810         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
4811
4812         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
4813         of private functions; remove inclusion of private headers.
4814
4815         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
4816         function, so we don't need private functions in gtktextdisplay.c
4817
4818         * gtk/gtktextiterprivate.h: underscore-ification
4819
4820         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
4821         to instead say "only useful to implement widgets"
4822
4823         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
4824         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
4825         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
4826
4827         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
4828         This function was completely broken
4829
4830         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
4831
4832         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
4833
4834         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
4835
4836         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
4837
4838         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
4839
4840         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
4841
4842         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
4843         gtk_paint_layout
4844
4845         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
4846         gtk_paint_layout
4847
4848         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
4849         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
4850         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
4851         which were not implemented.     
4852
4853         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
4854         insert_pixbuf signal. Rename delete_text to delete_range since it
4855         also deletes pixbufs and child anchors. This almost closes bug
4856         40245 (still need to deal with child anchors)
4857
4858         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
4859         insert_pixbuf, change signal names as appropriate, change types of
4860         signals taking marks/tags to have the specific type, not just
4861         G_TYPE_OBJECT
4862         
4863         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
4864         closes bug 40051
4865
4866         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
4867         unnecessary remove_contents() call
4868         (gtk_option_menu_class_init): add a "changed" signal, closes
4869         bug 40039
4870         (gtk_option_menu_update_contents): emit "changed" if the 
4871         active menu item changes
4872
4873         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
4874         cast to GtkObject, reported by Jonas Borgstrom
4875         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
4876         we can't do stuff with side effects in finalize. Instead, spew a
4877         warning if the loader isn't closed.
4878
4879         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
4880         colormap in here, non-X ports probably need to sync to this change
4881
4882         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
4883         assertion that colormap != NULL, you can set the colormap to NULL
4884         if you like.
4885         
4886         * Makefile.am: remove gtk-config-2.0
4887
4888         * configure.in: Use pkg-config to locate GLib. Remove
4889         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
4890         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
4891         Use pkg-config to locate Pango. Output correct Pango libs to
4892         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
4893
4894         * Makefile.am (pkgconfig_DATA): install only target-specific pc
4895         files
4896         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
4897         X11 pc files
4898
4899         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
4900         unref from here
4901
4902 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
4903
4904         * configure.in:
4905         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
4906
4907 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
4908
4909         * gtk/gtktextlayout.c
4910         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
4911         variable when moving back onto a single line.
4912
4913 2001-01-01  Havoc Pennington  <hp@redhat.com>
4914
4915         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4916
4917         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4918
4919         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
4920         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
4921
4922 2001-01-01  Havoc Pennington  <hp@redhat.com>
4923
4924         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
4925
4926         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
4927         GtkTextAttributes
4928
4929         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
4930         #40246
4931         (gtk_text_attributes_copy_values): rename from 
4932         gtk_text_attributes_copy
4933         (gtk_text_attributes_copy): a more standard GTK copy function, 
4934         which returns a new object
4935
4936 2001-01-01  Havoc Pennington  <hp@redhat.com>
4937
4938         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
4939         
4940         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
4941         don't fill in tree_view->priv->selection, kind of an unexpected
4942         side effect
4943
4944         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
4945         gtkintl.h
4946         
4947         * gtk/gtkcellrenderer.c: Remove definition of _ and include
4948         gtkintl.h
4949         (gtk_cell_renderer_get_property): remove calls to g_value_init
4950
4951         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
4952         gtkintl.h
4953
4954         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
4955         and include gtkintl.h
4956         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
4957         property names
4958
4959         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
4960         GtkTreeSelection
4961         (_gtk_tree_selection_new_from_with_view): rename, return
4962         GtkTreeSelection
4963         (_gtk_tree_selection_set_tree_view): rename with uscore
4964         (gtk_tree_selection_get_selected): fill in the "model" out param
4965         first, so it gets filled in even if we return at the top of the 
4966         function
4967         (gtk_tree_selection_real_select_all): add a comment and an else{}
4968         to clarify this a bit
4969         (gtk_tree_selection_real_unselect_all): add the same else{}
4970
4971         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
4972         set_tree_view to have underscore prefixes, move them to the
4973         private header, fix return type of new_with_tree_view
4974         (struct _GtkTreeSelection): mark struct
4975         fields private  
4976
4977         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
4978         GtkTreeModelFlags, not a guint
4979         (gtk_tree_path_prev): return gboolean not gint
4980         (gtk_tree_path_up): return gboolean not gint
4981
4982         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
4983         return GtkTreeModelFlags, not a guint
4984
4985         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
4986         that child model is non-null before unrefing it
4987         (g_value_int_compare_func): make this a qsort compare func, not 
4988         a boolean predicate
4989
4990         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
4991         (add -umn to the end), and mark it unimplemented
4992         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
4993         I don't see what it's for - doesn't the model always sort itself?
4994         (gtk_tree_model_sort_set_compare): this had the wrong signature
4995
4996         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
4997         Fix the docs to say that it destructively replaces existing
4998         attributes (previously said that it added attributes).
4999         (gtk_tree_view_column_set_visible): canonicalize bool before
5000         equality testing. Also, check for realization before
5001         hiding/showing the tree_column->window; if this window could exist
5002         before realization, then it's busted and needs fixing, we can't 
5003         create GDK resources pre-realization. Also, remove
5004         superfluous queue_resize(), since set_size() does that for us.
5005         (gtk_tree_view_column_set_col_type): check realization before 
5006         using tree_column->window
5007
5008         * gtk/gtktreedatalist.c: fix filename in copyright notice
5009
5010 2000-12-31  Havoc Pennington  <hp@pobox.com>
5011
5012         * gtk/gtktextview.c: Rearrange all the
5013         scroll-while-dragging-or-selecting code to be different, not
5014         necessarily better. ;-)
5015         (gtk_text_view_scroll_to_mark): Change this
5016         function to take within_margin as a fraction instead of a pixel
5017         value, and to take alignment arguments (indicating where to align 
5018         the mark inside the visible area)
5019         
5020         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
5021         to GtkObject
5022
5023         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
5024         behavior so that offsets past the end of the line are not 
5025         allowed, and an offset equal to the line length moves the iterator
5026         to the next line
5027         (gtk_text_iter_set_line_index): make parallel change
5028         (gtk_text_iter_get_bytes_in_line): add this function
5029         
5030         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
5031         of byte indexes off the end of the line; byte index at the end of
5032         the line now returns FALSE and doesn't fill in the requested
5033         values, byte index past the end of the line is an error.  Also,
5034         don't allow -1 offset anymore, since its meaning is unclear.
5035
5036         This change exposes some bug in visual cursor motion, where we
5037         end up with a huge invalid byte index; needs fixing. Symptom of 
5038         bug is a crash when you hit up arrow.
5039         
5040         (_gtk_text_line_char_locate): match the change to byte_locate
5041
5042         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
5043         from start of line properly. fixes bug reported by Mikael
5044         Hermansson where backspace would delete all text before the
5045         cursor.
5046
5047 2000-12-30  Tor Lillqvist  <tml@iki.fi>
5048
5049         * gdk/win32/gdkwindow-win32.c
5050         (gdk_window_impl_win32_get_visible_region): New function, as in
5051         the X11 backend.
5052         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
5053         instead of duplicating the same code here.
5054
5055         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
5056         GDK_COLORMAP macro.
5057
5058         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
5059         destroy function.
5060         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
5061         access that.
5062
5063         * gtk/gtk.def: Update.
5064
5065         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
5066
5067 2000-12-30  Havoc Pennington  <hp@pobox.com>
5068
5069         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
5070         colormap on input only windows, to avoid special cases all over
5071         the code for these windows.
5072
5073 2000-12-26  Tor Lillqvist  <tml@iki.fi>
5074
5075         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
5076         we are on a palettized display ("PseudoColor" in X11), as the code
5077         for that doesn't work anyway, and never has.
5078
5079 2000-12-22  Alexander Larsson  <alexl@redhat.com>
5080
5081         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
5082         Don't use isprint() for chars > 255.
5083
5084 2000-12-21  Havoc Pennington  <hp@redhat.com>
5085
5086         * tests/testtreeview.c: more work
5087
5088 2000-12-21  Alexander Larsson  <alexl@redhat.com>
5089
5090         * docs/README.linux-fb:
5091         Update the docs to the new pangoft2 way.
5092
5093 2000-12-21  Alexander Larsson  <alexl@redhat.com>
5094
5095         * configure.in:
5096         For linux-fb get the pangoft2 cflags and libs. This needs a recent
5097         pango version.
5098         Remove modules/linux-fb/Makefile.
5099
5100         * gdk/linux-fb/gdkdrawable-fb2.c:
5101         Render glyphs using freetype.
5102
5103         * gdk/linux-fb/gdkfb.h:
5104         Add new fb-specific functions needed for managing windows.
5105
5106         * gdk/linux-fb/gdkmain-fb.c:
5107         Remove gdk_font_init/fini() calls.
5108
5109         * gdk/linux-fb/gdkpango-fb.c:
5110         Remove old implementation. Use pangoft2 instead.
5111
5112         * gdk/linux-fb/gdkprivate-fb.h:
5113         Remove PangoFBFont and related stuff.
5114
5115         * gdk/linux-fb/gdkwindow-fb.c:
5116         Implement drawable->get_visible_region.
5117         Implement support for _gdk_window_set_child_handler () and
5118         _gdk_window_get_decorations().
5119
5120         * modules/Makefile.am:
5121         Remove linux-fb subdir.
5122
5123         * modules/linux-fb/*:
5124         Removed all.
5125         
5126 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
5127
5128         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
5129         calls, as they are no longer needed.
5130
5131         * gtk/gtktreemodelsort.c: Fix up the comparison code.
5132         
5133         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
5134         figure out how to emit a signal on an interface.
5135
5136 2000-12-20  Havoc Pennington  <hp@redhat.com>
5137
5138         * tests: new directory to contain tests, gtk/test* should move
5139         here sometime (with appropriate on-cvs-server hackery)
5140
5141         * tests/testtreeview.c, tests/Makefile.am: a test
5142         
5143         * configure.in (AC_OUTPUT): add tests/Makefile
5144
5145         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
5146         and "invisible_set" which were missing
5147
5148         * gtk/gtkrbtree.h: some cheesy indentation fix
5149         
5150 2000-12-20  Alexander Larsson  <alexl@redhat.com>
5151
5152         * gtk/gtkinvisible.c (gtk_invisible_realize):
5153         Attach the style to the window so that the style it is not
5154         leaked when unrealizing the window.
5155
5156 2000-12-18  Havoc Pennington  <hp@redhat.com>
5157
5158         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
5159         begin/end user action where appropriate
5160         (gtk_text_view_commit_handler): add begin/end user action
5161
5162         * gtk/gtktextbuffer.c: add begin/end user action signals, and
5163         bracket interactive operations with begin/end user action pair.
5164         
5165         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
5166         "interactive" arg from insert_text and delete_text signals.
5167         Add begin_user_action, end_user_action signals
5168         (gtk_text_buffer_begin_user_action): 
5169         (gtk_text_buffer_end_user_action): New functions to delimit 
5170         a user-visible action
5171
5172         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
5173         signals.
5174         
5175 2000-12-18  Havoc Pennington  <hp@redhat.com>
5176
5177         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
5178         was pretty non-working.
5179
5180         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
5181         by passing the length to g_utf8_validate().
5182
5183 2000-12-16  Havoc Pennington  <hp@pobox.com>
5184
5185         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
5186         Port to GObject, can go back in gdk-pixbuf after setting up 
5187         a gdk-pixbuf-marshal.h header over there.
5188
5189         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
5190         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
5191         args
5192         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
5193         set
5194         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
5195         here, do it when we create the buttons later
5196         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
5197         (gtk_tree_view_map): paranoia checks that column->button is shown 
5198         and unmapped
5199         (gtk_tree_view_size_request): only request visible children.
5200         Move header size calculation in here, for cleanliness, and 
5201         to maintain invariants for child widgets if we eventually 
5202         let users set different children inside the buttons
5203         (gtk_tree_view_map_buttons): factor out code to map buttons,
5204         since it was being called several times
5205         (gtk_tree_view_size_allocate_buttons): move_resize the drag
5206         windows instead of just moving them; their height may change 
5207         if we allow random widgets in there, or the theme changes.
5208         (gtk_tree_view_size_allocate): move button size allocation 
5209         above emitting the scroll signals, to ensure a sane state when we
5210         hit user code
5211         (gtk_tree_view_button_release): remove queue_resize after
5212         tree_view_set_size(), set_size() will handle any resize queuing
5213         that's needed
5214         (gtk_tree_view_focus_in): just queue a draw, don't fool with
5215         draw_focus goo
5216         (gtk_tree_view_focus): use gtk_get_current_event() and
5217         gdk_event_get_state()
5218         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
5219         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
5220         semicolon
5221         (gtk_tree_view_create_button): show the button here
5222         (gtk_tree_view_button_clicked): actually emit the clicked signal
5223         on the column
5224         (_gtk_tree_view_set_size): return right away if the size is
5225         unchanged, as a cheesy optimization
5226         (gtk_tree_view_setup_model): rename set_model_realized to 
5227         setup_model to match the flag that indicates whether we've 
5228         called it
5229         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
5230         exist, because set_scroll_adjustment does that and it shouldn't
5231         matter what order you call these in
5232         (gtk_tree_view_get_vadjustment): ditto
5233         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
5234         for paranoia
5235         (gtk_tree_view_set_headers_visible): call
5236         gtk_tree_view_map_buttons() instead of using cut-and-paste code
5237         (gtk_tree_view_append_column): clarify whether the return value
5238         is the count of columns before or after, and do the increment 
5239         separately from the return statement so you can tell from the code.
5240         (gtk_tree_view_remove_column): ditto
5241         (gtk_tree_view_insert_column): ditto
5242         (gtk_tree_view_get_column): remove g_return_if_fail for columns
5243         outside the existing range, the docs say that outside-range
5244         columns are allowed, so we handle them as documented. (Presumably
5245         this allows a nice loop with column != NULL as test.)
5246         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
5247         mean (left/right/center etc.).
5248         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
5249         (gtk_tree_view_expand_row): add docs
5250         (gtk_tree_view_collapse_row): add docs
5251
5252         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
5253         function to emit the clicked signal on a column
5254         
5255         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
5256         state of an event
5257         (gdk_event_get_time): don't treat GDK_SCROLL 
5258         as a button event, remove default case from switch so gcc 
5259         will whine if we don't explicitly handle all event types
5260
5261         * gtk/gtktreeselection.h: added some FIXME 
5262         
5263         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
5264         "columns" to "n_columns" and "column" to "columns" for clarity
5265
5266 2000-12-16  Havoc Pennington  <hp@pobox.com>
5267         
5268         * gtk/gtktextiter.c: General cleanup of the log attr iteration
5269         stuff. This should make e.g. the delete key work again in the
5270         text widget...
5271         (gtk_text_iter_forward_cursor_positions): handle negative count
5272         (gtk_text_iter_backward_cursor_positions): handle negative count
5273         (gtk_text_iter_forward_word_ends): handle negative count
5274         (gtk_text_iter_backward_word_starts): handle negative count
5275
5276         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
5277         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
5278         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
5279         GObject. No doubt will cause breakage.
5280
5281         * demos/gtk-demo/textview.c: remove hacks around
5282         non-GObject-ification of the text objects
5283
5284         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
5285         the text tag
5286         
5287 2000-12-14  Havoc Pennington  <hp@pobox.com>
5288
5289         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
5290         that we have Xrender
5291
5292 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
5293
5294         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
5295         Add two virtualized functions gdk_drawable_get_clip_region - to
5296         get the clip region when drawing.
5297         
5298         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
5299         use invalidate_region.
5300
5301         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
5302         region.
5303
5304         * acconfig.h configure.in: Check for Xft. For now, assume
5305         that if Xft is found, Pango was compiled with Xft support
5306         as well.
5307
5308         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
5309         gdk_colormap_query_color().
5310         
5311         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
5312         with Xft if appropriate.
5313
5314         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
5315         a pangoxft context if we have XFT and the environment
5316         variable GD_USE_XFT is set.
5317         
5318         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
5319         and also possibly an XftDraw structure.
5320
5321         * gtk/gtkfontsel.c: Handle the case where the font from the
5322         style doesn't match any of the fonts a bit better.
5323         
5324         * gtk/testgtk.c: Add tabs between directional segments for
5325         hebrew/arabic test. (Not really necessary, just a little
5326         prettier.)
5327
5328 2000-12-14  Havoc Pennington  <hp@redhat.com>
5329
5330         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
5331         reading a file
5332
5333 2000-12-14  Havoc Pennington  <hp@redhat.com>
5334
5335         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
5336         unused call to get_last_line()
5337
5338         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
5339         here until boxed is working (and maybe after that - we should
5340         really not gratuitously break old code)
5341
5342         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
5343         specific types for font_desc and tabs args, move them to
5344         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
5345         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
5346
5347         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
5348         use GTK_TYPE_POINTER for signal signatures as a hack-around
5349
5350         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
5351         PangoTabArray
5352
5353         * gtk/gtktextlayout.c (line_display_iter_to_index): 
5354         make static
5355         (line_display_index_to_iter): make static
5356
5357         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
5358         to marshal a string not a boxed
5359
5360         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
5361
5362         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
5363         since the UTF-8 isn't validated yet
5364
5365         * gtk/gtktextsegment.c (char_segment_check_func): don't require
5366         lines to end in '\n'
5367         
5368         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
5369         forward_to_delimiters, and grapheme boundaries
5370         (gtk_text_view_delete_from_cursor): properly handle non-newline
5371         delimiters, and grapheme boundaries
5372
5373         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
5374         to gtk_text_iter_forward_to_delimiters, and make it work properly
5375         if empty lines end with a character other than '\n'
5376
5377         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
5378         position
5379
5380 2000-12-15  Tor Lillqvist  <tml@iki.fi>
5381
5382         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
5383
5384         * gtk/gtk.def
5385         * gdk/gdk.def: Update.
5386
5387         * gdk/win32/gdkmain-win32.c
5388         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
5389         gdkmain-win32.c here.
5390
5391         * gdk/win32/makefile.mingw.in (all): No need to make
5392         gdk-win32res.o here, the makefile one step up will call us to make
5393         it.
5394
5395         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
5396         gdkkeys-win32.
5397
5398         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
5399
5400         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
5401         call to g_source_add().
5402
5403         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
5404         leak. Thanks to Andreas Kemnade.
5405
5406 2000-12-13  Havoc Pennington  <hp@pobox.com>
5407
5408         * gtk/gtktextbtree.h: Remove double _ in front of some functions
5409
5410         * gtk/gtktext*.[hc]: update accordingly
5411         
5412 2000-12-13  Havoc Pennington  <hp@pobox.com>
5413
5414         * gtk/gtktextbtree.h: Put _ in front of every function in this 
5415         header file
5416
5417         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
5418
5419 2000-12-13  Alex Larsson  <alexl@redhat.com>
5420
5421         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
5422         Add support for ps2 intellimouse.
5423
5424         * gdkkeyboard-fb.c:
5425         Move shift-F1 repaint handling to xlate handler only.
5426         
5427         * docs/README.linux-fb:
5428         Add imps2 to docs.
5429         Document the new refresh keys.
5430         
5431 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
5432
5433         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
5434
5435         * gtk/gtkbox.c: change property types from (u)long to (u)int for
5436         ::position and ::padding.
5437
5438         * gtk/gtkcontainer.c: make ::border_width an INT property.
5439
5440         * gtk/gtkpacker.c: make ::position an INT property.
5441
5442         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
5443         guard against NULL h/v scrollbars, since this is used at construction
5444         time.
5445
5446         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
5447         internal gtk_clist_constructor().
5448
5449         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
5450         gtk_ctree_constructor().
5451
5452         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
5453         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
5454
5455         * docs/reference/Makefile.am: fun stuff, disabled docs generation
5456         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
5457
5458         * gtk/gtkwidget.[hc]:
5459         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
5460         and gtk_widget_get().
5461         (gtk_widget_new): use g_object_new_valist().
5462         (gtk_widget_set): use g_object_set_valist().
5463
5464         * gtk/gtkobject.[hc]:
5465         removed gtk_object_arg_get_info(), gtk_object_getv(),
5466         gtk_object_query_args(), gtk_object_newv(),
5467         gtk_object_class_add_signals(),
5468         gtk_object_class_user_signal_new(),
5469         gtk_object_class_user_signal_newv(),
5470         gtk_object_arg_set(), gtk_object_arg_get(),
5471         gtk_object_args_collect(),
5472         gtk_object_default_construct(),
5473         gtk_object_constructed(),
5474         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
5475         removed nsignals, signals and n_args members from GtkObjectClass.
5476         (gtk_object_new): use g_object_new_valist().
5477         (gtk_object_set): use g_object_set_valist().
5478         (gtk_object_get): use g_object_get_valist().
5479         
5480         * gtk/gtkcompat.h: define gtk_object_default_construct().
5481         
5482         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
5483         g_object_new().
5484
5485         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
5486         fucntions, cleaned up method assignments (make sure your structures
5487         are setup properly before calling out). removed all GTK_CONSTRUCTED
5488         hacks ;)
5489
5490 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
5491
5492         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
5493         off-by-one error in checks. (Dave Lambert)
5494
5495 2000-12-12  Alexander Larsson  <alexl@redhat.com>
5496
5497         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
5498         Don't free gdk_fb_keyboard twice.
5499
5500 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
5501
5502         * gtk/testgtk.c:
5503         (create_tooltips): 
5504         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
5505         use GObject swapped_signal:: properties instead.
5506
5507         * gtk/gtkcellrenderertoggle.c: 
5508         * gtk/gtkcellrenderertextpixbuf.c: 
5509         * gtk/gtkcellrenderertext.c: 
5510         * gtk/gtkcellrendererpixbuf.c: 
5511         * gtk/gtkcellrenderer.c:
5512         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
5513         missing warnings for invalid property ids, install properties
5514         with g_object_class_install_property() now.
5515         
5516         * gtk/gtksignal.c:
5517         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
5518         
5519 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
5520         
5521         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
5522         to determine if a window is the focus widget within
5523         its toplevel.
5524
5525         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
5526         to be boolean.
5527
5528         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
5529         of the case where the container CAN_FOCUS to here instead
5530         of having it in each individual move-the-focus place.
5531
5532         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
5533         focusing to be geometric in a much more obvious sense. Arrowing
5534         around is still non-intuitive because it isn't perfect and
5535         because entries, etc, grab the arrow keys, but it at least
5536         usually will do what you expect now.
5537         
5538         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
5539         file.
5540
5541         * gtk/gtknotebook.c: Change tabs to be a single item in
5542         the focus chain. Make movement of focus on tabs with arrow
5543         keys wrap around.
5544         
5545         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
5546         CHECK_FIND_CHILD macro to give informative error messages
5547         instead of silent returns.
5548
5549         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
5550         flag since we handle GdkReturn on the tabs.
5551
5552         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
5553         windows rather than sending expose events directly.
5554
5555         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
5556         definition for GtkNotebookPage into .c file, since it is private.
5557
5558         * gtk/testgtk.c (create_notebook): Add option for 
5559         testing borderless notebook.
5560
5561         * gtk/testgtk.c (page_switch): Removed egregious poking
5562         around in GTK+ internals.
5563
5564         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
5565
5566         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
5567         properly through gtk_clist_focus. Make the title headers a
5568         single item in the tab-focus chain, and make left-right wrap
5569         around.
5570
5571         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
5572         focus method so that wrapping around works properly.
5573
5574         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
5575         that is handled for the widget now. 
5576
5577 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
5578
5579         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
5580         widgets as TOPLEVEL.
5581
5582         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
5583         TOPLEVEL widgets are containers.
5584
5585         * gtk/gtkinvisible.h: Remove useless include.
5586
5587 2000-12-11  Havoc Pennington  <hp@redhat.com>
5588
5589         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
5590         Handle chopping off \r\n and 0x2029 in addition to \n before
5591         passing to PangoLayout
5592
5593         * gtk/gtkimcontextsimple.c
5594         (gtk_im_context_simple_get_preedit_string): 
5595         return an empty string if no match is pending
5596
5597         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
5598         assertion that the returned preedit string was sane
5599
5600         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
5601         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
5602         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
5603
5604 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
5605
5606         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
5607         Fix up finalizer to chain to its parent.
5608
5609 2000-12-11  Alexander Larsson  <alexl@redhat.com>
5610
5611         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
5612         Clearified the difference between the keyboard types. Wrote a note
5613         about the magic sysrq key to get out of raw mode.
5614
5615 2000-12-09  James Henstridge  <james@daa.com.au>
5616
5617         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
5618         member to hold masks for detecting the start of a protocol packet.
5619         (mouse_devs): add packet start masks for ps2 and ms device types.
5620         Left the mask for fidmour blank, as I have no idea what it should
5621         be.
5622         (handle_mouse_io): skip bytes until we get to the start of a
5623         packet.  My Logitech mouse seems to be passing an extra NULL pad
5624         byte, and GPM does a similar thing here.
5625         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
5626         this is the ms mouse driver.
5627         (gdk_fb_mouse_ms_packet): fix up button handling, which was
5628         completely broken except for button1.  It was checking the wrong
5629         bit in the packet for the status of the right mouse button, and
5630         wrongly assuming right == button2 rather than 3.  I fixed that and
5631         also added support for middle button (button2).
5632
5633 2000-12-08  Havoc Pennington  <hp@redhat.com>
5634
5635         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
5636         that cause a segfault on text insertion
5637
5638         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
5639         warning
5640
5641         * gtk/gtktextiter.c (test_log_attrs): use
5642         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
5643
5644         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
5645         Get log attrs for a line, using a cache stored on the buffer
5646         
5647         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
5648         reported by Jeff Franks
5649
5650 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5651
5652         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
5653         /dev/ttyS0 -> /dev/mouse
5654
5655 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5656
5657         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
5658         Added dummy gdk_fontset_load.
5659
5660 2000-12-08  Alexander Larsson  <alexl@redhat.com>
5661
5662         * docs/README.linux-fb:
5663         * docs/Makefile.am:
5664         Initial GtkFB docs.
5665         
5666         * gdk/linux-fb/Makefile.am:
5667         Define GDK_DATA_PREFIX.
5668
5669         * gdk/linux-fb/gdkmain-fb.c:
5670         Fix typo.
5671         Change default display to /dev/fb0.
5672
5673         * gdk/linux-fb/gdkpango-fb.c:
5674         Add $(prefix)/share/fonts/ to font path.
5675         
5676 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5677
5678         * gdk/linux-fb/gdkkeyboard-fb.c:
5679         New file containing the abstracted keyboard driver. Most code
5680         taken from gdkinput-ps2.c
5681
5682         * gdk/linux-fb/gdkinput-ps2.c:
5683         Removed file.
5684         
5685         * gdk/linux-fb/Makefile.am:
5686         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
5687
5688         * gdk/linux-fb/gdkcolor-fb.c:
5689         display->fb was renamed to display->fb_fd.
5690
5691         * gdk/linux-fb/gdkcursor-fb.c:
5692         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5693
5694         * gdk/linux-fb/gdkinput.c:
5695         Moved gdk_input_init here from gdkinput-ps2.c
5696
5697         * gdk/linux-fb/gdkmain-fb.c:
5698         display->fb was renamed to display->fb_fd.
5699         Now the tty and the console is opened here instead
5700         of in the keyboard driver. Also check GDK_VT to see what
5701         tty to open.
5702         Move gdk_beep () here from gdkinput-ps2.c
5703         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5704
5705         * gdk/linux-fb/gdkmouse-fb.c:
5706         Add header.
5707         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5708         Return correct keyboard modifiers.
5709         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
5710
5711         * gdk/linux-fb/gdkprivate-fb.h:
5712         Add tty and vt info to display.
5713         Add orignal modeinfo storage to display
5714         Update global functions
5715
5716         * gdk/linux-fb/gdkwindow-fb.c:
5717         Added gdk_fb_window_find_focus().
5718         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5719
5720 2000-12-07  Havoc Pennington  <hp@pobox.com>
5721
5722         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
5723         function, noticed by Alex
5724
5725 2000-12-06  Elliot Lee  <sopwith@redhat.com>
5726
5727         * configure.in: Detect freetype properly
5728
5729         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
5730         above.
5731
5732 2000-12-06  Alexander Larsson  <alexl@redhat.com>
5733
5734         * gdk/linux-fb/Makefile.am:
5735         Add gdkmouse-fb.c
5736         
5737         * gdk/linux-fb/gdkmouse-fb.c:
5738         New file. Abstracted the mouse drivers a bit.
5739
5740         * gdk/linux-fb/gdkcursor-fb.c:
5741         The cursor hide/show functions was moved here from gdkinput-ps2.c.
5742
5743         * gdk/linux-fb/gdkinput-ps2.c:
5744         Removed old mouse handling code. Moved cursor handling code
5745         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
5746         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
5747         gdk_mouse_get_info.
5748
5749         * gdk/linux-fb/gdkmain-fb.c:
5750         Pass NULL pointers for x,y in gdk_mouse_get_info call.
5751
5752         * gdk/linux-fb/gdkprivate-fb.h:
5753         Removed public gdk_fb_find_common_ancestor, added and renamed
5754         functions for the new mouse handling code.
5755
5756         * gdk/linux-fb/gdkwindow-fb.c:
5757         Moved gdk_fb_window_send_crossing_events here. added global
5758         variable gdk_fb_window_containing_pointer. made
5759         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
5760         renamed to gdk_mouse_get_info.
5761
5762 2000-12-06  Alexander Larsson  <alexl@redhat.com>
5763
5764         * gdk/linux-fb/gdkevents-fb.c:
5765         Update to match latest gmain/gsource changes.
5766
5767         * gdk/linux-fb/gdkinput-ps2.c:
5768         Bogus gdk_keymap_get_entries_for_keycode implementation so that
5769         it links. Will be implemented later.
5770
5771 2000-12-03  Havoc Pennington  <hp@pobox.com>
5772
5773         * gdk/Makefile.am: add gdkkeys.[hc]
5774
5775         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
5776         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
5777
5778         * acconfig.h, configure.in: add checks and command line options
5779         for XKB
5780
5781         * gdk/x11/gdkkeys-x11.c: Implement the above functions
5782         
5783         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
5784         and group in the key event
5785
5786         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
5787         field with the low-level hardware key code, and a group
5788         field with the keyboard group
5789
5790         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
5791         and declare a couple globals used for keymap handling
5792         
5793         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
5794         hold down Shift-Control and type a hex number to get a Unicode 
5795         character corresponding to the hex number
5796         (gtk_im_context_simple_get_preedit_string): Fix cursor position
5797         (return bytes not chars)
5798
5799 2000-12-05  Elliot Lee  <sopwith@redhat.com>
5800
5801         * gdk/gdkcolor.h: Make GdkColor specify element sizes
5802         to avoid waste on 64-bit platforms.
5803
5804 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
5805
5806         * INSTALL: Fix link to PNG home, remove reference
5807         to fribidi.
5808
5809         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
5810         
5811         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
5812         tested.)
5813
5814         * gtk/gtkcheckmenuitem.c: Permanently turn on
5815         always_show_toggle.
5816
5817         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
5818         be NULL. (Vladimir Klebanov, #26545)
5819
5820         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
5821         some signed/unsigned comparison problems. (#6510,
5822         David Kaelbling)
5823
5824         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
5825         return type to boolean (Oskar Liljeblad, #18648)
5826
5827 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5828
5829         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
5830         Remove bogus colormap setting.
5831
5832 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5833
5834         * gdk/linux-fb/gdkcolor-fb.c:
5835         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
5836
5837         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
5838         Must set colormap.
5839         
5840 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
5841
5842         * docs/tutorial/gtk-tut.sgml: DND updates
5843
5844 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
5845
5846         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5847         Remove old debug g_warning().
5848         (gdk_fb_draw_drawable): The src argument can be either a wrapper
5849         or an implementation, just pass the implementation to draw_drawable_2.
5850         
5851         * gdk/linux-fb/gdkprivate-fb.h:
5852         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
5853
5854         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5855         clear and invalidate area when window is destroyed.
5856         (send_map_events): Remove old commented out code.
5857
5858 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5859
5860         * gdk/linux-fb/gdkpango-fb.c:
5861         Use italic instead of oblique in font aliases.
5862         
5863         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
5864         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
5865         other unsupported functions.
5866
5867 2000-12-04  Havoc Pennington  <hp@redhat.com>
5868
5869         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
5870
5871         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
5872
5873         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
5874
5875         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
5876         hack to avoid infinite loops (synthetic expose event) - 
5877         Owen has more appropriate fixes in a branch he'll check in later.
5878
5879         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
5880         separator, CR, and CRLF as line ends
5881
5882         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
5883         into lines using pango_find_paragraph_boundary(); other bits of
5884         the widget are still going to be broken if the boundary isn't '\n'
5885         though
5886
5887 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5888
5889         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
5890         multiply.
5891
5892         * gdk/linux-fb/gdkpango-fb.c:
5893         Copied some 26.6 scaling macros from pango to clean up the rounding.
5894         (pango_fb_font_get_glyph_info): Correct sign on x value.
5895
5896         * gdk/linux-fb/gdkprivate-fb.h:
5897         Removed unreferenced external functions.
5898
5899         * modules/linux-fb/Makefile.am: Use ` instead of '.
5900
5901         * modules/linux-fb/basic.c:
5902         Remove dead code. In particular the dummy lang engine which broke all
5903         pango layouts in GtkFB. Don't include tables-big.i anymore.
5904
5905         * modules/linux-fb/tables-big.i:
5906         Upgrade to latest version from pango. Left for reference, basic_ranges
5907         moved to basic.c.
5908         
5909 2000-12-04  Havoc Pennington  <hp@redhat.com>
5910
5911         Fix bugs Alex found:
5912         
5913         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
5914         to "draw"
5915
5916         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
5917
5918         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
5919
5920         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
5921         implementation in here, apparently the expose() implementation was
5922         dead code.
5923
5924 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5925
5926         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5927         Return positive descent.
5928
5929 2000-12-02  Havoc Pennington  <hp@pobox.com>
5930
5931         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
5932         method and signal
5933         
5934         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
5935         calls gdk_window_process_updates() to push the exposes through
5936         (gtk_widget_class_init): No more draw signal, no
5937         gtk_widget_real_draw()  
5938         
5939         * gtk/gtkbin.c (gtk_bin_draw): remove
5940
5941         * gtk/gtkbox.c (gtk_box_draw): remove
5942
5943         * gtk/gtkbutton.c (gtk_button_draw): remove
5944
5945         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
5946
5947         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
5948
5949         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
5950
5951         * gtk/gtkclist.c (gtk_clist_draw): remove
5952
5953         * gtk/gtkentry.c (gtk_entry_draw): remove
5954
5955         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
5956
5957         * gtk/gtkfixed.c (gtk_fixed_draw): remove
5958
5959         * gtk/gtkframe.c (gtk_frame_draw): remove
5960
5961         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
5962
5963         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
5964
5965         * gtk/gtklayout.c (gtk_layout_draw): remove
5966
5967         * gtk/gtklist.c (gtk_list_draw): remove
5968
5969         * gtk/gtklistitem.c (gtk_list_item_draw): remove
5970
5971         * gtk/gtkmenu.c (gtk_menu_draw): remove
5972
5973         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
5974
5975         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
5976
5977         * gtk/gtknotebook.c (gtk_notebook_draw): remove
5978
5979         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
5980
5981         * gtk/gtkpacker.c (gtk_packer_draw): remove
5982
5983         * gtk/gtkrange.c (gtk_range_draw): remove
5984
5985         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
5986
5987         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
5988
5989         * gtk/gtktable.c (gtk_table_draw): remove
5990
5991         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
5992
5993         * gtk/gtktext.c (gtk_text_draw): remove
5994
5995         * gtk/gtktextview.c (gtk_text_view_draw): remove
5996
5997         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
5998
5999         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
6000
6001         * gtk/gtktree.c (gtk_tree_draw): remove
6002
6003         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
6004
6005         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
6006
6007         * gtk/gtkviewport.c (gtk_viewport_draw): remove
6008
6009         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
6010
6011         * gtk/gtkvscale.c (gtk_vscale_draw): remove
6012
6013         * gtk/gtkwindow.c (gtk_window_draw): remove
6014
6015 2000-20-01  Anders Carlsson  <andersca@gnu.org>
6016
6017         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
6018         a GtkToggleButton is both insensitive and active, it was being
6019         drawn by the GtkButton draw handler which doesn't check the
6020         state. Now it's calling gtk_toggle_button_paint instead.
6021         
6022 2000-12-01  Havoc Pennington  <hp@redhat.com>
6023
6024         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
6025         dangling pointers to the appearance attributes from the 
6026         line display
6027
6028         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
6029         width/height to mean "full width/height of drawable"
6030
6031         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
6032         click to select word/line
6033         
6034         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
6035         when getting log attrs. Get a slice, so that pixmaps and stuff
6036         are properly handled.
6037
6038         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
6039         paste into the selection (replaces selection now, previously
6040         crashed or added to selection). Reveals longstanding btree bug -
6041         select multiple lines, middle-click on the selection, boom. This
6042         isn't related to my changes though.
6043
6044         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
6045         PangoLogAttrs changes
6046         (gtk_entry_move_backward_word): ditto
6047
6048         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
6049         functions return bool whether the iter moved onto a
6050         dereferenceable position.
6051  
6052         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
6053         functions for motion in terms of display lines.
6054
6055         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
6056         get the buffer a mark is inside
6057         
6058 2000-12-01  Alexander Larsson  <alexl@redhat.com>
6059
6060         * gdk/linux-fb/Makefile.am:
6061         * modules/linux-fb/Makefile.am:
6062         Freetype 2 final uses freetype-config
6063
6064         * gdk/linux-fb/gdkpango-fb.c:
6065         Upgrade to use Freetype 2 final.
6066         More flexible support for font aliases, this also fixes a bug with
6067         GtkFontSelector, as the aliases must be visible in the font/family list,
6068         or GtkFontSelector reads uninitialized memory.
6069
6070 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
6071
6072         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
6073         XGetIMValues to properly terminate variable argument list, and do
6074         NULL return check for ic_values and xim_styles.
6075
6076         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
6077         Restore preedit state after XmbResetIC().
6078         
6079         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
6080         XvaCreateNestedList() should take XvaNestedList, but not
6081         XvaNestedList*.
6082
6083         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
6084         preedit_draw_callback, preedit_caret_callback): Match
6085         "preedit-changed" signal name to "preedit_changed" to be
6086         consistent to the spec.
6087
6088         * gtk/gtkimcontextsimple.c (check_table):
6089         Match "preedit-changed" to "preedit_changed" to be consistent
6090         to the spec.
6091
6092 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
6093
6094         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
6095         gc->clip_region == NULL>
6096
6097 2000-11-30  Tor Lillqvist  <tml@iki.fi>
6098
6099         Changes by Hans Breuer:
6100         
6101         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
6102         Dont't use negative width and height as max_hints. This fixes
6103         Owen's recent testgtk changes for win32.
6104
6105         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
6106         gdk_win32_hdc_release): These are exported and may be called with
6107         other drawable types than our GdkDrawableImplWin32 (?).
6108
6109         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
6110         so always #define USE_BACKING_STORE.
6111
6112         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
6113         of printf for debugging output.
6114
6115         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
6116         
6117         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
6118
6119         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
6120         declaration.
6121
6122         * gtk/gtktexttypes.h: Ditto.
6123
6124         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
6125         (GDK_VoidSymbol) also if in case of arg check failure.
6126
6127         * gtk/gtkimcontextsimple.c
6128         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
6129         position to the pointer, but to the variable it points to.
6130
6131         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
6132
6133         * gtk/gtk.def: Updates.
6134
6135 2000-11-29  Elliot Lee  <sopwith@redhat.com>
6136
6137         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
6138         GTK_TYPE_TREE_MODEL.
6139
6140 2000-11-29  Alexander Larsson  <alexl@redhat.com>
6141
6142         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
6143         Set the size of the font from the description.
6144         (gdk_text_width): Gross hack that calculates the width
6145         of text by text_length * size/2. This is necessary because
6146         GtkLabel does some ugly gtk_string_width call to calculate
6147         an good size.
6148         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
6149
6150 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
6151
6152         * docs/tutorial/gtk-tut.sgml: DND updates
6153
6154 2000-11-29  Alexander Larsson  <alexl@redhat.com>
6155
6156         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
6157         If you pass width or height == 0 to gdk_window_clear_area they
6158         should be calculated from the window size.
6159
6160 2000-11-29  Alexander Larsson  <alexl@redhat.com>
6161
6162         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
6163         a grab, but no grab-cursor, use the cursor from the grabbed
6164         window. (gdk_fb_window_send_crossing_events): Send normal
6165         enter/leave notifications if grab and owner_events == TRUE.
6166
6167 2000-11-29  Alexander Larsson  <alexl@redhat.com>
6168
6169         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
6170         Do implicit button grabs, even if the window doesn't
6171         want the event.
6172         (gdk_fb_window_send_crossing_events): If there is a
6173         grab, only the grabbed window gets normal enter/leave
6174         notifications. On ungrab go from grabbed window to current.
6175         Don't send any notification to b when propagating from c -> b.
6176         If setting a grab on window, don't set prev_window.
6177         (handle_mouse_input): Send enter/leave events to the window the
6178         mouse is over, not the grabbed one.
6179         
6180 2000-11-28  Elliot Lee  <sopwith@redhat.com>
6181
6182         * gdk/gdkregion-generic.c: Zap warning.
6183         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
6184         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
6185
6186 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
6187
6188         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
6189         The cursor should be hidden if it is part of either the
6190         source or destination region. Not only if it is in both.
6191         (gdk_window_set_transient_for): Silence warnings.
6192
6193 2000-11-28  Alexander Larsson  <alexl@redhat.com>
6194
6195         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
6196         The default mode in X is Pie Arcs, therefore that is
6197         what Gtk+ uses.
6198
6199 2000-11-28  Alexander Larsson  <alexl@redhat.com>
6200
6201         * gdk/linux-fb/gdkinput-ps2.c:
6202         Implement correct EnterNotify/LeaveNotify:
6203         (gdk_fb_window_send_crossing_events): New function that sends
6204         all GdkCrossingEvents from the last mouse-window to the specified
6205         destination.
6206         (gdk_fb_window_visibility_crossing): Removed function.
6207         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
6208         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
6209         instead of gdk_window_get_pointer() for better readability.
6210
6211         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
6212         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
6213
6214         * gdk/linux-fb/gdkprivate-fb.h:
6215         removed gdk_fb_window_visibility_crossing, added
6216         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
6217
6218         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
6219         New function that finds the least common ancestor of two windows.
6220         (gdk_window_show, gdk_window_hide):
6221         Use gdk_fb_window_send_crossing_events.
6222         (gdk_fb_window_move_resize): Send configure events to toplevel
6223         windows. Use gdk_fb_window_send_crossing_events.
6224
6225 2000-11-27  Havoc Pennington  <hp@redhat.com>
6226
6227         * gtk/gtkprivate.h (enum): Remove a trailing comma
6228
6229 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
6230
6231         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
6232         the "changed" callback of the adjustment.  We need to redraw the
6233         spin button's arrows when the adjustment's range changes.
6234         (adjustment_changed_cb): Draw the arrows.
6235         (gtk_spin_button_value_changed): Draw the arrows.
6236
6237 2000-11-23  Alexander Larsson  <alexl@redhat.com>
6238
6239         * gdk/linux-fb/gdkselection-fb.c:
6240         Initial selection implementation.
6241
6242         * gtk/gtkselection.c:
6243         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
6244         requestor in gtk_selection_request.
6245         
6246         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
6247         Added gdk_selection_property atom.
6248
6249         * gdk/linux-fb/gdkprivate-fb.h:
6250         Export _gdk_selection_window_destroyed.
6251         Removed mask_off_x/y from GdkCursorPrivateFB.
6252         Removed hbearing, added top, left to PangoFBGlyphInfo.
6253
6254         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
6255         Call _gdk_selection_window_destroyed
6256         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
6257         the root window has been created.
6258         (static_dx_hack, static_dy_hack, compare_draw_rects,
6259         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
6260         in region. They are already sorted. Instead just traverse them in
6261         reverse if draw_direction < 0.
6262         
6263         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
6264         Double-clicks must be sent after the normal button_press.
6265         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
6266         
6267         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
6268         Pass _gdk_fb_screen_gc instead of NULL.
6269
6270         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
6271         Initialize gdk_selection_property.
6272         (gdk_event_make): Remove unused code.
6273
6274         * gdk/linux-fb/gdkcursor-fb.c:
6275         Make the pixmap for the cursor the same size as the mask. Also remove
6276         the mask_off_x/y fields in GdkCursorPrivateFB and combine
6277         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
6278         Now the whole cursor is visible.
6279
6280         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
6281         Fix bug where xdest+height instead of ydest+height was used
6282         to calculate if the source and dest overlapped. This fixes the
6283         redraw bug when the main window in testgtk was scrolled when
6284         partially covered by a tall window.
6285         Copy rectangles in region in order depending on draw_direction.
6286         Also moved the draw_direction flipping of start_y and end_y into
6287         the gc functions, as this might not be what all of them want.
6288         (gdk_fb_draw_lines): Support dashed lines.
6289         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
6290         so that the text is positioned correctly (was 1 pixel high).
6291
6292         gdk/linux-fb/gdkgc-fb.c:
6293         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
6294         all lines were drawn a pixel to short. Also checked the default of
6295         the rest of the values, and they're the same as X now.
6296
6297         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
6298         Clean up pixel positioning of the glyphs. Just use bgy->top and
6299         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
6300         to all divisions to get correct rounding behaviour.
6301
6302         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
6303         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
6304         Moved start_y/end_y flip into draw_drawable implementations.
6305         Flip also x rendering when draw_direction < 0.
6306         Remove unneccesary multiply with draw_direction.
6307
6308 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
6309
6310         * docs/tutorial/gtk-tut.sgml:
6311           - get rid of gtk_toggle_button_toggled FUD
6312           - start DND section - needs work - based on:
6313                 http://wolfpack.twu.net/docs/gtkdnd/
6314
6315 2000-11-22  Alexander Larsson  <alexl@redhat.com>
6316
6317         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
6318         Correct calculation of font metrics. Now GtkEntrys have sane
6319         size.
6320
6321 2000-11-22  Alexander Larsson  <alexl@redhat.com>
6322
6323         * gdk/gdktypes.h:
6324         Add new type GdkSpan
6325         
6326         * docs/reference/gdk/gdk-sections.txt,
6327         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
6328         gdk/gdkregion.h:
6329         Implement and document gdk_region_spans_intersect_foreach.
6330
6331         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
6332         Add new file gdkrender-fb.c which contains all core
6333         rendering code.
6334         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
6335         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
6336         (optimized rectangle fillers).
6337
6338         * gdk/linux-fb/gdkdrawable-fb2.c:
6339         Move all rendering code to gdkrender-fb.c.
6340         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
6341         Use the new span intersection functions in gdk_fb_fill_spans.
6342         gdk_fb_draw_rectangle() clips filled rectangles and calls
6343         gc->fill_rectangle with the result.
6344         gdk_fb_fill_spans() gets extra argument "sorted".
6345
6346         * gdk/linux-fb/gdkevents-fb.c:
6347         Remove unused includes and defines.
6348         New function gdk_fb_get_time() to get correct time for events.
6349
6350         * gdk/linux-fb/gdkinput-ps2.c:
6351         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
6352         Make sure to set the time of all events.
6353
6354         * gdk/linux-fb/gdkmain-fb.c:
6355         Use gdk_fb_get_time ().
6356
6357         * gdk/linux-fb/gdkprivate-fb.h:
6358         New virtual GC calls: fill_span & fill_rectangle.
6359         Export gdk_fb_get_time().
6360         gdk_fb_fill_spans() gets extra argument "sorted".
6361
6362         * gdk/linux-fb/mi*.c:
6363         Use GdkSpan instead of GdkRectangle.
6364         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
6365         from XFree 4 source)
6366         
6367 2000-11-22    <jrb@redhat.com>
6368
6369         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
6370         reversing the order in an if statement will do.  Doing so managed
6371         to make the treemodelsort half work.  Other half will follow after
6372         I get the insert function fully fixed.
6373
6374 2000-11-21  Elliot Lee  <sopwith@redhat.com>
6375         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
6376         more than 2 bits. Besides, I need to implement an evil hack. :)
6377
6378 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
6379
6380         * docs/tutorial/gtk-tut.sgml: minor corrections
6381
6382 2000-11-20  Jonathan Blandford <jrb@redhat.com>
6383         * gtk/gtktreemodelsort.h: Add convertion functions to let you
6384           convert to and from relative path's and iters.
6385
6386         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
6387           testing sorting functions a bit better.  Currently broken -- will
6388           fix in morning.
6389
6390 2000-11-20  Havoc Pennington  <hp@redhat.com>
6391
6392         * gtk/gtkwidget.c: Documented a bunch of functions in here
6393         (gtk_widget_realize): Warn if you try to realize
6394         a widget with no parent that isn't a toplevel
6395         (gtk_widget_intersect): return a gboolean
6396
6397 2000-11-20  Havoc Pennington  <hp@redhat.com>
6398
6399         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
6400         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
6401         scrolling to be implemented in GDK to finish. Also, right now
6402         we just size_allocate all children on every layout change,
6403         which is pretty lame. Test commented out of testtext.c, 
6404         until it works better.
6405
6406 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
6407
6408         * gdk/linux-fb/gdkdrawable-fb2.c:
6409         Removed unused arguments from gdk_fb_drawable_get_pixel().
6410
6411         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
6412         Renamed fidur specific mouse packet data in MouseDevice to
6413         generic. Used it in ps2 mouse handling code to avoid blocking
6414         reads.
6415
6416 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
6417
6418         * demos/gtk-demo/main.c: Changed to have the list become
6419         non-italic when the demo window is destroyed through an external
6420         event (like a close button).  Doing so found three bugs in the
6421         widget.
6422
6423         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
6424
6425         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
6426         we actually set the cell.
6427
6428         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
6429
6430         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
6431         free a leaked path.  Thanks memprof.
6432
6433 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
6434
6435         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
6436         off-by-one error when destroying allocated segments
6437         on failure. (Elliot)
6438
6439 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
6440
6441         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
6442         memleaks found by Evan Martin.
6443
6444 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
6445
6446         * Released 1.3.2
6447         
6448         * NEWS: Updates for 1.3.2
6449
6450 2000-11-17  Tor Lillqvist  <tml@iki.fi>
6451
6452         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
6453         but in general for window system specific events.
6454
6455         * gtk/gtk.def
6456         * gtk/makefile.mingw.in
6457         * gtk/makefile.msc.in: Update.
6458         
6459         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
6460
6461 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
6462
6463         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
6464         distribute gtk.immodules.
6465
6466         * gtk/Makefile.am (install-data-local): Don't install the
6467         gtk.immodules file created for the uninstalled modules;
6468         instead run gtk-query-immodules after install
6469
6470 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
6471
6472         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
6473         -rpath to the right install location.
6474
6475         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
6476         -export-dynamic.
6477
6478         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
6479         properly.
6480
6481 2000-11-15  Havoc Pennington  <hp@pobox.com>
6482
6483         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
6484         patch from Mikael Hermansson to temporarily stop blinking while
6485         the user is using the keyboard to type or navigate. 
6486
6487         Also, when blinking, stay on for longer than we stay off. Also,
6488         return from start_cursor_blink if !cursor_visible, to save
6489         checking that flag all over the place before we call
6490         start_cursor_blink.
6491
6492 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
6493
6494         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
6495         only contain a "fontset" line, which is now ignored.
6496
6497         * gtk/gtkentry.c (gtk_entry_button_release): Make 
6498         double-click-to-select-word work.
6499         
6500 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
6501
6502         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
6503         Don't move back one char when we are actually at the end of the 
6504         paragraph.
6505
6506 2000-11-15  Robert Brady  <robert@suse.co.uk>
6507
6508         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
6509         'o' < 'p'.
6510         
6511         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
6512         bind_textdomain_codeset.
6513
6514         (gtk_init_check): Make the warning about translating default:LTR
6515         sterner.
6516         
6517 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
6518
6519         * **/Makefile.am : remove unecessary rules for win32-specific
6520         config-substituted targets. If you want these rules, use
6521         --enable-maintainer-mode (called automatically by autogen.sh).
6522         Stops a lot of unneccessary make-time warnings.
6523
6524         * gtk/gtktext{layout,display}.c: Factor in total width as
6525         well as screen when figuring alignment for word-wrap as well as
6526         no wrap; this is necessary to handle lines that cannot be wrapped
6527         at all.
6528
6529 2000-11-15  Havoc Pennington  <hp@redhat.com>
6530
6531         * gtk/testtext.c: Implement essential color cycling feature
6532
6533 2000-11-15  Havoc Pennington  <hp@redhat.com>
6534
6535         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
6536         when we invalidate the main window.
6537
6538         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
6539         GtkTextView will now invalidate the side windows for us when text
6540         changes.
6541
6542 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
6543
6544         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
6545         unconditionally, since we may need to update the horizontal
6546         scrollbars even if the height didn't change.
6547
6548         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
6549         the extra attrs, since some of them affect size.
6550
6551         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
6552         x_offset correctly.
6553
6554 2000-11-15  Havoc Pennington  <hp@redhat.com>
6555
6556         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
6557         don't move the first line out into the margin, instead move the
6558         whole paragraph in order to make space for the first line within 
6559         the margin
6560
6561 2000-11-15  Havoc Pennington  <hp@redhat.com>
6562
6563         * gtk/gtktextview.c (changed_handler): offset redraw rect by
6564         xoffset in addition to yoffset, so horizontal scrolling doesn't
6565         break redraws
6566
6567 2000-11-15  Havoc Pennington  <hp@redhat.com>
6568
6569         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
6570         from the cursor
6571         (render_layout_line): fix reversed test that caused weird
6572         underlines to get drawn
6573
6574 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
6575
6576         * gdk/linux-fb/gdkprivate-fb.h:
6577         Fix debug macros.
6578         
6579 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
6580
6581         * gdk/linux-fb/gdkprivate-fb.h:
6582         Added virtual functions set_pixel, get_color,
6583         fill_span and draw_drawable to the GC.
6584         Added global _gdk_fb_screen_gc to use instead of
6585         NULL when drawing to the screen.
6586         Added _gdk_fb_gc_calc_state() prototype.
6587
6588         * gdk/linux-fb/gdkgc-fb.c:
6589         Call _gdk_fb_gc_calc_state() on any gc state change.
6590
6591         * gdk/linux-fb/gdkglobals-fb.c:
6592         Add _gdk_fb_screen_gc
6593                 
6594         * gdk/linux-fb/gdkdrawable-fb2.c:
6595         _gdk_fb_gc_calc_state() calculates best functions
6596         for the GC state and depth.
6597         Moved bpp specialized code to separate functions.
6598         Added optimized 24 bpp AA draw_drawable.
6599
6600         * gdk/linux-fb/gdkevents-fb.c:
6601         Silence gcc warning.
6602
6603         * gdk/linux-fb/gdkimage-fb.c:
6604         Use _gdk_fb_screen_gc
6605
6606         * gdk/linux-fb/gdkwindow-fb.c:
6607         Init and use _gdk_fb_screen_gc
6608
6609         * gdk/linux-fb/mitypes.h:
6610         Remove unused types.
6611
6612 2000-11-14  Havoc Pennington  <hp@pobox.com>
6613
6614         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
6615         to pixels
6616
6617 2000-11-14  Havoc Pennington  <hp@pobox.com>
6618
6619         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
6620
6621         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
6622         unknown char, no real reason we were using a variable. 
6623         Remove gtk_text_unknown_char variable. Fix all the text widget
6624         files accordingly.
6625
6626         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
6627         since the Unicode spec seems to prefer that character for our
6628         purposes.
6629
6630 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
6631
6632         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
6633         value of g_getenv() isn't freeable, so g_strdup it.
6634
6635         * modules/input/inuktitut.c: Inuktitut input method.
6636
6637         * modules/input/Makefile.am: Build this.
6638         
6639 2000-11-14  Elliot Lee  <sopwith@redhat.com>
6640
6641         * gtk/Makefile.am: Install gtk.immodules, needed for operation
6642         of gtk programs.
6643
6644 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
6645
6646         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
6647         reversed > that was causing Home to go to end of previous line.
6648
6649         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
6650         modified-keypresses (leave for bindings.)
6651
6652         * modules/input/Makefile.am: Remove useless -export-dynamic
6653         from module LDFLAGS.
6654
6655 2000-11-14  Havoc Pennington  <hp@redhat.com>
6656
6657         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
6658         higher.
6659
6660         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
6661         account. Also, render rise, underline, background, etc. for
6662         pixbufs as well as text. Also, draw underlines one pixel higher.
6663
6664         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
6665         PangoAttribute for the rise, so it gets drawn properly. Also,
6666         add the GtkTextAppearance attribute for pixbuf/widget segments
6667         as well; we should go ahead and have rise, underline, background,
6668         stipple work for those
6669
6670         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
6671         Pango
6672
6673 2000-11-15  Tor Lillqvist  <tml@iki.fi>
6674
6675         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
6676
6677         * gtk/gtk.def: Update.
6678
6679         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
6680         included.
6681         (gtk_rc_get_im_module_file): Use run-time installation directory
6682         on Win32.
6683
6684         * gdk/win32/rc/gdk.rc: Remove.
6685         * gdk/win32/rc/gdk.rc.in: New file.
6686         * gdk/win32/rc/Makefile.am: New file
6687         * gdk/win32/Makefile.am: Corresponding changes.
6688
6689         * gtk/gtk.rc: Remove.
6690         * gtk/gtk-win32.rc.in: New file.
6691         * gtk/Makefile.am: Corresponding changes.
6692
6693         * configure.in: Corresponding changes.
6694
6695         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
6696         has a built gtkcompat.h. Developers using CVS code on Win32 can
6697         hand-edit it from gtkcompat.h.in.
6698
6699         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
6700         gtkcompat.h from gtkcompat.h.win32.
6701
6702 2000-11-14  Havoc Pennington  <hp@redhat.com>
6703
6704         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
6705         to default to GDK_ACTION_MOVE if the drag is within a single
6706         widget. Defaults to GDK_ACTION_COPY between widgets.
6707
6708 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
6709
6710         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
6711
6712         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
6713
6714         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
6715         srcdir != builddir
6716
6717         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
6718
6719         * configure.in (GTK_VERSION): Up to 1.3.2
6720
6721         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
6722         gtkimcontextxim.h
6723
6724         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
6725         missing doc comment.
6726
6727 2000-11-14  Alexander Larsson  <alexl@redhat.com>
6728
6729         * modules/linux-fb/basic.c:
6730         Use the glib iconv wrappers.
6731
6732 2000-11-13  Havoc Pennington  <hp@pobox.com>
6733
6734         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
6735         still more bugs.
6736
6737         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
6738         scroll the GdkWindows before realization.
6739
6740 2000-11-13  Havoc Pennington  <hp@redhat.com>
6741
6742         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
6743         where GC didn't always get updated properly
6744
6745         * demos/gtk-demo/textview.c (create_tags): Use subattributes
6746         of fonts instead of setting the entire font
6747
6748         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
6749         setting entire font
6750
6751         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
6752
6753         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
6754         a bunch of individually-settable font attributes. You can still 
6755         use the "font" and "font_desc" args, they just set all the font
6756         attributes at once.
6757
6758 2000-11-13 Elliot Lee <sopwith@redhat.com>
6759
6760         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
6761
6762 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
6763
6764         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
6765         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
6766
6767         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
6768         work better.
6769
6770 2000-11-13  Havoc Pennington  <hp@redhat.com>
6771
6772         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
6773         the module file.
6774
6775         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
6776         dest->language
6777
6778         * gtk/testtext.c: Test pixels above/below/inside paragraphs
6779         settings
6780
6781         * gtk/gtktextview.c: Implement object args and setters/getters for
6782         all the aspects of the GtkTextAttributes that are not set from
6783         GtkWidget attributes. This is spacing, justification, margins,
6784         etc.
6785
6786         (gtk_text_view_set_arg)
6787         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
6788         args
6789         (gtk_text_view_class_init): Add args for justify, left_margin,
6790         right_margin, indent, and tabs
6791         
6792
6793         * gtk/gtktextlayout.c (set_para_values): fix to display indent
6794         attribute properly
6795
6796         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
6797         replace with indent attribute
6798
6799         * gtk/gtktextlayout.c (set_para_values): multiply indent by
6800         PANGO_SCALE
6801
6802         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
6803         rearranging code to do that
6804         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
6805         i.e. don't subtract the top_margin first, just to keep
6806         all margin-futzing in one place.
6807
6808         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
6809
6810         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
6811         special case of last line, Pango now handles this itself.
6812         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
6813         Y coordinate
6814         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
6815         (find_display_line_above): wasn't moving the byte index as it
6816         iterated over lines, so always returned byte 0. Also, port to use
6817         PangoLayoutIter.
6818         (find_display_line_below): same problem as
6819         find_display_line_above. Also, port to use PangoLayoutIter.
6820
6821 2000-11-13  Alexander Larsson  <alexl@redhat.com>
6822
6823         * gdk/linux-fb/*.[ch]:
6824         Massive reindent to gtk+ standard. My hands hurt.
6825
6826         * gdk/linux-fb/gdkcolor-fb.c:
6827         Move GdkColorPrivateFB from inherited to windowing_data
6828
6829         * gdk/linux-fb/gdkcursor-fb.c:
6830         _gdk_cursor_new_from_pixmap made static
6831
6832         * gdk/linux-fb/gdkdnd-fb.c:
6833         GdkDragContextPrivate moved to windowing_data
6834
6835         * gdk/linux-fb/gdkdrawable-fb2.c:
6836         Removed endian.h, use glib endianness macros instead
6837         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
6838         and GDK_DRAWABLE_IMPL_FBDATA
6839
6840         * gdk/linux-fb/gdkfont-fb.c:
6841         Add empty gdk_font_load(). Needed for linking of Gtk+.
6842
6843         * gdk/linux-fb/gdkimage-fb.c:
6844         Removed endian.h, use glib endianness macros instead
6845         Moved GdkImagePrivateFB to windowing_data
6846         gdk_image_new_bitmap didn't always allocate enough
6847         memory.
6848
6849         * gdk/linux-fb/gdkinput-ps2.c:
6850         Added semi-working support for MS serial mice.
6851
6852         * gdk/linux-fb/gdkprivate-fb.h:
6853         s/GdkWindowPrivate/GdkWindowObject/
6854         Removed GdkWindowPrivate typedef
6855         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
6856         Removed GDK_DRAWABLE_P
6857         Move GdkColorPrivateFB from inherited to windowing_data
6858         Moved GdkImagePrivateFB to windowing_data
6859
6860         * gdk/linux-fb/gdkvisual-fb.c:
6861         Removed some unused debug code.
6862
6863         * gdk/linux-fb/gdkwindow-fb.c:
6864         Use stock cursors instead of including X headers.
6865         s/GdkWindowPrivate/GdkWindowObject/
6866
6867         * gdk/linux-fb/mitypes.h:
6868         Removed unused types.
6869
6870         * modules/linux-fb/basic.c:
6871         Use the pango fribidi wrappers.
6872
6873 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6874
6875         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
6876         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
6877         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
6878         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
6879         GEqualFunc where applicable.
6880         
6881         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
6882         pango_font_description_equal as changed in pango.
6883         
6884         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
6885
6886         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
6887
6888         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
6889
6890         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
6891
6892         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
6893
6894         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
6895
6896         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
6897         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
6898
6899         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
6900         gtk_rc_styles_compare -> gtk_rc_styles_equal.
6901
6902 2000-11-12  Havoc Pennington  <hp@pobox.com>
6903
6904         * demos/gtk-demo/Makefile.am (democodedir): change demo install
6905         dir to datadir/gtk+-2.0/demo
6906
6907         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
6908         sorts of text widget and Pango font bugs. Urgh.
6909
6910         * demos/gtk-demo/Makefile.am (demos): Add textview.c
6911
6912         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
6913         tree that you should double click to see the demo. Fix 
6914         types of variables to reflect changed return values from 
6915         GtkTreeStore and GtkTreeViewColumn constructors.
6916
6917         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
6918         newly-created buffer to prepare for GObject semantics
6919
6920         * gtk/testtext.c: don't leak the buffer with GObject semantics
6921
6922         * gtk/testtextbuffer.c: ditto
6923         
6924 2000-11-12  Havoc Pennington  <hp@pobox.com>
6925
6926         Rename this testgtk to gtk-demo to avoid confusion, and 
6927         install it so people can use it as a supplement to 
6928         the documentation.
6929         
6930         * demos/gtk-demo: Moved from demos/testgtk
6931
6932         * demos/testgtk: Removed
6933
6934         * configure.in: make Makefile in gtk-demo
6935         
6936         * demos/gtk-demo/Makefile.am: Install sample source to 
6937         datadir/gtk-demo (maybe there's a better place?), and 
6938         rename the binary to gtk-demo
6939         
6940         * demos/gtk-demo/main.c (load_file): Load installed sample
6941         source if source isn't found in pwd.
6942
6943 2000-11-09  Havoc Pennington  <hp@pobox.com>
6944
6945         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
6946         argument to set the char displayed when visibility == FALSE
6947         (gtk_entry_create_layout): If !entry->visible, replace 
6948         all chars with the "invisible char"
6949
6950         * gtk/testgtk.c: Test the invisible_char deal
6951         
6952 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
6953
6954         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
6955         can't get a native font in the right encoding.
6956
6957 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
6958
6959         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
6960         respectively.
6961
6962 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
6963
6964         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
6965         Fix warning when moving between paragraphs.
6966
6967         * gtk/gtkentry.[ch]: Change move => move_cursor, 
6968         delete => delete_from_cursor, insert => insert_at_cursor
6969
6970 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
6971
6972         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
6973
6974         * modules/input/imthai-broken.c: A Thai input method for use if
6975         Thai keys are really generating Latin1 keysyms.
6976
6977         * modules/input/Makefile.am: Build these.
6978
6979 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
6980
6981         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
6982         g_filename_{to,from}_utf8 now takes an extra parameter.
6983
6984         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
6985         strftime into UTF-8.
6986
6987         (column_from_x, gtk_calendar_paint_day_names): Support RTL
6988         calendars.
6989
6990         (gtk_calendar_paint_day_names): Draw day names in the right 
6991         place.
6992         
6993 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
6994
6995         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
6996         problem with using result of g_get_charset() backwards -
6997         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
6998
6999         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
7000         negative min_width/height and max_width/height to
7001         mean "requisition"; this allows setting a window
7002         to be user-resizable in only one direction easily.
7003
7004         * gtk/testgtk.c (create_main_window): Remove hard-coded
7005         usize - set a default size in the vertical direction.
7006
7007 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
7008
7009         * gtk/gtkrange.c: Add some missing casts. Support 
7010         2 and 3 button clicks on the arrows to mean 
7011         "move by pages" and "jump to end". (Like gtkspinbutton)
7012
7013 2000-11-12 Hans Breuer <Hans@Breuer.Org>
7014
7015         * gdk/win32/makefile.msc : reflect build module changes
7016
7017         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
7018         from GdkPixmap*, cast implementation member instead.
7019
7020         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
7021         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
7022         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
7023         more Gdi functions return value checking. 
7024         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
7025         GdkImagePrivateWin32 *.
7026
7027         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
7028         menus useable again. Add #pragma message to keep reminded on this issue.
7029         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
7030         windows. This allows to enable backing store on Win32!
7031
7032         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
7033         in drawable is of impl type. Correct specific type checks appropriate.
7034  
7035         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
7036         GDK_WINDOW_DESTROYED before allocating new resources.
7037
7038         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
7039
7040         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
7041         (gdk_window_foreign_new) initialize parent handle.
7042         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
7043
7044         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
7045         Let the GDI invalidate the window on MoveWindow call to fix scrolling
7046         problems (e.g. main buttons in testgtk). 
7047
7048 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
7049
7050         * gtk/gtkentry.c (gtk_entry_key_press): Call 
7051         gtk_widget_activate for GDK_Return.
7052
7053         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
7054         of preedit cursor position.
7055
7056 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
7057
7058         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
7059         static.
7060
7061 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
7062
7063         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
7064         out support for multiple locales; that simple doesn't
7065         work reliably with current Xlib
7066
7067         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
7068         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
7069         Add support for positioning the cursor within the preedit string.
7070
7071 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
7072
7073         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
7074         at XIM input method module.
7075
7076         * gtk/gtktextview.c: Check for bindings after passing
7077         events to im context filter.
7078
7079 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
7080
7081         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
7082         empty attribute lists properly.
7083
7084 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
7085
7086         * gtk/queryimmodules.c (main): Return non-zero exit
7087         status if errors were encountered querying any
7088         modules.
7089
7090         * modules/input/Makefile.am (moduledir): remove
7091         leftover bin program target.
7092
7093         * docs/make-todo: Fix typo in error message.
7094
7095 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
7096
7097         * configure.in: Add modules/input/Makefile
7098
7099 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
7100
7101         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
7102         don't include gtkthemes.h.
7103
7104         * gtk/testgtk.c gtk/testtext.c: Set environment variables
7105         to point
7106
7107         * gtk/Makefile.am: Add new .c and .h files, build 
7108         gtk-query-immodules and use it to create a gtk.immodules
7109         file for use of test programs.
7110
7111         * gtk/gtkpreview.c: remove extra blank line.
7112
7113 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
7114
7115         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
7116         Add the ability to add extra tables beyond the default
7117         one, and also the ability to have compose sequences 
7118         that are prefixes of other compose sequences. 
7119
7120         * gtk/gtkimcontextsimple.c: Export a preedit string which
7121         consists of possible candidates for keystrokes that have
7122         been entered but not yet committed.
7123
7124         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
7125         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
7126
7127         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
7128         Add a function to add input-method switching menu items
7129         to a menu.
7130
7131         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
7132         when switching input methods.
7133
7134         * gtk/gtkimcontextsimple.[ch]: Change the format of
7135         the compose table to allow compose tables of different
7136         lengths / sequence.
7137
7138 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
7139
7140         * gtk/gtkimmodule.[ch]: Support routines for loading
7141         GtkIMContext implementations dynamically at runtime.
7142
7143         * modules/input/imcyrillic-translit.c: A sample input
7144         method (based on GtkIMContextSimple with an extra table),
7145         which demonstrates preedit strings and the module
7146         system for input modules
7147
7148         * gtk/queryimmodules.c: Program to query the available
7149         input modules and write the results into a file.
7150          
7151         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
7152         extra config options "im_module_file" (cache file for
7153         input method modules), and "im_module_path" - path
7154         to look for modules when generating cache file.
7155
7156         This doesn't scale.
7157
7158 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
7159
7160         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
7161         generic code from gtkthemes into a new abstraction
7162         GtkModule which has the logic for implementing
7163         a loadable module which implements a number of 
7164         GObject types.
7165
7166 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
7167
7168         * gtk/gtkeditable.[ch]: Convert GtkEditable from
7169         a class into an interface  
7170         
7171         * gtk/gtkoldeditable.[ch]: Move the old editable
7172         implementation into here, so legacy widgets can
7173         still rely on the implemenation. GtkOldEditable
7174         exports GtkEditable. Make selection handling
7175         code use new text conversion functions (and
7176         handle UTF-8 as a side-effect). Use GtkClipboard
7177         for CLIPBOARD.
7178
7179         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
7180         Adopt to match above changes.
7181
7182         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
7183         avoid GtkOldEditable implementation. Restructure
7184         to reduce number of places that modify state directly.
7185         Move to GtkBindingSet. Display the preedit string.
7186         Queue recomputation of PangoLayout and scroll position
7187         to improve effiency of doing complex changes naively.
7188         Add a menu with cut/copy/paste and input method selection.
7189
7190 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
7191
7192         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
7193         to set preedit string and attributes; display preedit string by
7194         inserting string and attributes at cursor when creating the
7195         GtkTextLineDisplay.
7196
7197         * gtk/gtktextlayout.c: Move all conversions between byte
7198         positions in PangoLayout and GtkTextIter into new functions
7199         line_display_iter_to_index/index_to_iter that properly
7200         handle the preedit string.
7201
7202         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
7203         it to return const char * (eventually will end up
7204         as GCONST char *, most likely.)
7205
7206         * gtk/gtktextview.[ch]: Handle the preedit string, call
7207         gtk_im_context_reset() as necessary, add a menu to switch
7208         input methods.
7209         
7210         * gtk/gtktextlayout.[ch]: Remove useless
7211         gtk_text_layout_get_log_attrs() function.
7212
7213 2000-11-11  Tor Lillqvist  <tml@iki.fi>
7214
7215         * gdk/gdk.def
7216         * gtk/gtk.def: Update.
7217
7218         * gdk/win32/*.c: Add last argument to g_type_register_static()
7219         calls.
7220
7221         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
7222
7223         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
7224         generated by older wheel mouse drivers. Get the correct y
7225         coordinate from WM_MOUSEWHEEL messages.
7226
7227         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
7228         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
7229         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
7230         Debugging functions.
7231
7232         * gdk/win32/gdkprivate-win32.h: Declare them.
7233
7234         * gdk/win32/gdkinput-win32.h: Add declaration for
7235         gdk_input_window_destroy().
7236
7237         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
7238
7239 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
7240
7241         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
7242         function to help handle keeping things in sync.
7243
7244 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
7245
7246         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
7247         BOXED marshallers.
7248
7249         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
7250         (gtk_list_store_class_init): use the new BOXED marshallers.
7251
7252         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
7253         new_with_values to new_with_types.
7254         (gtk_tree_store_get_column_type): add this.
7255         (gtk_tree_store_class_init): use the new BOXED marshallers.
7256
7257         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
7258         mirror some POINTER marshallers.
7259
7260 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
7261
7262         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
7263         allow more interesting iterators.  Also, made the lifecycle of
7264         iterators more explicit.
7265
7266         * gtk/gtktreemodelsort.[ch]: New model for sorting.
7267
7268         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
7269         types.
7270
7271 2000-11-09  Alexander Larsson  <alexl@redhat.com>
7272
7273         * demos/testgtk/menus.c:
7274         Changes to make the new testgtk compile after
7275         gtk_menu_append was removed.
7276
7277         * gdk/linux-fb/gdkdrawable-fb2.c
7278         (gdk_fb_get_depth, gdk_fb_get_visual,
7279         gdk_drawable_impl_fb_class_init): Implement
7280         these drawable functions. Now GtkImages work again.
7281
7282         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
7283
7284         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
7285         
7286         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
7287         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
7288         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
7289         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
7290
7291 2000-11-08  Havoc Pennington  <hp@pobox.com>
7292
7293         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
7294         visible_set args, don't know where these had gone, I thought they
7295         used to be there
7296
7297         * gtk/testtext.c: Add a menu item to apply invisibility tag;
7298         now we can test the feature and see that it's totally broken.
7299
7300 2000-11-08  Havoc Pennington  <hp@pobox.com>
7301
7302         Make DND copy pixbufs and tags when source and target share a 
7303         tag table.
7304         
7305         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
7306         in-process GTK_TEXT_BUFFER_CONTENTS target
7307         (gtk_text_view_drag_data_received): Paste from
7308         GTK_TEXT_BUFFER_CONTENTS if we receive it.
7309
7310 2000-11-08  Alexander Larsson  <alexl@redhat.com>
7311
7312         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
7313         API changes.
7314
7315         * gtk/gtkmenu.c: Add support for scrolling menus.
7316         Remove gtk_menu_append/prepend/insert, these have been moved to
7317         gtkcompat.h as #defines.
7318
7319         * gtk/gtkcompat.h.in:
7320         Add compatibility #defines for gtk_menu_append/prepend/insert
7321
7322         * gtk/gtkmenu.h: Add data needed for scrolling menus.
7323         GtkMenuPositionFunc gets an extra argument push_in.
7324         gtk_menu_append/prepend/insert removed.
7325         
7326         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
7327         positioning behaviour to fit to scrolling menus.
7328
7329         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
7330         into menuitem->submeny. That is wrong, and broke torn
7331         off submenus of torn off menus, since they were unrealized
7332         when the first menu was unrealized.
7333
7334         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
7335         gtk_menu_shell_select_item() since these need to be overridden in
7336         GtkMenu.
7337
7338         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
7339         positioning behaviour to fit to scrolling menus.
7340         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
7341         the current item so that it is prelighted when the menu pops up.
7342         This is a workaround to the fact that the menu doesn't get the
7343         initial enter event (due to grabs).
7344
7345         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
7346         s/gtk_menu_append/gtk_menu_shell_append/
7347
7348         * gtk/gtknotebook.c:
7349         s/gtk_menu_insert/gtk_menu_shell_insert/
7350
7351         * gtk/testgtk.c (create_menu, create_menus):
7352         Create the first menu with 50 items so that menu scrolling
7353         can be tested.
7354         
7355         
7356         Patch from Jonathan Blandford  <jrb@redhat.com>
7357
7358         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
7359         system to handle size requests.  First, we ask what the size of
7360         the toggle is.  Then, when allocating the size, we allocate the
7361         toggle_size first.  This way we can have multiple menu-item
7362         classes w/o needing a seperate class for each.
7363
7364         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
7365         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
7366
7367         * gtk/gtkcheckmenuitem.c
7368         (gtk_check_menu_item_toggle_size_request): New function to handle
7369         the toggle size-request.
7370
7371 2000-11-07  Havoc Pennington  <hp@redhat.com>
7372
7373         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
7374         Half-ass somewhat fix this function, so that scrolling to the
7375         insertion point works. Pango hacking is in the future to really
7376         fix it.
7377
7378         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
7379         length of data, no longer used.
7380
7381         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
7382         method contents in here, get rid of destroy method
7383         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
7384         that were backward. Remove debug spew.
7385         (cut_or_copy): Make the clipboard work with insert_range to
7386         preserve tags and pixbufs, not just the primary selection.
7387
7388 2000-11-07  Havoc Pennington  <hp@redhat.com>
7389
7390         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
7391         to gtk_text_mark_get_visible
7392
7393         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
7394         bug that was generating an invalid iterator
7395
7396         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
7397         ensure_char_offsets() in front of code placing the iter in an
7398         invalid state.
7399
7400         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
7401         make override_location arg const
7402         (paste): Replace the selection if we paste into the 
7403         current selection
7404
7405         * gtk/gtkselection.h: Remove "GtkSelectioData"
7406         (struct _GtkSelectionData): move the definition here.
7407
7408         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
7409         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
7410
7411         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
7412
7413         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
7414         (gtk_text_buffer_insert_range_interactive): implement
7415         (gtk_text_buffer_get_tags): Remove, replaced by
7416         gtk_text_iter_get_tags()
7417
7418         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
7419         limit parameter, to avoid infinite linear scan.
7420         (gtk_text_iter_backward_search): Add search limit
7421         (gtk_text_iter_forward_find_char): Add search limit
7422         (gtk_text_iter_backward_find_char): Add search limit
7423
7424 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
7425
7426         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
7427         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
7428         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
7429         gdk/linux-fb/gdkwindow-fb.c:
7430         use g_object_new() instead of g_type_create_instance() which
7431         is a private function for fundamental type implementations.
7432
7433         * gdk/linux-fb/gdkinput-ps2.c:
7434         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
7435         instead just store the current modifier state. Add a (somewhat broken)
7436         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
7437         Rename exported function gdk_input_ps2_get_mouseinfo to
7438         gdk_input_get_mouseinfo.
7439
7440         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
7441         gdk/linux-fb/gdkwindow-fb.c:
7442         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
7443         
7444
7445 2000-11-02  Havoc Pennington  <hp@redhat.com>
7446
7447         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
7448         use stock buttons. Should be 100% source compatible, appropriate
7449         filesel fields now point to dialog->vbox and dialog->action_area.
7450         On the bizarre side, dialog->action_area and filesel->action_area
7451         are not the same widget.
7452         (gtk_file_selection_init): Put some padding around the selection
7453         entry, so it isn't touching the GtkDialog separator.    
7454
7455         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
7456         use stock buttons, etc. Should also be source compatible.
7457         Set the dialog default title in _init not _new().
7458         
7459         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
7460         Use stock buttons; don't put a button box inside the existing
7461         dialog button box. Don't bother with push/pop colormap anymore.
7462
7463         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
7464         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
7465         for message dialog, and necessary for the font selection and color
7466         selection with help and apply buttons.
7467         
7468         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
7469         to the created button widget. Set GTK_CAN_DEFAULT on the button.
7470         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
7471         between buttons, put less padding around the action area.
7472         (gtk_dialog_run): Exit on unmap rather than on destroy. 
7473         This will also exit the loop if the widget is hidden.
7474         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
7475         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
7476         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
7477         special-case delete event.
7478
7479         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
7480         formatting
7481         
7482 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
7483
7484         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
7485         button to temporarily disable position recording in the
7486         "saved position" test.
7487
7488 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
7489
7490         * gtk/gtkthemes.c: added compat code that temporarily implements
7491         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
7492         going to be revamped by owen's upcoming GtkModule patches, but
7493         untill then people want gtk to build, right? ;)
7494
7495 2000-11-04  Havoc Pennington  <hp@pobox.com>
7496
7497         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
7498         list
7499
7500         * docs/Changes-2.0.txt: Add note about
7501         gtk_container_get_toplevels()
7502
7503         * gtk/gtktextview.h: formatting
7504         
7505         * gtk/gtktextview.c: don't start descriptions with "Returns",
7506         confuses gtk-doc
7507
7508 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
7509
7510         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
7511         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
7512
7513 2000-11-03  Havoc Pennington  <hp@redhat.com>
7514
7515         * gtk/gtktexttagtable.c: Docs
7516         (gtk_text_tag_table_size): return a signed int
7517
7518         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
7519         (gtk_text_tag_event): make the event_object a GObject
7520
7521         * gtk/gtktextview.c: Write API docs for all functions.
7522
7523         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
7524         for gtk_text_view_get_window_type() called on one of the private
7525         windows.
7526
7527         * gtk/gtktextview.c: Instead of accessing text_view->buffer
7528         directly, call get_buffer() which demand-creates a default
7529         buffer. So gtk_text_view_new() can be used to create a view with a
7530         default buffer in it, if you just want an empty text box users can
7531         put data in. Useful for GUI builders also.
7532
7533 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
7534
7535         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
7536         the charset encodign portion MUST be in lowercase.
7537         * gtk/gtkrc.az: added file for Azeri language
7538
7539 2000-11-03  Havoc Pennington  <hp@redhat.com>
7540
7541         Get widgets working on the btree/buffer side. Display of them 
7542         still doesn't work.
7543         
7544         * gtk/gtktextview.c: start implementing child widget stuff
7545
7546         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
7547
7548         * gtk/gtktextlayout.c: handle embedded widgets
7549
7550         * gtk/gtktextdisplay.c: handle embedded widgets
7551
7552         * gtk/gtktextchild.c: Implement all the child anchor goo
7553
7554         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
7555         function
7556
7557         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
7558         (insert_pixbuf_or_widget_segment): abstract out common portions of 
7559         creating a child anchor or a pixbuf segment.
7560         (gtk_text_btree_create_child_anchor): new function
7561         (gtk_text_btree_unregister_child_anchor): new function
7562
7563         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
7564         allocate_child signal on GtkTextLayout
7565
7566         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
7567         values
7568         (gtk_text_iter_get_child_anchor): new function
7569
7570         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
7571         default handler for the changed signal, which calls
7572         gtk_text_buffer_set_modified(), instead of just always emitting
7573         changed then calling set_modified() manually. I guess this is
7574         maybe more flexible. It seems logical.
7575
7576 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
7577
7578         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
7579         now.
7580
7581         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
7582
7583 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
7584
7585         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
7586         been marked static.
7587
7588 2000-11-02  Havoc Pennington  <hp@redhat.com>
7589
7590         * gtk/testgtk.c (create_labels): had a test backward
7591
7592         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
7593         fields, so the dest GC ends up with the correct clip origin, 
7594         etc. Fixes a bug where colored labels didn't redraw 
7595         properly.
7596
7597 2000-11-02  Alexander Larsson  <alexl@redhat.com>
7598
7599         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
7600         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
7601         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
7602         Add last argument to t_type_register_static call.
7603         
7604         * gdk/linux-fb/gdkdrawable-fb2.c:
7605         Add last argument to t_type_register_static call.
7606         export the get_image drawable virtual function.
7607
7608         * gdk/linux-fb/gdkimage-fb.c:
7609         Add last argument to t_type_register_static call.
7610         rename gtk_image_get to _gdk_fb_get_image and
7611         export it for use by gdkdrawable-fb2.
7612
7613         * gdk/linux-fb/gdkprivate-fb.h:
7614         export _gdk_fb_get_image.
7615
7616         * gdk/linux-fb/gdkselection-fb.c:
7617         Add new api call stubs.
7618
7619         * gtk/Makefile.am:
7620         Missing ( in linux-fb part.
7621
7622         * modules/linux-fb/Makefile.am:
7623         Must link with gdk_pixbuf or get unresolved symbol.
7624
7625 2000-11-01  Havoc Pennington  <hp@pobox.com>
7626
7627         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
7628         GTK_TYPE_TEXT_ITER and BOXED marshallers
7629
7630         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
7631
7632         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
7633         
7634         * gtk/gtk-boxed.defs: add GtkTextIter
7635
7636         * gtk/gtkmarshal.list: Add marshallers for text widget that 
7637         properly use OBJECT and BOXED
7638
7639 2000-11-01  Havoc Pennington  <hp@redhat.com>
7640
7641         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
7642
7643         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
7644         before returning it. 
7645         
7646 2000-11-01  Havoc Pennington  <hp@redhat.com>
7647
7648         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
7649         Clip the rectangle to be rendered to the drawable, since
7650         get_from_drawable() requires a region within the drawable
7651
7652 2000-11-01  Havoc Pennington  <hp@redhat.com>
7653
7654         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
7655         from coordinates.
7656
7657 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
7658
7659         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
7660         it isn't NULL.
7661
7662 2000-11-01  Havoc Pennington  <hp@pobox.com>
7663
7664         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
7665         on a label
7666         (gtk_label_finalize): unref the attr list if any.
7667
7668         * gtk/testgtk.c (create_get_image): close test on second click
7669         (make_message_dialog): close dialog if it exists
7670
7671         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
7672
7673         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
7674         gdk-pixbuf
7675
7676         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
7677         from Pango markup format
7678         (gtk_label_set_markup_with_accel): ditto but with accelerator
7679         parsing
7680
7681         * gtk/gtkimage.c (gtk_image_expose): reformatting.
7682
7683         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
7684         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
7685         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
7686         call gdk_window_get_origin().
7687
7688         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
7689         implement GDK_PIXBUF_ALPHA_FULL
7690         
7691 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
7692
7693         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
7694         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
7695         g_signal_handlers_disconnect_matched to block/unblock and disconnect
7696         multiple handlers respectively, instead of only treating the
7697         first handler found (bug reported by owen).
7698
7699 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
7700
7701         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
7702
7703         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
7704
7705         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
7706         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
7707         gtk/gtktreeviewcolumn.h: Fixed inline docs.
7708
7709         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
7710         widget.  Needs writing someday.
7711
7712         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
7713         the docs.
7714
7715 2000-10-30  Havoc Pennington  <hp@redhat.com>
7716
7717         * gtk/gtktextview.h, gtk/gtktextview.c:
7718         Rename delete_at_cursor delete_from_cursor, and 
7719         move to move_cursor.
7720
7721 2000-10-30  Havoc Pennington  <hp@redhat.com>
7722
7723         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
7724         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
7725         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
7726         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
7727         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
7728         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
7729         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
7730         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
7731         gtktexttypes.h, gtktextview.c, gtktextview.h:
7732
7733         Massive reindentation and reformatting. Arg alignment and comments
7734         still need fixing in various places.
7735
7736 2000-10-30  Havoc Pennington  <hp@redhat.com>
7737
7738         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
7739         to be named insert_at_cursor and delete_at_cursor so C++ can
7740         handle them.
7741
7742 2000-10-28  Tor Lillqvist  <tml@iki.fi>
7743
7744         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
7745         to get a double directory separator in case the home directory
7746         ends with one. This would cause trouble especially on Windows,
7747         where the path will be confused with the syntax for an an UNC
7748         (network share) path \\server\share\path.
7749         (gtk_rc_add_initial_default_files): Ditto.
7750
7751 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
7752
7753         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
7754
7755         * gtk/gtktextview.c: Use correct marshallers.
7756
7757 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
7758
7759         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
7760         use new iter stuff, and added all the appropriate signals et al.
7761
7762         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
7763         code is internal to gtk only.
7764
7765 2000-10-28  Tor Lillqvist  <tml@iki.fi>
7766
7767         * gtk/gtk.def
7768         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
7769         glib-genmarshal etc.
7770
7771 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
7772
7773         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
7774         parallel builds.
7775
7776 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
7777
7778         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
7779
7780 2000-10-27  Robert Brady  <robert@suse.co.uk>
7781
7782         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
7783         en_GB (British), ia (Interlingua).
7784
7785 2000-10-26  Havoc Pennington  <hp@redhat.com>
7786
7787         * gtk/gtktextiter.c (my_strrstr): fix constness warning
7788
7789         Fixed output of:
7790         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
7791         
7792         * gtk/gtktextsegment.c (char_segment_new): rename
7793         (_char_segment_new_from_two_strings): rename
7794         (_toggle_segment_new): rename
7795         
7796         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
7797         (make_clipboard_widget): make it static
7798         (text_get_func): static
7799         (text_clear_func): static
7800
7801         * gtk/gtkcolorsel.c (adjustment_changed): make this function
7802         static
7803         (hex_changed): make it static
7804         (hsv_changed): make it static
7805         (opacity_entry_changed): make it static
7806
7807         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
7808         (toggle_segment_check_func): rename with _gtk
7809
7810         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
7811         (_widget_segment_new): rename
7812         (_widget_segment_add): rename
7813         (_widget_segment_remove): rename
7814         (_widget_segment_ref): rename
7815         (_widget_segment_unref): rename
7816
7817         * gtk/gtktextmark.c (_mark_segment_new): Rename
7818         _gtk_mark_segment_new   
7819
7820 2000-10-26  Havoc Pennington  <hp@redhat.com>
7821
7822         * gtk/gtkmarshal.list: add new marshallers used by the text widget
7823         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
7824         types
7825
7826         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
7827         marshaller types
7828
7829         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
7830         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
7831         license on these files.
7832
7833         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
7834         work.
7835
7836         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
7837         runtime random number different for each tree, instead of 
7838         a constant I made up.
7839
7840 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
7841
7842         * gtk/Makefile.am: buncha cleanups, kludged build sources
7843         dependencies with a Makefile: oldest-source-stamp dependancy
7844         for the moment. automake is really fighting us here, with
7845         intentionally not allowing user-defined rules or dependancies
7846         prior to it's -include $(DEP_FILES) statement. sucks rocks!
7847
7848         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
7849         to public headers. tehy have a comment stating that they are
7850         "semi-public" aren't included by gtk.h and if enums popup there,
7851         they can be /*< skip >*/-ed.
7852
7853         * gtk/gtktextlayout.h: 
7854         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
7855         added LGPL... <SIGH>
7856
7857 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
7858
7859         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
7860         GtkTreeIter.  Added iterators everywhere.
7861
7862         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
7863
7864         * gtk/gtktreeviewselection.c: Changed to use the iterators.
7865
7866         * gtk/gtktreestore.c: Changed to use the iterators.
7867
7868         * gtk/gtkliststore.c: Commented out the code.  Will convert to
7869         iterators tomorrow.
7870
7871         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
7872         iterators tomorrow.
7873
7874         * gtk/treestoretest.c: Changed to use iterators.
7875
7876         * demos/testgtk/main.c: Moved to use the new iterator system.
7877
7878 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
7879
7880         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
7881         localization misbehaviour.
7882
7883         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
7884         a useless type without copy/free.
7885
7886         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
7887         of GTK_TYPE_CTREE_NODE.
7888
7889 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
7890
7891         * gtk/gtksignal.c:
7892         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
7893         applicable.
7894
7895         * gtk/gtk-boxed.defs (GtkSelectionData): specify
7896         gtk_selection_data_copy and gtk_selection_data_free
7897         do GtkSelectionData work as params in signals.
7898
7899 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
7900
7901         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
7902         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
7903         couldn't they at least give it a non-standard name?
7904         
7905         * gtk/gtktextlayout.c: arg! yet another implementation of
7906         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
7907
7908         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
7909         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
7910         home. now i know this _is_ a conspiracy.
7911
7912         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
7913         ::state-changed.
7914
7915         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
7916         (gtk_accel_group_create_add): marshaller signature fixups.
7917
7918         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
7919         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
7920
7921         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
7922         anymore.
7923
7924 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
7925
7926         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
7927         due to the signal system changes, it wouldn't build currently. to
7928         be fixed soon.
7929
7930         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
7931
7932         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
7933         so it needs gtk_marshal_VOID__ENUM() instead of
7934         gtk_marshal_NONE__UINT().
7935
7936         * gdk/gdk*.c: adapted type registration functions.
7937
7938         * gtk/gtkbindings.c:
7939         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
7940         gone.
7941
7942         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
7943
7944         * gtk/gtkobject.c:
7945         (gtk_object_destroy):
7946         (gtk_object_shutdown): fixed recursion guards. basically we have to
7947         catch the case where any of GObject.shutdown() or gtk_object_destroy()
7948         is called during ::destroy, and avoid recursion there.
7949
7950         * gtk/gtktypeutils.c:
7951         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
7952         boxed_copy/boxed_free. this needs a more general solution based on a
7953         publically installed code-generator utility.
7954
7955         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
7956         glib's gobject has support for that now.
7957         define GtkSignalMarshaller in terms of GSignalCMarshaller.
7958
7959 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
7960
7961         * gtk/gtksignal.[hc]:
7962         * gtk/gtkmarshal.[hc]:
7963         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
7964         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
7965         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
7966         care of that.
7967
7968         * *.c: marshaller name fixups.
7969
7970         * gtk/gtkmarshal.list: added a comment briefing the format.
7971
7972 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
7973
7974         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
7975         compatibility macros here now. more specifically, most of
7976         the API is preserved (yes, _most_, nonwithstanding the
7977         following exceptions listed, the API is stil lHUGE ;)
7978         things that got removed completely:
7979         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
7980         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
7981         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
7982         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
7983         gtk_signal_remove_emission_hook().
7984         non-functional functions variants:
7985         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
7986         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
7987         not supported anymore.
7988         (gtk_signal_compat_matched): new internal function to aid
7989         implementation of the compatibility macros, it  provides
7990         functionality to block/unblock/disconnect handlers based
7991         on func/data.
7992
7993         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
7994
7995         * *.c: adaptions to new type registration API signatures.
7996
7997 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
7998
7999         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
8000
8001 2000-10-25  Robert Brady  <robert@suse.co.uk>
8002
8003         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
8004         gdk_property_delete): If window == NULL, assume the root window.
8005         (restoring the behaviour that was in 1.2).
8006         
8007         * gtk/testtext.c (save_buffer): Allow creation of new files when
8008         saving.
8009
8010         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
8011         calls to read().
8012
8013 2000-10-25  Tor Lillqvist  <tml@iki.fi>
8014
8015         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
8016
8017         * gdk/win32/gdkdrawable-win32.c
8018         * gdk/win32/gdkimage-win32.c
8019         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
8020         X11 backend.
8021
8022         * gdk/win32/gdkcc-win32.c
8023         * gdk/win32/gdkcolor-win32.c
8024         * gdk/win32/gdkfont-win32.c
8025         * gdk/win32/gdkinput-win32.c
8026         * gdk/win32/gdkmain-win32.c
8027         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
8028
8029 2000-10-24  Havoc Pennington  <hp@redhat.com>
8030
8031         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
8032         it a static function
8033
8034         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
8035         redraw text when a tag is applied to it.
8036
8037         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
8038         (gtk_text_tag_affects_nonsize_appearance): private functions to
8039         see if a tag requires various kinds of redraw/layout to be queued
8040         up.
8041
8042         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
8043
8044         * gtk/testtext.c (fill_example_buffer): Put the cursor 
8045         at the start of the buffer, so search works by default
8046
8047         * gtk/gtktextiter.c (lines_match): init match_start always
8048
8049         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
8050         function, get iter at a line + a byte index
8051
8052         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
8053         to set byte position within a line
8054         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
8055
8056 2000-10-23  Havoc Pennington  <hp@redhat.com>
8057
8058         * gtk/testtext.c: Re-enable the "find" dialog
8059
8060         * gtk/testgtk.c: Add test for gdk_drawable_get_image
8061         
8062         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
8063         the arguments to gdk_draw_drawable were in the wrong order
8064         (gdk_window_paint_init_bg): This function was ignoring the
8065         init_region, instead of clipping to it, so the entire backing
8066         pixmap was cleared on every begin_paint()
8067         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
8068         was in here again, the loop kept using the same GtkWindowPaint
8069         over and over.
8070         (gdk_window_begin_paint_region): Fix a bug where we had two
8071         x_offset instead of x_offset and y_offset
8072
8073         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
8074         before we get the image.
8075         (gdk_draw_drawable): get the composite before we draw the drawable.
8076         (gdk_drawable_real_get_composite_drawable): default
8077         get_composite_drawable implementation that returns the drawable 
8078         itself
8079
8080         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
8081         get_composite_drawable virtual function
8082
8083         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
8084         list-walking bug
8085
8086         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
8087         make this work if the source drawable is a GdkDrawableImplX11
8088         instead of a public drawable type. This is really broken; the
8089         problem is that GdkDrawable needs a virtual method get_xid(), but
8090         of course that doesn't work in practice. Enter RTTI.
8091
8092         Also, improve mismatched depth message.
8093
8094         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
8095         GdkPixmap
8096
8097         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
8098         install _gdk_x11_get_image as our implementation of get_image
8099         
8100         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
8101         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
8102
8103         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
8104         gdk_drawable_get_image
8105
8106         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
8107
8108         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
8109         get_image
8110
8111         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
8112         trailing semicolon after for loop
8113
8114 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
8115
8116         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
8117         where font_desc for widget's context lagged widget's font_desc by
8118         one step.
8119
8120 2000-10-22  Tor Lillqvist  <tml@iki.fi>
8121
8122         * gdk/win32/gdkgc-win32.c
8123         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
8124
8125         * gtk/makefile.mingw.in
8126         * gtk/gtk.def: Updates.
8127
8128         * gtk/testgtk.c: sleep() is called _sleep in MS's C
8129         library.
8130
8131         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
8132
8133         * gtk/makefile.msc: Remove
8134
8135         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
8136
8137         * gtk/Makefile.am: Add it.
8138
8139         * configure.in: Generate it.
8140
8141         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
8142         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
8143         something even if not implemented, to satisfy picky MSVC.
8144
8145         Patches by Hans Breuer:
8146         
8147         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
8148         SetBkMode() and SetTextAlign() before calling
8149         pango_win32_render().
8150
8151         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
8152         Set hcliprgn to NULL after destroying it.
8153         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
8154
8155         * gdk/win32/gdkgeometry-win32.c
8156         (_gdk_windowing_window_queue_antiexpose): More effective
8157         implementation.
8158
8159         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
8160         depth as default, not the visual's.
8161
8162         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
8163         against empty title.
8164
8165         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
8166         IMAGE_PRIVATE_DATA.
8167
8168         * gdk/win32/gdkimage-win32.c: Use it.
8169
8170 2000-10-22  Robert Brady  <robert@suse.co.uk>
8171
8172         * configure.in: Check for bind_textdomain_codeset
8173
8174         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
8175         present, make use of it.
8176
8177         Add a translatable string "default:LTR" which, if translated
8178         to "default:RTL", will cause the default direction to be
8179         Right-to-Left.
8180
8181         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
8182         direction if marked as flippable.
8183
8184         * gtk/gtkhscale.c: Mark widget as flippable.
8185         
8186 2000-10-04  Havoc Pennington  <hp@redhat.com>
8187
8188         * gtk/testgtk.c (create_buttons): create some stock buttons
8189         with the default accel group
8190         (create_image): test some new GtkImage features
8191         (make_message_dialog): test GtkMessageDialog
8192         (create_modal_window): fix someone's bizzarro indentation
8193
8194         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
8195         GTK_WIN_POS_CENTER_ON_PARENT. 
8196         Add "destroy with parent" setting, which means the window goes
8197         away with its transient parent.
8198         (gtk_window_get_default_accel_group): get the default accel group
8199         for the window.
8200         (gtk_window_set_destroy_with_parent): set/unset destroy with
8201         parent flag
8202         (gtk_window_read_rcfiles): invalidate icon set caches
8203         after reloading rcfiles 
8204
8205         * gtk/gtkenums.h (GtkWindowPosition): add
8206         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
8207         on its parent window when the dialog is mapped for the first time.
8208
8209         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
8210         a simple message dialog class
8211         
8212         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
8213         handler to emit response signal, and maybe later it would
8214         honor a hide_on_delete flag - though that isn't there yet.
8215         Set border width on the vbox to 2, so we get some padding.      
8216         Use a button box for the action area.
8217         (gtk_dialog_key_press): synthesize a delete event if Esc
8218         is pressed and the GtkWidget key press handler didn't 
8219         handle the escape key.
8220         (gtk_dialog_new_with_buttons): new function creates a dialog
8221         with some default buttons in it.
8222         (gtk_dialog_add_action_widget): add an activatable widget
8223         as a button in the dialog - you can also add a non-activatable
8224         widget by accessing the action area directly.
8225         (gtk_dialog_add_button): add a simple button - stock ID or 
8226         label - to the action area
8227         (gtk_dialog_response): emit response signal
8228         (gtk_dialog_run): block waiting for the dialog, return 
8229         the response. Override normal delete_event behavior, so that 
8230         delete_event does nothing inside gtk_dialog_run().
8231
8232         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
8233         emitted when an action widget is clicked or the dialog gets
8234         delete_event
8235
8236         * gtk/gtk.h: add gtkmessagedialog.h
8237
8238         * gtk/Makefile.am: add gtkmessagedialog.[hc]
8239
8240 2000-10-18  Havoc Pennington  <hp@redhat.com>
8241
8242         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
8243         where any number of empty lines would get skipped
8244
8245         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
8246         edge.
8247
8248         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
8249         warning about invalid iterators (explain more thoroughly)
8250         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
8251
8252         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
8253         big
8254
8255         * demos/*.c: Add error handling
8256
8257         * gtk/gtktextbuffer.c: don't modify const iterators
8258
8259         * gtk/gdk-pixbuf-loader.c: Add full error handling here
8260
8261         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
8262         on file load
8263
8264         * gtk/gtkiconfactory.c: Update to reflect addition of error
8265         handling to gdk-pixbuf loaders
8266
8267 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
8268
8269         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
8270         move to new modularized testgtk.
8271
8272 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
8273
8274         * gtk/gtktreeview.c: Draw the arrows correctly.
8275
8276         * gtk/gtktreemodel.c: Added user docs.
8277
8278         * gtk/gtk.h: remove gtktreedatalist.h.
8279
8280         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
8281         parent when generating my type.
8282
8283         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
8284         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
8285
8286 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
8287
8288         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
8289         GtkTreeModel from object to interface.
8290
8291 2000-10-16  Havoc Pennington  <hp@redhat.com>
8292
8293         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
8294         compilation
8295
8296 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
8297
8298         * gtk/gtktreeselection.c: Add API documentation to all public
8299         functions.
8300
8301         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
8302         functions.
8303
8304 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
8305
8306         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
8307         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
8308         docs to all public functions.
8309
8310         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
8311         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
8312         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
8313         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
8314         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
8315         issue.
8316
8317 2000-10-14  Robert Brady  <robert@suse.co.uk>
8318
8319         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
8320
8321 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
8322
8323         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
8324         values other then G_TYPE_STRING.
8325         * gtk/gtktreeselection.c: Minor commenting updates.
8326         * gtk/gtktreeview.c: Format updates.
8327
8328 2000-10-09  Tor Lillqvist  <tml@iki.fi>
8329
8330         * README.win32: Update.
8331
8332         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
8333         lines that had been deleted by mistake (?).
8334
8335         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
8336         also the case fg==white and bg==black (but still not randomly
8337         coloured cursors). Thanks to Wolfgang Sourdeau.
8338
8339         * gdk/win32/*.c: Silence gcc -Wall.
8340
8341         * gtk/gtk.def: Add missing entry points.
8342
8343         Fixes by Hans Breuer:
8344
8345         * gdk/makefile.msc
8346         * gdk/win32/makefile.msc: Update.
8347
8348         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
8349         some MSVC thing, presumably), cause breakpoint on failures. Add
8350         GDK_NOR case. Call g_log_set_always_fatal.
8351
8352         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
8353         should be pased by reference.
8354         
8355         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
8356         
8357         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
8358
8359         * gdk/win32/gdkevents-win32.c
8360         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
8361
8362         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
8363         implementation object.
8364
8365         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
8366         not just windows.
8367         
8368         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
8369         Use the wrapper object.
8370         
8371 2000-10-06  Havoc Pennington  <hp@redhat.com>
8372
8373         * Makefile.am (SRC_SUBDIRS): contrib subdir
8374
8375         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
8376         so it can be used in Xlib version
8377
8378         * demos/testpixbuf.c (update_timeout): error checking from 1.0
8379         tree
8380
8381         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
8382         change from 1.0 tree that returns first frame of animation
8383         if the loaded file is an animation.
8384
8385         * contrib: add new directory to hold stuff that comes with GTK+
8386         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
8387         
8388         * configure.in: add contrib/*
8389
8390 2000-10-05  Havoc Pennington  <hp@redhat.com>
8391
8392         * demos/testpixbuf-save.c: add pixbuf save test
8393
8394         * demos/Makefile.am: add testpixbuf-save.c
8395
8396 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
8397
8398         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
8399         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
8400         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
8401         * gtk/gtktreeselection.[ch]: Replaced
8402         "node_selected"/"node_unselected" signal with "selection_changed"
8403         signal.
8404
8405 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
8406
8407         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
8408         tree widget.
8409
8410 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
8411
8412         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
8413         drawing.
8414
8415 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
8416
8417         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
8418         Move list pointer forwards before removing item from
8419         list. (Crash reported by Salmaso Raffaele)
8420
8421         * gdk/gdkwindow.h: Remove spurious trailing ,
8422
8423         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
8424         dependencies on uninstalled libraries, sorry folks.
8425
8426 2000-10-04  Havoc Pennington  <hp@redhat.com>
8427
8428         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
8429         gtk/gtkiconfactory.c: Fix copyrights    
8430
8431         * demos/testpixbuf.c: add inline pixbuf test
8432         
8433 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
8434
8435         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
8436         Add gdk_window_iconify.
8437
8438         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
8439         (gdk_window_set_geometry_hints): Add win_gravity
8440         to geometry structure.
8441
8442         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
8443         Implement _NET_WM_PING.
8444
8445         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
8446         Set _NET_WM_PID on the client leader.
8447
8448         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
8449         Handle UTF-8 better.
8450
8451         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
8452         UTF-8 better, set _NET_WM_NAME as well. Only set
8453         icon name if it hasn't previously been explicitely 
8454         set.
8455
8456 2000-10-03  Havoc Pennington  <hp@redhat.com>
8457
8458         * gtk/testtextbuffer.c: clean up trailing whitespace,
8459         add extensive tests for tag toggle iteration.
8460         
8461         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
8462         distance
8463
8464         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8465         optimize case where the tag root is on level 1
8466         (gtk_text_line_previous_could_contain_tag): attempt to implement
8467         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
8468         functionality
8469
8470         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
8471         Implement this, though not very efficiently.
8472
8473         * gtk/gtktextiterprivate.h: reformat
8474
8475         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
8476         iterator
8477
8478         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
8479         this to properly revalidate the iterators.
8480
8481         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
8482         properly at the end of the line (and therefore on empty lines)
8483
8484         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
8485         maybe we should return a value...
8486
8487 2000-10-03  Tor Lillqvist  <tml@iki.fi>
8488
8489         * config.h.win32: Guard definition of alloca(). glib.h now handles
8490         that.
8491
8492         * gdk/gdk.def
8493         * gtk/gtk.def: Add new entry points.
8494
8495         Changes just to make GTK+ build without errors on Win32. No hope
8496         of it working in its current state, though...:
8497         
8498         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
8499         some functions from the X11 backend, just to make GTK+ build.
8500
8501         * gdk/makefile.mingw.in
8502         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
8503         number. Add new object files.
8504
8505         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
8506         GetMessageTime to get timestamp (where on X11 uses
8507         gdk_x11_get_server_time()).
8508
8509 2000-10-02  Havoc Pennington  <hp@pobox.com>
8510
8511         * gtk/gtktextview.c: text_window_* weren't static and should have
8512         been.
8513         Start work on child widgets; not yet complete, syncing to 
8514         office computer.
8515
8516         * gtk/gtktextchild.h: change this to contain a public interface,
8517         starting work on child interfaces.
8518         * gtk/gtktextchildprivate.h: move private interfaces here
8519
8520         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
8521
8522         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
8523         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
8524         gtk/gtktextmark.c: copyright notices
8525
8526         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
8527         internal functions      
8528
8529         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
8530         internal function
8531
8532         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
8533         Reformatting    
8534
8535 2000-09-30  Havoc Pennington  <hp@pobox.com>
8536
8537         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
8538         NULL start/end pointers
8539
8540         * gtk/gtktextbuffer.c: Write some docs
8541         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
8542         NULL, so you can just check whether there's a selection.        
8543
8544         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
8545         cleanup_line or segments_changed ourselves, it gets done 
8546         in unlink_segment
8547
8548         * gtk/gtktextmark.h:
8549         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
8550         
8551         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
8552
8553         * gtk/gtktextmark.c: delete some more old Tk cruft
8554
8555         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
8556         mark before removing it, so we can emit MARK_DELETED with a valid
8557         pointer.
8558         (gtk_text_buffer_mark_set): hold ref across signal emission
8559
8560         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
8561         whining about attempts to delete special marks
8562
8563         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
8564         underscore, since it's internal.
8565
8566         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
8567         now implemented in terms of iterators in gtktextiter.h
8568
8569         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
8570         New function, destructively sets contents of buffer. Also 
8571         a convenient way to clear the buffer by setting text to ""
8572
8573         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
8574         multiline string literal
8575
8576         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
8577         text changes.
8578
8579         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
8580         is not dereferenceable
8581         (gtk_text_iter_forward_lines): fix return value
8582
8583 2000-09-29  Havoc Pennington  <hp@redhat.com>
8584
8585         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
8586
8587         * gtk/gtktextview.c: Implement drag thresholding; change functions 
8588         that set border window size to have nicer name
8589         (gtk_text_view_mark_set_handler):  Fix this to have the 
8590         right signature.
8591
8592         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
8593
8594         * gtk/testtext.c: Update with API changes, put line numbers on 
8595         both sides.
8596         
8597         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
8598         with this
8599
8600         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
8601         pixbuf; delete a big block of #if 0 Tk code
8602
8603         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
8604         insert_pixmap with insert_pixbuf
8605
8606 2000-09-29  Martin Baulig  <baulig@suse.de>
8607
8608         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
8609         confusion with the GdkPixbuf of the GNOME 1.x platform.
8610
8611 2000-09-29  Havoc Pennington  <hp@pobox.com>
8612
8613         * gtk/gtktextview.c: Implement the side windows.
8614
8615         * gtk/testtext.c: Implement simple line numbering in the 
8616         left side window; seems to make scrolling sloooow. Oops.
8617         Also, cursor blink is for some reason causing redraws
8618         of the line numbers. Should investigate...
8619
8620 2000-09-28  Havoc Pennington  <hp@redhat.com>
8621
8622         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
8623         scrolling child windows, and draw focus rectangle properly.
8624         
8625         (gtk_text_view_buffer_to_window_coords):
8626         Coordinate transformation to deal with all these freaking windows
8627         and offsets
8628         (gtk_text_view_window_to_buffer_coords): transform the other way
8629
8630         * gtk/testtext.c (create_buffer): Update to match Pango API change
8631
8632         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
8633         anonymous tags
8634         (foreach_unref): don't emit remove signal from finalize, just
8635         set tag's parent to NULL
8636
8637 2000-09-26  Havoc Pennington  <hp@redhat.com>
8638
8639         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
8640         Fix some warnings       
8641
8642 2000-09-26  Havoc Pennington  <hp@redhat.com>
8643
8644         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
8645         headers into the private header list
8646
8647         * Makefile.am (pkgconfig_DATA): install pkg-config files
8648
8649         * configure.in: add pkg-config files
8650
8651         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
8652
8653         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
8654         outstanding icon caches on theme change.
8655
8656         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
8657         important types:
8658
8659         (GtkIconSource): Specification for creating a pixbuf 
8660         appropriate for a direction/state/size triplet from 
8661         a source pixbuf or filename
8662
8663         (GtkIconSet): List of GtkIconSource objects that are used to
8664         create the "same" icon (e.g. an OK button icon), and cache for
8665         rendered icons
8666
8667         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
8668         up the icon set for a given stock ID.  GTK maintains a stack of
8669         GtkIconFactory to search, and applications or libraries can add
8670         additional icon factories on top of the stack
8671         
8672         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
8673         the set of GtkIconSource specified for a given stock ID into 
8674         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
8675         RcStyle, under the specified stock ID.
8676
8677         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
8678         render_icon used to derive a GdkPixbuf from a GtkIconSource.
8679         This allows people to theme how prelight, insensitive, etc. are
8680         done.
8681
8682         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
8683         icon factories for a style, and return the resulting 
8684         icon set if any.
8685
8686         (gtk_style_render_icon): Render an icon using the render_icon 
8687         method in the GtkStyleClass.
8688
8689         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
8690         Use the style for a given widget to look up a stock ID, get the
8691         icon set, and render an icon using the render_icon method 
8692         of the style
8693
8694         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
8695         (contains information about a stock item), the built-in stock item
8696         IDs, and functions to add/lookup stock items.
8697
8698         * gtk/stock-icons/*: Stock icons that come with GTK
8699
8700         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
8701         a button based on a GtkStockItem
8702         (gtk_button_new_accel): Takes a uline string and accel group, and
8703         installs the accelerator.
8704
8705         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
8706         image-display widget.
8707
8708 2000-09-25  Havoc Pennington  <hp@redhat.com>
8709
8710         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
8711
8712         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
8713         Fix a bug when removing node data, we didn't properly 
8714         re-splice the linked list after removing the data.
8715
8716         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
8717         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
8718
8719         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
8720
8721         * gtk/gtktextlayout.c (set_para_values): Set tab array 
8722         for the layout from the GtkTextTag.
8723
8724         * gtk/gtktexttypes.h: delete tab and search cruft, 
8725         remove g_convert() in favor of GLib version
8726
8727         * gtk/gtktexttypes.c: remove tab implementation from here,
8728         move to Pango
8729
8730         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
8731         tab stuff using new PangoTabArray from Pango
8732
8733         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
8734         unused border_width stuff
8735
8736 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
8737
8738         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
8739         glib) and now useless utf_to_latin1() latin1_to_utf()
8740
8741         * gtk/gtktextview.[ch]: Change ::move_insert and
8742         ::delete_text action signals to ::move and ::delete;
8743         create the signals with the right enumeration type,
8744         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
8745         C-v bindings, change Home, End to move to beginning/end
8746         of line, Add C-Home C-End to move to beginning/end
8747         of buffer. Change ::cut_text to ::cut_clipboard, etc;
8748         combine ::scroll_text into ::move; use new GtkSelectionData
8749         functions to simplify DND text handling.
8750         
8751         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
8752         deletion enumerations here, rename enumeration values to 
8753         be consistently plural.
8754
8755         * gtk/gtktextbuffer.c: Use new clipboard interfaces
8756         for cut/copy/paste and primary selection.
8757
8758         * gtk/gtktextbuffer.[ch]: Remove excess time and
8759         'interactive' arguments from cut/copy/paste;
8760         rename cut to cut_clipboard, etc; remove
8761         gtk_text_buffer_get_clipboard_contents().
8762
8763         * gtk/gtktextlayout.[ch]: Add 
8764         gtk_text_layout_move_iter_to_line_end() to move the iter to 
8765         line ends.
8766
8767         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
8768         Functions to set or get a UTF-8 string on the selection
8769         data.
8770
8771         * gtk/gtkclipboard.[ch]: New, simplified selection handling
8772         interfaces.
8773
8774         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
8775         created widgets - one of these is useless if we don't.
8776
8777         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
8778         a public function clear all targets registered for the
8779         widget.
8780
8781         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
8782         Never call gtk_widget_realize() - that was just asking
8783         for bizarre side-effects.
8784
8785         * gtk/gtkselection.c (gtk_selection_owner_set): Call
8786         gdk_selection_owner_set even if the widget is the
8787         same so that we reliably update the timestamp on
8788         the server.
8789
8790         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
8791         gdk_x11_get_server_time() function.
8792         
8793         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
8794         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
8795         Add some tricky filtering on serial numbers for
8796         selection clear events to fix up long-standard
8797         race condition FIXME's in gtkselection.c.
8798
8799         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
8800         routines to convert from utf8 to compound text or
8801         STRING and from a text property to UTF-8.
8802
8803         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
8804         a convenience function gdk_get_current_event_time().
8805
8806         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
8807         and free selection_data->data properly
8808
8809 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
8810
8811         * gtk/gtkthemes.c: Remove some unecessary includes.
8812
8813 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
8814
8815         * gtk/gtktextdisplay.c
8816         * gtk/gtktextlayout.c
8817         * gtk/gtktexttag.c
8818         * gtk/gtktexttag.h
8819         * gtk/testtext.c: Change the overstrike property to strikethrough,
8820         to closer match pango.
8821
8822 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
8823
8824         * gtk/gtktextview.c: Fix up visibility so that focus,
8825         cursor_visible and blink interact properly.  Reenable cursor blink
8826         which had been roughly disabled. Make blink and focus
8827         properly per-view.
8828
8829         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
8830         Add a flag for whether to display insertion cursor and
8831         a function to set the flag.
8832
8833         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
8834         get_line_y() to get_line_yrange(), to be a bit more generally
8835         useful.
8836
8837 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
8838
8839         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
8840           do stop_navigating_submenu, to clear last timeout properly.
8841           Also in gtk_menu_motion_notify move ignore_enter above
8842           the conditional to make it always happen as suggested by Owen
8843
8844 2000-09-07  Tor Lillqvist  <tml@iki.fi>
8845
8846         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
8847
8848         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
8849         w32api headers.
8850
8851         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
8852         declarations.
8853
8854         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
8855         (gdk_win32_get_colormap): A line had been deleted by mistake.
8856
8857         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
8858         (gdk_event_translate): Handle more virtual keycodes to be able to
8859         generate GDK events for Control-comma, Control-period, etc.
8860
8861         * gtk/gtk.def: Add some missing entry points.
8862
8863 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
8864
8865         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
8866         Doc comment fixing. (Mostly non-matching parameter names.)
8867
8868         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
8869         comments a little to avoid looking like a doc comment.
8870
8871         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
8872         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
8873         conversions be changed to GError?)
8874
8875         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
8876         Move private #defines into .c file.
8877
8878         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
8879         order of argument addition, remove duplicates.
8880
8881         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
8882         parent class is FrameClass, not BinClass.
8883
8884         * gtk/gtk.h: Add gtkinvisible, which was missing.
8885         (It's occasionalyl useful for client apps, if seldom.)
8886
8887         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
8888         #define.
8889
8890 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
8891
8892         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
8893         coordinates when creating window, instead of GDK-space
8894         coordinates. (Avoid BadValue on too large windows.)
8895
8896 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8897
8898         * configure.in (use_mmx_asm): Remove conftest* after use along the
8899         lines of AC_TRY_COMPILE.        
8900         
8901         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
8902         of g_dirname, which is deprecated.
8903         (gtk_rc_parse_any): Removed calls to
8904         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
8905
8906         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
8907         Removed calls to g_hash_table_{freeze,thaw}, as they are
8908         deprecated now.
8909
8910         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
8911         instead of g_basename.
8912         
8913 2000-09-04 Elliot Lee <sopwith@redhat.com>
8914         
8915         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
8916         ANSI warning.
8917
8918 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
8919
8920         * gtk/gtkwidget.h:  Add some documenting comments about 
8921           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
8922           just as owen said on irc.
8923
8924         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
8925           set HAS_DEFAULT.  Only set it if there isn't another window
8926           holding it (a focus window which RECEIVES_DEFAULT) and only unset
8927           it if the widget is not the focused window with RECEIVES_DEFAULT.
8928           This fixes weird double default bugs in dialogs which has things
8929           call gtk_window_set_default at times.
8930
8931 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
8932
8933         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
8934         Nils Barth and David Santiago to improve submenu
8935         navigation. The patch does this by creating a triangular
8936         region from the point where the pointer leaves the
8937         menu to the submenu.  While the pointer is in
8938         that region and a timeout has not expired, events 
8939         that would cause the active submenu to change are
8940         ignored.
8941
8942 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
8943
8944         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
8945         moving a toplevel window immediately after sizing it would
8946         result in it being sized back to the old size since 
8947         impl->width, impl->height aren't updated until we hear
8948         back from the server. There is still a (longstanding) bug
8949         here that gdk_window_get_size() will give the wrong size
8950         until we do hear back.
8951
8952 2000-08-31  Havoc Pennington  <hp@redhat.com>
8953
8954         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
8955         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
8956         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
8957         Rename GtkTextStyleValues to GtkTextAttributes
8958
8959 2000-08-31  Havoc Pennington  <hp@pobox.com>
8960
8961         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
8962         for rapid testing whether an iterator is the end iterator
8963         (gtk_text_btree_new): init end line cache
8964         (gtk_text_line_is_last): use fast cached line to 
8965         see if we're the last line.
8966         (get_last_line): use cached line here too, should 
8967         speed up some random unrelated code.
8968         
8969 2000-08-30  Havoc Pennington  <hp@pobox.com>
8970
8971         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
8972         signals.
8973
8974         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
8975         delete_text signals. This allows the signals to be used for
8976         implementing undo.
8977
8978         * gtk/gtktextbuffer.c: Change signal handler signatures; 
8979         provide "interactive" argument when emitting insert_text or
8980         delete_text signal.
8981         
8982 2000-08-30  Havoc Pennington  <hp@pobox.com>
8983
8984         * gtk/gtktextbuffer.c: Docs
8985
8986 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
8987
8988         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
8989         from switch statements, since Tor removed the enumeration
8990         value.
8991         
8992         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8993         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
8994
8995 2000-08-29 Elliot Lee <sopwith@redhat.com>
8996         * */*.h: Use G_GNUC_CONST.
8997
8998 2000-08-27  Havoc Pennington  <hp@pobox.com>
8999
9000         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
9001         minor indentation fixes, inserted some FIXME about stuff I
9002         realized was broken while documenting it.
9003         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
9004         GTK convention  
9005
9006 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
9007
9008         * gtk/testgtk.c (create_styles): Fix double free of
9009         font desc.
9010
9011 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
9012
9013         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
9014         
9015         * gtk/testgtk.c (create_styles): Add a test for modifying
9016         the style through gtk_widget_modify_*.
9017
9018         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
9019         a function to get the current modifier style.
9020
9021         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
9022         of the passed in GtkRcStyle instead of ref'ing it.
9023
9024         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
9025
9026 2000-08-20  Tor Lillqvist  <tml@iki.fi>
9027
9028         * gdk/gdkimage.h
9029         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
9030         shared memory image+pixmap GdkImage type, or
9031         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
9032         I am dropping that.
9033
9034         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
9035         actually call gtk_init_abi_check(), passing also
9036         sizeof(GtkWindow). Ditto for gtk_init_check(). 
9037
9038         * gtk/gtk.def
9039         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
9040         New functions, used to check that the GTK+-using code has been
9041         compiled using the correct compiler and switches. In particular,
9042         with gcc one has to use the -fnative-struct switch as GTK+ is
9043         compiled with that.
9044
9045 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
9046
9047         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
9048         ->prev fields when merging lists. (Found simultaneously
9049         by Pawel Salek and Jakub Jelinek)
9050
9051 2000-08-12  Tor Lillqvist  <tml@iki.fi>
9052
9053         * gdk/gdk.def
9054         * gtk/gtk.def: Add missing entries.
9055
9056         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
9057         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
9058
9059         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
9060         function. Dummy implementation at this point.
9061
9062         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
9063         rules. Undefine GTK_COMPILATION when compiling the test programs.
9064         
9065         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
9066
9067 2000-08-11  Tor Lillqvist  <tml@iki.fi>
9068
9069         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
9070         to convert back and forth from UTF-8 and the "system" (or "current
9071         locale") charset when necessary. Indentation/spacing cleanup.
9072
9073 2000-08-10  Havoc Pennington  <hp@redhat.com>
9074
9075         * Makefile.am (snapshot): Change the format of the snapshot
9076         version to match glib
9077
9078         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
9079         from EXTRA_DIST since it doesn't seem to exist
9080
9081 2000-08-10  Tor Lillqvist  <tml@iki.fi>
9082
9083         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
9084         version of the directory name (not the UTF-8 one) when building
9085         the path name to stat().
9086
9087 2000-08-03  Elliot Lee  <sopwith@redhat.com>
9088
9089         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
9090         PANGO_ATTR_SHAPE set.
9091
9092 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
9093
9094         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
9095         Peter Osterlund to simplify the code while keeping the
9096         functionality the same.
9097
9098 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
9099
9100         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
9101         is_viewable() test further inside the function, since removing the 
9102         window from the redraw list without clearing ->update_area
9103         was also very broken.
9104
9105 2000-08-02  Tor Lillqvist  <tml@iki.fi>
9106
9107         * configure.in: Check for <unistd.h>.
9108
9109 2000-08-01  Martin Baulig  <baulig@suse.de>
9110
9111         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
9112         to display the message that this is a development version of GTK+.
9113
9114 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
9115
9116         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
9117         was depending on widget->allocation instead of the width of text_area,
9118         which was incorrect for subclasses like GtkSpinButton.
9119
9120         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
9121         with width == 1 tests that should be width == -1.
9122
9123 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
9124
9125         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
9126         (broken, Elliot, every single window blank on X) custom code with call
9127         to gdk_window_is_viewable() which a) prevents code duplicate and
9128         b) works. 
9129
9130 2000-07-31  Elliot Lee  <sopwith@redhat.com>
9131
9132         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
9133         to get the GDK_PARENT_ROOT() macro to work.
9134         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
9135         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
9136         of, windows that aren't shown.
9137         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
9138         pointer grab stuff.
9139
9140 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
9141
9142         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
9143           s/gtk_main_iteration/g_main_iteration/
9144
9145           Did this already in change:
9146                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
9147           don't know how it got reverted.
9148
9149 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
9150
9151         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
9152         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
9153
9154         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
9155         not gdk_pixbuf.
9156
9157 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
9158
9159         * configure.in,po/{sp,sr}.po: Added Serbian files
9160
9161 2000-07-30  Tor Lillqvist  <tml@iki.fi>
9162
9163         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
9164
9165         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
9166         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
9167         GIOChannel implementation.
9168
9169         * gdk/win32/gdkinput.c
9170         * gdk/win32/gdkpango-win32.c: Update license name here, too.
9171
9172         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
9173         definition to match prototype.
9174
9175         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
9176
9177 2000-07-27  Elliot Lee  <sopwith@redhat.com>
9178
9179         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
9180         function, to allow handling image formats that cannot be detected
9181         by looking at content alone.
9182
9183 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
9184
9185         * docs/tutorial/*.gif *.jpg *.eps
9186           Update these to the same look-n-feel.
9187           Why does including images in DocBook suck so badly?
9188
9189 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
9190
9191         * gtk/gtktable.c: applied patch from Phil Thompson
9192         <phil@river-bank.demon.co.uk> that enables space settings for
9193         the last row/columns as well.
9194
9195 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
9196
9197         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
9198         updates the license headers to the GNU Lesser General Public License,
9199         as well as updating the copyright year to 2000.
9200
9201 2000-07-26  Robert Brady  <rwb197@zepler.org>
9202
9203         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
9204           and po/Makefile, was installing and looking for them under gtk20
9205           and gtk2 respectively.
9206
9207 2000-07-25  Havoc Pennington  <hp@redhat.com>
9208
9209         * gtk/testtext.c: Comment out some stuff that depends on the rest
9210         of my patches.
9211
9212 2000-07-25  Havoc Pennington  <hp@redhat.com>
9213
9214         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
9215         buffer
9216
9217 2000-07-25  Havoc Pennington  <hp@redhat.com>
9218
9219         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
9220         widget changes.
9221
9222         * gtk/gtktextview.h: To be consistent with usage of "line"
9223         throughout the API to mean "newline-terminated thingy", change
9224         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
9225         to MOVEMENT_LINE.
9226
9227         (GtkTextView): Add flags for default editability, and whether to
9228         show the cursor. Add functions to get/set that. Add 
9229
9230         (gtk_text_view_get_iter_location): new function
9231
9232         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
9233         gtktextlayout.h
9234         (g_convert): Add g_convert temporarily, will go in glib in a bit
9235         
9236         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
9237         GtkTextTagTableForeach instead of brokenly using GHFunc.
9238         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
9239
9240         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
9241         moved to public header.
9242
9243         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
9244         "invisible", since "elide" was a bad name.
9245         (gtk_text_tag_get_priority): Added
9246
9247         (GtkTextStyleValues): put this in public header, along with
9248         functions to use it.
9249
9250         * gtk/gtktextmarkprivate.h: Include more headers, since we no
9251         longer include gtktextbtree.h.
9252
9253         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
9254         gtk_text_mark_deleted
9255
9256         * gtk/gtktextlayout.h: Don't include the "really private" headers,
9257         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
9258         to make this possible. Now we only need to install
9259         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
9260         (However the Makefile.am isn't changed yet because of the
9261         logistics of merging gtk-hp-patches piecemeal)
9262
9263         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
9264         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
9265         gtk_text_iter_get_line is now used in the public API for a
9266         different purpose.
9267
9268         * gtk/gtktextiter.h: Clean up function names to be more
9269         consistent. Always call char offset "offset" and byte index
9270         "index". A "line" is always a line number. 
9271
9272         (gtk_text_iter_is_last): new function, more efficient than 
9273         the existing way to check
9274         (gtk_text_iter_is_first): new function, also more efficient
9275
9276         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
9277
9278         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
9279         gtk_text_iter_forward_char, etc.
9280
9281         (gtk_text_iter_forward_to_tag_toggle): Renamed from
9282         forward_find_tag_toggle, since this isn't a linear search
9283
9284         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
9285
9286         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
9287         New functions, search for a buffer substring.
9288
9289         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
9290         interactive and default editable (since we need to store that info
9291         until we receive the selection data).
9292
9293         Remove all the _at_char and at_line etc. versions of functions;
9294         only have iterator versions.
9295
9296         Add _interactive() versions of functions, that consider the
9297         editability of text. (FIXME add interactive flag to the 
9298         insert/delete signals per Darin's suggestion)
9299
9300         (gtk_text_buffer_get_tag_table): new function, demand-creates the
9301         tag table if necessary
9302
9303         Remove declaration of gtk_text_buffer_get_iter_from_string
9304
9305         (_gtk_text_buffer_get_btree): private/internal function, added.
9306         
9307
9308         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
9309         (gtk_text_line_is_last): new function
9310
9311 2000-07-25  Havoc Pennington  <hp@redhat.com>
9312
9313         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
9314         using GtkProgressBar. See Changes-2.0.txt for details.
9315
9316         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
9317         "pulse_step" which are the equivalent of
9318         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
9319         Implement new API.
9320         
9321         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
9322         (use_text_format) to mark whether text set on the progress bar is
9323         a format string. Deprecate entire GtkProgress interface.
9324
9325         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
9326         (gtk_progress_build_string): make this a no-op if use_text_format
9327         is FALSE
9328
9329         * docs/Changes-2.0.txt: Describe progress bar changes.
9330
9331 2000-07-25  Tor Lillqvist  <tml@iki.fi>
9332
9333         * Makefile.am: Include the build directory.
9334
9335         * configure.in: Generate build/Makefile, build/win32/Makefile,
9336         gdk/, gdk/win32/, and gtk/makefile.mingw.
9337
9338         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
9339         Add GETTEXT_PACKAGE.
9340         
9341         * gdk/gdk.def
9342         * gtk/gtk.def: Updates.
9343
9344         * gdk/gdkfont.h
9345         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
9346         need them any longer.
9347
9348         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
9349
9350         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
9351         PANGOWIN32_LIBS and gdk_pixbuf.
9352
9353         * gdk/win32: Compiles, but no doubt doesn't work at all.
9354
9355         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
9356
9357         * gdk/win32/gdkinput.c: New file, temporarily.
9358         
9359         * gdk/win32/gdkinput-win32.h: New file
9360
9361         * gdk/win32/gdkinputprivate.h: Remove.
9362
9363         * gdk/win32/gdkpango-win32.c: New file.
9364
9365         * gtk/makefile.mingw.in: New file
9366
9367         * gtk/makefile.cygwin: Removed
9368         
9369         * gtk/Makefile.am: Update accordingly.
9370
9371         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
9372         made externally visible.
9373
9374         * gtk/gtkmain.c: Use it.
9375         
9376         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
9377         is enough.
9378
9379         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
9380
9381 2000-07-24 Elliot Lee <sopwith@redhat.com>
9382         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
9383         individual backends already.
9384         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
9385         again. Yes, there really is a good reason for this, if you are using the gdkregion
9386         internals, and if you're not, why do you care?
9387         * gdk/gdkwindow.c: Fix inverted condition
9388         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
9389         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
9390         * gtk/gtkrange.c: Redraw trough when moving.
9391         * gtk/gtktypeutils.c: Fix warning by adding const cast.
9392         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
9393
9394 2000-07-23  Tor Lillqvist  <tml@iki.fi>
9395
9396         * configure.in: Check for mkstemp and sigsetjmp. Output
9397         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
9398
9399         More work on GDK for Win32. Still in an intermediate state.
9400
9401         * gdk/makefile.cygwin
9402         * gdk/win32/makefile.cygwin: Removed.
9403         
9404         * gdk/makefile.mingw.in
9405         * gdk/win32/makefile.mingw.in: New files.
9406
9407         * gdk/Makefile.am
9408         * gdk/win32/Makefile.am: Generate and distribute them.
9409
9410         * gdk/win32/gdkwindow-win32.h
9411         * gdk/win32/gdkdrawable-win32.h
9412         * gdk/win32/gdkpixmap-win32.h: New files.
9413
9414         * gdk/win32/gdkcolor-win32.c
9415         * gdk/win32/gdkcursor-win32.c
9416         * gdk/win32/gdkdrawable-win32.c
9417         * gdk/win32/gdkgc-win32.c
9418         * gdk/win32/gdkimage-win32.c
9419         * gdk/win32/gdkprivate-win32.h
9420         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
9421         Rename fields and variables called xcursor, xid, etc (these names
9422         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
9423
9424 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
9425
9426         * gtk/gtkentry.[ch]: Fix some problems with vertical
9427         alignment.
9428
9429         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
9430         char/byte confusion.
9431
9432 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
9433
9434         * gtk/gtktextview.c (changed_handler): Fix bug where
9435         redraw wasn't being done properly when height of
9436         dirty region changed.
9437
9438         * demos/Makefile.am: Remove various references to
9439         -lgmodule
9440
9441 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
9442
9443         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
9444         PangoAttrShape to reserve space for pixmaps, add 
9445         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
9446         in the display functions.
9447         
9448         * gtk/testgtk.c (create_layout): Set some more exotic
9449         scrolled window options
9450
9451         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
9452         Add function to set the shadow type of a window, to allow
9453         putting a shadow around widgets such as GtkLayout or GnomeCanvas
9454         which don't draw their own frame.
9455
9456 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
9457
9458         * docs/tutorial/package-db-tutorial.sh: New file for
9459           packaging DocBook format tutorial
9460
9461 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
9462
9463         * docs/tutorial/gtk-tut.sgml: Minor updates
9464
9465         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
9466
9467 2000-07-19  Tor Lillqvist  <tml@iki.fi>
9468
9469         * gtk/gtksignal.c: Fix C++ comment.
9470
9471         * gtk/gtkimmulticontext.c
9472         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
9473         don't return value from void functions.
9474
9475         * gtk/gtk.def: Add gtk_rc_style_unref.
9476
9477 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
9478
9479         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
9480         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
9481         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
9482         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
9483         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
9484         gtk/gtktypeutils.h: Include files outside of the extern "C"
9485         block. Makes some C++ compiler happy. Reported by Denis Vakatov
9486         <vakatov@peony.nlm.nih.gov>.
9487
9488 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
9489
9490         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
9491           Completes first pass. Hurrah!
9492
9493 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
9494
9495         * docs/tutorial/gtk-tut.sgml: More clean ups.
9496
9497 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
9498
9499         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
9500         paint the background of the text area which was accidentally
9501         removed at some point.
9502
9503         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
9504           
9505          - Move most of the functionality from the theme vtable
9506            into GtkRcStyleClass and GtkStyleClass. The moved
9507            vtable functions were changed a bit in the move to
9508            work better in their new home.
9509
9510          - Get rid of the engine and engine_data fields from
9511            GtkRcStyle and GtkStyle; instead the theme
9512            engine derives theme-specific subclasses of GtkRcStyle
9513            and GtkStyle
9514
9515          - Add extra dlsym() found entry point to themes,
9516            theme_create_rc_style().
9517
9518         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
9519         in gtk_style_real_copy.
9520
9521         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
9522         to register a type associated with an engine. (The engine
9523         won't be unloaded as there is an instance of the type.)
9524
9525
9526 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
9527
9528         * docs/tutorial/gtk-tut.sgml: Clean ups.
9529
9530 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
9531
9532         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
9533           of cleaning up to do.
9534
9535 2000-07-15  Tor Lillqvist  <tml@iki.fi>
9536
9537         * gdk/testgdk.c: New file, quick hack to test backends for
9538         pixel-by-pixel correctness of the most simple graphic operations.
9539
9540 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
9541
9542         * Really release 1.3.1
9543         
9544         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
9545         include structure.
9546
9547 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
9548
9549         * Released 1.3.1
9550
9551 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
9552
9553         * gtk/gtktextlayout.c: use FALSE for size_only most
9554         of the time when calling gtk_text_layout_get_line_display()
9555         to avoid causing double reshapes when a redraw follows
9556         immediately after.
9557
9558 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
9559
9560         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
9561         appropriate region and gdk_window_process_updates() so trough
9562         updating doesn't lag behind the window being scrolled.
9563
9564         * gdk/gdkgc.c: Make parent_class pointer static.
9565          
9566 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
9567
9568         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
9569         include <string.h>.
9570          
9571         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
9572         cut-and-paste error in computing memory offset for 4 channels.
9573
9574 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
9575
9576         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
9577         gtk_rc_append_default_pixmap_path(), since it wasn't
9578         adding an interesting path and we don't have a meaningful
9579         default for this value.
9580
9581 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
9582
9583         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
9584         gtk-config to gtk-config-2.0 move gtk_.m4 to
9585         gtk-2.0.m4
9586
9587         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
9588         gdk/Makefile.am demos/Makefile.am: Change 
9589         library names to libgtk-1.3.la, etc, so that we
9590         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
9591
9592         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
9593         gdk/Makefile.am gdk/x11/Makfile.am
9594         Move include files into /usr/include/gtk-2.0, 
9595         /usr/lib/gtk-2.0/include/
9596          
9597         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
9598         gtk/gtkintl.h: Change package for gettext from 
9599         gtk+ to gtk20. Put hack in autogen.sh to modify
9600         po/Makefile.in.in after gettextize to make this
9601         possible.
9602
9603         * gtk+.spec: Some updates, not tested.
9604
9605         * gdk-pixbuf/Makefile.am: Move loaders into
9606         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
9607
9608         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
9609         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
9610         to THEMENAME/gtk-2.0/. Move engine directory  to
9611         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
9612         
9613 2000-07-12  Tor Lillqvist  <tml@iki.fi>
9614
9615         Win32 changes, still doesn't build though.
9616
9617         * gdk/makefile.cygwin
9618         * gdk/win32/makefile.cygwin
9619         * gtk/makefile.cygwin: Updates.
9620
9621         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
9622         default values for fg and bg pixel as X11 does (0 and 1), not
9623         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
9624         Use 0 for pen width by default (treated as 1 anyway later, but for
9625         apps that might check the value in the GdkGC).
9626         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
9627         interface to gdk_gc_predraw and _postdraw.
9628
9629         * gdk/win32/gdkwin32.h
9630         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
9631
9632         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
9633         extraneous semicolon.
9634
9635         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
9636
9637         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
9638         not the Win32 bitspixel value.
9639
9640         * gdk/win32/gdkcc-win32.c:
9641         * gdk/win32/gdkcolor-win32.c 
9642         * gdk/win32/gdkprivate-win32.h
9643         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
9644         GDK object structure.
9645
9646 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
9647
9648         * docs/tutorial/gtk_tut_12.es.sgml (name): 
9649         * docs/tutorial/gtk_tut_it.sgml (name): 
9650         * docs/tutorial/gtk_tut_fr.sgml (name): 
9651         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
9652         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
9653
9654 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
9655
9656         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
9657           small changes.
9658
9659 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
9660
9661         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
9662         a bug here, never been here and never fixed anything ;(
9663         (don't segfault if tree->root_tree is NULL, which happens prior
9664         to widget realization, but puke instead).
9665
9666 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
9667
9668         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
9669         add the necessary tokens.
9670
9671         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
9672         (gtk_rc_style_to_style): copy thicknesses.
9673         (gtk_rc_init_style): apply thicknesses.
9674         (gtk_rc_parse_style): parse xthickness and ythickness.
9675
9676         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
9677
9678         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
9679         (gdk_window_new): 
9680         (_gdk_windowing_window_init): 
9681         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
9682         (gdk_pixmap_create_from_data): 
9683         (gdk_bitmap_create_from_data): 
9684         (gdk_pixmap_new): 
9685         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
9686         (gdk_image_new): 
9687         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
9688         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
9689         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
9690         (gdk_colormap_get_system): 
9691         (gdk_colormap_new): 
9692         * gdk/gdkwindow.c (gdk_window_init): 
9693         * gtk/gtkstyle.c (gtk_style_new):
9694         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
9695         * gdk/gdkpixmap.c (gdk_pixmap_init): 
9696         * gtk/gtkrc.c (gtk_rc_style_new):
9697         use g_object_new() instead of g_type_create_instance() which
9698         is a private function for fundamental type implementations.
9699
9700 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
9701
9702         * configure.in: Add check for db2html
9703
9704 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
9705
9706         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
9707         hack to set glib_debug_objects based on gtk_debug_flags.
9708
9709 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
9710
9711         * INSTALL.in: Update the Prerequisites section.
9712
9713         * Makefile.am demos/Makefile.am docs/Makefile.am
9714         docs/tutorial/Makefile.am gdk/x11/Makefile.am
9715         gdk/linux-fb/Makefile.am: Dist fixes
9716
9717 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
9718
9719         * NEWS: 10,000 foot view of 1.3.1 changes.
9720
9721 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
9722
9723         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
9724         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
9725         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
9726         gdk/x11/gdkmain-x11.c: 
9727
9728         Patch from George Lebl to add a GdkGrabStatus enumeration to use
9729         as a return value of gdk_*_grab(). Previously, we just
9730         returned the X11 values directly.
9731
9732 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
9733
9734         * gdk/x11/Makefile.am: Patch from George Lebl to 
9735         install all the headers in the right place.
9736
9737 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
9738
9739         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
9740           initial conversion to DocBook.
9741
9742 2000-07-04  Tor Lillqvist  <tml@iki.fi>
9743
9744         * README.win32: Improve a bit.
9745
9746         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
9747         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
9748         Alt+0nnn on the numpad (used to enter characters by numeric code
9749         from current DOS or ANSI codepage) working correctly, as in other
9750         Windows apps.
9751
9752         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
9753         same argument validity tests as in X11 version.
9754         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
9755
9756         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
9757         definitions in case missing from headers.
9758
9759         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
9760         destroy the window-specific cursor.
9761         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
9762         calling GetModuleHandle(NULL).
9763         (gdk_window_set_cursor): Reworked to always copy the passed cursor
9764         with CopyCursor before setting it as the window-specific
9765         cursor. It is OK for the caller to destroy the GdkCursor (and thus
9766         also its Windows cursor) after calling this function. Destroy any
9767         previous window-specific cursor.
9768
9769 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
9770
9771         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
9772         font charset is iso8859-1, not iso-8859-1.
9773
9774 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
9775
9776         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
9777         Use g_get_charset() instead of g_get_codeset().
9778
9779         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
9780         Comment out some strdup'ing functions to keep timj
9781         happy until we finish fighting this out.
9782
9783 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
9784
9785         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
9786         <= width or height.
9787
9788         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
9789         from 1.2 for parent/child states.
9790
9791         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
9792         of typos.
9793
9794         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
9795         event structures, replace with a generic axes field. Replace 
9796         deviceid/sourec with GdkDevice *device.
9797
9798         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
9799         to extract particular axis use value from event. (Also
9800         can be used for normal X/Y.)
9801
9802         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
9803         allow for arbitrary number of axes, namespace everything
9804         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
9805         everywhere.
9806
9807         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
9808         Get rid of the gdk_input_vtable setup if favor of simply
9809         defining the functions in gdkinput-none/gxi/xfree.c in
9810         a similar fashion to the way that the port structure is 
9811         done.
9812
9813         * gtk/gtkdnd.c: Fix fields of synthesized button press event
9814         for new event structures. 
9815
9816         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
9817         new device interfaces.
9818
9819 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
9820
9821         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
9822         set the initial text.
9823
9824         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
9825         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
9826         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
9827         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
9828
9829         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9830         pango_layout_set_font_description to simplify.
9831
9832 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
9833
9834         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9835         pango_layout_set_font_description to simplify.
9836
9837 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
9838
9839         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
9840         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
9841         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
9842
9843         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
9844         PANGO_PIXELS() macro.
9845
9846 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
9847
9848         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
9849         that returns a PangoContext owned by the widget and updated to
9850         match future changes in the widget. Also, make 
9851         gtk_widget_create_pango_layout() use this context. If we ever
9852         add a ::changed signal to PangoContext, this will make things
9853         much more convenient. 
9854
9855         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
9856         in the appropriate places instead of destroying the layouts and
9857         creating new ones.
9858
9859         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
9860         in a few strategic places.
9861
9862 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
9863
9864         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
9865         gtk_widget_size_request() on reparented child, if one. Otherwise,
9866         queue_resize() on the child never results in it getting size-requested
9867         at all.
9868
9869         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
9870         in option menus, so that (with luck) people won't copy it into
9871         their apps in the future.
9872
9873         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
9874         to gtk_option_menu_calc_size. This isn't perfect, but should fix
9875         a lot of problems with changing the size of the menu's menu
9876         items after adding it to the option menu.
9877
9878         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
9879
9880         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
9881         the text direction for a widget changes.
9882
9883         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
9884         ::direction_changed to get rid of various hacks.
9885
9886 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
9887
9888         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
9889         name.
9890
9891 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
9892
9893         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
9894         flag to the structure. Do not call XFreePixmap on pixmaps created
9895         by gdk_pixmap_foreign_new().
9896
9897 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
9898
9899         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
9900         value using GdkRGB functionality given GdkColormap and GdkColor.
9901         (name not final, waiting for inspiration.)
9902         
9903         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
9904         set the foreground/background of a GC using the GC's colormap
9905         and GdkRGB. (name not final, waiting for inspiration.)
9906
9907         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
9908         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
9909
9910         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
9911         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
9912         purely a function of the corresponding colormap. Make
9913         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
9914
9915         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
9916         gdk_pixbuf_*create_from_xpm_* in terms of
9917         gdk_pixbuf_new_from_xpm_data(), move into platform independent
9918         code.
9919
9920         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
9921         advantage of the new draw_rgb_32_image_dithalign.
9922
9923         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
9924
9925         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
9926         on each created GC.
9927
9928         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
9929
9930         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
9931         which we initialize from the drawable when the GC is created,
9932         if the drawable has a colormap.
9933
9934         * gdk/x11/gdkgc-x11.c: include string.h for memset.
9935
9936         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
9937
9938         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
9939
9940 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
9941
9942         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
9943         actually returning expose events, make sure to set
9944         the count field properly.
9945
9946         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
9947         accidentally reintroced bug which always cleared
9948         the graphics_exposures value. 
9949
9950 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
9951
9952         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
9953
9954 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
9955
9956         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
9957
9958 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
9959
9960         * docs/faq/gtk-faq.sgml: Start of Section 6.
9961
9962 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
9963
9964         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
9965         
9966         (Fixes problem with drawing childless frames. Pointed out
9967         by and a first patch from Anders)
9968         
9969         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
9970         compute a child_allocation, even if we don't have a child.
9971
9972         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
9973         Always chain to the parent's impl, even if we don't have a child.
9974
9975 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9976
9977         * gdk/gdkrgb.c: If possible, create only a single shm segment and
9978         use multiple parts of it instead of creating a bunch of separate
9979         segments, since the maximum number of segments per system is not
9980         large. (This might be worth backporting to GTK+-1.2.x if we make a
9981         new release )
9982
9983         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
9984         structure in preparation for per-colormap GdkRGB.
9985
9986         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
9987         to False when we get EINVAL from shmget so that the caller of
9988         gdk_image_new can retry with a smaller segment size.
9989
9990 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
9991
9992         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
9993
9994 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
9995
9996         * configure.in: make the current version number 1.3.1 (binary age 0,
9997         interface age 0).
9998         
9999         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
10000         gtkcompat.h is all we want.
10001
10002         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
10003         GLib primitive types. fixed g_type_register_fundamental() argument
10004         ordering.
10005
10006         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
10007         compiles.
10008
10009         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
10010         object code cleanup, comment trigraph fixes, etc...
10011
10012 2000-06-23  Havoc Pennington  <hp@redhat.com>
10013
10014         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
10015         instead of making up a bogus name for first_para_mark
10016
10017         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
10018         0 as a context ID
10019
10020 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
10021
10022         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
10023
10024 2000-06-21  Havoc Pennington  <hp@pobox.com>
10025
10026         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
10027         we didn't check window->bg_pixmap != GDK_NO_BG.
10028
10029         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
10030         gdk-pixbuf
10031
10032 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
10033
10034         * docs/faq/gtk-faq.sgm: Move file to here.
10035           TODO: Update Makfile.am 
10036
10037 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
10038
10039         * docs/gtk-faq.sgm: Add Section 2
10040
10041 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
10042
10043         * docs/gtk-faq.sgm: New file. Start of DocBook
10044           version of the FAQ.
10045
10046 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
10047
10048         * configure.in (GDK_PIXBUF_MAJOR): Define version
10049         numbers for GDK_PIXBUF_*, as they get substituted
10050         into a header file. Need to consider versioning
10051         for gdk-pixbuf more carefully later.
10052
10053 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
10054
10055         Work with srcdir != builddir.   
10056         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
10057         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
10058         * demos/testpixbuf.c: Likewise.
10059         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
10060         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
10061         <gdk/x11/gdkx.h>.
10062         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
10063         "gdk-pixbuf.h".
10064         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
10065
10066 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
10067
10068         * TODO.xml: Change 1.4 version numbers to 2.0.
10069
10070 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
10071
10072         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
10073         fixups to GTK+ standard.
10074
10075 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
10076
10077         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
10078         gdk-pixbuf.
10079
10080         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
10081         fixups for GObject.
10082
10083         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
10084         gdk-pixbuf with GDK dependencies moved into GDK.
10085         
10086         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
10087         move gdk-pixbuf-loader here until GObject has signals.
10088
10089         * demos/: New directory of demos. Move demos from
10090         gdk-pixbuf here.
10091
10092         * demos/pixbuf-init.c: Small bit of code to check for
10093         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
10094         set GDK_PIXBUF_MODULEDIR appropriately.
10095
10096         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
10097         define which no longer makes sense.
10098
10099 2000-06-21  Havoc Pennington  <hp@redhat.com>
10100
10101         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
10102         gtk_get_default_language
10103
10104         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
10105         new function to get the default language
10106
10107         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
10108         s/gtk_text_view_style_values/gtk_text_style_values/
10109
10110         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
10111         Add a "language" field to tags.
10112
10113         (gtk_text_tag_set_arg): Fix bug in setting
10114         "bg_full_height_set" tag.
10115
10116 2000-06-21  Havoc Pennington  <hp@redhat.com>
10117
10118         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
10119         in the interfaces
10120
10121         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
10122         stuff instead when possible.
10123
10124         * gtk/gtktexttypes.h: Delete some unused constants
10125
10126         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
10127         testtextbuffer.c: use glib instead of custom unicode routines
10128
10129 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
10130
10131         * docs/es/: Removed mistakenly added generated sgml
10132
10133         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
10134         Remove outdated info files.
10135
10136         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
10137         Moved tutorial files into subdir
10138
10139         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
10140         subdir.
10141
10142         * docs/man/gtk_button.pod: Remove. (contents will be
10143         integrated into gtk-reference button page.)
10144
10145         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
10146         docs/faq/Makefile.am: Adjust for new organization
10147
10148 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
10149
10150         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
10151         not $(MKINSTALLDIRS)
10152
10153 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
10154
10155         * gtk/testgtk.c (create_text): Finish the job Elliot started
10156         of removing font setting test for text widget. (Since text widget
10157         and GdkFont are not deprecated, and cause portability problems.)
10158
10159 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
10160
10161         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
10162         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
10163         Remove use of libunicode in favor of new GLib functions.
10164
10165         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
10166         nano-x, framebuffer. The X11 include is just a hack until we get
10167         the necessary functions in gdkcolor.h, so there is no reason to
10168         add other includes of platforms.
10169
10170         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
10171         window bigger than the screen change.
10172
10173         * gtk/testgtk.c: Revert some random changes from Elliot
10174         that had no particular point and were causing testgtkrc
10175         not to function correctly.
10176         
10177         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
10178         because GdkSegment and GdkRegionBox have the same fields,
10179         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
10180         results in clearer code.
10181
10182         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
10183         gdk_input_translate_coordinates): Fix missed GdkObjectification
10184
10185 2000-06-18  Elliot Lee  <sopwith@redhat.com>
10186
10187         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
10188         * gtk/gtk{plug,socket}.h: Missed commits from previous.
10189
10190 2000-06-20  Havoc Pennington  <hp@redhat.com>
10191
10192         * modules/linux-fb/Makefile.am: Make this compile
10193         without framebuffer enabled
10194
10195         * gdk/linux-fb/Makefile.am: Add conditional to not build
10196         framebuffer unless specified in configure
10197
10198         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
10199         the size of the target instead of source if -1 was passed for
10200         width/height
10201
10202         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
10203         width/height confusion.
10204
10205 2000-06-19  Havoc Pennington  <hp@redhat.com>
10206
10207         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
10208         GDK_DRAWABLE_XID. In the future, we probably want to make it
10209         faster with G_DISABLE_CHECKS turned on.
10210
10211 2000-06-14  Havoc Pennington  <hp@redhat.com>
10212
10213         * gdk/Makefile.am: add gdkpixmap.c
10214
10215         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
10216         s/gdk_image_init/_gdk_windowing_image_init
10217
10218         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
10219         ref/unref
10220
10221         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
10222
10223         * gdk/gdkcompat.h: remove GdkWindowType compat, since
10224         GdkWindowType is now non-deprecated; 
10225         change gdk_window_get_type() compat to be
10226         gdk_window_get_window_type().
10227
10228         * gdk/gdkdnd.h: make GdkDragContext a GObject.
10229
10230         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
10231         virtual GObject. Make all functions call into the vtable.
10232         Move gdk_image_put() guts in here. Remove GdkDrawableType
10233         and gdk_drawable_get_type(), these are now GdkWindow-specific.
10234         draw_image, get_depth, get_size, set_colormap, get_colormap,
10235         get_visual added to the vtable.
10236         
10237         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
10238         GObject. Virtualize everything. 
10239         (gdk_gc_new_with_values): remove check for destroyed window,
10240         because now GdkWindow::create_gc will check this.
10241         (gdk_gc_set_values): New function to set GC values, this 
10242         was already implemented but wasn't in the header
10243
10244         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
10245
10246         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
10247         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
10248         remove _gdk_window_class; add _gdk_window_impl_get_type() and
10249         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
10250         _gdk_windowing_window_init, rename gdk_image_init to
10251         _gdk_windowing_image_init.
10252         
10253         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
10254         (gdk_draw_layout): Remove check for destroyed window, 
10255         because all the drawable methods already check it.
10256         
10257         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
10258         Add gdkpixmap.c which contains implementation of GdkDrawable
10259         virtual table (by chaining to a platform-specific implementation
10260         object).
10261         
10262         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
10263         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
10264         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
10265         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
10266         GdkColormapPrivate. 
10267
10268         * gdk/gdktypes.h: #include <glib-object.h>
10269
10270         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
10271         Move most functionality to platform-specific implementation
10272         object. GdkWindow itself now handles the backing store, then
10273         chains to the platform-specific implementation.
10274         (gdk_window_get_window_type): return GdkWindowType of the window.
10275         (gdk_window_peek_children): New routine, returns the children of 
10276         a GdkWindow
10277         (gdk_window_get_children): Was in X11-specific code and did 
10278         XQueryTree. Changed to simply return a copy of window->children; 
10279         so it can go in cross-platform code.
10280         
10281         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
10282
10283         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
10284         GdkColormap; just changed to use the new private data instead
10285         of casting to GdkColormapPrivate.
10286
10287         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
10288         gdk_cursor_new().
10289
10290         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
10291         (private data member in the GObject). 
10292         (xdnd_manager_source_filter): Function had broken 
10293         error handling, fix it (use gdk_error_trap_push).
10294
10295         * gdk/x11/gdkdrawable-x11.c: This file now implements
10296         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
10297         base class is purely for the convenience of the X port,
10298         and not part of the interface to cross-platform GDK.
10299
10300         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
10301         
10302         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
10303         specific to X, and returned by the create_gc virtual method
10304         of GdkDrawableImplX11. 
10305         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
10306         rather than gchar, this was also changed in the GdkGC vtable.
10307         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
10308         mask is 0, return immediately, instead of checking every flag.
10309         This is faster, and keeps us from segfaulting if values is NULL
10310         and the mask contains some nonzero flags.
10311
10312         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
10313         GdkWindow.
10314
10315         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
10316         GdkWindowPrivate is gone.
10317
10318         * gdk/x11/gdkim-x11.c: rename things that got renamed.
10319
10320         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
10321         remove the image_put stuff that got transferred to GdkDrawable.
10322         
10323         * gdk/x11/gdkinput.c: renamings
10324
10325         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
10326
10327         * gdk/x11/gdkpixmap-x11.c: GObject conversion
10328
10329         * gdk/x11/gdkprivate-x11.h: indentation fixes
10330
10331         * gdk/x11/gdkproperty-x11.c: renamings
10332
10333         * gdk/x11/gdkselection-x11.c: renamings
10334
10335         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
10336         implements the platform-specific "impl" object.
10337         Moved gdk_window_get_children to gdk/gdkwindow.c
10338
10339         * gdk/x11/gdkx.h: Remove all the private structs and private datas
10340         that no longer exist. Add declaration of GdkGCX11 object here.
10341         Fix all the macros to still work. 
10342
10343         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
10344         GdkDragContext from the boxed types since they are now GObjects.
10345
10346         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
10347         moved xthickness/ythickness into the instance. GtkStyleClass
10348         functions are now in the standard vtable for GtkStyle, so you have
10349         to create a GObject subclass to write a theme engine.
10350         (gtk_style_copy): fixed a leaked PangoFontDescription
10351         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
10352         can be the standard GObject function.
10353         
10354         * Throughout GTK:
10355         s/style->klass->[xy]thickness/style->[xy]thickness
10356         s/pango_layout_unref/g_object_unref/
10357
10358         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
10359         
10360         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
10361         accessing GDK internals.
10362
10363         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
10364         accessing GDK internals.
10365
10366 2000-06-18  Elliot Lee  <sopwith@redhat.com>
10367
10368         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
10369
10370         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
10371         problem by calculating event position relative to the trough
10372         rather than the slider.
10373         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
10374
10375         * gdk/gdkgc.h: Add GDK_NOR.
10376
10377         * configure.in, Makefile.am: Add modules top level dir
10378         * configure.in: Only use pangox library if building x11 target.
10379         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
10380
10381 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
10382
10383         * gtk/gtkcolorsel.c: Change private class member to be named
10384         private_data throughout the file.
10385
10386         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
10387         private_data to avoid clashing with keyword.
10388
10389 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
10390
10391         * gdk/gdkdnd.h: Add comment to remove warning.
10392
10393 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
10394
10395         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
10396         Byelorussian language; changed the Makefile and file names 
10397         to reflect that.
10398
10399 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
10400
10401         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
10402         rather than gdk_window_hide; this makes things work
10403         correctly if the window is programmatically hidden while
10404         iconified.
10405
10406 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
10407
10408         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
10409         cut and paste typo where wrong pixmap was being
10410         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
10411
10412 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
10413
10414         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
10415         Add helper function to compute format / bytes 
10416         relationship. Use in a couple places to fix up
10417         errors which assume 8 * format.
10418
10419         * gtk/gtkselection.c (gtk_selection_request): Use 32
10420         rather than 8 * sizeof (GdkAtom), to work correctly
10421         on Alpha.
10422
10423 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
10424
10425         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
10426         libgtk.la
10427         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
10428         versions
10429
10430         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
10431         checking macros return NULL since the function has a return value.
10432
10433 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
10434
10435         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
10436         GTK+ from building at all.
10437
10438         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
10439
10440 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
10441
10442         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
10443         gtk/Makefile.am: make it possible to configure gtk for different
10444         targets on the same platform. The library name is now 
10445         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
10446         flag. Only the x11 target compiles right now.
10447         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
10448         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
10449         * gdk/nanox/gdk*generic*: delete generic region code.
10450         * gdk/linux-fb/gdk*generic*: delete generic region code.
10451         * README.nanox: update information.
10452         
10453 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
10454
10455         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
10456         prepend not append. (Pointed out by Brett Hall.)
10457
10458 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
10459
10460         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
10461
10462 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
10463
10464         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
10465         need this later, and this makes sure that the atexit for
10466         glib gets called after that for GDK, so atexits are
10467         properly ordered for object leak checking.
10468
10469         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
10470
10471         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
10472         pango_x_shutdown_display()
10473
10474         * gtk/simple.c (main): Close window on destroy.
10475
10476 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
10477
10478         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
10479         to treat initial creation different from setting with 
10480         regards to the graphics-exposures parameter, so add a parameter
10481         indicating whether this is initial or not.
10482
10483 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
10484
10485         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
10486         to sort of work by adding an extra return_exposes arg
10487         to gdk_event_translate() - it might be better to simply
10488         deprecate the function altogether and force people to rewrite
10489         without it. gdk_window_scroll() handles most of it, and where
10490         gdk_window_scroll() doesn't work, simply redrawing more does.
10491
10492         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
10493         assertion.
10494
10495         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
10496
10497         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
10498         bunch of pretty much useless /* Print debugging info */ comments 
10499         which had drifted away from the code they were commenting.
10500
10501 2000-06-02  Havoc Pennington  <hp@pobox.com>
10502
10503         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
10504         is in working order.
10505         
10506         * gtk/testtext.c: Change to reflect anonymous mark API
10507
10508         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
10509
10510         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
10511         field, which was unused.
10512
10513         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
10514         saves some typing.
10515
10516         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
10517
10518         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
10519         flag on the insertion point and selection bound
10520
10521         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
10522         make mark-manipulation functions take a GtkTextMark* instead of a
10523         mark name.
10524         
10525         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
10526         GtkTextMarkBody; will be used to detect attempts to delete
10527         the permanent marks (insert and selection bound)
10528
10529         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
10530
10531 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
10532
10533         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
10534         flag to on.
10535
10536         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
10537         Honor DOUBLE_BUFFRED_FLAG
10538
10539         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
10540         function to set the DOUBLE_BUFFERED flag.
10541
10542         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
10543         or not exposes done on the widget should be double-buffered.
10544
10545         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
10546         to be what would be expected. (Fixes problem with a
10547         g_return_if_fail() validating a TextDirection enumeration)
10548
10549 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
10550
10551         * gtk/gtkwidget.c: Remove all references to 
10552         offscreen flag which was no longer used.
10553
10554         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
10555
10556         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
10557         for non-null label_widget->parent.
10558
10559         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
10560         which no longer was used.
10561
10562         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
10563
10564         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
10565         for null arguments.
10566
10567         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
10568         check for destroyed windows.
10569
10570 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
10571
10572         * gtk/gtkimmulticontext.c: Add a finalize method and unref
10573         the slave context there.
10574
10575         * gtk/gtkinvisible.[ch]: Make reference counting behavior
10576         identical to GtkWindow.
10577
10578 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
10579
10580         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
10581         pangox to here, so we can write them independent of rendering
10582         system, using GDK primitives.
10583
10584         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
10585         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
10586         since we have a rendering-system independent implementation in
10587         terms of draw_glyphs().
10588         
10589         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
10590         function to render a single line.
10591
10592         * gdk/x11/gdkpango.c: Move the guts of this file mostly
10593         into ../gdkpango.c, which simplifies things, since we
10594         don't have to deal with raw X gc's.
10595
10596 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
10597
10598         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
10599         get the logical attributes for a given GtkTextLine.
10600
10601 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
10602
10603         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
10604         g_locale_get_codeset() to g_get_codeset() change.
10605
10606 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
10607
10608         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
10609         descriptions.
10610
10611         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
10612         the entry.
10613
10614         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
10615         redoing (vastly simplifying) for Pango. Still needs quite
10616         a bit of work. (Size selection is currently poor. List of 
10617         predefined sizes is not a good idea, since all of these
10618         sizes won't necessarily be distinct.)
10619
10620 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
10621
10622         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
10623         CODESET results for LANG=C.
10624
10625 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
10626
10627         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
10628         which takes a stringized pango font description;
10629         ignore the older 'font' and 'fontset' declarations.
10630
10631         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
10632         field with a GdkFont derived via gdk_font_from_description(),
10633         for compatibility. (Should we just remove it entirely?
10634         Probably too much compatibility breakage, but people
10635         should be migrating to the new Pango stuff as quickly
10636         as possible.)
10637
10638 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
10639
10640         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
10641
10642 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
10643
10644         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
10645         redoing; there are some bugs in size allocation right
10646         now, the semi-existant distinction between header / day
10647         fonts was removed, but, with Pango, could actually
10648         be made functional in a nice way.
10649         
10650         * gtk/testcalender: Move calender from examples into this
10651         directory as a test program. (We really need to restrcture
10652         testgtk into a whole directory full of tests for every
10653         widget or functionality group, separated into multiple .c
10654         files.)
10655
10656 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
10657
10658         * gtk/testgtk.c (file_exists): Fix stupid typo that
10659         was keeping RC file from being loaded.
10660
10661         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
10662         RC file font code.
10663
10664 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
10665
10666         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
10667         Add function to load a GdkFont from a PangoFontDescription.
10668
10669 2000-05-29  Tor Lillqvist  <tml@iki.fi>
10670
10671         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
10672         variable should be of type GdkEventPrivate.
10673
10674 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
10675
10676         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
10677         to have any widget for the label, use a GtkLabel widget
10678         to display the text. (Based partially on a patch from
10679         Anders Carlson.)
10680
10681         (Quite a bit of code reorganization - strip 90% of the
10682         guts out of gtkaspectframe and add a single virtual
10683         func to GtkFrameClass - compute_child_allocation.)
10684
10685 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
10686
10687         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
10688         (Removed clist->row_center_offset field because caching
10689         it wasn't saving time or code, added private function
10690         _gtk_clist_create_cell_layout()).
10691
10692 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
10693
10694         * gtk/gtkaccellabel.c: Pangoized.
10695
10696         * gtk/[hv]ruler.c: Pangoized
10697
10698 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
10699
10700         * gtk/gtkfilesel.c (gtk_file_selection_init):
10701         Use gtk_clist_set_column_auto_resize() to remove need
10702         need for manual column width computations.
10703
10704 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
10705
10706         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
10707         ensuring Pango correctness, and considerably simplifying the
10708         code.
10709         
10710         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
10711
10712         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
10713         getting of numbers of lines.
10714
10715         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
10716         to the actual requested width of the lable, not to the wrap
10717         width we set.
10718
10719         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
10720
10721         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
10722           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
10723
10724         * gtk/gtktextview.c: Fix structure inheritance.
10725
10726         * gtk/gtkprogressbar.c: Pangoize.
10727
10728 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
10729
10730         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
10731         in a function.
10732
10733         * gtk/gtktextlayout.c (find_display_line_above): Fixed
10734         bug with computing line tops.
10735
10736         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
10737
10738 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10739
10740         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
10741         and y_offset coordinates to do what we need now. (The offset between
10742         buffer and layout coordinates has been reintroduced, but is a 
10743         bit different than before.)
10744
10745         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
10746         handle the adjustments ourselves, and scroll as necessary using
10747         the new gdk_window_scroll().
10748         
10749         The advantage of this is that when we are incrementally revalidating,
10750         we are essentially rearranging things around the visible portion
10751         of the screen. With the old setup, the visible portion of the
10752         screen was moved around in the layout, so scrolling and redrawing
10753         to track that caused jumping of the display. Since we now
10754         control the scrolling ourselves, we can suppress this and
10755         only redraw when things actually change.
10756
10757 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
10758
10759         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
10760         the region not just redisplay it after-all, since we store the
10761         cursors in the LineDisplay. (Ugly interactions here between
10762         GtkLayout and GtkTextBTree here.)
10763         
10764         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
10765
10766 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10767
10768         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
10769         Added function to scroll contents of a window while keeping the
10770         window constant. Works by XCopyArea or guffaw-scrolling depending
10771         on the details of how the window is set up. (guffaw-scrolling
10772         still needs to be filled in.)
10773
10774 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
10775
10776         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
10777         move the debugging that was tied to a global variable
10778         to that.
10779
10780         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
10781
10782         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
10783         validated flag, in line data instead of setting height/width to
10784         -1. This allows us to perform operations with partially invalid
10785         buffer (using the old size for invalid lines) and thus to do
10786         incremental vaidation. Keep height/width aggregates up to date
10787         when deleting text and rebalancing the tree.
10788
10789         * gtk/gtktextbtree.[ch]: Add functions validate a line
10790         (gtk_text_btree_validate_line), and to validate up
10791         to a number of pixels (gtk_text_btree_validate).
10792
10793         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
10794         that indicates that something is changed and a revalidation
10795         pass is needed. Change ::need_repaint to ::changed, and
10796         make it take old and new yranges instead of a rectangle.
10797
10798         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
10799         the line_data_destroy() function from 
10800         gtk_text_btree_add_view() to a virtual function in 
10801         GtkTextLayout
10802
10803         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
10804         since we are handling partial repaints in a different fashion
10805         now.
10806
10807         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
10808         of the selection instead of queueing a repaint on the
10809         entire widget.
10810
10811         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
10812         get_selection_bounds() down to btree, make the function
10813         in buffer a wrapper around the btree function.
10814
10815         * gtk/gtktextlayout.[ch]: Add functions to check if the
10816         layout is valid and to recompute either a range of pixels
10817         aroudn a line or a certain total number of pixels.
10818
10819         * gtk/gtktextlayout.[ch]: Cache a single line display;
10820         now that we only redraw the needed portions, the hit rate
10821         for this cache is quite high.
10822         
10823         * gtk/gtktextview.[ch]: Keep track of the first paragraph
10824         on the screen so that when re-laying-out the buffer, we can
10825         keep the same place. This requires connecting to ::value_changed
10826         on the adjustments
10827
10828         * gtk/gtktextview.[ch]: Add idle functions to revalidate
10829         the buffer after we receive an ::invalidated signal.
10830         
10831 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
10832
10833         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
10834         to max of allocation and layout size, not just to the
10835         layout size.
10836
10837         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
10838         Invalidate window so it gets redrawn properly.
10839
10840         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
10841         to mean the entire window.
10842
10843         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
10844         into public header.
10845
10846 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
10847
10848         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
10849         to get the name of a mark.
10850
10851         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
10852         to find the paragraph from a y position.
10853
10854 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
10855
10856         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
10857         nodes have width/height >= 0, not > 0.
10858
10859 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
10860
10861         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
10862         Add a size_only flag, so when we only need the size, we don't create
10863         useless appearance attributes.
10864
10865         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
10866         duplicate setting of font description.
10867
10868         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
10869
10870 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10871
10872         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10873         EXTRA_DIST. It does not work well when the file that
10874         everything depends on is not in the tarball.
10875
10876 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10877
10878         * gtk/testgtk.c: Some hacks and fixes so that it basically
10879         works when not sitting in the GTK+ build tree.
10880
10881 2000-05-03  Havoc Pennington  <hp@redhat.com>
10882
10883         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
10884         Properly determine the ordering of the tag root and the current
10885         line within the tree. Previous algorithm only worked if the tag
10886         root's immediate parent was the common root of both the current
10887         line and the tag root.
10888
10889 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
10890
10891         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
10892         alignment.
10893
10894         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
10895         the widget text directional dynamically.
10896
10897         * gtk/gtktextview.[ch]: Added functions to get and set default
10898         wrap mode.
10899
10900 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
10901
10902         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
10903         in cursor location computation.
10904
10905 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
10906
10907         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
10908         vadjusment values properly when layout gets smaller.
10909
10910         * gtk/gtktextview.c (need_repaint_handler): Areas being
10911         passed in are far completely inaccurate, and sometimes
10912         too small, so, for now, just queue a redraw on the
10913         whole visible region.
10914
10915 2000-04-25  Havoc Pennington  <hp@redhat.com>
10916
10917         * gtk/gtktextbtree.c (summary_destroy): new function to 
10918         destroy tag summary nodes
10919         (gtk_text_line_next_could_contain_tag): this function was 
10920         totally broken if the line passed in wasn't below the tag
10921         root. Fix it.
10922         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
10923         "wildcard" case, we have to do a linear scan. Blah.
10924         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
10925         we have to do the linear scan
10926         (tag_removed_cb): When a tag is removed from the tag table, 
10927         remove the GtkTextTagInfo node from the btree.
10928         (gtk_text_btree_spew): Implement the spew function, for 
10929         our debugging pleasure.
10930
10931 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
10932
10933         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
10934         a problem with referring to the wrong buffer.
10935
10936         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
10937
10938         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
10939         font description to gtk_style_new() - otherwise things
10940         don't work without a .gtkrc file.
10941
10942         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
10943         tags table if we create it ourself, too.
10944
10945         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
10946         it was conflicting with XKB modifiers.
10947
10948         * gtk/gtktextview.[ch]: Add simple support for 
10949         GtkIMContext.
10950
10951 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
10952
10953         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
10954         with deletion from last commit.
10955
10956 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
10957
10958         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
10959         in the context from the current locale.
10960         
10961         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
10962         context, not hardcoded value.
10963
10964         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
10965         not logical.
10966
10967 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10968
10969         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
10970         attributes - that doesn't handle partial-glyph selection
10971         properly. Instead use new pango_layout_line_get_x_ranges()
10972         functionality to draw the selection.
10973
10974         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
10975         now properly handles out-of-range coordinates.
10976
10977         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
10978
10979         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
10980         public.
10981
10982         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
10983         for paragraphs opposite to the base direction of the widget.
10984
10985         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
10986
10987         * gtk/gtktextlayout.c: Don't split segments on marks, since that
10988         causes Arabic words to reshape as you cursor through.
10989
10990         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
10991         cursor position when moving vertically with the arrow keys and
10992         scrolling with page-up/page-down. (Arrow keys save only the X,
10993         scrolling saves both X and Y.)
10994
10995         This means you can line-up / line-down or page-up / page-down
10996         without losing your place, and also that moving vertically
10997         with the cursor keys keeps the same X position, not the same
10998         character count:
10999
11000         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
11001         arrow keys move by display lines, not paragraphs.
11002
11003 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
11004
11005         * gtk/gtklayout.c: Make sure that the bin window is at least
11006         as big as the allocation. (Should we also make sure that the
11007         bin window is big enough to completely cover widget->window?)
11008
11009         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
11010         function to get the onscreen rectangle.
11011
11012         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
11013         for offsets in window coordinates.
11014
11015 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
11016
11017         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
11018         confusion.
11019
11020         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
11021         from the widget direction.
11022
11023         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
11024         Add a "direction" attribute.
11025
11026         * gtk/gtktextview.c: global s/tkxt/text_view/.
11027
11028         * gtk/testtext.c: Added long block of text in Arabic, to test out
11029         the direction attributes. (Some problems with the shaping system
11030         for arabic become obvious - like the fact the cursor splits words
11031         into unjoined pieces.)
11032
11033 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
11034
11035         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
11036
11037         * gtk/gtktextlayout.c: Fix up alignment.
11038
11039         * gtk/testtext.c: Add some tests for centering, wrapping.
11040
11041 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
11042
11043         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
11044         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
11045         If we wrote GTK+-specific layout-render function this could just replace
11046         the draw_layout() operation in the vtable.
11047
11048         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
11049         pango_layout_get_cursor_pos() and use that function.
11050
11051         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
11052         is a non-static symbol.
11053
11054         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
11055         with gtk_text_btree_find_line_by_y()
11056
11057         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
11058         renderer that handles GtkTextAppearance attributes.
11059
11060         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
11061
11062           - Move the values in the style that don't affect geometry into a
11063             GtkTextAppearance structure.
11064           - Change underline to take a PangoUnderline and "font" a string
11065             representation of a font description
11066           - Add a "font_desc" attribute which takes a FontDescription structure.
11067
11068         * gtk/gtktextlayout.[ch]:
11069
11070           - Get rid of the display-line list per each line. Instead, we
11071             generate, on demand, a GtkTextLineDisplay structure which]
11072             contains a PangoLayout * and other necesary information
11073             (offsets, cursor locations) for displaying a paragraph.
11074           - Get rid of the code to wrap lines, create display chunks,
11075             etc. Instead, we just go through a paragraph and convert
11076             it into the necessary inputs to a PangoLayout.
11077           - Implement a new attribute type, GtkTextAttrAppearance. This
11078             holds a GtkTextAppearance, and is used to pass colors, 
11079             stipple, etc, through from the layout to the display without
11080             having to use lots and lots of individual attributes.
11081           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
11082             in terms of PangoLayout functions.
11083         
11084         * gtk/gtktextview.c: 
11085          
11086           - Handle passing the necessary PangoContext to the layout
11087           - Some fixups in painting to deal with the automatic backing store
11088             and offsetting of GTK+-1.4
11089           - Add a style_set handler so that the default style reacts
11090             properly to theme changes.
11091         
11092         * gtk/gtktext?*.[ch]: Random code-style fixes.
11093
11094         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
11095
11096 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
11097
11098         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
11099         in original form preparatory to Pango-ization and gdkimcontext-ization.
11100
11101 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
11102
11103         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
11104         so that we can derive from gtkimcontext in language bindings properly.
11105
11106 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
11107
11108         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
11109         Add a compose table including (almost) all the compose combinations
11110         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
11111         data in the XIM implementation.
11112
11113         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
11114         Moved functions to convert keyvalues from and to unicode here from
11115         the win32 port and made them public.
11116
11117 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
11118
11119         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
11120
11121 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
11122
11123         * gtk/gtkimcontext.[ch]: Base class for new input context system
11124
11125         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
11126         the real input context implementation to be loaded from modules
11127         and switched on the fly.
11128
11129         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
11130         context that just does direct keysymbol => unicode translation.
11131
11132         * gtk/gtkentry.[ch]: Start switching editing over to using
11133         GtkInputContext. (No handling of preedit yet.)
11134
11135 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
11136
11137         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
11138         many substitutions. (klass should not be subsituted.)
11139
11140 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
11141
11142         * configure.in: Add checks for Pango
11143
11144         * configure.in docs/Makefile.am: Add test for sgml2html
11145         and allow 'make dist' without building html, but print out
11146         warnings in that case. (For making snapshots)
11147
11148         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
11149         Add Pango libraries and C flags
11150
11151         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
11152         Add function (gdk_draw_layout) to draw a pango layout.
11153
11154         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
11155         for getting Pango contexts for GDK.
11156
11157         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
11158
11159         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
11160         editing.
11161
11162         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
11163         keysym => unicode translations. More languages can be added
11164         here, but real input-method support is needed.
11165
11166         * docs/Changes-1.4.txt: Added note about entry behavior.
11167         
11168         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
11169         to set the reading direction for a widget and the global direction.
11170         Add test which allows toggling the global direction. Two private
11171         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
11172
11173         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
11174           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
11175
11176         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
11177
11178         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
11179         underlining now handled by Pango.
11180
11181         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
11182         to RCStyle and Style. (Having both this and the old font name and GdkFont 
11183         is temporary.)
11184
11185         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
11186         convenience functions for creating contexts and layouts for widgets.
11187
11188         * gtk/testgtk.c: Enhance label tests with multilingual labels.
11189
11190 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
11191
11192         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
11193         titles to be active, even if they aren't visible.
11194         (gtk_clist_column_titles_passive):  Ditto.
11195
11196 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
11197
11198         * gtkmenu.c:
11199         * gtkmenu.h:
11200         * gtktypeutils.h: Spelling/grammar fixes in comments.
11201
11202 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
11203
11204         * gdk/nanox/*.h: add missing header files.
11205
11206 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
11207
11208         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
11209         send_event to TRUE.
11210         (gtk_drawing_area_size): queue a resize.
11211
11212 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
11213
11214         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
11215         the handlers, also invalidate them. bug nailed down by Karl Nelson
11216         <kenelson@ece.ucdavis.edu>.
11217
11218 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
11219
11220         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
11221         "(nil)" foundries, patch from Grigorios Magklis.
11222
11223         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
11224         on non-available fonts, based on a patch by Grigorios Magklis
11225         <maglis@cs.rochester.edu>.
11226
11227 2000-05-18  Elliot Lee  <sopwith@redhat.com>
11228
11229         * gdk/x11/gdkregion-generic.c: If a region does not have any
11230         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
11231         instead of GDK_OVERLAP_RECTANGLE_IN.
11232
11233 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
11234
11235         * gtk/gtklayout.c (gtk_layout_map): Remove references to
11236         OFFSCREEN, as it is no longer necessary.
11237
11238 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
11239
11240         * gtk/gtkcolorsel.c: Patch from David Santiago
11241         <mrcooger@cyberverse.com> to change things so that the 
11242         indicator of the active palette entry is done independently,
11243         not via the focus, since it should always be visible.
11244
11245 2000-05-17  Tor Lillqvist  <tml@iki.fi>
11246
11247         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
11248         refcount leaks as in the X11 backend.
11249
11250         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
11251         cosmetics.
11252
11253         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
11254         backend. Add _gdk_windowing_window_destroy().
11255
11256         * gtk/gtkcolorsel.c: Include correct backend-specific header.
11257         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
11258         either, but these probably do exist on nanox?)
11259         
11260         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
11261         which isn't necessarily defined by <math.h>.
11262
11263         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
11264         ancestry past GtkObject.
11265
11266         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
11267         from DLL on Win32.
11268
11269         * gtk/gtk.def: Update corresponding to recent changes.
11270
11271         * gtk/makefile.{cygwin,msc}: Updates.
11272
11273 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
11274
11275         * docs/Changes-1.4.txt: A bit of editing.
11276
11277         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
11278         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
11279         to clear the update area for the window, and clear it
11280         when hiding a window.
11281
11282         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
11283         if window destroyed.
11284
11285         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
11286
11287         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
11288         gdk_window_destroy() to the generic code, since there was a lot of 
11289         window-system-independent logic it in. Add a function:
11290         
11291          _gdk_window_destroy() 
11292
11293         to the internal API to destroy a window without unreferencing it.
11294         Add a function:
11295
11296          _gdk_windowing_window_destroy()
11297
11298         That does the windowing-system-dependent part of destroying 
11299         the window.
11300
11301 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
11302
11303         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
11304
11305 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
11306
11307         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
11308         Make gtk_widget_shape_combine_mask() keep a reference count on
11309         the pixmap since it keeps it around.
11310
11311 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
11312
11313         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
11314         leak.
11315
11316         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
11317         leak with event filters.
11318
11319 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
11320
11321         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
11322         signal handlers with the right data arguments. (Fixes
11323         some warnings when a widget was repeatedly set as a drag
11324         destination.)
11325
11326         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
11327         window so we can avoid avoid setting the DND properties on the
11328         toplevel window repeatedly.
11329
11330 2000-05-13  Tor Lillqvist  <tml@iki.fi>
11331
11332         * gdk/win32/gdkwin32.h: Define more message types missing from
11333         mingw headers.
11334
11335         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
11336         call gdk_window_destroy_notify(). It was never called. This
11337         probably meant that the GdkWindow was never freed. Thanks Owen for
11338         noticing (!).
11339
11340         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
11341         window as destroyed before calling DestroyWindow(). DestroyWindow()
11342         causes a call to the window procedure (gdk_WindowProc), which
11343         calls gdk_event_translate(), which calls
11344         gdk_window_destroy_notify(), which gets confused unless the window
11345         is set as destroyed.
11346
11347         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
11348         this function to indicate it's win32 only. Put inside #ifdef
11349         G_ENABLE_DEBUG.
11350
11351         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
11352         debugging function. (gdk_event_translate:) Add a default branch
11353         that uses the above function to print debug messages with all
11354         Windows messages symbolically.
11355
11356         * gdk/win32/gdkprivate-win32.h: Declare it, and
11357         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
11358
11359 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
11360
11361         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
11362         public header file.
11363
11364 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
11365
11366         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
11367
11368         * gtk/gtktext.c: made the adjustments no-construct args, simply
11369         provide default adjustments.
11370         (gtk_text_destroy): release adjustments.
11371
11372         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
11373         adjustment argument non-construct.
11374
11375         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
11376         instead of in finalize.
11377         (gtk_progress_get_text_from_value): 
11378         (gtk_progress_get_current_text): 
11379         (gtk_progress_set_value): 
11380         (gtk_progress_get_percentage_from_value): 
11381         (gtk_progress_get_current_percentage): 
11382         (gtk_progress_set_percentage): 
11383         (gtk_progress_configure): ensure an adjustment is present.
11384
11385 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
11386
11387         * gtk/gtkcolorsel.[hc]:
11388         * gtk/gtkcolorseldialog.[hc]:
11389         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
11390         their parent implementation, use bit fields for boolean values, don't
11391         create unused widgets, usage of glib types, braces go on their own
11392         lines, function argument alignment, #include directives etc. etc. etc..
11393
11394         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
11395
11396 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
11397
11398         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
11399
11400         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
11401         of NULL.
11402
11403         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
11404         to freed data.
11405         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
11406
11407         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
11408         to NULL when the toplevel is getting destroyed.
11409         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
11410         (gtk_menu_destroy): 
11411         (gtk_menu_init): store the information of whether we have to
11412         readd the initial child ref_count during destruction in a new
11413         GtkMenu field needs_destruction_ref_count.
11414
11415         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
11416         here, those reading: learn from my mistake! ;)
11417         in order for set_?adjustment to support a default adjustemnt if
11418         invoked with an adjustment pointer of NULL, the code read (pseudo):
11419         if (v->adjustment) unref (v->adjustment);
11420         if (!adjustment) adjustment = adjustment_new ();
11421         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
11422         now imagine the first unref to actually free the old adjustment and
11423         adjustment_new() creating a new adjustment from the very same memory
11424         portion. here, the latter comparision will unintendedly fail, and
11425         all hell breaks loose.
11426         (gtk_viewport_set_hadjustment):
11427         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
11428         after unreferencing it.
11429
11430         * gtk/gtkcontainer.[hc]: removed toplevel registration
11431         functions: gtk_container_register_toplevel(),
11432         gtk_container_unregister_toplevel() and
11433         gtk_container_get_toplevels() which had wrong semantics
11434         anyways: it didn't reference and copy the list.
11435
11436         * gtk/gtkwindow.c: we take over the container toplevel registration
11437         bussiness now. windows are registered across multiple destructions,
11438         untill they are finalized. the initial implicit reference count
11439         users are holding on windows is removed with the first destruction
11440         though.
11441         (gtk_window_init): ref & sink and set has_user_ref_count, got
11442         rid of gtk_container_register_toplevel() call. add window to
11443         toplevel_list.
11444         (gtk_window_destroy): unref the window if has_user_ref_count
11445         is still set, got rid of call to
11446         gtk_container_unregister_toplevel().
11447         (gtk_window_finalize): remove window from toplevel list.
11448         (gtk_window_list_toplevels): new function to return a newly
11449         created list with referenced toplevels.
11450         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
11451
11452         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
11453         adjustment a non-construct arg.
11454         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
11455         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
11456         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
11457
11458         * gtk/gtkrange.c: added some realized checks.
11459         (gtk_range_destroy): get rid of the h/v adjustments in the
11460         destroy handler instead of finalize. remove timer.
11461         (gtk_range_get_adjustment): demand create adjustment.
11462
11463         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
11464         we simply create them on demand now and get rid of them in
11465         the destroy handler.
11466         (gtk_viewport_destroy): get rid of the h/v adjustments in the
11467         destroy handler instead of finalize.
11468         (gtk_viewport_get_hadjustment): 
11469         (gtk_viewport_get_vadjustment): 
11470         (gtk_viewport_size_allocate): demand create h/v adjustment
11471         if required.
11472
11473         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
11474         gtk_widget_real_destroy () functionality.
11475         (gtk_widget_real_destroy): reinitialize with a new style, instead
11476         of setting widget->style to NULL.
11477
11478 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
11479
11480         * gtk/gtkcalendar.c:
11481         * gtk/gtkbutton.c: ported _get_type() implementation over to
11482         GType, either to preserve memchunks allocation facilities,
11483         or because Gtk+ 1.0 GtkTypeInfo was still being used.
11484
11485         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
11486         over. prepare for ::destroy to be emitted multiple times.
11487         removed reference tracer magic. chain into GObjectClass.shutdown()
11488         to emit ::destroy signal.
11489
11490         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
11491         fundamental.
11492
11493         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
11494         cludge.
11495
11496         * gtk/gtksocket.c:
11497         * gtk/gtkplug.c:
11498         * gtk/gtklayout.c:
11499         * gtk/gtklabel.c:
11500         * gtk/gtkargcollector.c:
11501         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
11502         not being a fundamental anymore, and to work with the new
11503         type system (nuked fundamental type varargs clutter).
11504
11505         * gtk/*.c: install finalize handlers in the GObjectClass
11506         part of the class structure.
11507         changed direct GTK_OBJECT()->klass accesses to
11508         GTK_*_GET_CLASS().
11509         changed direct object_class->type accesses to GTK_CLASS_TYPE().
11510
11511         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
11512         GType. made most of the GTK_*() type macros and Gtk* typedefs
11513         simple wrappers around macros and types provided by GType.
11514         most notably, a significant portion of the old API vanished:
11515         GTK_TYPE_MAKE(),
11516         GTK_TYPE_SEQNO(),
11517         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
11518         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
11519         GTK_TYPE_ARGS,
11520         GTK_TYPE_CALLBACK,
11521         GTK_TYPE_C_CALLBACK,
11522         GTK_TYPE_FOREIGN,
11523         GtkTypeQuery,
11524         gtk_type_query(),
11525         gtk_type_set_varargs_type(),
11526         gtk_type_get_varargs_type(),
11527         gtk_type_check_object_cast(),
11528         gtk_type_check_class_cast(),
11529         gtk_type_describe_tree(),
11530         gtk_type_describe_heritage(),
11531         gtk_type_free(),
11532         gtk_type_children_types(),
11533         gtk_type_set_chunk_alloc(),
11534         gtk_type_register_enum(),
11535         gtk_type_register_flags(),
11536         gtk_type_parent_class().
11537         replacements, where available are described in ../docs/Changes-1.4.txt.
11538         implemented compatibility functions for the remaining API.
11539
11540         * configure.in: depend on glib 1.3.1, use gobject module.
11541
11542 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
11543
11544         * TODO.xml: Various updates to current status.
11545
11546 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
11547
11548         * gtk.m4: Print out version when test succeeds.
11549
11550 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
11551
11552         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
11553         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
11554         
11555         (Original triangle color selector from Simon Budig
11556         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
11557         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
11558         Santiago <mrcooger@cyberverse.com>)
11559
11560         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
11561         out into a separate widget.
11562
11563         * gtk/testgtk.c: Add some checkbuttons for toggling palette
11564         and opacity controls.
11565
11566 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
11567
11568         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
11569         snuck in prematurely.
11570
11571 2000-05-07  Tor Lillqvist  <tml@iki.fi>
11572
11573         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
11574         had deleted a ! operator by mistake, which caused
11575         GDK_SELECTION_CLEAR events never to be generated, which caused
11576         only the first copy to the clipboard from an gtkeditable to
11577         actually cause a copy to the Windows clipboard.
11578
11579 2000-05-06  Tor Lillqvist  <tml@iki.fi>
11580
11581         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
11582         compilation, too. Current mingw gcc distributions include the
11583         necessary headers. Also the necessary IIDs are now in mingw
11584         headers/libraries, and own definitions unnecessary.
11585
11586         More hacking on OLE2 DND, still doesn't work though, and thus
11587         ifdeffed out.
11588
11589         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
11590         here, too.
11591
11592 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
11593
11594         * gdk/nanox/*: nano-X port work in progress.
11595         * gdk/simple.c: simple test for Gdk.
11596         * README.nanox: notes about the port: read this first!
11597         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
11598         with nano-X.
11599
11600 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
11601
11602         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
11603         gdk_window_clear() into common code, implement in terms of
11604         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
11605         not redirected to the backing rectangle.
11606
11607 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
11608
11609         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
11610         EXTRA_DIST. It does not work well when the file that
11611         everything depends on is not in the tarball.
11612
11613 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
11614
11615         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
11616         with recursion where process_updates() is called from
11617         an expose handler. (GtkTextView is highly broken in
11618         doing this, but it should work, so it is a nice test
11619         case.)
11620
11621 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
11622
11623         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
11624         handle the case where updates are queued during processing of
11625         updates.
11626
11627 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
11628
11629         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
11630         window is on gdk_display - use that instead of segfaulting.
11631
11632 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
11633
11634         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
11635         broken and require an empty arg, give it to them.
11636
11637 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
11638
11639         * gtk/gtklabel.h: indentation fixes.
11640
11641 2000-05-02  Tor Lillqvist  <tml@iki.fi>
11642
11643         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
11644         draw too narrow or too low arcs, they seem to fail, at least with
11645         some display drivers.
11646
11647         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
11648
11649         Large changes to the Win32 backend, partially made necessary by
11650         the changes to the backend-independent internal
11651         structures. Attempts to implement similar backing store stuff as
11652         on X11. The current (CVS) version of the Win32 backend is *not* as
11653         stable as it was before the no-flicker branch was merged. A
11654         zipfile with that version is available from
11655         http://www.gimp.org/win32/. That should be use by "production"
11656         code until this CVS version is usable. (But note, the Win32
11657         backend has never been claimed to be "production quality".)
11658
11659         * README.win32: Add the above comment about versions.
11660
11661         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
11662
11663         * gdk/gdk.def: Update.
11664
11665         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
11666         presumably be replaced by some more better mechanism as 1.4 gets
11667         closer to release shape.
11668
11669         * gdk/makefile.{cygwin,msc}: Update.
11670
11671         * gdk/win32/*.c: Correct inclusions of the backend-specific and
11672         internal headers. Change code according to changes in these. Use
11673         gdk_drawable_*, not gdk_window_* where necessary.
11674
11675         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
11676         our old DND.
11677
11678         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
11679         to interpret single characters as UTF-8. Thanks to Hans Breuer.
11680         Use correct function name in warning messages.
11681
11682         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
11683         GSourceFuncs gdk_event_prepare and gdk_event_check.
11684         (gdk_event_get_graphics_expose): Do implement, use
11685         PeekMessage. Thanks to Hans Breuer.
11686         (event_mask_string): Debugging function to print an GdkEventMask.
11687         (gdk_pointer_grab): Use it.
11688
11689         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
11690         (old) book I used claimed was Hangul actually is CJK Unified
11691         Ideographs Extension A. Also, Hangul Syllables were missing.
11692         Improve logging.
11693
11694         * gdk/win32/gdkgc-win32.c: Largish changes.
11695
11696         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
11697         g_win32_getlocale() from GLib, and not setlocale() to get current
11698         locale name.
11699
11700         * gdk/win32/gdkprivate-win32.h
11701         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
11702         gdkwin32.h, similarily as in the X11 backend.
11703
11704         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
11705         assignment was used instead of equals in if test. Thanks to Hans
11706         Breuer.
11707
11708         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
11709         the X11 version.
11710
11711         * gdk/win32/makefile.{cygwin,msc}
11712         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
11713         path to the Win32 headers that works also with the mingw compiler.
11714
11715         * gtk/gtkstyle.c: Include <string.h>.
11716
11717 2000-04-26  Havoc Pennington  <hp@redhat.com>
11718
11719         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
11720         replacing the broken gtk_label_get ()
11721
11722 2000-04-15  Havoc Pennington  <hp@pobox.com>
11723
11724         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
11725         this keeps scanner scripts from getting confused.
11726
11727         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
11728         data, rather than void
11729
11730 2000-04-15  Tor Lillqvist  <tml@iki.fi>
11731
11732         * gtk/gtkclist.c (gtk_clist_motion)
11733         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
11734         with is_hint FALSE, get x and y from the event. They used to be
11735         used uninitialised. The Win32 backend never sends motion events
11736         marked as hints. This for instance fixes the annoying file and
11737         font selector behaviour in the Win32 version.
11738
11739 2000-04-14  Tor Lillqvist  <tml@iki.fi>
11740
11741         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
11742         gtk_private_n_signals variables, they are used by some software,
11743         sigh.
11744
11745         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
11746         installation directory from the Registry, where the installer
11747         should have put it.
11748
11749 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
11750
11751         * gdk/x11/Makefile.am: Fix problem with installation directory for
11752         gdkx.h
11753
11754         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
11755         <mrcooger@cyberverse.com> so that when selecting menus with the
11756         mouse, the first item will not be selected, but when selecting
11757         with an accelerator, or navigating left-right on a menubar with
11758         the menus popped up, the first item will be selected.
11759
11760 2000-04-05  Dan Damian  <dand@dnttm.ro>
11761
11762         * configure.in: Added "ro" to ALL_LINGUAS.
11763
11764 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
11765
11766         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
11767         indentation.
11768
11769         * Makefile.am (EXTRA_DIST): Fix typo.
11770
11771         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
11772         to catch gdkconfig.h
11773
11774         * gtk/gtkitemfactory.c: Added FIXME.
11775
11776 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
11777
11778         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
11779         s/return_if_fail/return_val_if_fail/g and add a return value.
11780
11781 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
11782
11783         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
11784         merge slipup.
11785
11786         * gdk/gdkinput.h: Fix missing line from merge.
11787
11788 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
11789
11790         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
11791         instead of gdkprivate.h.
11792
11793 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
11794
11795         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
11796         parent class to correctly be GtkDialogClass.
11797
11798 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
11799
11800         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
11801         toplevel windows and their immediate children by their parents,
11802         since the size of toplevel windows is out of our immediate
11803         control and we don't get any real benefit from trying to track
11804         this size for clipping.
11805
11806         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
11807         for input_only windows.
11808
11809         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
11810         to fix some hacks and make sure that we don't try to set the
11811         background of input only windows.
11812
11813 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
11814
11815         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
11816         the _really_ internal stuff, and leave gdkprivate.h for the fake private
11817         stuff that we've traditionally exposed.
11818
11819         * gdk/**.c: Use gdkinternals.h where appropriate.
11820
11821         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
11822         not include gdkprivate-x11.h, move all stuff of conceivable public
11823         interest into gdkx.h; keep all really private stuff in
11824         uninstalled header gdkprivate-x11.h.
11825
11826         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
11827         image->image_put on windows through a new function _gdk_window_draw_image()
11828         to allow us to do backing store for images. (Sort of ugly)
11829
11830         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
11831         contexts locally so that we can offset them properly when drawing 
11832         onto backing pixmaps.
11833
11834         * gdk/gdkinput.h: Reindented
11835
11836         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
11837         pixmap or color for the window, so we can properly initialize
11838         our double-buffer pixmaps, and also so that we temporarily set
11839         a background of None while scrolling.
11840
11841         * gdk/gdkregion.h: Revise region boolean operators to have an
11842         interface that is actually convenient - switch from creating new
11843         regions on every op, to "methods" that modify existing regions
11844         (A = A OP B). 3 argument forms which allow dest == src, would also
11845         be possible, but the current interfaces seem to map nicely
11846         onto what needs to be done. (There is quite a lot of region
11847         code in GDK now.)
11848
11849         * gdk/gdkregion.h: Add constructor from rectangle and a copy
11850         operator.
11851
11852         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
11853         gdkpoly-generic.h: Copy region code from Xlib, switch it over
11854         to 32 bit coordinates, modify it to be mostly GTK+ style
11855         and to have interfaces that match gdkregion.h.
11856
11857         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
11858         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
11859         create a backing pixmap and redirect all drawing to
11860         that backing pixmap until a matching gdk_window_end_paint().
11861
11862         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
11863         Create a special drawable class for GtkWindow's that 
11864         redirects the drawing to the backing pixmap as necessary
11865         and then calls the real operations in _gdk_windowing_window_class.
11866
11867         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
11868         Store invalid region for each window. Generate expose events for invalid
11869         region in an idle. This replaces both the expose compression
11870         and the redrawing queuing in GTK+. It is both more efficient and
11871         simpler than either one individually and far more so then the
11872         combination.
11873
11874         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
11875         Emulate 32 bit coordinates for windows with 16 bit coordinates
11876         by offsetting drawing, guffaw scrolling techniques and
11877         mapping/unmapping child windows as necessary.
11878
11879         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
11880         where, when invalid regions are processed, the region is stored,
11881         and if expose events come in that are detectably duplicate
11882         the processed exposes (by comparison of event serial numbers),
11883         the stored region is subtracted out of those exposes.
11884
11885         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
11886         regions newly exposed when scrolling or resizing windows.
11887         This, combined with forcing processesing of queued invalidated
11888         regions, gives nice flicker-free scrolling.
11889
11890         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
11891         invalidated regions after every scroll.
11892
11893         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
11894         emulation in GDK. Its, for all practical purposes just a
11895         GtkViewport/GtkFixed hybrid now.
11896
11897         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
11898         (16-bit) structures as necessary instead of just casting.
11899
11900         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
11901         in terms of the structures from gdkregion-generic.c, using appropriate
11902         offsets from GDK to X11 coordinates. Cache clip mask and
11903         origin and ts origin locally and only flush to the server
11904         when drawing, to avoid constantly setting and resetting these
11905         values when offsetting GC's for scrolling and backing pixmaps.
11906
11907         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
11908
11909         * gtk/gtkcontainer.c: Call process_all_updates at end
11910         of resizing to reduce flicker. (Avoids having redraw
11911         lag arbitrarily behind resize under some circumstances)
11912
11913         * gtk/gtkentry.c: Remove old backing store code, and simply take
11914         advantage of the new backing store capabilities of GDK.
11915
11916         * gtk/gtkmain.c: Simple implementation of widget backing
11917         store - simply push a paint while handling each expose.
11918         (Should really be configurable widget for widget.)
11919         
11920         * gtk/gtkwidget.c: Remove all the old complicated redraw
11921         code, and simply invalidate the GDK windows from
11922         gdk_window_queue_clear(), etc. (Sigh, so much carefully
11923         debugged complexity ... gone to the winds.)
11924
11925         Remove all the code for suppressing expose events while
11926         resizes are pending; this isn't needed since the invalid
11927         areas won't be processed until after the resizes are
11928         processed, since they are in a lower priority idle.
11929
11930 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
11931
11932         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
11933         and height of dest rectangle for non-intersecting rectangles.
11934
11935 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
11936
11937         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
11938         for GdkRectangle.
11939
11940 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
11941
11942         * gdk/gdk{events,image,private,types,window}.h
11943          gdk/x11/gdkinputprivate.h: Change all coordinates
11944          from int16 to int. Also, Change width and height from
11945          unsigned to signed to avoid all the stupid C 
11946          signedness bugs.
11947
11948 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
11949
11950         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
11951         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
11952         Add some more detailed checking.
11953
11954         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
11955         New function to retrieve the depth of a drawable.
11956
11957         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
11958         field, reorder fields to save memory. 
11959
11960 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
11961
11962         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
11963         of the background image instead of scaling the background down to
11964         a line.
11965
11966         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
11967         which temporarily set slider to wrong size.
11968
11969         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
11970         queue_clear().
11971
11972 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
11973
11974 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
11975
11976         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
11977
11978 2000-03-17  Tor Lillqvist  <tml@iki.fi>
11979
11980         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
11981         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
11982
11983         * gdk/win32/gdkfont-win32.c
11984         * gdk/win32/gdkproperty-win32.c
11985         * gdk/win32/gdkselection-win32.c
11986         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
11987         now declared such.
11988
11989 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
11990
11991         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
11992
11993 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
11994
11995         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
11996         is called without trapping X errors.
11997
11998 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
11999
12000         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
12001         way into the fontset lists.
12002
12003 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
12004
12005         * gtk/gtkthemes.h: add extern "C" scope.
12006
12007 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
12008
12009         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
12010         to make appends to the list constant. (gtk-guy-990901-0.patch)
12011
12012 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
12013
12014         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
12015         for the typename hash table.
12016
12017 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
12018
12019         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
12020         to make sure we never divide by zero. 
12021         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
12022
12023 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
12024
12025         * gtk/gtkfontsel.c: Apply patch from
12026         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
12027         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
12028
12029         Also, some cleanups in atom handling.
12030
12031 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
12032
12033         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
12034         not GtkWidget.
12035
12036 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
12037
12038         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
12039         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
12040         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
12041         more guint wrap-around bugs before going to bed.
12042
12043 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
12044
12045         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
12046         guint wrap arounds in allocation.width.
12047
12048         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
12049         process untill we fit the allocation given.
12050
12051 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
12052
12053         * gtk/gtkwidget.c:
12054         (gtk_widget_unrealize): guard widget access with ref/unref
12055         around signal emission.
12056         (gtk_widget_hide): same here, but also check its destroyed
12057         state before queueing a resize.
12058
12059 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
12060
12061         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
12062         of gtk_default_insensitive_bg as insensitive base color.
12063
12064         * gtk/gtktext.c (gtk_text_style_set): set the background color according
12065         to the widget's state.
12066         (gtk_text_realize): same here.
12067         (gtk_text_state_changed): same here.
12068         (draw_bg_rect): compare background color against base[] from
12069         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
12070
12071 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
12072
12073         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
12074         grabs are active, unless a delete event is send to the toplevel
12075         of the currently grab holding widget.
12076
12077 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
12078
12079         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
12080         debugging g_print's.
12081
12082 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
12083
12084         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
12085         ever make the scrolled-window requisition ever depend on the 
12086         visibility state of the scrollbars for the AUTOMATIC policy. 
12087         This breaks the GTK+ requisition model, and causes loops.
12088
12089 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
12090
12091         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
12092         the default font to avoid problems with XFree86-4.0 where the
12093         default charset is iso10646-1, not iso8859-1.
12094
12095 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
12096
12097         * acinclude.m4
12098         * config.guess
12099         * config.sub
12100         * ltconfig
12101         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
12102
12103         * gtk/Makefile.am: minor cosmetic consistency tweak
12104
12105 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
12106
12107         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
12108         the activate_time to 0, so that we handle a quick
12109         press/release press/release properly and don't suppress
12110         the second release. (Red Hat bug #7545)
12111
12112 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
12113
12114         * gtk/gtkctree.c (row_delete):
12115         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
12116         bugs with destruction notifier, *always* update internal
12117         structures *before* calling user code.
12118
12119 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
12120
12121         A few more fixes for bug #5487, #2051, #2677.
12122         * gtk/gtkclist.c : 
12123         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
12124         not GDK_BUTTON_PRESS.
12125         (resync_selection): resync only if selection_mode is
12126         GTK_SELECTION_EXTENDED
12127         * gtk/gtkctree.c (resync_selection): same here
12128
12129 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
12130
12131         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
12132         gdk_drag_get_selection() and gtk_menu_detach().
12133
12134         [ From Jeroen Ruigrok/Asmodai ]
12135
12136 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
12137
12138         * gtk/gtknotebook.c (gtk_notebook_size_request): 
12139         page->tab_label can be NULL.
12140
12141 2000-01-25  Havoc Pennington  <hp@pobox.com>
12142         
12143         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
12144         arg is boolean
12145
12146         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
12147
12148         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
12149
12150         * gdk/gdkproperty.c (gdk_property_get): return boolean
12151
12152         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
12153
12154         * gdk/gdkim.c (gdk_im_ready): return boolean
12155
12156         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
12157
12158         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
12159         glib clash, should fix glib)
12160
12161         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
12162         (gdk_get_show_events): return gboolean, and canonicalize 
12163         to TRUE/FALSE
12164
12165         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
12166         colormap is private
12167         (gdk_colors_alloc): gboolean whether to be contiguous
12168         (gdk_color_equal): return gboolean since we are a predicate
12169         and not a qsort() (this looks semi-wrong due to glib breakage,
12170         IMO glib should be fixed)
12171         
12172         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
12173         (gdk_get_use_xshm): return gboolean
12174         (gdk_pointer_is_grabbed): return gboolean
12175
12176         * gdk/gdk.h: Change prototypes to match all the above changes,
12177         and re-run egtk-format-protos as required.
12178
12179 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
12180
12181         * gtk/gtkctree.c (resync_selection): 
12182         * gtk/gtkclist.c (resync_selection):
12183
12184         Return immediately if clist->drag_pos < 0. This is a workaround
12185         for the corrupt state that the clist gets into when a
12186         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
12187
12188         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
12189         
12190         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
12191         variable from recent commit.
12192
12193 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
12194
12195         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
12196
12197 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
12198
12199         * gtk/Makefile.am: prefix all autogenerated source that get build in
12200         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
12201         in builddir. since we subsequently cd into srcdir for autogeneration,
12202         the paths have to be stripped from the target file names, thusly we
12203         use $(@F) as target names now.
12204         put a comment about configure.in's --disable-rebuilds option,
12205         which can be used for non-writable source directories, for development
12206         setups though, srcdir has to be *writable*.
12207
12208 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
12209
12210         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
12211           Finish the job of allowing event to be NULL.
12212           (Fixes bug #4283, reported by Chris Blizzard)
12213
12214         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
12215           things so that the cursor appears on screen, properly
12216           take into account INNER_BORDER.
12217           (Fixes bug #4754, reported by Antonio Campos)
12218
12219 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
12220
12221         * gtk/gtknotebook.c (gtk_notebook_map): Don't
12222           show the tab_label unless it itself is visible.
12223
12224           gtk/gtknotebook.c (gtk_notebook_size_request):
12225           Do a better job of making sure that the visibility
12226           of the tab label corresponds to whether it should
12227           be mapped or not.
12228
12229 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
12230
12231         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
12232           Use the requisition, not the allocation, since the
12233           allocation has not necessarily been computed yet.
12234           (Pointed out by Eugene Osintsev)
12235
12236 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
12237
12238         * gtk/gtkstyle.c (gtk_style_new): Dont' set
12239           style/base[GTK_STATE_INSENSITIVE] both to
12240           gtk_default_insensitive_bg!
12241           (Bug #2187, reported by Jonathan Blandford)
12242
12243         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
12244           Add Alt_L, Alt_R to list of invalid accelerators.
12245           (Bug #3736, reported by Vlad Harchev)
12246
12247 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
12248
12249         * gtk/gtkfilesel.c (open_ref_dir): Fix several
12250         bugs which occured after an attempt to open 
12251         invalid home directory left cmpl_state->reference_dir == NULL.
12252
12253          - completion on files in home directory didn't work
12254          - completion on an empty string caused  segfault
12255
12256          (Bug #3678, reported by Steve Ratcliffe)
12257
12258         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
12259         cut and paste error that was causing scales to
12260         be incorrectly positioned.
12261         (Bug #2956,
12262          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
12263
12264 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
12265
12266         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
12267         when checking for dcgettext, if we've found we needed
12268         it for dgettext.
12269 +
12270 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
12271
12272         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
12273         queue_clear on NO_WINDOW widgets during a reparent,
12274         since at that point the window and widget heirarchies
12275         are out of sync. This stops crashing in some cases
12276         (the scrolled window reparent test, for instance), and
12277         _probably_ won't cause drawing errors.
12278
12279         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
12280         test do what it was supposed to do and be robust against
12281         window closings, etc. (Bug #2443)
12282
12283 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
12284
12285         * gtk/gtkentry.c: Fix return values on mouse events.
12286         (Bug #2686, Sky <seb_sky@yahoo.com>)
12287
12288         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
12289         (pointed out by George Lebl)
12290
12291         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
12292         (From Ettore Perazzoli  <ettore@helixcode.com>)
12293  
12294 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
12295
12296         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
12297         clicks between rows or outside calender area correctly.
12298         (Patch from Damon Chaplin)
12299
12300         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
12301         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
12302           Call destroy function when overwriting existing data. 
12303           (Pointed out by Damon Chaplin)
12304
12305 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
12306
12307         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
12308           which was causing problems on various systems with Xmu.
12309           This hasn't been needed for a very long time.
12310           (Fixes #1185 3167)
12311
12312 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
12313
12314         * gdk/gdki18n.h: Include <ctype.h> when defining
12315           gdk_isw* in terms of is* as a fallback.
12316           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
12317
12318 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
12319
12320         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
12321           realize the widget when it is size allocated!
12322           (old, old bug)
12323
12324         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
12325           Removed unused call to gdk_window_get_size() that
12326           showed up when the above was fixed.
12327
12328 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
12329
12330         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
12331           fix up widget->window when the widget is a
12332           NO_WINDOW container widget.
12333
12334 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
12335
12336         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
12337           to account for the fact that feof() does _not_ 
12338           return TRUE on errors, and thus avoid infinite loops
12339           when trying to use gdk_pixmap_create_from_xpm()
12340           on unreadable values.
12341
12342 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
12343
12344         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
12345
12346 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
12347
12348         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
12349           gdk_gc_set_dashes to take gint8 instead of gchar to
12350           make it clearer that it is _not_ a NULL terminated string.
12351
12352         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
12353           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
12354           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
12355           arguments.
12356
12357 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
12358
12359         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
12360         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
12361         background size relative to our allocation, guard against small
12362         allocations, we may have not yet been size allocated.
12363
12364 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
12365
12366         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
12367         not just version == 3. We implement all 3 + most of 4 - 
12368         (we don't support matching text/plain;charset=iso-8859-1
12369         to a dest that expects text/plain). We'll still advertise
12370         3 to be safe, but any client implementing version >= 3
12371         must interoperate with 3.
12372         
12373 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
12374
12375         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
12376         background and gc members, add a warning in gtk_tooltips_set_color()
12377         indicating that this function is deprecated.
12378
12379 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
12380
12381         * docs/gtkfaq.sgml: FAQ Update:
12382           - Minor cleanups (Emmanuel, me)
12383           - New questions:
12384                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
12385                 How can I retrieve the text from a GtkMenuItem? (timj)
12386                 How do I validate/limit/filter the input to a GtkEntry? (me)
12387                 Memory does not seem to be released when I free the list
12388                         nodes I've allocated (timj)
12389
12390 2000-03-07  Tor Lillqvist  <tml@iki.fi>
12391
12392         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
12393         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
12394         for which it is no use to call GetLastError onWin9x.
12395         (gdk_other_api_failed) New function, for general error
12396         reporting without calling GetLastError.
12397         (gdk_win32_api_failed) OTOH, this function always calls
12398         GetLastError. (gdk_win32_last_error_string) Remove this function,
12399         GLib has the equivalent now.
12400
12401         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
12402         call them with function name, file name and line number in the
12403         arguments.
12404
12405         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
12406         functions.
12407         
12408         * gtk/gtk.def: Add some missing entry points.
12409
12410         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
12411         gtk_paned_set_gutter_size, which don't exist any longer, as void.
12412         
12413         Fixes by Hans Breuer:
12414
12415         * gdk/makefile.msc: Update for debugging.
12416
12417         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
12418         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
12419         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
12420         in the dash_list.
12421
12422         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
12423         the x11 backend.
12424
12425         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
12426
12427         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
12428
12429 2000-03-04  Tor Lillqvist  <tml@iki.fi>
12430
12431         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
12432         just pixel value of background colour.
12433
12434         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
12435         containing code snippet previously duplicated in a couple of
12436         places.
12437         
12438         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
12439         gdk_colormap_color.
12440
12441         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
12442         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
12443         events for autorepeated Shift, Control and Alt keys. Use
12444         gdk_colormap_color.
12445
12446         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
12447         pointer is inside the window the cursor of which we are setting,
12448         call SetCursor immediately.
12449
12450         * gdk/win32/makefile.cygwin
12451         * gtk/makefile.cygwin: If we don't have the build number stamp
12452         file, use zero.
12453
12454         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
12455         gtk_paned_set_gutter_size as empty.
12456
12457         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
12458         
12459 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
12460
12461         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
12462           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
12463           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
12464           docs/gtk_tut.sgml docs/gtk.texi TODO:
12465
12466           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
12467
12468 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
12469
12470         * gtk/gtkcalendar.c: Implement num_marked_dates,
12471           and don't emit mutiple day_selected signals on
12472           month_prev.
12473
12474 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
12475
12476         * docs/make-todo (lineno): let title and logo be configurable so
12477         that GNOME can use this script too.
12478
12479         * TODO.xml: added logourl and a title
12480
12481 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
12482
12483         * TODO.xml: Added some UI items, and an explanatory
12484         comment at the top of the file.
12485
12486 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
12487
12488         * TODO.xml: some updates, added abunch of new entries.
12489         a note for those fiddeling with this file, when done
12490         with it, invoke:
12491         $ ./docs/make-todo TODO.xml >/dev/null
12492         and correct output errors before comitting changes.
12493
12494 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
12495
12496         * TODO.xml: Added XML-structured TODO file.
12497         * docs/make-todo: python script to turn TODO.xml into
12498           pretty XML output. 
12499
12500 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
12501
12502         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
12503         the function to let it draw the seven dots, instead of the old,
12504         much maligned, method.
12505         (draw_dot): New function to draw a dot.
12506
12507         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
12508         to draw the handle inside the border width as opposed to outside.
12509         Use paint function instead of gdk_draw_point.
12510
12511         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
12512         to draw the handle inside the border width as opposed to outside.
12513         Use paint function instead of gdk_draw_point.
12514
12515         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
12516         Change indenting to be more GTK like.
12517
12518 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
12519
12520         * docs/gtk_tut.sgml: New section on GtkCalendar
12521         * examples/calendar: Update example code
12522
12523 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
12524
12525         * docs/gtkfaq.sgml: FAQ Update
12526
12527 2000-02-19  Anders Carlsson  <andersca@gnu.org>
12528
12529         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
12530         to prevent the scroll event to be propagated upwards.
12531
12532 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
12533
12534         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
12535         OwnerGrabButtonMask from button entries for
12536         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
12537
12538         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
12539         to the event mask (which will result in button/press release
12540         being added to the event mask on Unix) so scrolling works
12541         for layouts in scroll windows.
12542
12543         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
12544
12545         Patch from Anders Carlsson  <andersca@gnu.org> to add
12546         a scroll event.
12547
12548         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
12549         scrolling to the "Test Scrolling" part of testgtk.
12550  
12551         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
12552  
12553         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
12554         it against GDK_SCROLL.
12555  
12556         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
12557         way of mouse wheel scrolling.
12558  
12559         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
12560  
12561         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
12562  
12563         * gtk/gtkmain.c: Removed previous mouse wheel hack.
12564  
12565         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
12566         gdk_event_mask_table.
12567  
12568         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
12569         GdkEventScroll handler.
12570  
12571         * gdk/gdkevents.h: Added GdkEventScroll structure.
12572  
12573 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
12574
12575         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
12576         and Anders Carlsson to change the Paned widgets so that they
12577         can be dragged from anywhere along the length. Also change
12578         the way that this is drawn to make this apparent.
12579
12580         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
12581         from George Lebl to check that option_menu->menu is present
12582         before getting history.
12583
12584 2000-02-14  Tor Lillqvist  <tml@iki.fi>
12585
12586         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
12587         before the assertion for non-NULL segment list.
12588
12589         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
12590         Seems that pattern brushes *must* be 8x8 pixels! At least on my
12591         machine, but it might be display driver dependent. Sigh, so make
12592         sure the stipple is that size. Does Windows suck or what?
12593
12594         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
12595         places.
12596
12597 2000-02-13  Havoc Pennington  <hp@pobox.com>
12598
12599         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
12600         refcount to 1
12601         (gdk_cursor_new): init refcount to 1
12602
12603         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
12604
12605 2000-02-13  Tor Lillqvist  <tml@iki.fi>
12606
12607         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
12608         so that we don't have to do unnecessary settings to the HDC.
12609
12610         * gdk/win32/gdkdrawable-win32.c
12611         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
12612         gdk_gc_predraw.
12613
12614         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
12615         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
12616         GDI paths, call WidenPath to get the outline of the stroken path,
12617         and then fill the outline (with the brush that was built from the
12618         stipple).
12619
12620         * gdk/win32/gdkgc-win32.c: Factor out common code from
12621         _gdk_win32_gc_new and gdk_win32_gc_set_values into
12622         gdk_win32_gc_values_to_win32values. Use correct colour for
12623         SetBkColor() (Until now the code actually used a random colour in
12624         the call to SetBkColor()... but that didn't show up as not many
12625         GDI APIs use the background colour. Pattern (opaque stippled)
12626         brushes do.)
12627
12628         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
12629         gdk_win32_api_failed): New functions for error logging.
12630
12631         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
12632         WIN32_API_FAILED to call them, passing function or file name and
12633         line number.
12634
12635         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
12636
12637         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
12638         GdkColor for foreground and background in GdkGCWin32Data.
12639
12640         * gdk/makefile.cygwin: Link in the resource object separately.
12641
12642         * gdk/win32/rc/gdk.rc
12643         * gtk/gtk.rc (New file)
12644         * gdk/win32/makefile.cygwin
12645         * gtk/makefile.cygwin: Update build number in DLLs automatically,
12646         as in GLib.
12647
12648 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
12649
12650         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
12651         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
12652         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
12653         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
12654         parameters given and cursor->ref_count. coding style fixups.
12655
12656         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
12657         not GtkWidget.
12658         
12659         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
12660         fix up widget macros and add _GET_CLASS() variant.
12661         
12662         * gtk/*.c: some GtkType fixups.
12663
12664 2000-02-09  Tor Lillqvist  <tml@iki.fi>
12665
12666         * gdk/win32/gdkproperty-win32.c
12667         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
12668         were reversed.
12669
12670 2000-02-04  Tor Lillqvist  <tml@iki.fi>
12671
12672         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
12673         g_filename_to_utf8 to convert the font names Windows gives us from
12674         whatever is the default codepage to UTF-8.
12675         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
12676         in the other direction.
12677
12678         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
12679         error in debugging output.
12680
12681 2000-02-02  Tor Lillqvist  <tml@iki.fi>
12682
12683         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
12684         and height parameters to gdk_window_clear_area(). Not minus one.
12685
12686 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
12687
12688         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
12689         checks if the widget passed to gtk_drag_get_data() was not the
12690         dest widget.
12691
12692 2000-02-01  Tor Lillqvist  <tml@iki.fi>
12693
12694         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
12695         g_filename_from_utf8 functions (which were added a moment ago to
12696         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
12697         size buffers.
12698
12699         gtk_file_selection_get_filename returns the filename in the C
12700         runtime encoding. It calls g_filename_from_utf8, but copies the
12701         returned string to a static buffer, which is returned. I think
12702         this is better than returning the result from g_filename_from_utf8
12703         directly, which would mean all apps that use it would have to free
12704         the return value. Or should this function care about this issue at
12705         all? Maybe a new function with clearly defined semantics.
12706
12707         * gtk/gtkfilesel.h: Add comment about
12708         gtk_file_selection_get_filename returning the filename in the C
12709         runtime's encoding.
12710
12711         * README.win32
12712         * gdk/gdk.def
12713         * gdk/makefile.{cygwin,msc}
12714         * gtk/gtk.def: Updates.
12715
12716         * gdk/gdkcursor-win32.c: Initialise refcount.
12717
12718 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
12719
12720         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
12721
12722 2000-01-30  Havoc Pennington  <hp@pobox.com>
12723
12724         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
12725         destroy
12726
12727         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
12728
12729         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
12730         implemented in platform-specific code
12731
12732         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
12733
12734         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
12735         underscore in front
12736
12737         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
12738         put an underscore in front
12739
12740         * gdk/gdkcursor.c: new file, implements
12741         gdk_cursor_ref/gdk_cursor_unref
12742
12743         * gdk/gdkcursor.h: Refcount GdkCursor
12744
12745         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
12746
12747 2000-01-29  Tor Lillqvist  <tml@iki.fi>
12748
12749         * gdk/gdkwindow.h
12750         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
12751
12752 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
12753
12754         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
12755         structures to properly inherit from GtkWidget not GtkBin.
12756
12757 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
12758
12759         * gtk+.spec.in: Added lib/gtk+/include/* to %files
12760         (bug #5178 - Peter Wainright)
12761         
12762         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
12763         so that it will be installed.
12764         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
12765
12766 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
12767
12768         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
12769         for the GtkStyleClass vtable const.
12770
12771         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
12772         take a const string argument like GtkTranslateFunc. This will
12773         require changes in use code.
12774
12775 2000-01-19  Tor Lillqvist  <tml@iki.fi>
12776
12777         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
12778         semantics (to mimic the X11 backend, which just calls XClearArea)
12779         is to check for zero width (and height), and in that case use the
12780         window's width minus x (height minus y). This fixes for instance
12781         some redraw problems with gtkclist, which were easily noticeable
12782         in the gtk file selection widget.
12783
12784         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
12785         windows.
12786
12787 2000-01-13  Tor Lillqvist  <tml@iki.fi>
12788
12789         * configure.in
12790         * gdk/Makefile.am
12791         * gdk/x11/Makefile.am
12792         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
12793         (bug #5177).
12794         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
12795         out later.
12796
12797 2000-01-09  Tor Lillqvist  <tml@iki.fi>
12798
12799         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
12800         WM_MOVE for iconified or invisible windows. This fixes various
12801         problems when minimising windows. Thanks to Bernd Herd.
12802
12803 2000-01-05  Tor Lillqvist  <tml@iki.fi>
12804
12805         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
12806         backend's draw_lines method, not draw_points.
12807
12808 2000-01-02  Tor Lillqvist  <tml@iki.fi>
12809
12810         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
12811         before Owen's reorganisation: Don't have queued_events and
12812         queued_tail statics in this file, but use gdk_queued_events and
12813         gdk_queued_tail. This makes exposure event compression work again.
12814
12815         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
12816         seem to be needed?
12817
12818 1999-12-30  Tor Lillqvist  <tml@iki.fi>
12819
12820         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
12821         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
12822         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
12823         doesn't do anything.
12824
12825         * gdk/gdk.def: Add gdk_xid_table_insert.
12826
12827         * gdk/win32/gdkprivate-win32.h
12828         * gdk/win32/gdkevents-win32.c
12829         * gdk/win32/gdkinput-win32.c
12830         
12831         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
12832         extension_events field in the GdkWindowWin32Data struct. Use only
12833         the extension_events field in GdkWindowPrivate. Previously one was
12834         set, and the other one tested, which broke tablet
12835         functionality. Thanks to Keishi Suenaga for pointing this out.
12836
12837 1999-12-18  Tor Lillqvist  <tml@iki.fi>
12838
12839         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
12840         When handling a single character (text length == 1), don't handle
12841         it as if it was UTF-8.
12842
12843 1999-12-11  Tor Lillqvist  <tml@iki.fi>
12844
12845         * Makefile.am: Distribute README.win32.
12846         
12847         * gdk/Makefile.am
12848         * gdk/win32/Makefile.am: Distribute Win32 files.
12849
12850         * gdk/makefile.msc: New file.
12851
12852         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
12853         after label).
12854
12855         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
12856         gdk_error_code as GDKVAR, as they are referred outside GDK.
12857
12858         * gdk/win32/makefile.msc: Update.
12859
12860         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
12861         tweaks. Check only if at least one of those Unicode subrange bits
12862         we care for is set. If no code page bits are set, guess (wildly)
12863         based on the charset.
12864
12865         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
12866
12867         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
12868         non-NULL.
12869
12870         * gtk/gtkdnd.c
12871         * gtk/gtklayout.c
12872         * gtk/gtkplug.c
12873         * gtk/gtkselection.c
12874         * gtk/gtksocket.c
12875         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
12876         appropriate. There must be a cleaner way to handle this?
12877
12878         * gtk/gtkrc.c: Must include windows.h on Win32.
12879
12880         * gtk/testgtk.c: No need to include gdkx.h.
12881
12882         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
12883
12884 1999-12-07  Tor Lillqvist  <tml@iki.fi>
12885
12886         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
12887         the rbearing is set to the same as the width, but this should be
12888         fixed.
12889
12890 1999-12-06  Tor Lillqvist  <tml@iki.fi>
12891
12892         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
12893         function. If Windows doesn't tell us what Unicode subranges a font
12894         covers, guesstimate based on the codepages it covers. This will
12895         hopefully help those Windows versions or fonts that don't give us
12896         any useful Unicode subrange information with GetTextCharsetInfo.
12897         Call this function in gdk_font_load_internal.
12898
12899         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
12900         minor changes.
12901
12902 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
12903
12904         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
12905         New function, long needed.
12906
12907 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
12908
12909         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
12910         only_if_exists argument of gdk_atom_intern to
12911         bool.
12912
12913 1999-11-25  Tor Lillqvist  <tml@iki.fi>
12914
12915         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
12916         Fix two copy&paste errors.
12917
12918         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
12919         win32 has changed.
12920
12921         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
12922         GdkWin32SingleFont struct.
12923
12924         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
12925         subranges of loaded fonts. Clear font signature first, in case
12926         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
12927         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
12928
12929         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
12930         Unoffset clip region.
12931
12932 1999-11-23  Tor Lillqvist  <tml@iki.fi>
12933
12934         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
12935         event->any.window before calling filter functions.
12936
12937 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
12938
12939         * gtk/gtkgamma.h: Adapt cast macros to standard.
12940
12941 [ Merges from 1.2 ]
12942
12943 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
12944
12945         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
12946         If translation does not include a '/', use entire
12947         translation instead of crashing.
12948
12949 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
12950
12951         * docs/gtk_tut.sgml:
12952         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
12953
12954 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
12955
12956         * gtk/gtkselection.c (gtk_target_list_remove): Use
12957         g_list_remove_link, not g_list_remove.
12958
12959         [ From Geert Bevin <gbevin@thunderstorms.org> ]
12960         
12961 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
12962
12963         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
12964         statement upon unselection (how the heck did that slip in?).
12965
12966 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
12967
12968         * gtk/gtktext.c (gtk_text_freeze): 
12969         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
12970         in frozen state (and aparently crashes). patch provided by Anders
12971         Melchiorsen <and@kampsax.dtu.dk>.
12972
12973 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
12974
12975         * fix insensitive default/focus widget activation,
12976         reported by Matt Goodall <mgg@isotek.co.uk>.
12977
12978         * gtk/gtkwindow.c (gtk_window_key_press_event): 
12979         (gtk_window_activate_default):
12980         (gtk_window_activate_focus):
12981         return handled=FALSE for actiavtion of insensitive default
12982         widgets. return handled=TRUE for activation of insensitive
12983         focus widgets. don't activate in either case.
12984
12985 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
12986
12987         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
12988         and $glib_cflags to match library order and in the
12989         theory that an old version of GLib is more likely to
12990         be in the include directory for X then vice-versa.
12991         (Bug #2776)
12992
12993 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12994
12995         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
12996         to determine the locale for fontsets, not LC_MESSAGES;
12997         the user may want English messages with a handling
12998         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
12999         will still be broken) (Bug #2891)
13000
13001 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
13002
13003         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
13004
13005 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
13006
13007         * gtk/gtkrc.ko: Changed the Korean default fontset.
13008
13009 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
13010
13011         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
13012         where when scrolling to the left or top double exposes
13013         were done, causing major slowdowns.
13014
13015 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
13016
13017         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
13018         names to lowercase and alphanumeric, before looking
13019         them up.
13020
13021         * gtk/Makefile.am: Install codeset variant gtkrc files
13022         with normalized names.
13023
13024 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
13025
13026         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
13027         popup menus when the menu is already visible, but its parent
13028         is still hidden, (happens after tornoff window got hidden).
13029
13030 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
13031
13032         * gtk/Makefile.am (install-data-local): Fix
13033         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
13034         deleted, causing error messages on install.
13035
13036 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
13037
13038         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
13039         the handle as well, since we now sometimes ignore
13040         exposes on the handle while resizing.
13041
13042 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
13043
13044         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
13045         extra g_free introduced in one of the last one or two 
13046         commits.
13047
13048 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
13049
13050         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
13051         consistent, put each style that a gtkrc.* file creates
13052         in a unique namespace, remove old files before installing.
13053
13054 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
13055
13056         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
13057         gtk_rc_init is called multiple times. (Yes, people who
13058         do that have bugs in their code.)
13059
13060 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
13061
13062         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
13063         Remove it since it's generated by the Makefile anyway
13064
13065 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
13066
13067         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
13068         device->info.axes for core pointer.
13069
13070 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
13071
13072         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
13073         idle_id, to deal with obsolete, broken C libraries.
13074
13075 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
13076
13077         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
13078         allocation->x/y twice!
13079
13080         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
13081         consistent with gtk_vscale_pos_trough().
13082
13083 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
13084
13085         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
13086         be queueing a resize on a toplevel container between
13087         the time we show it and when we map it. So, we need
13088         to test GTK_WIDGET_VISIBLE() for toplevels, and only
13089         use GTK_WIDGET_DRAWABLE() for child windows.
13090
13091 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
13092
13093         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
13094         (fixes bug #2144)
13095
13096 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
13097
13098         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
13099         container DRAWABLE (instead of VISIBLE), so we don't queue
13100         resizes on non-toplevel containers.
13101
13102 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
13103
13104         * gtk/gtkselection.[ch]: Make the data argument
13105         const guchar *.
13106
13107 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
13108
13109         * gtk/gtkwindow.c: Try to behave sensibly if 
13110         the focus widget is the window itself. (Should
13111         we allow this at all?)
13112
13113 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
13114
13115         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
13116         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
13117         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
13118         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
13119         in prototypes and implementations consistent (Tomas Ogren).
13120
13121         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
13122         before the widget is unparented (reported by damon).
13123
13124         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
13125         since we provide unsigned data anyways.
13126
13127 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
13128
13129         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
13130         the call to gtk_tooltips_layout_text() until later.
13131
13132         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
13133         Call gtk_widget_ensure_style() before using the style.
13134
13135 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
13136
13137         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
13138         for old widgets that don't propagate draws to all
13139         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
13140
13141 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
13142
13143         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
13144         for a redraw but just the widget that requested the resize.
13145
13146 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
13147
13148         * gtk/gtkcontainer.c: added new widget level method
13149         gtk_container_set_reallocate_redraws() and a GtkContainer flag
13150         reallocate_redraws : 1 to reflect the setting, exported this through
13151         the argument system as a boolean ::reallocate_redraws.
13152
13153         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
13154         on the widget because the allocation changes, do so as well for
13155         widget->parent if the parent has reallocate_redraws set to TRUE.
13156         with that containers requesting reallocation redraws get automatically
13157         redrawn if their children changed allocation (this unfortunately
13158         affects also other children that didn't change allocation, but we
13159         cannot work around that before 1.3).
13160
13161 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
13162
13163         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
13164         _and_ height are >0 (not _or_).
13165
13166         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
13167         instead of gtk_container_queue_resize(), which is a core gtk internal
13168         function (must have been on crack when i queued that).
13169
13170         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
13171         we can check more reliably if we want to discard expose events.
13172         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
13173         flag.
13174         
13175         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
13176         we simply trust these events. for deciding whether to discard exposes,
13177         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
13178         
13179 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
13180
13181         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
13182         queues of areas that are completely off screen.
13183
13184         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
13185         logic for handleboxes.
13186
13187         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
13188         check on width/height.
13189
13190 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
13191
13192         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
13193         we are fine with using $@ the way we do (if we actually encounter
13194         brokeness with $@ in VPATH builds because of additional path prefixes,
13195         we need to use $(@F) actually).
13196
13197 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
13198
13199         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
13200         short lived bugs, that would allow language bindings to do surgeries
13201         to our guts.
13202
13203 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
13204
13205         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
13206         where comparison was being done against an uninitialized
13207         value causing intermittant results depending on
13208         compiler flags. Also make it clearer that we aren't
13209         ever initializing the child as 0x0 (though this will
13210         be caught in gtk_widget_size_allocate())
13211
13212 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
13213
13214         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
13215         gtk_window_unset_transient_for() call after we do checks
13216         involving the old transient parent.
13217         [ From Lance Capser <lmc@cyberhighway.net> ]
13218
13219 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
13220
13221         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
13222         an empty file.
13223
13224 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
13225
13226         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
13227         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
13228
13229 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
13230
13231         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
13232         `$@' is valid only in the build dir, not after we've done 
13233         `cd $srcdir'.  Also use `test -f' instead of less portable
13234         `test -e'.
13235
13236 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
13237
13238         * gtk/gtktext.c (correct_cache_insert): Rewrite
13239          for simplicity, and hopefully correctness.
13240          (Fixes bug #1322, which was a segfault when
13241           on some insertions with the properties around
13242           the insertion set up just wrong.)
13243
13244         * gtk/gtktext.c (gtk_text_adjustment): When we receive
13245          a "changed" signal, clamp the new value to the adjustment
13246          bounds to avoid segfaulting if someone tries to change
13247          the adjustment to a bogus value. (Bug #1795)
13248
13249 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
13250
13251         * gtk/gtkmain.c: Ignore unexpected destroy notifies
13252         for children, for toplevel windows handle them
13253         like delete_event.
13254
13255         * gtk/gtkplug.c: Add an unrealize handler so that
13256         we unref plug->socket_window when we are done
13257         with it.
13258
13259 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
13260
13261         * gtk/gtktext.c (clear_area): Fix stupid signedness
13262          problem that was causing background to sometimes
13263          be misaligned.
13264
13265 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
13266
13267         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
13268         
13269         * gtk/gtkmenu.c (gtk_menu_position): Make
13270          sure we never position menus with negative x, y,
13271          since gtk_widget_set_uposition() can't handle that.
13272
13273         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
13274          Modify the positioning code a bit so that we always
13275          put the top-left corner onscreen. (This is for
13276          UI reasons, gtk_menu_position() now takes care of
13277          gtk_widet_set_uposition() brokeness.)
13278
13279 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
13280
13281         * gtk/Makefile.am: fixed up things for -jx, x > 1.
13282
13283 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
13284
13285         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
13286           RC style that is passed in. The lack of the ref
13287           before was a bug. If people worked around this
13288           bug, this will introduce a slight memory leak
13289           in their code. The code should typically look like:
13290
13291             rc_style = gtk_rc_style_new ();
13292             [...]
13293             gtk_widget_modify_style (widget, rc_style);
13294             gtk_rc_style_unref (rc_style);
13295
13296         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
13297           the style if it was already set.
13298
13299         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
13300           style if it was set before.
13301
13302 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
13303
13304         * gtk/testgtk.c (main): Add a check to see if we
13305           are being run from the correct directory and
13306           to quit nicely if we are not.
13307
13308         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
13309           static.
13310
13311 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
13312
13313         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
13314
13315         * gtk/gtkwindow.c:
13316         queue resizes unconditionally (gtk_widget_queue_resize will figure
13317         what to do if the window is not realized).
13318         (gtk_window_move_resize): only recenter the window
13319         for GTK_WIN_POS_CENTER_ALWAYS.
13320         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
13321         the same way as GTK_WIN_POS_CENTER.
13322
13323 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
13324
13325         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
13326         with (!(info->last_flags & GDK_HINT_POS)) instead of
13327         (!info->last_flags & GDK_HINT_POS).
13328
13329         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
13330         new_height unconditionally, because we use these values even if
13331         !default_size_changed && !hints_changed.
13332         comented the (default_size_changed || hints_changed) case with
13333         respect to resize rejects from the window manager.
13334
13335         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
13336         in the zvt condition hack, since this includes the window hints, set
13337         the hints after the handling_resize case.
13338
13339         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
13340         window is initially shown with to the geometry.
13341
13342 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
13343
13344         * gtk/gtkwindow.c (gtk_window_move_resize):
13345         s/size_changed/default_size_changed/g so i know what's
13346         really going on (frying brain on smaller flame now).
13347
13348 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
13349
13350         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
13351         we have size_changed upon handling_resize. this is a gross
13352         workaround for the broken zvt widget and should be removed in
13353         1.3 again (search for FIXME).
13354         Owen provided an accurate comment for this:
13355
13356         /* We could be here for two reasons
13357          *  1) We coincidentally got a resize while handling
13358          *     another resize.
13359          *  2) Our computation of size_changed was completely
13360          *     screwed up, probably because one of our children
13361          *     is broken. It's probably a zvt widget.
13362          *
13363          * For 1), we could just go ahead and ask for the
13364          * new size right now, but doing that for 2)
13365          * might well be fighting the user (and can even
13366          * trigger a loop). Since we really don't want to
13367          * do that, we requeue a resize in hopes that
13368          * by the time it gets handled, the child has seen
13369          * the light and is willing to go along with the
13370          * new size. (this happens for the zvt widget, since
13371          * the size_allocate() above will have stored the
13372          * requisition corresponding to the new size in the
13373          * zvt widget)
13374          *
13375          * This doesn't buy us anything for 1), but it shouldn't
13376          * hurt us too badly, since it is what would have
13377          * happened if we had gotten the configure event before
13378          * the new size had been set.
13379          */
13380
13381 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
13382
13383         * gtk/gtkrc.c: deal properly with the fact that RC
13384           style lists may include rc styles more than once.
13385
13386         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
13387           unused static function.
13388
13389         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
13390           stack of directories of RC files currently being
13391           parsed and implicitely add them to pixmap path.
13392           
13393           This fixes a bug where the directory would get
13394           appended then overwritten by pixmap_path declarations.
13395
13396           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
13397
13398         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
13399           theme's exit function. (Patch from Peter Wainwright,
13400           bug #1454)
13401
13402         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
13403           Add a destroy() handler to take care of removing
13404           group for menu item. (Fixes bug #1197)
13405
13406         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
13407           in warning message.
13408
13409 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
13410
13411         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
13412         roundtrip to figure window's width and height, since we know that
13413         anyways from widget->allocation.
13414
13415 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
13416
13417         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
13418           the hints after we request the new size.
13419
13420 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
13421
13422         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
13423           GTK_WIDGET_REALIZED() assertion - we can compute the
13424           hints before we are realized.
13425
13426         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
13427           hint changing so that we have a value of hints_changed
13428           when we decide whether to constrain the window size.
13429
13430         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
13431
13432         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
13433         change back to G_MAXINT.
13434
13435 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
13436
13437         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
13438         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
13439         contain uncluttered values.
13440         (gtk_window_compute_hints): simply assert that window is realized
13441         and that geometry_info is valid, since we rely on this anyways.
13442         (gtk_window_constrain_size): major cleanups to the code.
13443         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
13444         for the base size, instead of the minimums. use 32767 as max width
13445         and height (like in gtkwindow.c) instead of G_MAXINT.
13446
13447 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
13448
13449         * cleaned up the GtkContainer.need_resize flag handling mess, we
13450         only need to force resize requests when we were prematurely
13451         realized, or our widget tree was modified when we were temporarily
13452         hidden. handling these cases directly upon showing the window (i.e.
13453         while the GdkWindow is still unmapped) avoids the need to wait for
13454         a configure event response and therefore makes the GUI more snappier
13455         and avoids blank windows during the roundtrip.
13456
13457         * gtk/gtkwidget.c:
13458         (gtk_widget_hide): 
13459         (gtk_widget_show): don't queue resizes on toplevels, they know how
13460         to deal with matters.
13461
13462         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
13463         flag directly for not visible resize containers and spare us unecessary
13464         signal emissions.
13465
13466         * gtk/gtkwindow.c:
13467         (gtk_window_realize): if we need to enforce premature size allocation,
13468         queue a container resize so we are correctly resized later on.
13469         (gtk_window_init):
13470         (gtk_window_size_request):
13471         don't freak around with the ->need_resize flag,
13472         gtk_container_queue_resize() will care about that.
13473         (gtk_window_show):
13474         handle initial resizing issues here, we can handle matters better in
13475         this place, especially since we know that our GdkWindow is still
13476         unmapped.
13477         (gtk_window_move_resize):
13478         don't care about ->need_resize at all.
13479         handle size changes properly that occoured while we waited for a
13480         configure event.
13481
13482 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
13483
13484         * gtk/gtkwidget.c (gtk_widget_set_uposition):
13485         * gtk/gtkwindow.[hc] (gtk_window_reposition):
13486         Move the hint setting code from gtk_widget_set_uposition
13487         to here; set the hints so that we respect any previously
13488         set geometry hints.
13489
13490         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
13491         change the window hints here or move the window here,
13492         let that happen in gtk_window_move_resize().
13493
13494 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
13495
13496         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
13497         to already queued resizes (and therefore redraws) on a widget, check
13498         its anchestry as well.
13499
13500         * gtk/gtkcontainer.c:
13501         (gtk_container_queue_resize): clear resize widgets for resize
13502         containers before aborting prematurely. this is especially important
13503         for toplevels which may need imemdiate processing or their resize
13504         handler to be queued.
13505         (gtk_container_dequeue_resize_handler): added new internal function for
13506         gtkwindow.c.
13507
13508         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
13509         configure event, take possible changes in window position into account
13510         as well.
13511         if we request a new window size, queue up a resize handler that will
13512         last until the configure event response arrives.
13513         combined the ->need_resize case (initial show) with the general size
13514         (hints) changed case and added even more comments.
13515         if !auto_shrink, only revert to the old allocation if the new size
13516         is smaller than the current allocation.
13517
13518 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
13519
13520         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
13521                            gtk_window_set_geometry_hints
13522                            gtk_window_set_default_size):
13523         When hints are set, queue a resize so that the hints will
13524         be eventually reset on the toplevel.
13525
13526         * gtk/gtkwindow.c (gtk_window_show): Use
13527         gtk_window_compute_default_size(). Clear the need_resize flag
13528         on the initail map so that we don't unnecessarily trigger the
13529         resize code.
13530
13531         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
13532         into separate functions. Compare the hints we are setting
13533         with what we set last time so that we can accurately
13534         tell when we need to reset the hints.
13535
13536         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
13537         function to figure out the size from requisition
13538         and default_size.
13539
13540         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
13541         from fvwm to constrain a size to the geometry hints.
13542
13543         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
13544         to compare two sets of geometry hints.
13545
13546         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
13547         from gtk_window_set_hints(), just compute the hints,
13548         don't set them.
13549
13550         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
13551         code from gtk_window_move_resize() to separate function,
13552         rationalize a bit.
13553
13554 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
13555
13556         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
13557         structure into a new private structure.
13558
13559         * gtkrc.c: Split GtkRcStyle into public/private.
13560         In the private part, add a list of pointers to the
13561         RcStyle lists this RcStyle participates in.
13562
13563         * gtkrc.c: When a RcStyle is free, remove all
13564         lists referencing it from the 
13565         realized_style_ht hash, and free those lists.
13566         
13567         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
13568         gtk_rc_init(), since that adds the default styles
13569         to the list of parsed RC files again.
13570
13571         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
13572         
13573 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
13574
13575         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
13576         checks that ensure that a widget's allocation is at least 1 in width
13577         and height. (GNOME note: this doesn't affect old panel code anymore,
13578         because GtkSocket will request width and height of at least 1 since
13579         Fri Jul 23).
13580
13581         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
13582         allocated yet (happens if the user realizes the window prematurely),
13583         size request and allocate it.
13584         (gtk_window_size_allocate): guard against guint underflows.
13585
13586 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
13587
13588         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
13589         in gtk_built_sources, so gtk.defs gets built prior to all other
13590         sources.
13591
13592 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13593
13594         * gtk/Makefile.am:
13595         invoke indent on gtkmarshal.*. 
13596         rewrote source generation rules, use COPYING as oldest source tag for
13597         a piggyback rule to generate all sources from (don't touch it ;).
13598         major cleanups, strip spaces on build rules for GNU Make.
13599
13600         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
13601         source and target files from commandline arguments. don't invoke indent.
13602
13603 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
13604
13605         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
13606         notebook after switch to avoid drawing problems.
13607         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
13608         
13609         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
13610         show them instead. 
13611         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
13612
13613 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
13614
13615         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
13616         notebook after switch to avoid drawing problems.
13617         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
13618         
13619         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
13620         show them instead. 
13621         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
13622
13623 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
13624
13625         * gtk/gtkwindow.c:
13626         we use window->need_resize from configure_event now, to indicate that
13627         the gtkwindow should keep its allocation (e.g. because the user resized
13628         the window through window manager handles). resize_count is now reliably
13629         used to figure whether we got the allocation we requested from the
13630         window manager.
13631         configure events get queued as resizes now, the real stuff (size
13632         computation and allocation) now only goes on in gtk_window_move_resize().
13633         GtkWindow's requisition now contains its *real* requisition (like all
13634         other widgets), *not* taking usize into account.
13635         geometry_info->last_{width|height} is now updated from set_hints() only
13636         so it always contains the last hints we set for the window manager.
13637         made some event handlers return TRUE instead of FALSE.
13638         the overall code should be much more straight forward now, and the
13639         significant code portions are accompanied by comments now.
13640         (gtk_window_set_hints):
13641         removed requisition argument and made it
13642         fetch the requisition through gtk_widget_get_child_requisition.
13643         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
13644         does that now.
13645         (gtk_window_show):
13646         ensure that the widget is realized before calling 
13647         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
13648         ensure that we got properly size requested and allocated before
13649         realization.
13650         (gtk_window_configure_event):
13651         ignore plain window moves, or reallocate the widget tree through the
13652         resize queue otherwise.
13653         (gtk_window_move_resize):
13654         mostly rewrote this function to figure window manager hints more
13655         reliably, coalesce window moves and resizes to reduce configure events
13656         and do actuall size allocations.
13657
13658 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13659
13660         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
13661         that have a resize pending, because a redraw is already queued for them.
13662
13663         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
13664         hack to clear resize_widgets.
13665
13666         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
13667         for resize containers prior to size allocation. (this is also a bit
13668         ugly, but avoids side effects for stopped emissions and is thus more
13669         reliable).
13670         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
13671
13672         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
13673         function from gtk_tooltips_expose, as we connect to ::expose_event
13674         *and* ::draw now.
13675
13676 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13677
13678         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
13679         checks.
13680         (gtk_target_list_unref): Likewise.
13681
13682         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
13683
13684 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
13685
13686         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
13687         guard against division by zero. (Fixes bug #1339)
13688
13689 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
13690
13691         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
13692         Prevent the trivial leak of information of allowing
13693         word motion when the entry is not visible.
13694
13695 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
13696
13697         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
13698         modality to error dialog as well as confirmation dialogs.
13699         (Bug #1803, reported by Rosanna Wing Sze Yuen)
13700
13701 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13702
13703         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
13704         tree->view_lines.
13705         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
13706
13707         * gtk/Makefile.am (install-data-local): Solaris apparently
13708         has various troubles with ln -f; use rm first instead.
13709         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
13710
13711 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
13712
13713         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
13714         use `cp' followed by `rm' (the `rm' was already there).
13715
13716 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13717         
13718         * configure.in: Fix autoconf warnings about cross compilation by
13719         trying to provide sane defaults for AC_TRY_RUN.
13720         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
13721         put them into $(srcdir) when generated. Also add a dependency of
13722         gtksignal.h on gtkmarshal.h for -j builds. 
13723         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
13724
13725 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
13726
13727         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
13728         GDK_THREADS_{LEAVE,ENTER} pair.
13729         (From Paul Fisher <pnfisher@redhat.com>)
13730
13731 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
13732
13733         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
13734         width and height are always >0 (owen).
13735
13736 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
13737
13738         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
13739         change that assured that a widget's allocated with and height are
13740         always >1, since this breaks *buggy* panel code. unfortunately this
13741         back-breaks the gimp's color selector.
13742
13743         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
13744         allocation is always >0 in width and height, before sending the
13745         configure event; this is a *gross* hack to get the gimp back to work.
13746         
13747         * marked both cases with TODO-1.3
13748
13749 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
13750
13751         * gtk/gtktext.c: Don't display wrap indicators when
13752         text is not editable and word wrap is on.
13753
13754 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
13755
13756         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
13757         option menus here as they are not derived from menu shell, assure that
13758         the option menu has a menu we can add items to.
13759
13760 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
13761
13762         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
13763         width/height to (gint) before calculations and check against < 0 to
13764         avoid guint wraparounds.
13765
13766 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
13767
13768         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
13769         width and height is never zero. sanity check both dimensions against
13770         32767 and issue a warning if the allocation is greater than that.
13771
13772 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
13773
13774         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
13775         to g_main_pending() as well.
13776
13777 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
13778
13779         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
13780         call to g_main_iteration() - since that will regrab
13781         GTK+ lock to process events.
13782
13783 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
13784
13785         * gtk/gtkwindow.c
13786         - Regularize with the rest of GTK+ by making widget->requisition
13787           not reflect the set_usize()
13788         - Always recompute geometry hints, then check if they
13789           changed before sending them to the X server. The
13790           previous checks for changes would fail in a number
13791           of circumstances. 
13792
13793 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
13794
13795         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
13796
13797 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
13798
13799         * gtk/gtkdnd.c:
13800         - Code cleanups
13801         - Instantaneously update on modifier key presses
13802         - Allow cancellation of the drag with Escape.
13803
13804 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
13805
13806         * gtk/testgtk.c (create_handle_box): Set the policy
13807         to auto_shrink - otherwise the appearance is rather
13808         strange when flipping between horizontal and vertical.
13809
13810 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
13811
13812         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
13813         (gtk_window_set_default_size): don't change a value if it's < 0.
13814         queue a resize.
13815
13816 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
13817
13818         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
13819
13820 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
13821
13822         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
13823         add an extra "/" when concating "/" + filename.
13824         (From Matt Grossman <mattg@oz.net>)
13825
13826 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
13827
13828         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
13829         for fg_gc if we set it for drawing pixmap.
13830
13831 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
13832
13833         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
13834         
13835         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
13836         already set, call old engine's destroy function and
13837         unref the old engine.
13838
13839 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
13840
13841         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
13842
13843 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
13844
13845         * gtk/gtkaccelgroup.h: mark certain functions as internal.
13846
13847 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
13848
13849         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
13850         expand behaviour changed.
13851
13852         * gtk/gtklabel.c (gtk_label_set_pattern):
13853         (gtk_label_set_justify):
13854         (gtk_label_set_line_wrap):
13855         don't bother invoking queue_clear, the reallocation does
13856         that for us, always free_words so the upcoming resize will
13857         relayout the label's contents.
13858
13859 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
13860
13861         * applied argument implementation patches from Elena Devdariani
13862         <elena@cogent.ca>.
13863
13864         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
13865         ::space_style, ::relief
13866         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
13867         * gtk/gtkpreview.c: ::expand
13868         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
13869         * gtk/gtknotebook.c: ::homogeneous
13870         * gtk/gtklabel.c: ::wrap
13871         * gtk/gtklist.c: ::selection_mode
13872         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
13873         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
13874         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
13875         * gtk/gtkclist.c: ::sort_type
13876         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
13877         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
13878
13879 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
13880
13881         * gtk/gtkstyle.c: Removed ill-thought-out part of last
13882         comment.
13883
13884 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
13885
13886         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
13887         counting right when we have to attach a new style
13888         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
13889
13890         * gtk/gtkstyle.c: Documented the refcounting
13891         peculularities of gtk_style_attach.
13892
13893 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13894
13895         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
13896         window types.
13897
13898         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
13899         of GTK_TOPLEVEL for creating the window.
13900
13901 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13902
13903         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
13904         the last argument (reported by Per Winkvist).
13905         
13906 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
13907
13908         Fixes for invisible XOR lines (Frank Loemker
13909         <floemker@TechFak.Uni-Bielefeld.DE>)
13910         
13911         * gtk/gtkclist.c (gtk_clist_realize): Always use
13912         a non-zero pixel for GDK_XOR.
13913
13914         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
13915         Use GDK_INVERT instead of GDK_XOR.
13916
13917 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
13918
13919         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
13920         signals if h/voffsets differ from adjustment values.
13921         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
13922
13923 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
13924
13925         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
13926         ::selection-done emissions up to the topmost menu shell.
13927
13928 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
13929
13930         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
13931         the user data on the window before destroying it.
13932
13933         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
13934         unrealize handler to take care of destroying 
13935         notebook->panel properly. 
13936         (Bug #1198 - Morten Welinder <terra@diku.dk>)
13937
13938         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
13939         of g_new and g_realloc to stop memory leak. (Actually,
13940         we could just use g_realloc(), but I'm not 100% sure
13941         that is portable).
13942         (Bug #1196 - Morten Welinder <terra@diku.dk>)
13943
13944 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13945
13946         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
13947
13948         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13949         for fontsets.
13950
13951         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
13952         with bin/button confusion.
13953
13954 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
13955
13956         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
13957         and show how preselection of radio items is done.
13958
13959 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
13960
13961         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
13962         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
13963         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
13964         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
13965         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
13966         * gtk/gtktable.c (gtk_table_attach): 
13967         * gtk/gtklist.c (gtk_list_insert_items): 
13968         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
13969         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
13970         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
13971         * gtk/gtkbin.c (gtk_bin_add): 
13972         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
13973         * gtk/gtkfixed.c (gtk_fixed_put): 
13974         * gtk/gtklayout.c (gtk_layout_put):
13975         general fixups to container_add logic. always realize child if
13976         child->parent is realized, only map the child and queue a resize
13977         if child and child->parent are both visible.
13978
13979 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
13980
13981         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
13982         instead of gtk_container_foreach to walk and unrealize children, so
13983         composite children get also unrealized.
13984         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
13985         (gtk_widget_map): assert that the widget is visible (basic constrain).
13986         (gtk_widget_real_map): assert that the widget is realized (basic
13987         constrain).
13988
13989 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
13990
13991         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
13992
13993 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
13994
13995         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
13996         file for iso-8859-2 locales.
13997
13998         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
13999
14000 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
14001
14002         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
14003          (Pointed out by andy@rz.uni-karlsruhe.de and others).
14004          Remove some suspicious and useless lines. 
14005
14006 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
14007
14008         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
14009         width,height = 0, 0 to mean - here to edge of window,
14010         instead of -1, -1, since the former is all we support.
14011
14012 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
14013
14014         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
14015         when removing from quit_functions list.
14016
14017 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
14018
14019         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
14020
14021 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
14022
14023         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
14024          When redrawing characters on non-visible entry, use appropriate
14025          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
14026
14027 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
14028
14029         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
14030         from drag coordinates.
14031         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
14032         use drag_dest_cell.
14033
14034         * gtk/gtktree (drag_dest_cell)
14035         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
14036         (Bug #1129)
14037
14038 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
14039
14040         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
14041         translate_* fields.
14042         (gtk_item_factory_finalize): invoke translate_notify independant from
14043         translate_data.
14044         (gtk_item_factory_set_translate_func): likewise.
14045         (gtk_item_factory_destroy): only remove ifactory pointer from those
14046         widgets that belong to us (stupid me).
14047
14048 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
14049
14050         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
14051         rc_style list when lookup succeeeds.
14052
14053 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
14054
14055         * gtk/gtkctree.c (resync_selection): 
14056         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
14057         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
14058         bug.
14059
14060 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
14061
14062         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
14063         Add some missing GDK_THREADS_ENTER()/LEAVE around
14064         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
14065
14066 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
14067
14068         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
14069         rather than emit_by_name.
14070
14071         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
14072         on the widget across multiple signal emissions.
14073         (gtk_editable_delete_text): same here.
14074         (gtk_editable_class_init): set widget_class->activate_signal after
14075         editable_signals[ACTIVATE] has been created.
14076
14077 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
14078
14079         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
14080         position here prematurely -- we might not have the
14081         right ->min_position and ->max_position yet.
14082
14083 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
14084
14085         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
14086         Add error traps so if the other end of the connection
14087         dies, we survive.
14088
14089         * gtk/gtkselection.c (gtk_selection_notify): Clean
14090         up properly when selection property retrieval fails.
14091         
14092         * gtk/gtkselection.c (gtk_selection_request): Correctly
14093         reject SelectionRequest notifies where the handler
14094         returns no data.
14095
14096 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14097
14098         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
14099         when we've previously highlighted.
14100
14101         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
14102         emit two "drag_leave" signals for Motif drops.
14103
14104         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
14105         back the correct status messages when dropping from
14106         Motif onto a proxy window that is rejecting the
14107         drop.
14108
14109 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
14110
14111         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
14112         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
14113         to compare two argument values. added gtk_arg_to_valueloc() to set a
14114         variable from an arg through its location (pointer).
14115
14116         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
14117         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
14118         as gfloat*, uchars are collected as guchar*, ints are collected as
14119         gint*, etc...
14120
14121 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
14122
14123         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
14124         Include <string.h> instead of <strings.h>.
14125
14126         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
14127         (actually, a lot more duplicate includes occur if
14128          you trace through the sequence of #include's)
14129         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
14130         
14131 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
14132
14133         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
14134         gtk-a-higuti-990322-[0-3]
14135
14136         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
14137         that was causing -DX_LOCALE not to work.
14138
14139         * gtk/gtkrc.c (gtk_rc_init):
14140         X_LOCALE will never have LC_MESSAGES defined
14141
14142 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
14143
14144         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
14145         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
14146
14147         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
14148         left/right as well (gtk-michael-980726-0.patch.gz).
14149
14150         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
14151         for pointer values, use gchar instead of char. fixed uline allocation
14152         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
14153         chunks instead of G_ALLOC_ONLY.
14154         (gtk_label_size_request): always alter requisition as passed and leave
14155         widget->requisition alone.
14156         (gtk_label_set_text): allow NULL strings.
14157         (gtk_label_new): likewise.
14158
14159 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
14160
14161         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
14162
14163 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
14164
14165         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
14166         *and* mapped (i.e. drawable).
14167         (gtk_bin_expose): only send exposes to drawable children.
14168
14169         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
14170         (gtk_box_expose): only send exposes to drawable children.
14171
14172         * gtk/gtkhscale.c (gtk_hscale_draw): 
14173         * gtk/gtkvscale.c (gtk_vscale_draw):
14174         hm, this is an ugly one. we first compute the size of our trough area
14175         here (window relative) and then check intersection with the draw_area
14176         which is parent relative because we're a NO_WINDOW widget, so we need
14177         to offset the trough area by allocation.x and allocation.y before the
14178         check. (this must not be done for the background area though, since
14179         that's already computed parent relative).
14180
14181 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
14182
14183         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
14184         unrealize title buttons.
14185
14186 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
14187
14188         * gtk/gtkclist.c (gtk_clist_column_title_passive)
14189         (gtk_clist_column_title_active): 
14190         only connect/disconnect to GtkWidgetClass::event to block mouse events.
14191
14192         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
14193         zero initialize event, removed superfluous gdk_window_get_pointer call
14194
14195         * gtk/gtklist.c (gtk_list_vertical_timeout)
14196         (gtk_list_horizontal_timeout): removed superfluous
14197         gdk_window_get_pointer call
14198
14199 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
14200
14201         * plugging problems reported by "Bruce Mitchener, Jr."
14202         <bruce@puremagic.com> due to a purify session.
14203
14204         * gtk/gtkstyle.c:
14205         (gtk_style_ref): 
14206         (gtk_style_unref): assert ref_count to be > 0.
14207
14208         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
14209         the requisition.
14210         (gtk_clist_set_shift): likewise.
14211
14212         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
14213         adjustments.
14214
14215         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
14216         event before sending it and set send_event to TRUE (which needs to
14217         be done for *all* synthesized events).
14218         (gtk_list_vertical_timeout): likewise.
14219
14220         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
14221         leaks.
14222
14223         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
14224         to TRUE when synthesizing events.
14225
14226 [ *** end of merges from 1.2 *** ]      
14227         
14228 1999-11-21  Tor Lillqvist  <tml@iki.fi>
14229
14230         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
14231         (or copied from gdkconfig.h.win32 on Win32, sigh).
14232
14233         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
14234
14235         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
14236
14237         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
14238
14239         * gdk/gdkconfig.h.win32: New file.
14240
14241         * gdk/win32/makefile.cygwin: Build just a static archive here.
14242
14243         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
14244         for the DLL from the static archive built above.
14245
14246         * gdk/gdk.def: Moved here from the win32 subdirectory.
14247
14248         * gdk/win32/*: Adapt for the changed private struct organisation.
14249
14250         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
14251
14252 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
14253
14254         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
14255         for wheel mice (buttons 4 and 5).
14256
14257 1999-11-18  Tor Lillqvist  <tml@iki.fi>
14258
14259         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
14260         drawables use just the pixel field in the foreground and
14261         background GdkColor of the GdkGC.
14262
14263         gdk_gc_set_{fore,back}ground() are called in the GIMP with
14264         GdkColors containing uninitialized (red,green,blue) fields, and
14265         just the pixel field filled in, and furthermore in the
14266         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
14267         It thus turns out that we really don't need to have the full
14268         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
14269         it later to have just the pixel values.
14270
14271 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
14272
14273         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
14274
14275 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
14276
14277         * docs/gtkfaq.sgml: threads example from Erik Mouw.
14278         New question on GtkLabel background colors.
14279
14280         * docs/gtk_tut.sgml:
14281           - Correct the example code callback
14282             function definitions.
14283           - Update the gtkdial example code, from Frans van Schaik.
14284           - Update setselection.c to current API.
14285
14286         * examples/Makefile examples/*/*.c: Update to code
14287         listed in tutorial.
14288
14289 1999-11-10  Tor Lillqvist  <tml@iki.fi>
14290
14291         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
14292         subrange table (from the "Developing International Software for
14293         WIndows 95 and Windows NT" book) was missing the Hangul syllable
14294         block... Get the loaded font's charset correctly.
14295
14296         (Note that this, and the other *-win32.c files, still really are
14297         the old ones, the win32 subdirectory is not ready for compilation
14298         yet after the reorg.)
14299
14300 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
14301
14302         * gtk/gtkclist.c: Fix off-by-one bug in parameter
14303         check.
14304
14305 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
14306
14307         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
14308         on results of XQueryDeviceState().
14309
14310 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
14311
14312         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
14313         we need to accesss only ->children. We need an accessor
14314         for the children.
14315
14316         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
14317         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
14318         to get rid of gdkx.h include.
14319         
14320         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
14321         and random references to 'None'.
14322
14323         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
14324         Get rid of unused #include <gdk/gdkx.h>
14325
14326         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
14327         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
14328         gdkconfig.h.
14329
14330 1999-11-08  Tor Lillqvist  <tml@iki.fi>
14331
14332         * gdk/win32/gdkdraw.c
14333         * gdk/win32/gdkfont.c
14334         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
14335         following yesterday's changes. (Unrelated to Owen's reorg.)
14336
14337 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
14338
14339         * gdk/x11/gdkinput-gxi.c: Add missing include,
14340           fix GdkWindowPrivate => GdkDrawablePrivate.
14341
14342         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
14343
14344         * gdk/x11/Makefile.am (xinput_sources): Add missing
14345         backslash to fix building with --with-xinput=none
14346
14347 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
14348
14349         Move all X specific code into the x11/ directory.
14350         Aside from shuffling things around, did the following:
14351
14352        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
14353          gdk_arg_context_* - a simple argument parsing system
14354          in the style of popt.
14355
14356        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
14357          gdk/x11/gdkprivate-x11.h:
14358          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
14359          add ->klass and ->klass_data fields. The klass_data
14360          field points to an auxilliary structure that is
14361          windowing system dependent.
14362
14363        * gdk/gdkfont.c: Make most of the measurement functions
14364          simply wrappers around gdk_text_extents().
14365
14366        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
14367          _gdk_font_strlen() function that hides the weird
14368          behavior in gtk+-1.[02] where a string is interpreted
14369          differently for 8-bit and 16-bit fonts.
14370
14371        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
14372          to store common code for synthesizing double/triple
14373          press events.
14374         
14375        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
14376          Make all the function that modify an existing GC
14377          simply wrappers around gdk_gc_set_values().
14378          
14379        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
14380          for throwing out later.
14381
14382        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
14383          GdkImagePrivate and GdkColormapPrivate to have a
14384          windowing system dependent part (GdkFontPrivateX etc.)
14385          that "derives" from the system-independent part.
14386
14387        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
14388          Got rid of the included-source-files for XInput in
14389          favor of automake conditionals. (Which didn't exist
14390          when XInput support was originally added.)
14391
14392        * gdk/gdkrgb.c: Remove the visual id from the debugging
14393          statements since that is X11 specific; print out
14394          type/depth info instead.
14395          
14396
14397 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
14398
14399         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
14400         loading duplicates of hashed fonts.
14401
14402         * gdk/gdk.c (gdk_keysym_convert_case): rename
14403         gdk_XConvertCase to gdk_keysym_convert_case, allow
14404         results to be NULL in the GTK+ style.
14405
14406         * gdk/gdkcompat.h: Started compatibility header
14407         for renames.
14408
14409 1999-11-07  Tor Lillqvist  <tml@iki.fi>
14410
14411         * gdk/win32/gdkprivate.h: New font private structures, related to
14412         fontsets.
14413
14414         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
14415         gdk_font_list_free(). On X11, will just be wrappers to
14416         XListFonts() and XFreeFontNames(). On Win32, the code previously
14417         in gtkfontsel.c is now here.
14418
14419         New function gdk_font_xlfd_create(). On X11 will get the FONT
14420         property of the font (for GDK_FONT_FONTs), or call
14421         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
14422         builds a XLFD style name from the font information in the LOGFONT
14423         struct(s).
14424
14425         New function gdk_font_xlfd_free(), which correspondingly frees the
14426         string returned by gdk_font_xlfd_create().
14427
14428         Implement fontsets on Win32. Add a function that iterates over a
14429         wide char string and calls a callback function for each substring
14430         of wide chars from the same Unicode subrange (and thus probably
14431         available in the same real font).
14432
14433         Improve the XLFD emulation a bit.
14434
14435         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
14436
14437         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
14438         Beta3, WM_IME_CHAR messages don't seem to contain the composed
14439         multi-byte char as with the Active IMM on Win9x. Oh well, handle
14440         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
14441         ImmGetCompositionStringW() to get the composed Unicode chars.
14442
14443         * gdk/win32/gdkgc.c
14444         * gdk/win32/gdkdraw.c: Changes needed because of the font private
14445         struct changes.
14446
14447         * gdk/win32/gdk.def: Add the new functions.
14448
14449 1999-11-04  Tor Lillqvist  <tml@iki.fi>
14450
14451         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
14452         get the Platform SDK to get <dimm.h>.
14453
14454         * gdk/win32/gdkevents.c: More event handling fixes and
14455         simplification. Never generate motion events with is_hint true. We
14456         used to do that on bogus grounds earlier. Windows sends
14457         WM_MOUSEMOVE messages on button events even if the mouse hasn't
14458         moved, ignore these.
14459
14460         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
14461
14462         * gdk/win32/gdkglobals.c
14463         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
14464         the TrackMouseEvent function, and use it.
14465
14466         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
14467         char before calling WideCharToMultiByte in order to get a string
14468         for the window title.
14469
14470         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
14471
14472         * gdk/win32/gdk.def: Remove obsolete functions.
14473
14474         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
14475         /nodefaultlib and /defaultlib switches.
14476
14477         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
14478
14479 1999-10-31  Tor Lillqvist  <tml@iki.fi>
14480
14481         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
14482         EuroSign).
14483
14484         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
14485         same type as GdkWChar, especially on Win32.
14486
14487         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
14488
14489         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
14490         before passing to Windows GDI for drawing etc. Convert to the
14491         system default codepage before passing to Windows as window
14492         titles.
14493
14494         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
14495         support changing input locale on the fly.
14496
14497         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
14498         on-the-fly changes. Convert incoming characters from the current
14499         codepage to Unicode (and then to a UTF-8 multi-byte string) based
14500         on the current input language. Use keysym<->Unicode mapping tables
14501         and functions borrowed from xterm sources.
14502
14503         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
14504         editions of Win9x, use the ActiveX-based Active IMM (Input Method
14505         Manager) if available. IMEs and the Active IMM are available under
14506         the disguise of Chinese, Korean and Japanese support for IE and
14507         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
14508         support is present in all editions (as long as you install it).
14509
14510         Call DispatchMessage from gdk_events_queue() (and thus
14511         gdk_WindowProc()), instead of duplicating the code in
14512         gdk_WindowProc().
14513
14514         Reworked the grab handling and propagation code, factored out
14515         duplicated code snippets into separate functions. Other cleanups,
14516         too.
14517
14518         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
14519         the <dimm.h> header describing the Active IMM.
14520
14521         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
14522         just do the same as for "single" fonts.
14523
14524         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
14525         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
14526         the new keysyms from gdkkeysyms.h.
14527
14528         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
14529         fontset, so that gtkentry uses wide characters.
14530
14531         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
14532         GTk+'s system directory "gtk+", not "gtk".
14533
14534 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
14535
14536         * docs/gtkfaq.sgml: FAQ update
14537
14538 1999-10-21  Tor Lillqvist  <tml@iki.fi>
14539
14540         * gdk/win32/gdkprivate.h: Add more font private data.
14541
14542         * gdk/win32/gdkfont.c
14543         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
14544         fonts and strings. Now works much better. You still have to
14545         have a correct font selected, though. No fontset emulation yet.
14546
14547 1999-10-19  Tor Lillqvist  <tml@iki.fi>
14548
14549         * gtk/maketypes.awk: Use G_OS_WIN32.
14550
14551         * gtk/gtk.def: Add some missing entry points. Also some non-public
14552         ones, but PyGTK porter claims to need them.
14553
14554         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
14555         built-in type generation.
14556
14557 1999-10-14  Tor Lillqvist  <tml@iki.fi>
14558
14559         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
14560         GDK_FONT_FONT fonts (which is all we have for now, we don't
14561         emulate fontsets). The X11 version uses plain XDrawString in that
14562         case, too. The string passed to gdk_draw_text_wc seems to be in
14563         fact (at least, when used by gtkentry and gtktext) either in a
14564         single-byte charset, or a DBCS. Not Unicode.
14565
14566         This fixes the problem in gtkfontsel, where even if you had
14567         selected a font with a non-Latin1 charset (windows-greek, for
14568         instance), the preview still used Latin-1 glyphs.
14569
14570         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
14571         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
14572         (gdk_font_load): Recognize the demibold etc weights, even if we
14573         don't have the corresponding constants in the headers.
14574         (gdk_font_hash_insert): Use same hash mechanism as in the X11
14575         version. Should save font resources a bit, when we don't have
14576         multiple HFONTs for the same font.
14577
14578         * gdk/win32/gdkprivate.h: Add the names field as in the X11
14579         version.
14580
14581 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
14582
14583         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
14584         X values
14585
14586 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
14587
14588         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
14589         layout support (as mentioned on
14590         http://www.jcinteractive.com/gnome-ui/software/widgets/)
14591
14592 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
14593
14594         * gtk/fnmatch.c
14595         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
14596
14597 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
14598
14599         * configure.in (ALL_LINGUAS): Added Galician (gl)
14600
14601 1999-10-05  Tor Lillqvist  <tml@iki.fi>
14602
14603         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
14604
14605         * gdk/win32/gdkcompat.c: New file, actually provide an
14606         implementation for the deprecated functions. (Just temporarily.)
14607
14608         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
14609
14610         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
14611
14612         * gdk/win32/gdk.def gtk/gtk.def: Updates.
14613
14614 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
14615
14616         * configure.in: Added "uk" to ALL_LINGUAS.
14617         
14618 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
14619
14620         * configure.in: correct checking for BeOS check
14621
14622         * gdk/gdktypes.h
14623         * gtk/fnmatch.c
14624         * gtk/gtkfilesel.c
14625         * gtk/gtkitemfactory.c
14626         * gtk/gtkmain.[ch]
14627         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
14628
14629 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14630
14631         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
14632         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
14633         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
14634         by Bulgarian). 
14635
14636 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
14637
14638         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
14639         Fix a reference to window_private->destroyed.   
14640
14641         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
14642         (ugly) setting of an internal GdkWindow member to use
14643         a _slightly_ cleaner macro.
14644
14645         * gdk/gdkprivate.h: Split GdkWindowPrivate into
14646         GdkDrawablePrivate and GdkWindowPrivate.
14647         Add extra macros for accessing GDK_DRAWABLE_ components.
14648
14649         * *.[ch]: Massive adjustments for the above, use the
14650         new macros in a lot of places.
14651
14652 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
14653
14654         * gdk/gdktypes.h: Make GdkDrawable the base type,
14655         not GdkWindow.
14656
14657 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
14658
14659         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
14660
14661 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
14662
14663         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
14664
14665 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
14666
14667         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
14668         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
14669
14670         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
14671
14672         * docs/gtk-config.1: Now autogenerated.
14673         * docs/Changes-1.4.txt: started
14674         
14675 1999-10-03  Tor Lillqvist  <tml@iki.fi>
14676
14677         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
14678         to #ifdef also here.
14679
14680         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
14681         Owen did to the X11 backend.
14682
14683         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
14684         ScrollWindowEx when blitting inside a window, it can't be correct
14685         in the general case.
14686
14687         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
14688         WM_GETMINMAXINFO is easier.
14689
14690         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
14691         depth equal to the bitspixel value, not the visual's depth.
14692
14693         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
14694         to 24 even if the bitspixel value is 32.
14695
14696         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
14697         need to check for depth==32 when bpp==32, depth will always be 24.
14698
14699 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
14700
14701         * docs/Changes-1.4.txt: Started
14702         
14703         * gtk/Makefile.am (gdk_headers): Include all the new headers.
14704
14705         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
14706         
14707         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
14708         into C file.
14709         
14710         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
14711         header to gdkinputprivate.h.
14712
14713         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
14714         unused since before 1.2.
14715
14716 1999-09-30  Tor Lillqvist  <tml@iki.fi>
14717
14718         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
14719         expand possible hex escapes in the font family (put there by
14720         logfont_to_xlfd if the font name isn't a legal XLFD font family,
14721         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
14722         On Win32, add hex escapes here, too.
14723
14724 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
14725
14726         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
14727         to #ifdef GDK_WINDOWING_X11.
14728
14729 [ Merges from gtk-1-2 ]
14730
14731 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
14732
14733         * configure.in: fixed "GNU Make" check to pass with new make version
14734         3.77.95.
14735
14736 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
14737
14738         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
14739         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
14740         AM_PATH_GTK() macros don't get confused by the -pre1.
14741
14742 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14743
14744         * configure.in (REBUILD): Change check for perl5
14745           to check explicitely for v >= 5.002. (5.001
14746           does not work with our scripts.)
14747
14748 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
14749
14750         * configure.in: evaluate $PERL for the perl version check. added
14751         --disable-rebuilds to give the user an option to completely disable
14752         any source autogeneration rules.
14753
14754 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
14755
14756         * configure.in: evaluate $ac_make when checking for GNU Make.
14757
14758 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14759
14760         * docs/Makefile.am: added generation.txt.
14761
14762         * Makefile.am: require automake 1.4, build README from README.in and
14763         INSTALL from INSTALL.in in dist-hook.
14764         
14765         * README.in:
14766         * INSTALL.in: new files to autogenerate README and INSTALL from.
14767
14768         * configure.in: figure whether we have GNU Make
14769
14770         * docs/generation.txt: minor additions/corrections.
14771
14772 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14773
14774         * docs/gtkfaq.sgml: FAQ Update
14775
14776 July 30, 1999 Elliot Lee <sopwith@redhat.com>
14777         
14778         * configure.in: Fix autoconf warnings about cross compilation by
14779         trying to provide sane defaults for AC_TRY_RUN.
14780
14781 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
14782
14783         * ltconfig
14784         * ltmain.sh: upgrade to libtool 1.3.3
14785
14786 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
14787
14788         * INSTALL: Indicate that the --with-glib= configure
14789         time flag is unsupported.
14790
14791 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
14792
14793         * docs/generation.txt: Added a file that gives
14794         documenation about the autogeneration process for
14795         various autogenerated files.
14796         
14797 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14798
14799         * configure.in (LIBS): Look for libgmodule in the
14800         right location.
14801
14802 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
14803
14804         * docs/gtk_tut.sgml: Removed references to
14805         code examples in my directory on gtk.org as
14806         they should all be in the tutorial now.
14807
14808         * docs/gtk_tut.sgml: Added sources for dial-test
14809         and scribble-xinput programs that were previously
14810         missing.
14811
14812 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
14813
14814         * TODO: Added entry about menu keyboard navigation, removed
14815         some finished items.
14816
14817 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
14818
14819         * acinclude.m4: Standardize on func_dgettext
14820         not func_gettext, so that the checks for dgettext
14821         actually are paid attention to.
14822
14823 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
14824
14825         * configure.in (LIBS): Add $INTLLIBS into $LIBS
14826         directly, rather than repeating the checks for
14827         gettext.
14828
14829         * INSTALL: Added information about gettext and
14830         NLS support.
14831
14832         * acinclude.m4 (LIBM): Check for dgettext, not
14833         just gettext. This should hopefully fix things wrt
14834         systems with old versions of GNU gettext installed.
14835
14836 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14837
14838         * configure.in (LIBS): Look for libgmodule in the
14839         right location.
14840
14841 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14842
14843         * autogen.sh: add --enable-maintainer-mode
14844
14845         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
14846
14847 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
14848
14849         * docs/gtk-config.1.in:
14850           docs/Makefile.am:
14851           configure.in: gtk-config is now generated.
14852
14853         * docs/gtk-config.1: Removed, now generated.
14854
14855 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
14856
14857         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
14858         handle CreateNotify itself, still put out a debuging message for
14859         --gdk-debug=events. made the ReparentNotify debugging message more
14860         verbose.
14861         wrap xcoords translation for ConfigureEvents into an error trap,
14862         a destroy event may already be pending, and in that case, the
14863         actuall coordinate values are not at all critical.
14864
14865 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
14866
14867         * gdk/gdkcc.c: Stop leaking the color_hash all over
14868         the place. Simplify and improve the logic.
14869
14870 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
14871
14872         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
14873         for prototypes and function implementations consistent (reported
14874         by Tomas Ogren).
14875
14876 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
14877
14878         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
14879         send_event set in debugging output.
14880         (gdk_compress_exposures): default initialize the event so we don't
14881         operate on bogus values (namely send_event).
14882
14883 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
14884
14885         * gdk/gdkwindow.c: When we receive an unexpected
14886         destroy notify on one of our windows, don't just
14887         warn about it, also mark our windows as destroyed.
14888
14889 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
14890
14891         * gdk/gdkfont.c (gdk_font_hash_insert): Add
14892           name => font and name => fontset hashes. The 
14893           name => fontset hash is a _big_ win since we
14894           weren't previously caching fontsets at all and loading
14895           fontsets is expensive. The name => font hash
14896           is less of a win, but it does save us from doing
14897           repeated XQueryFont calls on the same font.
14898
14899         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
14900           list so we can remove font/fontset from hash.
14901
14902 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14903
14904         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
14905           and slightly confusing test. [ XInternAtom (,,TRUE)
14906           will never return None ].
14907
14908 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
14909
14910         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
14911           gdk/gdkwindow.c (gdk_window_set_hints):
14912
14913         Don't omit setting the properties if flags == 0 -
14914         there may be an existing set of properties there
14915         already. (Very old bug. Would it be better to
14916         delete the property instead?)
14917
14918         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
14919           spelling error in comment.
14920
14921 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
14922
14923         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
14924           to avoid stomping over gdk_error_warnings.
14925
14926         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
14927           as (bits_per_pixel + 7) / 8. This gives the same
14928           result as before for multiples of 8, but actually
14929           a "reasonable" value for 1bit or 4bit displays.
14930
14931 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14932
14933         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
14934         GNU Make.
14935
14936 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
14937
14938         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
14939         discarding configure events.
14940
14941 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
14942
14943         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
14944         refcount is greater than zero.
14945
14946         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
14947
14948         * gdk/gdkfont.c (gdk_font_unref): Likewise.
14949
14950         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
14951
14952         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
14953
14954 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
14955
14956         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
14957         that format 32 => sizeof(item) == 4. It really is
14958         sizeof(long).
14959
14960 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
14961
14962         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
14963         core dump at all on X IO errors, only core dump
14964         if --enable-debug for X errors.
14965
14966 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
14967
14968         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
14969         unknown window:" message. disabled ConfigureNotify discarding code,
14970         because it led to events being processed out of order.
14971
14972 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
14973
14974         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
14975
14976         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
14977         we export this function, supress error warnings and don't reset the
14978         error code in the first half of this function.
14979
14980         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
14981         code (instead of just -1) so gdk_error_trap_pop() reveals something
14982         actually informative about the error that happened.
14983
14984         * gdk/*.c:
14985         don't rely on gdk_error_code being -1 if an error occoured, but just
14986         gdk_error_code != 0.
14987
14988 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
14989
14990         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
14991         pointer *before* invoking the filter function, so we at least don't
14992         crash if a filter is removed that is currently executed. window filters
14993         *really* need to be made truely reentrant at some point.
14994
14995 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
14996
14997         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
14998         PropertyNotify debug messages.
14999
15000 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
15001         
15002         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
15003         
15004         * gdk/gdkim.c: Fix cut-and-paste errors for 
15005         x/y and PreeditAttributes/StatusAttributes.
15006
15007 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
15008
15009         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
15010         G_MAXINT to 2^16 to alleviate overflow problems in
15011         various window managers.
15012
15013 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
15014
15015         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
15016         for fontsets.
15017
15018 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
15019
15020         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
15021         Initialize size_hints.x and size_hints.y because kwm
15022         brokenly pays attention to them.
15023         (Bug #1181 -  Lars Heete <hel@admin.de>)
15024
15025 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
15026
15027         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
15028         return value of gdk_list_visuals(). 
15029         (Bug #1193 - Morten Welinder <terra@diku.dk>)
15030
15031 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
15032
15033         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
15034         XSetIMValues to (void *) when comparing to NULL, to workaround
15035         the problem of some compilers barfing since older X headers don't
15036         have the prototype for it.
15037
15038 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
15039
15040         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
15041         for pseudocolor where colormap->colors was double
15042         allocated.
15043
15044         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
15045         color value in the hash table with the pixel filled
15046         in so when we do later hash table lookups, the color
15047         value is correct.
15048         
15049 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
15050
15051         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
15052         making the call
15053
15054 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
15055
15056         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
15057         pointed out by Morten Welinder <terra@diku.dk>.
15058
15059 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
15060
15061         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
15062           default filter from the list
15063
15064 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
15065
15066         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
15067           default filter from the list
15068
15069 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
15070
15071         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
15072
15073         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
15074         g_strdup_printf instead of calcing the length separately
15075
15076 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
15077
15078         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
15079         that we don't do in many other places. (Fixing duplicate 
15080         #include of config.h)
15081
15082         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
15083         Otherwise, #ifndef XINPUT_NONE check in the latter
15084         doesn't work. (Bug #546)
15085
15086 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
15087
15088         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
15089         "None" case insensitive.
15090
15091 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
15092
15093         * gdk/gdkselection.c: 
15094         Add error traps so if the other end of the connection
15095         dies, we survive.
15096
15097 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
15098
15099         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
15100         dest_xid field into two fields - one for the window
15101         to send in messages, one to indicate the last looked
15102         up window for caching purposes. This is needed, so
15103         that Leave messages get the correct window.
15104
15105 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
15106
15107         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
15108         Fix warning created by people mucking around
15109         with the gsource API.
15110
15111         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
15112         Change mapping between GIOCondition and GdkInputCondition
15113         to match the way the Linux kernel does it. This should
15114         fix problems where closed pipes were no longer signalling
15115         GDK_INPUT_READ on systems with a native poll().
15116
15117 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
15118
15119         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
15120         explicitly for the string "None" - it is in the XPM
15121         spec and some servers treat unknown colors in odd ways
15122         (like asking the user!)
15123
15124 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
15125
15126         * gdk/gdkevents.c: made "->" into a "." of previous change so
15127         it compiles
15128
15129 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
15130
15131         * gdk/gdkevents.c (gdk_compress_exposures): Set the
15132         window field of the event structure before calling
15133         user filters.
15134
15135 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
15136
15137         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
15138         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
15139
15140 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
15141
15142         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
15143         intermediate text property - prevents major memory
15144         leak when gdk_use_mb.
15145         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
15146
15147 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
15148
15149         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
15150         gtk-a-higuti-990322-[0-3]
15151
15152         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
15153         sizeof(wchar_t) != sizeof (GdkWChar)
15154
15155         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
15156         that was causing -DX_LOCALE not to work.
15157
15158         * gtk/gtkrc.c (gtk_rc_init):
15159         X_LOCALE will never have LC_MESSAGES defined
15160
15161         * gdk/gdk.c (gdk_init_check):
15162         Remove --xim-preedit and --xim-status from argv properly.
15163
15164         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
15165         that the client window is present on the X server
15166         before we pass it to the input method.
15167
15168 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
15169
15170         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
15171         if --display is specified on the command line, than
15172         the drag window will not be created on that display.
15173         
15174 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
15175
15176         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
15177         lookups with only_if_exists == TRUE were inserting
15178         bogus values into the atom cache.
15179
15180 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
15181
15182         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
15183         then reset it to NULL.
15184
15185         * gdk/gdkcolor.c:
15186         (gdk_colors_free): 
15187         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
15188         key for g_hash_table_remove() in both functions, this prevents us
15189         from accessing possibly uninitialized portions of a GdkColor structure
15190         where we are only interested in its pixel value.
15191
15192 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15193
15194         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15195         font hash table, if we have a GdkFontPrivate entry for this font
15196         already, simply increment its reference count, provided by Olaf Dietsche
15197         <olaf.dietsche+list.gtk@netcologne.de>.
15198
15199 1999-09-21  Tor Lillqvist  <tml@iki.fi>
15200
15201         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
15202         just to be sure.
15203
15204         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
15205         unused variables, leftovers from the X11 version.
15206
15207         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
15208
15209         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
15210         downcase fields on X11.
15211
15212 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
15213         
15214         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
15215         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
15216
15217 1999-09-17  Tor Lillqvist  <tml@iki.fi>
15218
15219         * gdk/win32/gdk.def: Add gdk_threads_mutex.
15220
15221         * gtk/makefile.msc: Correct path to libintl.
15222
15223         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
15224         use of gint vs. int, and gint vs. gboolean in headers and
15225         definitions. Use GtkType for the *_get_type functions. Note that
15226         these changes preserve binary compatibility.
15227
15228         * gdk/gdk.c
15229         * gdk/win32/gdk.c
15230         * gdk/gdk.h: Fix inconsistencies: gint vs int.
15231
15232         * gtk/gtkmain.c
15233         * gtk/gtkclist.c
15234         * gtk/gtkmenufactory.c
15235         * gtk/gtknotebook.c
15236         * gtk/gtkwidget.c: Fix inconsistencies, also gint
15237         vs. gboolean.
15238
15239         * gtk/gtkcolorsel.[ch]
15240         * gtk/gtkcombo.[ch]
15241         * gtk/gtkdrawingarea.[ch]
15242         * gtk/gtkgamma.[ch]
15243         * gtk/gtkhandlebox.[ch]
15244         * gtk/gtkhpaned.[ch]
15245         * gtk/gtkhruler.[ch]
15246         * gtk/gtkplug.[ch]
15247         * gtk/gtkpreview.[ch]
15248         * gtk/gtkruler.[ch]
15249         * gtk/gtksocket.[ch]
15250         * gtk/gtkstatusbar.[ch]
15251         * gtk/gtktoolbar.[ch]
15252         * gtk/gtkvbbox.[ch]
15253         * gtk/gtkvpaned.[ch]
15254         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
15255         functions.
15256
15257         * gtk/gtkgamma.h: Fix bug, missing () in call of
15258         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
15259
15260 1999-09-14  Tor Lillqvist  <tml@iki.fi>
15261
15262         * gdk/gdkcolor.c (gdk_colormap_new)
15263         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
15264         colormap->colors was allocated twice.
15265
15266         * gdk/win32/gdk.c: Remove some unused stuff.
15267
15268         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
15269         colormap.
15270
15271         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
15272         * gtk/gtklabel.h (gtk_label_get_type)
15273         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
15274         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
15275         in a couple of places, not guint.
15276
15277 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
15278
15279         * configure.in,po/et.po: added Estonian language file
15280
15281 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
15282
15283         * configure.in,po/da.po: added Danish file
15284
15285 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
15286
15287         * docs/gtkfaq.sgml: Minor FAQ Update
15288
15289 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
15290
15291         * docs/gtkfaq.sgml: FAQ update
15292
15293 1999-08-27  Tor Lillqvist  <tml@iki.fi>
15294
15295         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
15296         way to get window contents continually refreshed while resizing. I
15297         didn't like the effects myself, so it's not on by default.
15298
15299         * gdk/win32/gdkprivate.h: New flag variable
15300         gdk_event_func_from_window_proc, FALSE by default.
15301
15302         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
15303         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
15304         are passed --gdk-event-func-from-window-proc.
15305
15306         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
15307         and we have am event_func, call it instead of enqueing the event.
15308
15309 1999-08-23  Tor Lillqvist  <tml@iki.fi>
15310
15311         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
15312         Kelley: Set expose_count in GdkEventExposes correctly.
15313
15314         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
15315         MULTIPLE_WINDOW_CLASSES).
15316
15317         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
15318         for bug in NT, apparently NT *does* draw the end pixel, too, in
15319         LineTo with a one-pixel pen, so we don't have to do it ourselves.
15320
15321 1999-08-21  Tor Lillqvist  <tml@iki.fi>
15322
15323         Improvements by Hans Breuer: 
15324
15325         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
15326
15327         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
15328         CS_?REDRAW flags as they cause lots of (late) redraws when "show
15329         window contents while dragging" is turned on. Allocate at least
15330         one unique class for every GdkWindowType. If support for single
15331         window-specific icons is ever needed (eg. Dialog specific), every
15332         such window should get its own class.
15333
15334 1999-08-19  Tor Lillqvist  <tml@iki.fi>
15335
15336         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
15337         error that caused crashes.
15338
15339 1999-08-17  Tor Lillqvist  <tml@iki.fi>
15340
15341         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
15342         window, use ScrollWindowEx, and call UpdateWindow. This prevents
15343         bugs when for instance part of the window was outside the
15344         display. Thanks to Philippe Colantoni for finding and fixing this.
15345
15346 1999-08-16  Tor Lillqvist  <tml@iki.fi>
15347
15348         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
15349         endpoint calculations which were totally wrong. (A little RTFMing
15350         helps a lot ;-)
15351
15352         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
15353         from a separate directory, not from gettext, because of licensing
15354         issues (we want to use the LGPL version).
15355
15356         * README.win32: Mention the intl from glibc vs from gettext issue.
15357
15358 1999-08-13  Tor Lillqvist  <tml@iki.fi>
15359
15360         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
15361         in the key event handling: Now AltGr chars work again. Also,
15362         now Alt-digits are passed up as well as Control-digits.
15363         Pass keypad plus and minus as normal plus and minus.
15364
15365 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
15366
15367         * docs/gtkfaq.sgml: FAQ Update
15368
15369 1999-07-25  Tor Lillqvist  <tml@iki.fi>
15370
15371         * README.win32
15372         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
15373         the Wintab SDK.
15374
15375         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
15376         OK, but getting closer. Guard against bogus tilt data from Wacom
15377         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
15378         enable easier building without Wintab.
15379
15380         * gdk/win32/gdkinput.h
15381         * gdk/win32/gdkevents.c 
15382         * gdk/win32/gdkwindow.c: Minor changes related related to above.
15383         
15384         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
15385         code. As we have just one visual on Win32, no sense to have it in a
15386         table, and no need for the hash table.
15387
15388         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
15389         better on white background.
15390
15391 1999-07-21  Tor Lillqvist  <tml@iki.fi>
15392
15393         * README.win32: Update gcc build instructions. Mention gettext is
15394         GPL.
15395
15396         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
15397         supported cursor size with GetSystemMetrics.
15398
15399         * gdk/win32/gdkfont.c
15400         * gtk/gtkfontsel.c: Guard against some font weight and charset
15401         symbols being undefined (in mingw32 headers).
15402
15403         * gdk/win32/makefile.cygwin
15404         * gtk/makefile.cygwin
15405         * gtk/gtkthemes.c: No longer need to have differently named
15406         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
15407
15408 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
15409
15410         * docs/gtkfaq.sgml: Long awaited FAQ update.
15411
15412 1999-07-15  Tor Lillqvist  <tml@iki.fi>
15413
15414         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
15415         it. Obscure bit manipulation needed.
15416
15417         * gdk/win32/gdkevents.c: Logging.
15418         
15419         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
15420         style (file name include compiler name) for theme engines.
15421
15422 1999-07-13  Tor Lillqvist  <tml@iki.fi>
15423
15424         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
15425
15426         * gdk/win32/gdkevents.c: Fix long-standing bug in key
15427         events. The key.string wasn't zero-terminated, still we strdup'ed
15428         it in gdk_event_copy(). Synthesize crossing events for button
15429         events before possible propagation.
15430
15431         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
15432
15433         * gdk/win32/makefile.cygwin
15434         * gtk/makefile.cygwin: Use new DLL naming style for the
15435         GCC-compiled ones.
15436
15437         * gdk/win32/makefile.msc
15438         * gtk/makefile.msc: Cosmetics mostly.
15439
15440         * gtk/gtk.def: Add missing entry points.
15441
15442         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
15443
15444 1999-07-09  Tor Lillqvist  <tml@iki.fi>
15445
15446         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
15447         or height is zero. Don't print a warning if Pie or Arc fails, they
15448         always fail (?) for very narrow ellipses.
15449
15450         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
15451         the part or the destination window corresponding to source area
15452         outside of the source drawable's boundary.
15453
15454         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
15455         anything if less than two points.
15456
15457         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
15458         return NULL. Gtk cut-and-paste inside a single program works
15459         better this way. (It always gets the clipboard contents from
15460         Windows, not from its own copy, which is cleared anyway. I can't
15461         say I fully understand what happens... Emulating the X selection
15462         and property stuff is a bit of a mess.)
15463
15464         * gdk/win32/gdkevents.c
15465         * gdk/win32/gdkproperty.c: A bit more verbose logging.
15466
15467         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
15468         that never got deleted). Revamp gdk_region_shrink.
15469
15470         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
15471         after use.
15472
15473         * gtk/gtk.def: Add some missing entry points.
15474
15475         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
15476         component.
15477
15478 1999-07-04  Tor Lillqvist  <tml@iki.fi>
15479
15480         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
15481         Control-digits specially.
15482
15483 1999-07-03  Tor Lillqvist  <tml@iki.fi>
15484
15485         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
15486
15487 1999-06-28  Tor Lillqvist  <tml@iki.fi>
15488
15489         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
15490         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
15491         finding this.)
15492
15493 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
15494
15495         * gtk+.spec.in: Corrected some typos in files section.
15496         
15497 1999-06-15  Tor Lillqvist  <tml@iki.fi>
15498
15499         * README.win32: Mention using GNU gettext.
15500         * config.h.win32: Enable NLS stuff.
15501         * gtk/makefile.msc: Use GNU gettext.
15502         * gdk/win32/gdkdnd.c: Minor header reorg.
15503         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
15504         cosmetics.
15505         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
15506         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
15507
15508 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
15509
15510         * acinclude.m4
15511         * config.guess
15512         * config.status
15513         * ltconfig
15514         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
15515
15516 1999-05-30  Tor Lillqvist  <tml@iki.fi>
15517
15518         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
15519         SafeAdjustWindowRectEx. Don't override all calls to
15520         AdjustWindowRectEx by it, but use it only in two places: When
15521         creating a new top-level window and when moving a top-level
15522         window.
15523
15524         Use screen coordinate rectangle, not client rectangle, in
15525         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
15526         when we try to place a window so that the decoration (mainly,
15527         title bar) isn't visible.
15528
15529         These changes fix the bug that showed up for instance as the
15530         GIMP's saved top-level windows moving right and down (by an amount
15531         equal to the window decoration) for each session. This bug showed
15532         up also in testgtk's "Saved Position".
15533
15534         gdk_window_resize also redone a bit.
15535
15536 1999-05-25  Tor Lillqvist  <tml@iki.fi>
15537
15538         * gtk/testgtkrc: Add (commented out) Windows-style theme
15539         include line.
15540
15541         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
15542
15543 1999-05-18  Tor Lillqvist  <tml@iki.fi>
15544
15545         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
15546         gdkx.h to a gdk subdirectory, so that applications can include
15547         these with <gdk/*.h> without trouble.
15548
15549         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
15550         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
15551         have their bitmap destroyed.
15552
15553         * gdk/win32/gdk.def: Add gdk_root_parent.
15554
15555 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
15556
15557         * configure.in
15558           gtk-config.in
15559           ltconfig
15560           ltmain.sh     
15561           gtk/Makefile.am: changes to compile nicely (with xlib) 
15562           on BeOS
15563
15564 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
15565
15566         * acinclude.m4
15567         * config.guess
15568         * config.sub
15569         * ltconfig
15570         * ltmain.sh: upgrade to libtool 1.3
15571
15572 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
15573
15574         * gtk/gtkclist.c:
15575         * gtk/gtkctree.c: merges from gtk-1-2
15576
15577 1999-04-25  Tor Lillqvist  <tml@iki.fi>
15578
15579         Support added for building using a GNU toolchain on Win32,
15580         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
15581
15582         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
15583         * config.h.win32: Changes for gcc.
15584         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
15585         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
15586         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
15587         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
15588         Protect shl stuff unavaiilable with mingw32 headers.
15589         * gdk/win32/gdkevents.c: Fix typo.
15590         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
15591         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
15592         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
15593         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
15594         the mingw32 headers.
15595         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
15596         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
15597         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
15598         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
15599         Test for NATIVE_WIN32, not _MSC_VER.
15600         * gtk/gtkmain.c: No use warning about developer version on Win32,
15601         there aren't any non-developer versions anyhow.
15602         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
15603         * gtk/makefile.msc: Use pthread from another directory. Minor other
15604         changes. 
15605
15606 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
15607
15608         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
15609           default filter from the list
15610
15611 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
15612
15613         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
15614          when gtk_widget_grab_default() is called for a widget that
15615          is not within a GtkWindow.
15616
15617 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
15618
15619         * docs/gtk_tut.sgml, examples/clist.c: use a
15620           scrolled window in the clist example. Minor
15621           tutorial fixes.
15622
15623 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
15624
15625         * docs/gtk_tut.sgml: Style check from David King
15626           <dking@youvegotmail.net>
15627
15628 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
15629
15630         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
15631         compile with unknown value of GDK_WINDOWING
15632
15633 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
15634
15635         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
15636         after the rule is fired.
15637         (install-exec-local): Install gdkconfig.h only if the contents are
15638         different from the currently installed gdkconfig.h.
15639
15640 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
15641
15642         * gdk/Makefile.am (configexecincludedir): Rename from 
15643         configincludedir so that gdkconfig.h will be installed 
15644         as part of `make install-exec'. 
15645
15646 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
15647
15648         * acinclude.m4
15649         * config.guess
15650         * config.sub
15651         * ltconfig
15652         * ltmain.sh: upgrade to libtool 1.2f
15653
15654         * autogen.sh: libtool is not required to autogen gtk+
15655
15656         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
15657         needed)
15658
15659 1999-03-18  Tor Lillqvist  <tml@iki.fi>
15660
15661         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
15662         declaring gdk variables exported/imported from the DLL. New image
15663         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
15664         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
15665         GDK_DRAG_PROTO_OLE2.
15666
15667         * gdk/gdk.h: Merge in Win32 version: Two new functions,
15668         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
15669         declared only for the Win32 version, but could be in the X11
15670         version as well. (Needed for a Xlib-less gdk_imlib.)
15671         gdk_color_hash should have only one parameter. Declare
15672         gdk_threads_mutex with GDKVAR.
15673         
15674         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
15675         just one parameter.
15676
15677         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
15678         per pixel, not bits.
15679
15680         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
15681         Fetch bpp (which means bits-per-pixel here) from another place on
15682         Win32. Accept also depth==32 (which we might get on Win32) with
15683         bpp==32.
15684
15685         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
15686         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
15687         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
15688         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
15689         in the backend-dependent directory, not in the common gdk
15690         directory.
15691
15692         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
15693         headers.
15694
15695 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
15696
15697         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
15698         want to use the Gtk+ devel version (which is true, and yes - even i am
15699         currently working with the 1.2.x branch). so everyone reading this, you
15700         probably want to issue
15701         cvs checkout -r glib-1-2 glib
15702         and
15703         cvs checkout -r gtk-1-2 gtk+
15704         as your next two comands.
15705
15706 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
15707
15708         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
15709         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
15710
15711         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
15712         file. strongly deprecated the GTK_HAVE_* macros, we provide
15713         GTK_CHECK_VERSION() for people that need to check for certain
15714         Gtk+ versions.
15715
15716         * gtk/gtkcompat.h: removed this from CVS.
15717         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
15718         idea right from the start, it just didn't seem like that back then.
15719
15720 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
15721
15722         * merges from gtk-1-2:
15723
15724 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
15725
15726         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
15727         item factory class has been created.
15728         (gtk_item_factory_parse_rc): likewise.
15729
15730         * gtk/gtkmenu.c:
15731         keep proper references for old_active_menu_item.
15732         (gtk_menu_reparent): unset the usize of the new parent,
15733         so the menu can sanely be size requested and we don't get nasty screen
15734         artefacts upon next reparentation.
15735         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
15736         enter notify. only synthesize enter notifies if the pointer really is
15737         inside the event window.
15738         (gtk_menu_popdown): use gtk_menu_shell_deselect().
15739         (gtk_menu_popup): move the background setting stuff into
15740         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
15741
15742         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
15743         gtk_menu_shell_select_item() to select the new item.
15744         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
15745         do the right thing for deselection as well.
15746
15747 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
15748
15749         * gtk/gtkwidget.[hc]:
15750         (gtk_widget_accelerators_locked): return whether a widget's accelerators
15751         are locked.
15752
15753         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
15754         existing accelerators if the widget's accelerators are locked.
15755
15756 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
15757
15758         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
15759
15760         * gtk/gtkmenu.c: truely forward key press and key release events to
15761         the menu widget from the toplevel or tearoff window. we can't simply
15762         connect to that, we need to stop further processing of the events as
15763         well.
15764
15765 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
15766
15767         * gtk/gtkmenu.c:
15768         (gtk_menu_key_press): pass event->keyval, event->state to
15769         gtk_accelerator_valid, instead of event->keyval twice.
15770         refuse to install single letter accelerators for menus that use
15771         single letter shortcuts.
15772
15773         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
15774         gtk_menu_ensure_uline_accel_group().
15775
15776         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
15777         which will always return an uline accel group, made
15778         gtk_menu_get_uline_accel_group() return NULL if the group isn't
15779         yet created.
15780
15781 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
15782
15783         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
15784
15785         * gtk/gtkclist.c (gtk_clist_column_title_passive):
15786         Leave button sensitive, trap  button_press, button_release,
15787         motion_notify, enter_notify and leave_notify events instead.
15788         (gtk_clist_column_title_active): disconnect event handler.
15789         (gtk_clist_drag_data_get): fixed memory leak. Reported by
15790         Guillaume Laurent <glaurent@worldnet.fr>
15791
15792 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
15793
15794         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
15795         width/height mixups.
15796
15797         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
15798         if needed.
15799
15800 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
15801
15802         * gtk/testgtk.c (create_item_factory): unref the item factory after
15803         window's destruction.
15804
15805         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
15806         count on the menu shell around the menu item's activation, since the
15807         signal emission may cause menu shell destruction.
15808
15809         * gtk/gtkitemfactory.c:
15810         the previous code leaked one accel group per menu. we use
15811         gtk_menu_get_uline_accel_group() now to fix that, and with that
15812         also create the underline accelerator group of the menus only if
15813         required (i.e. an underline accelerator has been specified).
15814         (gtk_item_factory_construct):
15815         (gtk_item_factory_create_item): removed code that would create an
15816         extra accel group for the menu (and leak references).
15817         (gtk_item_factory_create_item): adapted the underline accelerator
15818         installation code to properly feature gtk_menu_get_uline_accel_group().
15819
15820         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
15821         menu->accel_group, this may return NULL if the accelerator group
15822         hasn't been set yet.
15823         added gtk_menu_get_uline_accel_group() to retrive the underline
15824         accelerator group of the menu, this will be created on demand
15825         and proper care is taken about its reference count.
15826
15827         * gtk/gtkitemfactory.h:
15828         * gtk/gtkitemfactory.c:
15829         dumped the approach of keeping a widgets by action list on the
15830         factory since the factory<->widget destroy negotiation didn't work
15831         and would be hard to get going at all. instead we keep a list of
15832         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
15833         persistant throughout a program's life time).
15834         also, i removed the static const gchar *key_* variables, and made
15835         them inline strings (they weren't actually used anyways).
15836         (gtk_item_factory_add_item): update ifactory->items.
15837         (gtk_item_factory_destroy): destroy ifactory->items (and remove
15838         the item factory pointer from the remaining ifactory widgets).
15839         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
15840         list to find the widget.
15841         (gtk_item_factory_get_item): new function that works around
15842         gtk_item_factory_get_widget() limitations, this function will only
15843         return menu items, even for <Branch> entries.
15844
15845 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15846
15847         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15848         font hash table, if we have a GdkFontPrivate entry for this font
15849         already, simply increment its reference count, provided by Olaf Dietsche
15850         <olaf.dietsche+list.gtk@netcologne.de>.
15851
15852         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15853         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15854
15855 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
15856
15857         * gtk/gtkcontainer.c:
15858         (gtk_container_add_with_args):
15859         (gtk_container_addv):
15860         (gtk_container_add): before adding a child to a conatiner, make sure
15861         it is (default) constructed, this is neccessary because under certain
15862         circumstances the child will get relized and mapped immediatedly, in
15863         which case it has to be constructed already.
15864
15865 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
15866
15867         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
15868         values > 1 as TRUE also.
15869
15870 1999-03-16  Tor Lillqvist  <tml@iki.fi>
15871
15872         * README.win32: New file.
15873                 
15874         * configure.in: Check for lstat.
15875
15876         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
15877         completeness.
15878
15879         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
15880
15881         * gtk/gtk.def: Removed CRs.
15882
15883         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
15884         ..\gdk\win32).
15885
15886         * gdk/win32/makefile.msc: Correct upwards relative paths.
15887         
15888 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
15889
15890         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
15891           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
15892           it was connecting a void function to expose_event and the int
15893           returning function to the draw signal
15894
15895 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
15896
15897         * configure.in:
15898         Use correct path to libgmodule.la when ref'ing uninstalled copy
15899         of glib.  (Already in stable branch, Bug #417)
15900
15901 1999-03-15  Tor Lillqvist  <tml@iki.fi>
15902
15903         Win32 merge and general portability stuff:
15904                 
15905         * acconfig.h,configure.in: Check for <sys/time.h>.
15906
15907         * gdk/win32: New directory (actually, been there for a while).
15908         
15909         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
15910         NATIVE_WIN32, and use these. Always case fold on Win32. No
15911         backslashed escapes on native Win32.
15912
15913         * gtk/{gtk.def,makefile.msc}: New files.
15914
15915         * gtk/Makefile.am: Add above new files.
15916         
15917         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
15918         instead of <strings.h>.
15919
15920         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
15921         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
15922         <unistd.h> appropriately.
15923
15924         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
15925         Use ABS() (from <glib.h>) instead of abs().
15926         
15927         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
15928         of gtk (and thus glib) headers, so that WIN32 will be
15929         defined. With MS C, include <direct.h> for mkdir prototype.
15930
15931         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
15932         some casts, needed by MS C.
15933
15934         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
15935         implemented).
15936
15937         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
15938         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
15939         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
15940
15941         * gtk/gtkmain.h: Mark variables for export/import on Win32.
15942                 
15943         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
15944         the event is not a hint, or its window is not the slider. Needed
15945         on Win32, at least.
15946
15947         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
15948         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
15949         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
15950         a subdirectory of the Windows directory as gtk system
15951         configuration directory.
15952
15953         * gtk/gtkselection.c: No chunks on Win32.
15954
15955         * gtk/gtksocket.c: Not implemented on Win32.
15956
15957         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
15958
15959         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
15960
15961         * gtk/maketypes.awk: Declare variables with a macro that expands to
15962         necessary export/import magic in the case of Win32.
15963                 
15964         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
15965
15966 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
15967
15968         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
15969         since those were meant only for gdki18n.h.  
15970         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
15971         for widechar tests.
15972         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
15973
15974 1999-03-13  Tor Lillqvist  <tml@iki.fi>
15975
15976         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
15977         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
15978
15979         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
15980         installed) to CFLAGS.
15981
15982         * gdk/Makefile.am: Add rules for gdkconfig.h.
15983
15984         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
15985         APIs.
15986
15987         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
15988         gdkx.h anyway when compiling for X11.
15989         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
15990         general): Merge in Win32 version.
15991         
15992         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
15993         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
15994         expansion (if we don't have HAVE_PWD_H), allow for drive
15995         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
15996         included code from Craig Setera's port to Win32 (the one that uses
15997         X11, and the cygwin dll), even if it probably will be abandoned.
15998
15999         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
16000         the user entered one herself.  This way one can complete *.h and
16001         don't get matches on any .help files, for instance.
16002         
16003 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
16004
16005         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
16006         font hash table, if we have a GdkFontPrivate entry for this font
16007         already, simply increment its reference count, provided by Olaf Dietsche
16008         <olaf.dietsche+list.gtk@netcologne.de>.
16009
16010         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
16011         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
16012
16013 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
16014
16015         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
16016         the number of calls to gdk_draw_point() (and thus to X) by
16017         clipping the points by hand.
16018
16019         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
16020         the clip parameter.
16021         (gtk_handle_box_paint): Only paint the handle if the expose area
16022         intersects it.
16023
16024 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
16025
16026         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
16027
16028 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
16029
16030         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
16031         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
16032
16033 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
16034
16035         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
16036          textmode (O_TEXT) for OS/2 version.
16037
16038 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
16039
16040         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
16041         GtkSpinButton, "input" and "output", to make the output more flexible.
16042         The user has to provide a mapping between adjustment->value and the
16043         output string (and vice versa, if the spin button is editable). 
16044         See testgtk for examples.
16045
16046 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
16047
16048         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
16049         new one.
16050         
16051         * configure.in: set gtk+ version to 1.3.0.