]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-0
It's pixbuf_pos, not pixbufpos.
[~andy/gtk] / ChangeLog.pre-2-0
1 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
2
3         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
4         not pixbufpos.
5
6         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
7
8         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
9         are unsigned insts, therefore use g_value_set_uint.
10         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
11
12 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@webwynk.net>
13
14         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
15
16         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
17         GTK_TYPE_STRING.
18
19         * gtk/gtktreeview.c: New functions to allow initial column
20         dragging work.
21
22         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
23
24         * tests/testtreefocus.c: give dave some love.
25
26         * tests/testtreesort.c: Modify test to check really long samples.
27
28 2001-04-11  Alexander Larsson  <alexl@redhat.com>
29
30         * gtk-2.0.m4: Pass pkg-config options
31         before the other args so it works even if
32         POSIXLY_CORRECT is set.
33
34 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
35
36         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
37         0, interface 0).
38
39 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
40
41         * gtk/gtkcalendar.c (gtk_calendar_button_press):
42         check for action_func != NULL
43
44 2001-04-04  Sven Neumann  <sven@gimp.org>
45
46         * tests/testgtk.c (test_init): corrected path to gtk.immodules
47
48 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
49
50         * Released Gtk+-1.3.3.
51
52 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
53
54         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
55
56 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
57
58         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
59         files to/from source dir. (if we don't stay in builddir, we
60         can't reach make-inline-pixbuf.
61
62         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
63         deps.
64
65         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
66         ages 0).
67
68 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
69
70         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
71         moved to the GtkTreeSortable interface.
72
73         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
74         Make more efficient (fixes #50262).
75
76 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
77
78         * NEWS: Updated.
79
80         * configure.in: Remove support for uninstalled glib.
81
82         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
83         so as not to stop emission.
84
85         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
86         is no longer supported.
87
88         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
89         into tests, change build order to build modules before
90         gtk/.
91
92         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
93         to here.
94
95 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
96
97         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
98         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
99         GPatternSpec. this is actually unlikely to cause breakage in
100         third-party apps since except for gle, pretty much ever caller
101         passes NULL here.
102
103         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
104
105         * *.c: use g_pattern_*() API.
106
107         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
108
109         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
110         directions aren't passed in.
111
112         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
113         functionality to be usable from gtkstyle.c as well, give precedence
114         for conversion to user-supplied parsers.
115         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
116
117         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
118         _gtk_settings_parse_convert() for rcporperty value conversion.
119
120 2001-04-03  Alexander Larsson  <alexl@redhat.com>
121
122         * gdk/linux-fb/gdkevents-fb.c:
123         Add empty gdk_setting_get().
124
125 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
126
127         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
128         variable names.
129         
130         * gtk/makeenums.pl: touch this so enum files get remade.
131
132 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
133
134         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
135         work again when not sorted.
136
137         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
138         and "expand_row" signal, closing bug 52578.
139
140         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
141         support.
142
143         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
144         support.
145
146 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
147
148         * gdk/gdkevents.h: Add GdkEventSetting event for notification
149         of changes to system settings, gdk_setting_get() to retrieve
150         a single system setting.
151
152         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
153         to the draft XSETTINGS mechanism.
154
155         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
156         XSETTINGS.
157
158         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
159         of GDK settings changes to the GtkSettings object.
160
161         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
162         double-click-timeout property to GDK.
163
164         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
165         Define GDK boxed types here.
166
167         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
168         gdk/gdkenumtypes.[ch] for enum definitions.
169
170         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
171         * gtk/gtk-boxed.defs: Comment out GDK types
172         * gtk/gtktypeutils.h: Remove GDK types
173         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
174
175 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
176
177         * Applied patch from Ron Steinke to add signal accumulators
178         so that signals with the convention 'TRUE return means
179         handled' stop emission on a TRUE return.
180
181         * gtk/gtkmain.[ch]: Add private accumulator 
182         _gtk_boolean_handled_accumulator, used throughout GTK+.
183         
184         * gtk/gtkspinbutton.c: Add accumulator for ::output.
185
186         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
187         
188         * gtk/gtkwidget.c: Add accumulators for event signals,
189         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
190         for ::mnemonic-activate.
191
192         * gtk/gtkwindow.c: Add accumulator for ::frame_event
193
194 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
195
196         * gtk/gtkwidget.c: Add missing include.
197
198 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
199
200         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
201         marshaller.
202
203         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
204         "changed" signal to "range_changed".
205
206         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
207         removing a tree from one model would remove all trees from that
208         model.
209         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
210         changed signal instead.
211
212 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
213
214         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
215         chaining up to parent impl, since we have a INPUT_ONLY
216         window.
217
218         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
219         foreground color for the cursor.
220
221 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
222
223         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
224         param spec when caching property values, since we unref it
225         later when we free the style.
226
227         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
228         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
229
230 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
231
232         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
233         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
234         stupidity.
235
236 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
237
238         [ First pass at adding style properties. Still needs some definite
239         fine-tuning. ]
240
241         * gtk/gtkbutton.c: Add ::default_spacing style property.
242          
243         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
244         ::indicator_spacing style properties.
245
246         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
247         style properties.
248
249         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
250         rather than a normal property.
251
252         * gtk/gtkwidget.c: Add an ::interior_focus style property to
253         draw focus inside buttons, in the Windows/Java Metal/etc. style.
254
255         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
256         Honor ::interior_focus.
257         
258         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
259         TRUE.
260
261         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
262         Add ::slider_width, ::trough_border, ::stepper_size,
263         ::stepper_spacing style properties.
264
265         * gtk/gtkscale.[ch] Add ::slider-length style property.
266
267 2001-04-02 Alexander Larsson   <alexl@redhat.com>
268
269         * gdk/linux-fb/gdkwindow-fb.c:
270         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
271         warnings that were spewed on startup.
272
273         * gtk/gtkwindow-decorate.c:
274         gtk_window_reposition -> _gtk_window_reposition
275
276 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
277
278         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
279         Add boxed type for GtkRequistion. Use it for ::size-request.
280
281         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
282         Add a new GtkBorder structure useful for geometry properties
283         for widgets. Add corresponding GTK_TYPE_BORDER.
284         
285         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
286         Support automatic parser selection like
287         gtk_settings_install_property_parser().
288
289         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
290         functionality for use by gtk_widget_class_install_style_property.
291         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
292
293 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
294
295         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
296         g_param_spec_unichar(). 
297
298 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
299
300         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
301         _NET window managers.
302
303         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
304
305 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
306
307         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
308         bad needs to be nuked, not just deprecated.
309
310         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
311         gtk_widget_popup().
312
313         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
314         
315         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
316         widget.
317         
318         * docs/Changes-2.0.txt: updates.
319         
320 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
321
322         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
323         for (i = 0; i < 100; i ++)
324           g_print ("I will confirm it compile before committing\n");
325
326 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
327
328         * gtk/gtktreestore.c: Initial work on implementing the
329         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
330
331 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
332
333         * gtk/gtkwidget.c: fixed a bunch of notifications, added
334         reference counts around emissions where the widget is used afterwards.
335         added freeze/thaws around multiple properties being notified.
336         (_gtk_widget_get_aux_info): cleanups.
337         
338         * gtk/gtksettings.c (gtk_settings_install_property): provide
339         default parsing functions for gdkcolor, enums and flags.
340
341         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
342         applied by owen.
343         backed out gtk_window_get_location(), gtk_window_set_location(),
344         gtk_window_get_size() and gtk_window_set_size(), these
345         have to be sorted out wrg x/y/width/height/default_with/default_height
346         properties.
347         kept a flag in GtkWindowGeometryInfo to handle user
348         resetting default sizes.
349         cleaned up ZVT comments.
350         bunch of assorted bug fixes, notification fixes.
351         (_gtk_window_reposition): make this a really internal function.
352         
353         * gtk/testgtk.c: fixups.
354         
355 2001-03-31  Hans Breuer  <hans@breuer.org>
356
357         * config.h.win32.in : disable USE_MMX for msvc build cause
358         the assembler doesn't fit and is out of my scope. Disable
359         USE_GMODULE for msvc build as wel. The right way to share
360         binaries on win32 would be to use libtiff.dll etc. To reduce
361         installation hassles IMO it's better to include all fileformats
362         builtin to gdk-pixbuf
363
364         * gdk-pixbuf/makefile.msc : new file
365
366         * gdk/gdk.def : updated
367
368         * gdk/win32/gdkevents-win32.c : don't erase the background if
369         .no_bg is set. It improves the scrolling (e.g. of testgtk main
370         buttons
371         * gdk/win32/gdkgeometry-win32.c : added comment about the above
372
373         * gdk/win32/gdkwindow-win32.c : added three new functions like
374         the X version. Only one is implemented, because the other two
375         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
376         be default behaviour on win32 anyway ...
377
378         * gtk/gtk.def : updated
379
380         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
381         from where it was built and add an additional rule to automagically
382         build gtkmarshal.[hc]
383
384         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
385         before array access for the current entry isn't finished
386
387         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
388         use g_return_val_if_fail
389
390         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
391         for the static array, but let the compiler calculate it. It
392         makes me wonder if gcc isn't capable to catch bugs like this ...
393
394 2001-03-31  James Henstridge  <james@daa.com.au>
395
396         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
397         constant "-1" in the aux info structure.
398
399 2001-03-30  Alexander Larsson  <alexl@redhat.com>
400
401         * gtk/gtkbutton.c (gtk_button_get_property):
402         * gtk/gtklabel.c:
403         Remove leaks.
404         
405         * gtk/gtkcontainer.c:
406         * gtk/gtkhscale.c:
407         * gtk/gtkhscrollbar.c:
408         * gtk/gtklayout.c:
409         * gtk/gtkmisc.c:
410         * gtk/gtkprogress.c:
411         * gtk/gtkprogressbar.c:
412         * gtk/gtkrange.c:
413         * gtk/gtktable.c:
414         * gtk/gtkviewport.c:
415         * gtk/gtkvscale.c:
416         * gtk/gtkvscrollbar.c:
417         * gtk/gtkwidget.c:
418         Property patches, based on patches from John Margaglione and Lee Mallabone.
419
420 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
421
422         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
423         adjustment. Cleaned redundant preconditions (spin != NULL). Added
424         inline API function docs.
425         (gtk_spin_button_new_with_range): New convenience constructor.
426         (gtk_spin_button_set_increments): New adjustment helper.
427         (gtk_spin_button_set_range): New adjustment helper.
428
429         * gtk/testgtk.c : added test of the new convenince constructor and
430         value_changed signals.
431
432 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
433
434         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
435         listen to the reorder signal.
436
437 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
438
439         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
440         to get the aux info structure fo the widget.
441
442         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
443         above function.
444
445         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
446
447         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
448         to get the size of the window manager frame, basically the same
449         code that gdk_window_get_root_origin() had
450         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
451
452         * gtk/gtkwindow.c (gtk_window_set_default_size): use
453         gdk_window_resize() if the window is realized and resizeable
454
455         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
456         typo so that setting gravity works
457
458         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
459         allocation if auto_shrink is on, even if the default size
460         has not changed.
461
462         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
463         g_return_if_fail
464
465 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
466
467         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
468         reordering/sorting work.  Now pretty much works.
469
470         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
471         reorder mostly work.  Still need to get the parity correct.
472
473         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
474         signal, so I can listen for the sort_column_changed signal so I
475         can change my "sort_indicator" property.  Cool.
476
477 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
478
479         [ Patch from Havoc Pennington, hp@redhat.com ]
480
481         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
482         Add functions gdk_window_begin_resize_drag/begin_move_drag
483         to start resizing or moving a toplevel window. This
484         is done either using the _NET_WM_MOVERESIZE protocol,
485         or, if that isn't present, by emulation.
486
487         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
488         to export the above to GTK+-land.
489
490         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
491         
492         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
493         Move this function into gdkwindow, since we need it
494         when implementing fallback resizing.
495
496         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
497         Fix typo when setting gravity.
498
499         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
500         Add an optional (but on by default) resize grip for resizing 
501         the parent window.
502
503 01-03-29  Alexander Larsson  <alexl@redhat.com>
504
505         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
506         Don't return TRUE from the event handler, that blocks all
507         event signals on the tooltip widget. Now you can press buttons
508         in toolbars again.
509
510 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
511
512         * gtk/testtext.c (create_buffer): Add missing NULL on
513         valist.
514
515         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
516         c-n-p problem with INCONSISTENT property.
517
518         [ Patch from Havoc Pennington  <hp@redhat.com> ]
519
520         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
521         hook.
522
523         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
524         signal as a hook for extending the default popup menu
525
526         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
527         use radio menu items for the input method menuitems
528
529         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
530         inserted unicode from Ctrl-Shift-hex input method
531
532         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
533         validatation here, already done at GtkTextBuffer level.
534
535         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
536         popup_menu run action signal and Shift+F10 and Menu keybindings.
537
538         * gtk/gtkentry.c: implement a default handler for popup_menu
539
540         * gtk/gtktextview.c: implement a default handler for popup_menu
541
542         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
543         from a key event
544         
545         * gtk/gtklabel.c: remove "trailer" cruft
546
547 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
548
549         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
550         handle reordering of trees.  Seems to mostly work w/ the exception
551         of the parity flag.
552
553         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
554         signal.
555
556 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
557
558         * gtk/gtkwidget.h: c++ fixes.
559
560 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
561
562         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
563         memory.
564
565 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
566
567         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
568         Nils Barth fixing event return values. (#51041)
569
570         * gtk/gtkwidget.c: Fix some return values for default
571         functions.
572
573         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
574         return values for trough_keys functions.
575
576         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
577         value for add_accelerator (shoudl have been a void
578         return.)
579
580         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
581         Fix return type of EVENT.
582
583         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
584         signal return a boolean.
585
586 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
587
588         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
589         reordered signal.
590
591         * tests/testtreesort.c (main): fix spelling.
592
593 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
594
595         * gtk/gtkliststore.c: More work on implementing sortable
596         interface.
597
598 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
599
600         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
601         reference the widgets in the resulting list. (#11821)
602         This makes this consistent with gtk_container_children.
603
604         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
605         uses of gtk_window_list_toplevels.
606
607 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
608
609         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
610         a virtual function to set whether the IM context should use 
611         the preedit string. (#51922)
612         
613 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
614
615         * gdk/gdkpango.h: Remove stale FIXME comment.
616
617 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
618
619         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
620         Fixed bug that returned NULL if a filename was selected.
621
622 2001-03-24  Havoc Pennington  <hp@pobox.com>
623
624         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
625         to contain the word "theme"
626
627 2001-03-24  Havoc Pennington  <hp@pobox.com>
628
629         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
630         slower but finer-grained
631         (gtk_hsv_focus): get initial focus on the ring or triangle 
632         according to tab direction
633
634         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
635
636 2001-03-23  Havoc Pennington  <hp@pobox.com>
637
638         * gtk/gtkhsv.c: make this somewhat key-navigable
639
640         * gtk/gtkfontsel.c: mnemonics
641
642         * gtk/gtkgamma.c: mnemonics
643
644         * gtk/gtkcolorsel.c: add mnemonics to labels
645
646 2001-03-22  Havoc Pennington  <hp@pobox.com>
647
648         Applied big patch from Seth Lytle to fix event handler return
649         values, slightly modified.
650
651         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
652         handled.
653         (gtk_calendar_key_press): return TRUE for GDK_space triggers
654         select_day
655
656         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
657         (gtk_clist_button_release): return TRUE if handled
658
659         * gtk/gtkcolorsel.c (mouse_release):
660         (palette_activate): 
661         (palette_press): 
662         (palette_new): 
663         (mouse_press): 
664         (get_screen_color): 
665         fixed return type (void to gboolean), return TRUE,
666         added GTK_SIGNAL_FUNC cast
667
668         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
669         (void to gboolean), and return TRUE
670         (gtk_combo_button_release): changed return value to TRUE after
671         gtk_grab_add on combo->popwin
672
673         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
674         collapse or expand
675
676         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
677         button/motion
678
679         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
680         press/release and motion that trigger act
681
682         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
683
684         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
685         for GDK_Return
686         
687         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
688         (gtk_list_button_release): return TRUE if selection
689
690         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
691         press
692
693         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
694         (gtk_menu_shell_button_release): chain parent_menu_shell retval
695
696         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
697         nothing triggered
698         (gtk_notebook_button_release): return TRUE if we do anything
699
700         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
701         (gtk_spin_button_button_release): return TRUE or chained retval
702
703         * gtk/gtktext.c (gtk_text_button_press): 
704         (gtk_text_button_release): return TRUE
705         (gtk_text_key_press): remove redundant retval code
706         
707         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
708         and sensitive
709         (gtk_tree_item_subtree_button_click): changed type to gint, and return
710         TRUE if sensitive
711
712         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
713         return TRUE
714
715 2001-03-23  Havoc Pennington  <hp@redhat.com>
716
717         * gtk/testgtk.c: fix warnings
718
719         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
720
721         * gtk/gtktextview.c: fix warnings
722
723         * gtk/gtktext.c (find_cursor_at_line): fix warning
724
725         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
726
727         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
728         of this function
729
730         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
731         fix warning
732
733         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
734
735         * gtk/gtkfontsel.c: fix warning
736
737         * gtk/gtkcolorsel.c: fix warnings
738
739 2001-03-23  Havoc Pennington  <hp@redhat.com>
740
741         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
742
743         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
744
745         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
746         and deprecated gtk_check_menu_item_set_show_toggle().
747         
748         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
749
750         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
751
752         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
753
754 2001-03-23  Havoc Pennington  <hp@redhat.com>
755
756         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
757         some docs
758
759 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
760
761         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
762         this.
763
764         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
765         set_cell to set_value
766
767         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
768         set_cell to set_value
769
770 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
771
772         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
773         fix braino.
774         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
775         support.
776
777         * gtk/gtktreeview.c: Addition of initial sortable support.
778
779         * gtk/gtktreestore.c: Addition of initial sortable support.
780
781         * gtk/gtkliststore.c: Addition of initial sortable support.
782
783         * gtk/gtkmarshal.list: yet another marshaller.
784
785         * gtk/gtktreedatallist.[ch]: shared code between the store models
786         for handling sorting headers.
787
788 2001-03-22  Havoc Pennington  <hp@redhat.com>
789
790         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
791         (gtk_container_unset_focus_chain): Add ability to override the 
792         focus chain for a container explicitly
793
794 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
795
796         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
797         added PROP_MNEMONIC_WIDGET.
798
799         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
800         (gtk_window_remove_mnemonic): 
801         (gtk_window_add_mnemonic): fixed assertions.
802         (gtk_window_activate_mnemonic): constrain modifier checks to those
803         permitted by gtk_accelerator_get_default_mod_mask().
804         got rid of gtk_window_get_default_accel_group().
805
806         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
807         activatable widgets either by focussing or a warning.
808         added a signal accumulator to ::activate_mnemonic which stops the
809         emission once a handler returned TRUE.
810
811 2001-03-22  Havoc Pennington  <hp@pobox.com>
812
813         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
814         the stock item label
815
816         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
817
818         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
819
820         * demos/gtk-demo/*.c: Add mnemonics all over the place
821
822         * gtk/gtklabel.h: mark parse_uline deprecated
823
824 2001-03-21  Alexander Larsson  <alexl@redhat.com>
825
826         * gtk/gtkitemfactory.[ch]:
827         Add support for stock and normal imagemenuitems.
828         
829         * gtk/testgtk.c:
830         Add some tests for mnemonics, stock toolbars, stock
831         and image menuitems in itemfactory and gdk_window_scroll.
832
833 2001-03-21  Alexander Larsson  <alexl@redhat.com>
834
835         * gtk/gtkbutton.[ch]:
836         * gtk/gtkdialog.c:
837         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
838         removed accel_group argument. Renamed gtk_button_new_accel() to
839         gtk_button_new_with_mnemonic() and removed accel_group argument.
840
841         * gtk/gtkcheckbutton.[ch]:
842         New function gtk_check_button_new_with_mnemonic().
843
844         * gtk/gtkentry.c:
845         Override activate_mnemonic and just grab focus.
846
847         * gtk/gtkitemfactory.c:
848         Don't add menu uline accel group, instead use mnemonics support.
849
850         * gtk/gtklabel.[ch]:
851         New support for mnemonics.
852
853         * gtk/gtkmarshal.list:
854         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
855
856         * gtk/gtkmenu.[c]:
857         * gtkmenushell.c:
858         Use mnemonics instead of accel groups for uline
859         support in menu items.
860         Removed gtk_menu_get_uline_accel_group() and
861         gtk_menu_ensure_uline_accel_group().
862
863         * gtk/gtkmenuitem.c:
864         Override activate_mnemonic to handle switching between
865         menu items if there are collisions.
866         
867         * gtk/gtknotebook.c:
868         Connect to activate_mnemonic on the tab_label, so that
869         activating it switches to that notebook page.
870
871         * gtk/gtkwidget.[ch]:
872         Add activate_mnemonic signal. New function
873         gtk_widget_activate_mnemonic() to emit it.
874         Default implementation does activate/grab_focus.
875
876         * gtk/gtkwindow.[ch]:
877         Add support for mnemonics in windows.
878         New functions:
879         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
880         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
881
882         * gtk/testgtk.c:
883         Update to function name changes.
884         
885 2001-03-21  Alexander Larsson  <alexl@redhat.com>
886
887         * gtk/gtkimagemenuitem.[c]:
888         Add gtk_image_menu_item_new_from_stock()
889
890 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
891
892         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
893         Fix buglet in meeting.
894
895 2001-03-19  Havoc Pennington  <hp@redhat.com>
896
897         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
898         add a bunch of accessor functions. This is because we have
899         reasonable expectations of extending what fields it contains in
900         the future.
901
902         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
903         changes
904
905         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
906         GtkIconSource   
907
908 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
909
910         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
911         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
912
913         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
914           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
915           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
916           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
917         Change float to double everywhere with the exception of 0<->1.0 alignment
918         and GtkCurve.
919
920 2001-03-19  Tor Lillqvist  <tml@iki.fi>
921
922         * gdk/win32/gdkdrawable-win32.c
923         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
924         output.
925
926         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
927         gdkwin32.h.
928
929 2001-03-18  Tor Lillqvist  <tml@iki.fi>
930
931         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
932         print_event_state, print_event): Use preprocessor macro to make
933         code more compact. Print also GDK_WINDOW_STATE events.
934         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
935         
936         * gtk/gtk.def
937         * gtk/makefile.mingw.in: Update.
938
939         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
940         to catch also Cygwin.
941
942 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
943
944         * gtk/gtkspinbutton.[hc]: added rc-style argument
945         GtkSpinButton::shadow_type.
946         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
947         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
948         rc-style settings.
949
950         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
951
952         * gtk/gtkwidget.c: quark cleanups.
953
954         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
955         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
956         to create_rc_style() (we don't do cloning in standard OO sense).
957         added per rc style properties.
958         
959         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
960         property values and for caching those. some cleanups.
961         
962         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
963         
964         * gtk/gtksettings.[hc]: new file for global rc-file properties
965         (at least currently, should get extended to support X properties
966         and other communication mechanisms).
967         
968         * gtk/gtkwidget.[hc]: added style property support:
969         (gtk_widget_class_install_style_property_parser): install style
970         property pspec with parser function for rc-file values other
971         than LONG, DOUBLE or STRING.
972         (gtk_widget_class_install_style_property): same as above without
973         parser (parsers are going to be needed quite infrequently).
974         (gtk_widget_style_get_property): retrive style property value.
975         (gtk_widget_style_get_valist): same as above with varargs support,
976         has NOCOPY semantics.
977         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
978
979 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
980
981         * demos/gtk-demo/main.c (row_activated_cb): modified to use
982         "row_activated" signal.
983
984         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
985         stupidity.  Lets actually pass in the row with this signal...
986
987 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
988
989         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
990
991         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
992
993         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
994         everything into the ::destroy function, and freed a lot more.
995
996 2001-03-16  Havoc Pennington  <hp@redhat.com>
997
998         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
999         instead of gint16, to avoid overflow issues, since sizes > 16-bit
1000         are now allowed.
1001
1002 2001-03-16  Havoc Pennington  <hp@redhat.com>
1003
1004         * Applied patch from Nils Barth (bug # 51041) to 
1005         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
1006         in various places.
1007
1008 2001-03-15  Havoc Pennington  <hp@redhat.com>
1009         
1010         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
1011         for properties to set on the tag.
1012
1013         * gtk/testtext.c: fixups to reflect create_tag change
1014         
1015         * gtk/gtktexttag.c (gtk_text_tag_set_property):
1016         background/foreground stipple are objects, not boxed.
1017
1018         * demos/gtk-demo/textview.c: intellihancing
1019
1020 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
1021
1022         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
1023         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
1024
1025 2001-03-16  Alexander Larsson  <alexl@redhat.com>
1026
1027         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
1028         Fix sign error with queued region translations.
1029
1030 2001-03-15  HideToshi Tajima  <tajima@happy>
1031
1032         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
1033         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
1034         * gtk/gtkentry.c (update_im_cursor_location): 
1035         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
1036         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
1037         set_cursor_pos to set_cursor_location in GtkInputContext class
1038
1039 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
1040
1041         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
1042         the location of the cell relative to its area.
1043         * gtk/gtkcell*: modified for above change
1044         * gtk/gtktreeview.c: modified for above change.
1045
1046 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
1047
1048         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
1049          (gtk_tree_view_finalize): actually unref the model.  Thanks to
1050         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
1051
1052 2001-03-14  Havoc Pennington  <hp@redhat.com>
1053
1054         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
1055         
1056         * gtk/gtk.h: remove gtkdata.h
1057
1058         * gtk/Makefile.am: remove gtkdata
1059         
1060         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
1061         not "disconnect" on the adjustments.
1062         
1063         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
1064         GtkData
1065
1066         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
1067         not GtkData
1068
1069         * configure.in: handle case where X render exists, but Pango lacks
1070         Xft support.
1071
1072 2001-03-15 Alexander Larsson  <alexl@redhat.com>
1073
1074         * gtk/gtktoolbar.[ch]:
1075         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
1076         to add stock items to toolbars.
1077
1078         * gtk/Makefile.am:
1079         Remove ../gdk/gdkim.h from gdk_headers.
1080
1081 2001-03-15  Sven Neumann  <sven@gimp.org>
1082
1083         * gdk/gdkim.h: removed
1084         
1085         * gdk/gdkprivate.h
1086         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
1087
1088 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
1089
1090         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
1091         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
1092         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
1093         set_cursor_pos() virtual method
1094
1095         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
1096         (gtk_im_context_xim_set_cursor_pos): add implementation for
1097         set_cursor_pos() method
1098
1099         * gtk/gtkentry.c (recompute_idle_func): set current cursor
1100         position to input methods
1101
1102 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
1103
1104         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
1105         code a lot.
1106
1107         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
1108         g_mem_chunk.
1109         (_gtk_tree_data_list_alloc): use g_mem_chunk.
1110         (_gtk_tree_data_list_node_to_value): Fix to switch on
1111         G_TYPE_FUNDAMENTAL.
1112         (_gtk_tree_data_list_value_to_node): Fix to switch on
1113         G_TYPE_FUNDAMENTAL.
1114         (_gtk_tree_data_list_node_copy): Fix to switch on
1115         G_TYPE_FUNDAMENTAL.
1116
1117 2001-03-12  Havoc Pennington  <hp@redhat.com>
1118
1119         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
1120         to convert to new property API. Also, change default_width and
1121         default_height get_property to return 0 as the flag value for
1122         "unset"; -1 is not a valid value for these fields.
1123
1124 2001-03-12  Havoc Pennington  <hp@redhat.com>
1125
1126         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
1127         enum with registration for icon sizes, instead of strings.
1128
1129         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
1130         gtkwidget.c: Fix to reflect GtkIconSize
1131         
1132 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1133
1134         Make GtkFB compile and link.
1135         
1136         * gdk/linux-fb/gdkdrawable-fb2.c:
1137         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1138         
1139         * gdk/linux-fb/gdkwindow-fb.c:
1140         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1141         Added gdk_window_shape_combine_region.
1142         Added assorted placeholders for unimplemented new GdkWindow API calls.
1143
1144 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1145
1146         * gtk/gtkfilesel.c:
1147         Add more test when converting filenames from/to utf-8.
1148         Don't allow entering text in the filename entry which isn't allowed in
1149         a filename. Just beep instead.
1150
1151 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1152
1153         * gtk/gtkclist.c:
1154         Scroll using gdk_window_scroll(). Don't wait for exposes.
1155         Move the column headers in an order that makes them flash less.
1156
1157 2001-03-10  Hans Breuer  <hans@breuer.org>
1158
1159         * gdk/gdk.def : updated
1160
1161         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
1162         to offseting the clip_mask at the right place
1163
1164         * gdk/win32/gdkwindow-win32.c : don't create background brushes
1165         for all the gdkClasses, especially not for the input_only case.
1166         Otherwise flickering wont be avoidable, because we don't get
1167         WM_ERASEBKGND message for these windows.
1168
1169         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
1170         and fixed massive redraw problems apparently triggered by Alexanders 
1171         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
1172         but it seems to work quite well :-)
1173
1174         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
1175         prototype
1176
1177 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
1178
1179         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
1180         (gtk_list_store_set_cell): Fix a stupid typo.
1181
1182 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
1183
1184         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
1185         select_all not work if you're in SINGLE mode (it doesn't make that
1186         much sense, anyway.)
1187
1188         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1189         handle types more sanely.
1190         (_gtk_tree_data_list_value_to_node): handle types more sanely.
1191         (_gtk_tree_data_list_node_copy): handle types more sanely.
1192
1193         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
1194         GValue better. Converts the type as well.
1195
1196         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
1197         GValue better. Converts the type as well.
1198
1199 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
1200
1201         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
1202         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
1203         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
1204         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
1205
1206         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
1207         gdk_im/gdk_ic.
1208
1209 2001-03-09  Hans Breuer  <hans@breuer.org>
1210
1211         * gdk/gdk.def : updated
1212
1213         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
1214         for their palette
1215
1216         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
1217         removing
1218
1219         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
1220         removing and implemented Havoc's GdkWindow state functions; 
1221         stick/unstick only as no-op, cause I don't know how to emulate 
1222         on win32 ...
1223
1224         * gtk/gtk.def : updated
1225
1226         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
1227
1228         * gtk/gtktypeutils.c : #include <string.h>
1229
1230         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
1231
1232 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
1233
1234         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
1235         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
1236         not a boxed.
1237
1238 2001-03-09  Alexander Larsson  <alexl@redhat.com>
1239
1240         * docs/Changes-2.0.txt:
1241         Document expose event->region change and that gtk_widget_event
1242         doesn't allow passing expose events.
1243
1244         * gdk/gdkevents.h:
1245         Add region to expose event.
1246         
1247         * gdk/gdkevents.c:
1248         Handle event->region in gdk_event_copy() and gdk_event_free().
1249
1250         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
1251         Generate expose_event->region when creating expose events.
1252
1253         * gdk/x11/gdkevents-x11.c:
1254         Generate expose events with regions when translating X events.
1255
1256         * gtk/gtkcontainer.[ch]:
1257         Default expose handler that propagates expose events to NO_WINDOW
1258         children. New function gtk_container_propagate_expose()
1259
1260         * gtk/gtkwidget.[ch]:
1261         Moved gtk_widget_event implementation to gtk_widget_event_internal.
1262         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
1263         expose events. New function gtk_widget_send_expose() to send expose
1264         events. New function gtk_widget_region_intersect() to calculate
1265         window/region intersections.
1266         
1267         * gtk/gtkmain.c (gtk_main_do_event):
1268         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
1269         Use gtk_widget_send_expose() to send expose events.
1270         
1271         * gtk/gtkbin.c:
1272         * gtk/gtkbox.c:
1273         * gtk/gtkfixed.c:
1274         * gtk/gtkimagemenuitem.c:
1275         * gtk/gtklist.c:
1276         * gtk/gtkpacker.c:
1277         * gtk/gtktable.c:
1278         * gtk/gtktree.c:
1279         Remove expose handler, using the default container implementation
1280         instead.
1281         
1282         * gtk/gtkbutton.c:
1283         * gtk/gtkcheckbutton.c:
1284         * gtk/gtkeventbox.c:
1285         * gtk/gtkfixed.c:
1286         * gtk/gtkhandlebox.c:
1287         * gtk/gtklayout.c:
1288         * gtk/gtklistitem.c:
1289         * gtk/gtkmenu.c:
1290         * gtk/gtkmenubar.c:
1291         * gtk/gtkmenuitem.c:
1292         * gtk/gtknotebook.c:
1293         * gtk/gtkoptionmenu.c:
1294         * gtk/gtkpaned.c:
1295         * gtk/gtkscrolledwindow.c:
1296         * gtk/gtktogglebutton.c:
1297         * gtk/gtktoolbar.c:
1298         * gtk/gtktreeitem.c:
1299         * gtk/gtkviewport.c:
1300         Chain expose handler to parent class handler. Use
1301         gtk_container_propagate_expose() to propagate exposes.
1302
1303         * gtk/gtkclist.c (check_exposures):
1304         * gtk/gtktext.c (process_exposes):
1305         Use gtk_widget_send_expose instead of gtk_widget_event.
1306
1307 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
1308
1309         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
1310
1311 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
1312
1313         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
1314         unref the nodes.   Fixes bug #50058.
1315
1316         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
1317         "::ref_iter" to "::ref_node".
1318         (gtk_tree_model_unref_node): change "::unref_iter" to
1319         "::unref_node". Fixes bug #50064.
1320
1321 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
1322
1323         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
1324         support for invisible cells.
1325          (gtk_tree_view_bin_expose): ditto
1326
1327 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
1328
1329         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
1330         on gobjects.
1331
1332         * tests/testtreefocus.c (main): New test file.
1333
1334         * tests/testtreeview.c: update to latest glib changes.
1335
1336         * tests/testtreecolumns.c: update to latest glib changes.
1337
1338 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
1339
1340         * gtk/testgtk.c: re-enabled event watcher emission hooks.
1341
1342 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
1343
1344         * *.c: added accumulator data argument to g_signal_newc()
1345         functions.
1346
1347         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
1348         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
1349         * gtk/treestoretest.c (make_window):
1350         s/g_signal_connect/g_signal_connectc/.
1351
1352         * gtk/gtktextbuffer.c: completed signal arg fixups,
1353         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
1354
1355 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
1356
1357         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
1358         G_CONST_RETURN.
1359
1360         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
1361         ::hierarchy-changed signal when a widget changes
1362         from anchored to unanchored or vice versa.
1363         (anchored means 
1364          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
1365         Use a private flag to keep track of this efficiently.
1366
1367 2001-03-07  Havoc Pennington  <hp@redhat.com>
1368
1369         * gtk/testgtk.c (create_spins): uglify so that size request gets
1370         tested.
1371
1372         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
1373         request on values for upper/lower, completes #6152
1374
1375 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
1376
1377         * Makefile.am: Remove gtk-config-2.0 again.
1378         (Grrrr, pkg-config. And stops make loops.)
1379
1380 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
1381
1382         * gtk/gtksignal.[hc]: removed old emission hook API.
1383         
1384         * docs/Changes-2.0.txt: fixed sections.
1385         
1386         * gtk/gtktextbuffer.c: signal arg fixups.
1387
1388 2001-03-07  Havoc Pennington  <hp@redhat.com>
1389
1390         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
1391
1392         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
1393         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
1394         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
1395         validation and the redraw which is higher priority than the
1396         validation.
1397
1398 2001-03-07  Havoc Pennington  <hp@redhat.com>
1399
1400         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
1401         (gtk_entry_set_property): remove trailer
1402
1403         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
1404         (gtk_entry_get_width_chars): new functions, to set size request to 
1405         a given number of characters
1406
1407         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
1408
1409         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
1410         (gtk_dialog_get_has_separator): new function
1411         (run_delete_handler): fix to not emit "response" signal
1412         because we already did in the delete event handler installed
1413         at dialog creation time.
1414         
1415         * gtk/gtkdialog.h: add a has_separator property,
1416         add GTK_DIALOG_NO_SEPARATOR flag
1417
1418 2001-03-07  Havoc Pennington  <hp@redhat.com>
1419
1420         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
1421         off decorations for a window.
1422
1423         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
1424         changes
1425
1426         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
1427         to get location of PangoLayout inside the label, closes #51198
1428
1429         * gtk/testgtk.c (create_bbox): fix up button box usage
1430
1431         * gtk/testcalendar.c (create_calendar): fix up button box usage
1432
1433         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
1434
1435         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
1436
1437         * gtk/gtkhbbox.h: deprecations
1438
1439         * gtk/gtkvbbox.h: deprecations
1440
1441         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
1442         emulate deprecated gtk_button_box_get_spacing
1443
1444         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
1445         the "set global default" functions
1446         (struct _GtkButtonBox): remove "spacing" field, use the one from 
1447         GtkBox base class
1448
1449         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
1450
1451         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
1452         render the icon, return the missing image icon.
1453
1454         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
1455         image icon if the load fails.   
1456
1457         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
1458         when no image is found; should be the Netscape "missing image"
1459         icon eventually but for now is a random image
1460
1461         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
1462         role for the session manager
1463
1464         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
1465
1466         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
1467         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
1468
1469         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
1470
1471 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
1472
1473         * gtk/*.c: marshaller fixes.
1474         
1475         * gtk/gtkmarshal.list: extreme cleanup.
1476
1477         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
1478         param spec for now.
1479
1480         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
1481         where appliable.
1482
1483         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
1484         special cased autogenerated boxed types from gtktypebuiltins_ids.c
1485         which are not reference counted:
1486         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
1487         PangoFontDescription, GtkTreeIter and GtkTreePath.
1488
1489 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
1490
1491         * gtk/gtktreeselection.h: 
1492         * gtk/gtktreemodel.c:
1493         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
1494         file should be included directly, and gobject/gmarshal.h
1495         as well as gtk/gtkmarshal.h even can't be included directly.
1496
1497         * Makefile.am: grr, install gtk-config-2.0.
1498
1499         * gtk/testgtk.c:
1500         * gtk/simple.c:
1501         * gtk/gtkmenu.c:
1502         * gtk/gtkitemfactory.c: use g_object_connect() instead of
1503         passing "*signal*::*" args to gtk_widget_set().
1504         
1505         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
1506         
1507         * gtk/*.c: removed trailer arg from property setters and getters.
1508         macro fixups.
1509
1510 2001-03-07  Alexander Larsson  <alexl@redhat.com>
1511
1512         * gtk/gtklabel.c (set_markup): Removed warning
1513
1514 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
1515
1516         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
1517         field to allow you to hide cell renderers.
1518
1519         * gtk/gtkcellrenderer.c: Add support for invisible cells.
1520
1521         * gtk/gtktreeview.c: Add support for invisible cells.
1522
1523 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
1524
1525         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
1526         Add "clicked" signal back to columns.
1527
1528         * ChangeLog: remove conflict markers.
1529
1530 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
1531
1532         * gtk/gtkbutton.c: Add animation of activation by, on 
1533         activate, pressing the button, and adding a timeout that 
1534         releases the button after 250ms or on key release and
1535         emits ::clicked. (#51501)
1536
1537         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
1538         action area, we connect to ::clicked instead of ::activate
1539         so the dialog stays up through the animation.
1540
1541 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
1542
1543         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
1544         check the ignore_enter flag for the menu shell that
1545         the item is actually a child of, not for attached
1546         submenus. (#51536)
1547
1548 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1549
1550         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1551         special key-press grab handling for widgets within
1552         GtkWindows. Otherwise, fall through to normal case.
1553
1554         This prevents key events being sent twice to GtkInvisible
1555         widgets, which can cause all sorts of mischief.
1556
1557 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1558
1559         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1560         widget is in effect, give the grab widget a first
1561         crack at KEY_PRESS/RELEASE events. (#424)
1562
1563 2001-03-06  James Henstridge  <james@daa.com.au>
1564
1565         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
1566         offset for the window_state_event to point at window_state_event
1567         rather than no_expose_event.
1568
1569 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
1570
1571         * gtk/gtkimmodule.h: fix busted /* comment */
1572
1573 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
1574
1575         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
1576         object properties.
1577
1578 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
1579
1580         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
1581         add object properties.
1582
1583         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
1584         to add object properties.
1585
1586         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
1587         object properties.
1588
1589         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
1590         add object properties.
1591
1592         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
1593         object properties.
1594
1595 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
1596
1597         * gtk/gtktreemodel.c: renamed "child_toggled" to
1598         "has_child_toggled".
1599
1600         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
1601         handle new signal name.
1602
1603         * gtk/gtktreestore.c: Updated to handle new signal name.
1604         * gtk/gtklisttore.c: Updated to handle new signal name.
1605         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
1606
1607 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1608
1609         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
1610         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
1611
1612 2001-03-05  Michael Natterer  <mitch@gimp.org>
1613
1614         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
1615         pixbuf-engine coincidentially also failed to make one of it's
1616         parent_class pointers static, causing overwriting of GtkLabel's
1617         parent_class pointer in pixbuf_style_class_init().
1618         (Will commit the fix to the pixbuf-engine too).
1619
1620 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1621
1622         * gdk/gdkwindow.h:
1623         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
1624         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
1625         gdk_window_set_icon_list for net wmspec functionality.
1626
1627         * gdk/x11/gdkwindow-x11.c:
1628         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
1629         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
1630         gdk_window_set_icon_list.
1631         Added gdk_wmspec_change_state helper function and used it in the code.
1632         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
1633
1634         * gtk/gtkdialog.c (gtk_dialog_init):
1635         Set GDK_WINDOW_TYPE_HINT_DIALOG.
1636
1637         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
1638         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
1639
1640         * gtk/gtkwindow.c:
1641         new function gtk_window_set_type_hint.
1642         On realize, set type hint and modal hint.
1643
1644         * gtk/gtkwindow.h:
1645         Added type_hint field and gtk_window_set_type_hint.
1646
1647 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1648
1649         * gtk/gtklabel.[ch]:
1650         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
1651         New function gtk_label_get_accel_keyval () to get the underline accelerator
1652         of the label. Setting the label pattern overrides other attributes.
1653
1654 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
1655
1656         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
1657         Added missing initializers to gtk_rc_style_init().
1658
1659 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
1660
1661         * gtk/gtktextview.c: fixed bug #51097 about setting 
1662         gtk_text_view_set_border_window_size() if the widget is 
1663         already realized.
1664
1665 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
1666
1667         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
1668
1669         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
1670         comment. Won't do to have duplicated doc comments between
1671         the platform subdirs.
1672
1673 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
1674
1675         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
1676           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
1677
1678         Detectable auto-repeat - make a repeating key generate
1679         press/press/press/release instead of press/release pairs.
1680
1681         If we have Xkb and XkbSetDectableAutoRepeat supports
1682         that, we do it that way. Otherwise, when we get
1683         a release event, we check ahead with XPending to see
1684         if the next key is a KeyPress with the same keycode
1685         and timestamp. (Not 100% reliable, but pretty close.)
1686           
1687 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1688         
1689         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1690         special key-press grab handling for widgets within
1691         GtkWindows. Otherwise, fall through to normal case.
1692  
1693         This prevents key events being sent twice to GtkInvisible
1694         widgets, which can cause all sorts of mischief.
1695  
1696 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1697  
1698         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1699         widget is in effect, give the grab widget a first
1700         crack at KEY_PRESS/RELEASE events. (#424)
1701  
1702 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
1703
1704         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
1705         to extend the selection. (Roughly based on patch
1706         from Jay Cox, #50939)
1707
1708         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
1709         to properly handle previous GDK_BUTTON_PRESS. 
1710         (Patch from Jay Cox, #50938)
1711
1712         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
1713         '\0' back along with the deleted text. (#51148)
1714
1715 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
1716
1717         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
1718         the group when extracting it from the X keyboard event.
1719
1720         * modules/input/Makefile.am modules/input/imipa.c: 
1721         Simple module for entering IPA. (Do we need a 
1722         gtk-stupid-input-tricks CVS module?)
1723
1724 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
1725
1726         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
1727         const.
1728
1729         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
1730
1731         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
1732         is no focus widget for the dialog currently, grab the focus as well
1733         as the default.
1734
1735         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
1736         the action area's children to iterate through, not the
1737         dialog's children.
1738
1739 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
1740
1741         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
1742         Add plug-socket tests. (Won't work worth a darn until I commit
1743         the rest of the plug-socket changes, but no reason these
1744         can't go into CVS now.)
1745
1746 2001-03-02  Havoc Pennington  <hp@redhat.com>
1747
1748         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
1749         _gdk_region_get_xrectangles()
1750
1751         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
1752
1753         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
1754
1755         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
1756         function, contributed by Ron Steinke    
1757
1758         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
1759         gdk_net_wm_supports
1760
1761         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
1762         New function, contributed by Ron Steinke
1763
1764         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
1765         used to line up the text in the entry when using the entry for
1766         editable sheet cell hacks
1767
1768         * gtk/testgtk.c (create_entry): test the activate_default setting
1769         on GtkEntry
1770
1771         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
1772         cause the entry to activate the default button for a dialog when 
1773         activated
1774         (gtk_entry_get_activates_default): new function
1775
1776 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
1777
1778         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
1779         Hwang to move call to sync_selection() up a few lines
1780         to before the row list is modified, to fix crash when
1781         removing rows in the undo_selection list.
1782
1783         (Test case provided by Daniel Elstner:
1784
1785         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
1786
1787 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
1788
1789         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
1790         of tree->root_tree in parent_set rather than _map(), 
1791         fixing #50892 in a bit better manner.
1792
1793 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
1794
1795         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
1796
1797 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
1798
1799         * gtk/gtkstyle.c : Remove duplicate fwd decl for
1800         gtk_default_draw_shadow.
1801
1802 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
1803
1804         * gdk/gdkimage.c (gdk_image_new): Remove excess 
1805         warning, make warnings more verbose, treat a error
1806         in shmat as permanent, and don't try again.
1807         (#51163, Ed Randall.)
1808
1809 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
1810
1811         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
1812         delay for the first click before starting to scroll.
1813         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
1814
1815         * gtk/gtktext.c: GtkText should have I-beam cursor. 
1816         (based on gtk-enf-990513-1.patch, Eric Fisher.)
1817
1818 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
1819
1820         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
1821         cleanup to remove some references to unused
1822         ->xoffset, ->yoffset.
1823
1824 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
1825
1826         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
1827         mask. (#51039, fix from Martin Maierhofer)
1828
1829 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
1830
1831         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
1832         for unshifted + and shifted = for non-us keyboards.
1833         Make <Control>+ and <Control>- work as well as 
1834         <Control>KP_Plus, <Control>KP_Minus for recursive
1835         open/close.  (#2682, René Seindal)
1836
1837 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
1838
1839         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
1840         the active menu item before deactivating the menu,
1841         so gtk_menu_popdown doesn't change the history. (#50964)
1842         
1843 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
1844
1845         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
1846         draw lines with text_gc rather than black_gc.
1847         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
1848
1849 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
1850
1851         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
1852         Move handling of buttons fully in gtktreeviewcolumn.  This code is
1853         less interrelated then it was, but it still requires the
1854         GtkTreeView to map it.
1855
1856         * test/testtreecolumn.c: Now I can add a column to one view,
1857         remove it, add it to the another view, remove it, then re-add it
1858         to the first.  Nifty.
1859
1860 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
1861
1862         * docs/tutorial/gtk-tut.sgml: Minor corrections
1863
1864 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
1865
1866         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
1867         GtkRowReference.
1868
1869 2001-02-28  Havoc Pennington  <hp@redhat.com>
1870
1871         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
1872         draw_default
1873         (gtk_widget_draw_focus): remove this function; we could instead
1874         make it just gtk_widget_draw(), but in most cases I think the
1875         result would be broken user code, so think it's better to have
1876         that code not compile and get fixed
1877         (gtk_widget_draw_default): ditto
1878
1879         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
1880         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
1881         
1882         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
1883         widgets lose/get the default, instead of calling draw_default
1884         
1885         * docs/Changes-2.0.txt: note about all this
1886
1887         Then fixed every widget in GTK, I won't list all the filenames.
1888
1889 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
1890
1891         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
1892         _gtk_tree_row_reference_deleted.
1893         (inserted_callback): Proxy out to
1894         _gtk_tree_row_reference_inserted.
1895         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
1896         get around signal emission ordering problem.
1897
1898         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
1899         fix to work with SINGLE 
1900         (_gtk_tree_selection_internal_select_node): Major sanitization on
1901         selections.  SINGLE now seems to work.
1902
1903         * tests/Makefile.am: add testtreecolumn.c:
1904
1905         * tests/testtreecolumn.c: New test.  Mostly points out selection
1906         bugs currently, but will test columns later.
1907
1908         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
1909         selection bug.  I hate touching this code -- it's scary.
1910
1911 2001-02-26  Havoc Pennington  <hp@redhat.com>
1912
1913         * gtk/testgtk.c: test the window state stuff
1914
1915         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
1916         window come to the user's attention as if it were just created
1917         (gtk_window_iconify): new function
1918         (gtk_window_deiconify): new function
1919         (gtk_window_stick): new function
1920         (gtk_window_unstick): new function
1921         (gtk_window_maximize): new function
1922         (gtk_window_unmaximize): new function
1923
1924         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
1925
1926         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
1927
1928         * gdk/x11/gdkevents-x11.c: create window state events when
1929         appropriate
1930         (gdk_wmspec_supported): new function
1931
1932         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
1933         iconification before showing the window
1934         (gdk_window_deiconify): new function
1935         (gdk_window_stick): new function
1936         (gdk_window_unstick): new function
1937         (gdk_window_maximize): new function
1938         (gdk_window_unmaximize): new function
1939
1940         * gdk/gdkwindow.c: store the window state in the window; 
1941         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
1942         window->mapped.
1943         (gdk_window_get_state): return the current window state
1944
1945         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
1946         (gdk_event_get_state): handle GDK_WINDOW_STATE
1947         (gdk_synthesize_window_state): function to create the window state
1948         events
1949
1950         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
1951         event, for changes to "window state" such as maximized, sticky, 
1952         etc.
1953         
1954         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
1955         focuses a window
1956
1957         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
1958         finds out if we support a given WM spec hint
1959
1960 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
1961
1962         * docs/faq/gtk-faq.sgml: New question re memory leaks.
1963
1964 2001-02-25  Hans Breuer  <hans@breuer.org>
1965
1966         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
1967         cause we want to loose those prototypes only in the latter case
1968
1969         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
1970         GdkPixmapImplWin32 because it itsn't derived from it. Use the
1971         impl member variable instead
1972
1973         * gtk/gtk.def : updated
1974
1975         * gtk/gtklist.c : 
1976         * gtk/gtkmenus.c : include <string.h> for memset ()
1977
1978         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
1979         for everthing built here, but for gtk-x.x.dll only. This solves
1980         problem of indifferent gtk type definitions
1981
1982 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
1983
1984         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
1985
1986 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
1987
1988         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
1989         column that is exposed.
1990
1991         (_gtk_tree_view_update_size): Changed name from set_size, and
1992         changed function to do more work, and not force people calling it
1993         to figure out the size.  Simplifies a lot of code elsewhere.
1994
1995 2001-02-23  Alexander Larsson  <alexl@redhat.com>
1996
1997         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
1998         return solid masks for xpms that have no transparent color.
1999         This makes the ..._create_from_xpm... API backwards
2000         compatible.
2001
2002 2001-02-23  Tor Lillqvist  <tml@iki.fi>
2003
2004         * README.win32: Update. Mention the gtk-1-3-win32-production
2005         branch.
2006
2007         * gdk/win32/bdfcursor.c: New file. A program that generates
2008         xcursors.h. Thanks to Stefan Ondrejicka.
2009
2010         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
2011         compact format.
2012
2013         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
2014
2015         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
2016         function, uses xcursors.h.
2017         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
2018         cursor from inline data instead of using LoadCursor() to generate
2019         it from a resource.
2020
2021         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
2022         event, must check the Windows message for mouse button state, as
2023         the GDK event state might not have been built if it is
2024         undelivered. Remove one goto.
2025
2026         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
2027         SetCursor() if the current cursor as returned by GetCursor() is
2028         the window's previous cursor. The ChildWindowFromPoint() test
2029         apparently didn't work correctly.
2030
2031         * gdk/win32/rc/*.cur: Remove.
2032
2033         * gdk/win32/rc/gdk.rc.in: Remove cursors.
2034
2035         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
2036
2037         * gtk/makefile.{mingw,msc}.in: Updates.
2038
2039 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
2040
2041         * gtk/gtktreemodel.h: add functions for signal emission.
2042
2043         * gtk/gtktreestore.c: move to use above functions instead of
2044         g_signal_emit.
2045
2046         * gtk/gtkliststore.c: ditto
2047
2048 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
2049
2050         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
2051         GObject instead of GtkObject.
2052
2053         * gtk/gtkliststore.c: ditto.
2054
2055         * gtk/gtktreemodelsort.c: ditto.
2056
2057         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
2058         GtkTreeModelIface, instead of in each model.
2059
2060 2001-02-21  Havoc Pennington  <hp@redhat.com>
2061
2062         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
2063         unbreak this function
2064
2065         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
2066         properties
2067
2068         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
2069         properties
2070
2071         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
2072         properties
2073
2074         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
2075         mean unset the max length
2076
2077 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
2078
2079         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
2080         Changed name to be set_cell_data_func to make it clear what
2081         the functino does.  Close bug #51069.
2082
2083 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
2084
2085         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
2086         have memory actually freed.  Keeps box running longer.
2087
2088 2001-02-21  Alexander Larsson  <alexl@redhat.com>
2089         
2090         * gtk/gtkseparatormenuitem.[ch]:
2091         Added new menu separator item. The drawing and size handling
2092         is still done in GtkMenuItem, but the API is a bit more sane.
2093         
2094         * gtk/Makefile.am:
2095         Add gtkseparatormenuitem.[ch].
2096
2097         * gtk/gtk.h:
2098         Add gtkseparatormenuitem.h.
2099         
2100         * gtk/gtkentry.c:
2101         * gtk/gtkmenufactory.c:
2102         * gtk/gtktextview.c:
2103         Use the new API for menu separators.
2104         
2105         * demos/gtk-demo/menus.c (create_menu):
2106         Add some GtkSeparatorMenuItem demo code.
2107
2108 2001-02-20  Havoc Pennington  <hp@redhat.com>
2109
2110         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
2111         Lee Mallabone
2112
2113         * gtk/gtkarrow.c: Convert to new property API, patch from 
2114         Lee Mallabone
2115
2116 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
2117
2118         * tests/testtreeview.c (toggled_callback): fix to reflect change
2119         in GtkTreeModelStore.
2120
2121 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
2122
2123         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
2124         function to create an icon set from a pixbuf.
2125
2126 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2127
2128         * gtk/gtkcellrenderertext.[ch]:
2129         Add a "markup" property.
2130
2131         * gtk/treestoretest.c:
2132         Use the markup property, remove some leftover stuff from
2133         GtkTreeModelMapping.
2134
2135 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2136
2137         * gtk/gtklabel.c (gtk_label_set_selectable):
2138         Queue a redraw if the selectable setting was changed.
2139
2140 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2141
2142         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
2143         Actually copy the whole gc, not just the public parts.
2144         
2145         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2146         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
2147         labels.
2148
2149 2001-02-19  Havoc Pennington  <hp@pobox.com>
2150
2151         * gdk/gdkwindow.c: docs
2152
2153         * gdk/gdkrgb.c: docs
2154
2155         * gdk/gdkregion-generic.c: docs
2156
2157         * gdk/gdkgc.c (gdk_gc_set_values): docs
2158
2159         * gdk/gdkdraw.c: docs
2160
2161         * gdk/gdkdrawable.h: deprecate drawable get/set data
2162
2163 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
2164
2165         * demos/gtk-demo/dialog.c: Add simple new demo.
2166
2167 2001-02-19  Havoc Pennington  <hp@redhat.com>
2168
2169         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
2170         insert_child_anchor signal, bug #50245
2171
2172         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
2173         from create_child_anchor, so the anchor is passed in
2174
2175         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
2176         (_gtk_widget_segment_new): have the child anchor object passed in, 
2177         instead of creating it.
2178
2179         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
2180         to gtk_text_buffer_get_modified
2181
2182 2001-02-19  Havoc Pennington  <hp@redhat.com>
2183
2184         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
2185         changed GLib without fixing GTK
2186
2187         * gtk/gtkrange.h: Rename all the stupid implementation detail 
2188         functions to have an underscore in front. Most of them should 
2189         probably just go away, but for starters don't export them.
2190         Bug #50482
2191
2192 2001-02-19  Havoc Pennington  <hp@redhat.com>
2193
2194         * gdk/gdkcolor.h: test was backward, so deprecated functions were
2195         excluded by default
2196
2197         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
2198         clean up the old code a bit
2199
2200         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
2201         inconsistent state
2202
2203         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
2204         draw inconsistent state
2205
2206         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
2207         (create_menu): add inconsistent test
2208
2209         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
2210         new function
2211         (gtk_check_menu_item_get_inconsistent): new function
2212         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
2213         state (using etched in for now)
2214
2215         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
2216         draw inconsistent state
2217
2218         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
2219         function, used when the user has selected a range of stuff in
2220         different states
2221         (gtk_toggle_button_get_inconsistent): accessor for that
2222         (gtk_toggle_button_paint): draw inconsistent state (etched in?
2223         don't know what else to do)
2224
2225 2001-02-19  Hans Breuer <hans@breuer.org>
2226
2227         * gtk/gtk.def : updated exported symbols
2228
2229         * gtk/makefile.msc.in : updated
2230
2231         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
2232         a colormap, when invoked from testgtk::entry. I'm not sure where
2233         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
2234         avoids immediate crashing ...
2235
2236         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
2237         any objections ?
2238
2239         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
2240         0 parameter. At least msvc doesn't like macros with var args. 
2241         I simply removed the extra 0, was it a feature or a typo ?
2242
2243         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
2244         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
2245         because the value assignment to the internal struct wasn't working.
2246         I'm not absolutely sure. The problem could have been resolved by
2247         changing the "func" declartion in the struct, but was the pointer
2248         to the function pointer intended ?
2249
2250         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
2251
2252         * gdk/gdk.def : updated exported symbols
2253
2254         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
2255         only use SetDIBitsToDevice if there is a palette at the drawable
2256         and the image is GDK_VISUAL_PSEUDO_COLOR
2257
2258         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
2259
2260         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
2261
2262         * gdk/*/makefile.msc : updated
2263
2264 2001-02-19  Havoc Pennington  <hp@redhat.com>
2265
2266         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
2267         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
2268
2269         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
2270         (gdk_key_repeat_restore): nuke
2271
2272         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
2273         (gdk_init_check): no atexit func
2274
2275         * gdk/gdkrgb.h: mark some stuff deprecated
2276
2277         * gdk/gdkcolor.h: mark some stuff deprecated
2278         
2279         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
2280
2281         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
2282
2283 2001-02-16  Havoc Pennington  <hp@redhat.com>
2284
2285         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
2286         scroll steps.
2287
2288         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
2289         steps, and add Ctrl-arrow shortcuts for paging visually as with
2290         HScale, since Page Up and Page Down move logically.
2291
2292         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
2293         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
2294         
2295         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
2296         steps
2297         (gtk_range_scroll): handle the visual steps
2298
2299         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
2300         scroll steps
2301
2302         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
2303         steps, not the logical ones.
2304
2305         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
2306         (scroll_vertical): handle up/down steps
2307
2308 2001-02-19 Alexander Larsson  <alexl@redhat.com>
2309
2310         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
2311         Copy data and free data with free().
2312
2313         * gdk-pixbuf/gdk-pixbuf.c:
2314         * gdk-pixbuf/io-jpeg.c:
2315         * gdk-pixbuf/io-png.c:
2316         Use g_try_malloc/g_free instead malloc/free.
2317         
2318         * gdk-pixbuf/test-gdk-pixbuf.c:
2319         Must... initialize... gobject...
2320         
2321         * gdk-pixbuf/pixops/timescale.c:
2322         * gtk/gtkcalendar.c:
2323         Use g_malloc instead of malloc.
2324         
2325 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
2326
2327         * gtk/testgtkrc:
2328         Comment out property assignments, these don't work yet.
2329
2330 2001-02-17  Havoc Pennington  <hp@pobox.com>
2331
2332         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
2333         bit.
2334
2335 2001-02-17  Havoc Pennington  <hp@pobox.com>
2336
2337         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
2338         shadowed variables that had broken size request in some cases,
2339         leading to bogus tooltips (#50996)
2340
2341 2001-02-06  Jon K Hellan  <hellan@acm.org>
2342
2343         Implement fast browsing of tooltips, bug #50619
2344         
2345         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
2346         and last_popdown
2347         
2348         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
2349         use_sticky_delay and last_popdown.
2350         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
2351         time of popdown.
2352         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
2353         is NULL.
2354         (gtk_tooltips_recently_shown): New static function.  Return true
2355         if < sticky_delay has elapsed since last popdown.
2356         (gtk_tooltips_event_handler): Display window after sticky_delay
2357         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
2358         since last popdown.
2359         
2360 2001-02-17  Havoc Pennington  <hp@pobox.com>
2361
2362         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
2363         instead of (). #6394
2364
2365         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
2366         G_CONST_RETURN, make it return by reference, #50473
2367         
2368 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
2369
2370         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
2371         generated ENTER_NOTIFY event with 0, otherwise not explicitely
2372         setup fields contain garbage (e.g. subwindow, breaking
2373         gdk_drawable_ref() upon event copy).
2374         (gtk_menu_stop_navigating_submenu_cb): same here.
2375
2376         * gtk/gtklist.c (gtk_list_vertical_timeout): 
2377         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
2378         * gtk/gtkclist.c (vertical_timeout): 
2379         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
2380         default-zero-intialization for unions to memset(,0,), as unions are
2381         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
2382         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
2383
2384         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
2385         g_closure_sink() warning.
2386
2387         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
2388         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
2389         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
2390         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
2391         
2392 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
2393
2394         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
2395         gtk_*_store_get, and moved to GtkTreeModel.
2396
2397         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
2398
2399         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
2400
2401         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
2402
2403         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
2404         set the func.
2405
2406         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2407         freeze/thaw notify between setting all the properties for a cell.
2408
2409         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
2410
2411 2001-02-15  Havoc Pennington  <hp@redhat.com>
2412
2413         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
2414         the X coordinates so they're with respect to the line, rather than 
2415         with respect to the layout.
2416
2417         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
2418         Mallabone
2419
2420         * gtk/testgtk.c (create_range_controls): add vscale tests, 
2421         and inverted test
2422
2423         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
2424         #50806
2425
2426         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
2427
2428         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
2429         gtk_text_iter_is_end
2430
2431         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
2432         rename gtk_text_buffer_get_end_iter
2433
2434         * gtk/testgtk.c (create_labels): Add test for selectable
2435
2436         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
2437         the selection stuff. This code is kind of broken since it doesn't 
2438         use the theme engine.
2439
2440         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
2441         fix infinite loop and y offset problem
2442         (gdk_draw_layout_line_with_colors): fix foreground color handling
2443
2444         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
2445         that makes the label selectable.
2446         
2447         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
2448         layout when the style is set, since fonts etc. could have changed.      
2449
2450 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
2451
2452         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
2453
2454         * gtk/gtktreemodelsimple.[ch]: removed.
2455
2456 2001-02-16  Alexander Larsson  <alexl@redhat.com>
2457
2458         * gtk/gtktreemodelmapping.[ch]:
2459         New files. Implement GtkTreeModelMapping.
2460         
2461         * gtk/Makefile.am:
2462         Add gtktreemodelmapping.[ch].
2463         
2464         * gtk/gtk.h:
2465         Add gtktreemodelmapping.h
2466
2467         * gtk/treestoretest.c:
2468         Test the GtkTreeModelMapping
2469
2470 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
2471
2472         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
2473         have a demo, we might as well pass in real values.  Thanks to
2474         clahey for pointing this out.
2475
2476 2001-02-14  Havoc Pennington  <hp@pobox.com>
2477
2478         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
2479         "static" to a private function
2480         (gtk_image_menu_item_class_init): remove destroy handler,
2481         add "image" object property
2482
2483 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
2484
2485         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
2486         Add a shortcut if the window and the current clip_region doesn't
2487         overlap. This is needed when there are a lot of windows in a
2488         window. The layout test in testgtk is a good test.
2489
2490         * gdk/linux-fb/gdkwindow-fb.c:
2491         Whitespace fix.
2492
2493 2001-02-13  Sven Neumann  <sven@convergence.de>
2494
2495         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
2496
2497 2001-02-13  Alexander Larsson  <alexl@redhat.com>
2498
2499         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
2500         Don't reference last_cursor if it is null. Fixes crash when rotating
2501         the screen before having moved the mouse.
2502
2503         * gdk/linux-fb/gdkcc-fb.c: Zapp!
2504
2505         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
2506
2507         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
2508         when using 90 or 270 degrees rotation.
2509
2510 2001-02-12  Havoc Pennington  <hp@pobox.com>
2511
2512         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
2513         it always set the foreground, even if we were only using
2514         a stipple.
2515         (gdk_draw_layout_line_with_colors): new function, allow
2516         override colors
2517         (gdk_draw_layout_with_colors): new function, allow override
2518         colors
2519         (gdk_pango_layout_line_get_clip_region): function to get the clip
2520         region for a logical text range
2521         (gdk_pango_layout_get_clip_region): get the clip region for a
2522         logical text range
2523
2524         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
2525         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
2526         the right number of arguments.
2527
2528         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
2529         enhance the function to check that node data corresponds to a 
2530         view still belonging to the tree.
2531
2532         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
2533         GtkTreePath
2534         (gtk_tree_view_inserted): ditto
2535         (gtk_tree_view_child_toggled): ditto
2536
2537         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
2538         simplify this code.
2539
2540         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
2541         a PangoAttrList
2542
2543         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
2544
2545         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
2546
2547         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
2548         size in the size request 
2549         (gtk_menu_bar_size_allocate): consider toggle size here
2550
2551         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
2552         that displays a widget in the toggle slot
2553
2554         * gtk/testgtk.c: test GtkImageMenuItem
2555
2556         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
2557         
2558         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
2559         request and allocation
2560
2561         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
2562
2563         * gtk/gtkcheckmenuitem.c
2564         (gtk_check_menu_item_toggle_size_request): ditto
2565         
2566 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
2567
2568         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
2569         reference.
2570
2571         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
2572         and refuse to initialize GTK+ if they fail.
2573
2574 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
2575
2576         * configure.in: Add check for gtk-doc version.
2577
2578 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
2579
2580         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
2581         where the xpad/ypad was only being used on one side!
2582
2583 2001-02-11  Tor Lillqvist  <tml@iki.fi>
2584
2585         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
2586         function, copied from X11 version.
2587
2588         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
2589         DestroyCursor failures. The reason for the problem (despite the
2590         inconsistent messages from GetLastError()) was that
2591         DestroyCursor() cannot be called while a cursor is set in a
2592         window. Set the new cursor first and then destroy the old one.
2593         Thanks to jpe@archaeopteryx.com.
2594
2595         * gdk/win32/gdkcc-win32.c: Remove.
2596
2597         * gdk/win32/Makefile.am: Remove from here, too.
2598         
2599         * gdk/gdk.def
2600         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
2601
2602         * gtk/gtk.def
2603         * gtk/makefile.mingw.in: Updates.
2604
2605 2001-02-08  Havoc Pennington  <hp@redhat.com>
2606
2607         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
2608         add a widget to a bin that already has a child.
2609
2610         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
2611
2612         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
2613         
2614         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
2615
2616         * gdk/gdk.h: remove gdkcc.h
2617
2618         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
2619
2620         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
2621         GdkPixbuf, since the previous implementation was GdkColorContext
2622         dependent.
2623
2624         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
2625         
2626 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
2627
2628         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
2629         a sane value!
2630
2631 2001-02-08  Havoc Pennington  <hp@redhat.com>
2632
2633         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
2634         lighten them.
2635
2636 2001-02-08  Havoc Pennington  <hp@redhat.com>
2637
2638         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
2639         validation idle
2640
2641         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
2642         cell renderer
2643
2644         * demos/pixbuf-demo.c (timeout): remove deprecated
2645         gtk_widget_draw
2646
2647         * demos/testpixbuf-save.c (main): remove deprecated
2648         gtk_drawing_area_size
2649
2650         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
2651         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
2652         at the start of the allocation.
2653         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
2654         unsetup or NULL model.
2655
2656         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
2657         even/odd/sorted cells in the tree view.
2658
2659         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2660         bugfixes
2661
2662         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
2663         backgrounds with draw_flat_box using different detail for even/odd
2664         rows.
2665
2666         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
2667         row, so we can draw the alternating colors thing
2668
2669         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
2670         property from a synonym property, notify for the synonym.
2671         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
2672         (gtk_text_tag_get_property): Always return the font, even if
2673         all its fields aren't set
2674
2675         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
2676         store the attr list; it leaves us with no way to change attributes
2677         in _render according to the render flags, and no way to implement
2678         get_property. Instead store all the specific text attributes. 
2679         Separate whether an attribute is enabled from its value. Sync all
2680         properties with GtkTextTag, make them all consistent, etc.
2681
2682         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
2683         renderers can highlight the sort row/column     
2684
2685         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
2686         accessor functions to get values; this has the side effect of
2687         showing up which accessor functions were missing. Added those.
2688
2689         * gtk/gtktreeviewcolumn.h: Replace set_justification with
2690         set_alignment, to be consistent with GtkLabel, GtkMisc
2691
2692         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
2693         arrow.
2694
2695         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
2696
2697         * gtk/gtktreesortable.h: updates in here
2698
2699 2001-02-07  Sven Neumann  <sven@convergence.de>
2700
2701         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
2702         pango dimensions after painting the background. We used to draw
2703         gigantic flat boxes here.
2704
2705 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
2706
2707         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
2708         error introduced with earlier commit) (pointed out by
2709         Ollie Lho)
2710
2711 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
2712
2713         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
2714         which are no longer necessary.
2715
2716 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
2717
2718         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
2719
2720 2001-02-04  Tor Lillqvist  <tml@iki.fi>
2721
2722         * gdk/gdk.def
2723         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
2724         Provide dummy implementations.
2725
2726 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
2727
2728         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
2729
2730         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
2731         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
2732         deprecated this function.
2733
2734         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
2735         argument.
2736
2737 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
2738
2739         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
2740
2741 2001-02-03  Havoc Pennington  <hp@pobox.com>
2742
2743         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
2744         Mikael Hermansson with patch from Mikael (if there was a toggle
2745         start one after the first character in the range, this function
2746         was broken). Bug #50380
2747
2748 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
2749
2750         * configure.in: Remove confusing comment about X11.
2751
2752 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
2753
2754         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
2755         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
2756         
2757 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
2758
2759         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
2760         it breaks things on BSD. If you want to compile GTK+ with
2761         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
2762         when configuring, since GTK+ simply can't be "pure ANSI" 
2763         in the header files it uses. (#8170, Greg Hudson)
2764
2765 2001-02-02  Havoc Pennington  <hp@redhat.com>
2766
2767         * gtk/gtkwindow.c: docs
2768
2769         * gtk/gtkwidget.c: docs
2770         (gtk_widget_set_colormap): add a reference to the colormap
2771         (gtk_widget_get_default_colormap): add a reference to the colormap
2772
2773         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
2774
2775         * gtk/gtktextiter.c: docs
2776
2777         * gtk/gtkmain.c (gtk_propagate_event): docs
2778
2779         * gtk/gtkpaned.c (gtk_paned_get_position): docs
2780         (gtk_paned_set_position): docs
2781
2782         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
2783         sort interface, no implementation yet.
2784
2785         * demos/testpixbuf.c (new_testrgb_window): replace
2786         gtk_drawing_area_size() with gtk_widget_set_usize()
2787
2788         * demos/testpixbuf-drawable.c (main): ditto
2789         
2790         * gtk/testgtk.c: remove use of GtkStatusbarMsg
2791
2792         * gtk/gtktextbuffer.c: docs
2793
2794         * gtk/gtkstock.c: docs
2795
2796         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
2797
2798         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
2799
2800         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
2801         
2802         * gtk/gtkimage.c: add some docs in here
2803         (gtk_image_size_request): change name of
2804         gtk_widget_render_stock_icon
2805         (gtk_image_get_icon_set): don't dup returned string
2806         (gtk_image_get_icon_set): don't dup returned string
2807
2808         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
2809         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
2810         and gtkiconfactory.h functions
2811
2812         * gtk/gtkiconfactory.c: add some docs in here
2813
2814         * gtk/gtkmain.c (gtk_get_default_language): document
2815         (gtk_get_current_event): document
2816         (gtk_get_current_event_state): document
2817         (gtk_get_event_widget): document
2818
2819         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
2820
2821         * gtk/gtkcontainer.c: Add some documentation
2822         (gtk_container_add): give a more explanatory warning on adding an
2823         already-parented widget, this is kind of a FAQ and also a common
2824         typo that's easier to debug with a nice warning 
2825
2826         * gtk/gtkcellrenderertoggle.c
2827         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
2828         adding this, it's useless
2829         (gtk_cell_renderer_toggle_set_active): remove
2830         (gtk_cell_renderer_toggle_get_radio): add
2831
2832         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
2833         the NULL cell renderer, that doesn't make any sense to me. 
2834
2835         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
2836         demo code should never use deprecated features.
2837
2838         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
2839         code should never use deprecated features.
2840
2841         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
2842         gtk_widget_queue_clear_area deprecated
2843
2844         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
2845         deprecated
2846
2847         * gtk/gtklabel.h: mark gtk_label_get() deprecated
2848
2849         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
2850         a GdkImage deprecated, replaced by new consistently-named
2851         functions       
2852
2853         * gtk/gtkmain.h: Mark gtk_exit() deprecated
2854
2855         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
2856
2857         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
2858         deprecated
2859
2860         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
2861         so it won't appear in docs and confuse people.
2862
2863         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
2864
2865         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
2866         macros deprecated. (can't mark the type itself deprecated, since
2867         GtkProgressBar is not deprecated and we need the type decl to use
2868         GtkProgressBar)
2869
2870         * gtk/gtkpixmap.h: Mark deprecated
2871
2872         * gtk/gtkoldeditable.h: Mark deprecated
2873
2874         * gtk/gtklist.h: Mark deprecated
2875
2876         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
2877         for anything anymore.
2878
2879         * gtk/gtkctree.h: Mark deprecated
2880
2881         * gtk/gtkclist.h: Mark deprecated
2882
2883         * gtk/gtkpreview.h: Mark deprecated
2884
2885         * gtk/gtkpacker.h: Mark deprecated
2886
2887         * gtk/gtktipsquery.h: Mark deprecated
2888
2889         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
2890
2891         * gtk/gtkvruler.h: Add comment that it will move out of GTK
2892
2893         * gtk/gtkhruler.h: Add comment that it will move out of GTK
2894
2895         * gtk/gtkruler.h: Add comment that it will move out of GTK
2896
2897         * gtk/gtkgamma.h: Add comment that it will move out of GTK
2898
2899         * gtk/gtkcurve.h: Add comment that it will move out of GTK
2900
2901 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
2902
2903         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
2904         gdk_colormap_sync private since it was never exported
2905         in a header file.
2906
2907         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
2908         colormap->colors[] for StaticGray, StaticColor colormaps.
2909
2910         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
2911         was being used as if it was image->bits_per_pixel.
2912
2913         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
2914         for the image in the GdkImage structure since it isn't
2915         reconstructable, and we need it to handle packed types
2916
2917         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
2918         the assumption that on Win32 image->bits_per_pixel == image->depth,
2919         always.
2920
2921         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
2922
2923         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
2924         warning message if no converter can be found. 
2925
2926 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
2927
2928         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
2929         chars to isupper() / tolower(). (#567)
2930
2931         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
2932         to clear up 64-bit warnings. (#567)
2933
2934 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
2935
2936         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
2937         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
2938
2939         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
2940         since some people set $(libdir) separately. (#1290, David Kaelbling)
2941
2942 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
2943
2944         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
2945         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
2946         MAXPATHLEN, but the code here depends on a fixed value.)
2947         (#4524)
2948
2949 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
2950
2951         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
2952         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
2953
2954 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
2955
2956         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
2957         viewable there is no way that moving the node will cause the 
2958         focus row to become not viewable, so omit check on the visibility
2959         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
2960
2961 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
2962
2963         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
2964         selection before inserting new text.
2965
2966 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
2967
2968         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
2969         Make the sensitivity of the reparented child track that of
2970         the original parent menu item. (#34218, David Hodson)
2971
2972         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
2973         the case where the current item is destroyed properly.
2974
2975         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
2976         some edge cases with child-less menuitems.
2977         
2978 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
2979
2980         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
2981         key pop down window. (#12074, Jon K Hellan)
2982
2983 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
2984
2985         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
2986         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
2987         The solution here isn't perfect - you get an extraneous
2988         emission of "toggle", which could conceivably confuse an app,
2989         but better than the current situation. LXR search seems to
2990         indicate that no apps in GNOME CVS connect to "toggle".
2991
2992 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
2993
2994         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
2995         gtk_public_h_sources to directly here to avoid warning when
2996         building srcdir != builddir. (#9656)
2997
2998 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
2999
3000         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
3001         handlers in gtkrange.c return the proper values (TRUE == handled)
3002         (#10316).
3003
3004         This is just the tip of the iceberg, but gtkrange.c is the
3005         most common place where the propagation is problematical,
3006         and also a place where it is almost certainly safe to change
3007         this in the stable branch.
3008
3009         (You don't want right click popups on a range control or anything...)
3010
3011 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
3012
3013         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
3014         area on focus out, even if a background pixmap isn't set.
3015         (#13941)
3016         
3017 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
3018
3019         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
3020         to deal with setting the shape properly when scrolling arrows are
3021         turned on, but not visible because there is sufficient space.
3022         (#13432)
3023
3024 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
3025
3026         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
3027         items with submenus, destroy the item along with the submenu.
3028         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
3029         properly.
3030
3031         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
3032         later.
3033
3034 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
3035
3036         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
3037         the focus widget sometimes wasn't drawn with the default if there
3038         was no default widget.
3039
3040         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
3041         unreference pixmaps. 
3042
3043         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
3044         for some extra safety.
3045
3046 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
3047
3048         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
3049         the text of a cell to the old pointer value better, by
3050         copying the new text before freeing the old text. Some code
3051         cleanup. (#8079, Karl Nelson)
3052
3053 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
3054
3055         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
3056         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
3057
3058 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
3059
3060         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
3061         item from a menu, check to see if it matches 
3062         menu->old_active_menu_item, and if so, unref and clear
3063         old_active_menu_item (Patch from Pavel Cisler)
3064
3065         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
3066         menu_shell->active_menu_item, if it is the child being
3067         removed. (Patch based on that of Gene Ragan, #50337)
3068
3069 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
3070
3071         * gdk/linux-fb/gdkselection-fb.c: 
3072         * gdk/linux-fb/gdkcolor-fb.c: 
3073         * gdk/linux-fb/gdkdrawable-fb2.c: 
3074         * gdk/linux-fb/gdkfont-fb.c: 
3075         * gdk/linux-fb/gdkim-fb.c: 
3076         * gdk/linux-fb/gdkinput.c: 
3077         * gdk/linux-fb/gdkkeyboard-fb.c: 
3078         * gdk/linux-fb/gdkmain-fb.c: 
3079         * gdk/linux-fb/gdkrender-fb.c: 
3080         A bunch of whitespace cleanup.
3081         
3082 2001-01-30  Havoc Pennington  <hp@pobox.com>
3083
3084         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
3085         #ifdef GTK_ENABLE_BROKEN.
3086
3087         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
3088         GTK_ENABLE_BROKEN just before including the broken headers.
3089         
3090         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
3091         deprecated types registered.
3092
3093         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
3094         we have to test the broken stuff.
3095
3096         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
3097         
3098 2001-01-30  Havoc Pennington  <hp@redhat.com>
3099
3100         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
3101         here where prev pointer was set to the wrong thing
3102
3103         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
3104         (gtk_tree_path_is_descendant): new function
3105
3106         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
3107         cached length
3108         (gtk_list_store_get_iter): don't modify iter if we can't get the
3109         path.
3110
3111         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
3112         
3113         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
3114         GtkTreeDragDest
3115
3116         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
3117         was causing segfault
3118
3119         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
3120         pointer to NULL
3121
3122         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
3123
3124         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
3125         on returning FALSE
3126         (gtk_list_store_iter_children): ditto
3127         (gtk_list_store_iter_nth_child): ditto
3128         (gtk_list_store_iter_nth_child): ditto
3129         (gtk_list_store_iter_parent): ditto
3130
3131         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
3132         on iter->user_data != NULL instead of silently accepting it.
3133         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
3134         we are returning TRUE.
3135         (gtk_tree_store_iter_children): ditto
3136         (gtk_tree_store_iter_nth_child): ditto
3137         (gtk_tree_store_iter_parent): ditto
3138         (gtk_tree_store_insert): remove handling of parent->user_data ==
3139         NULL, replace with parent == NULL       
3140
3141         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
3142         and a comment explaining things
3143
3144         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
3145         interface support to GtkTreeStore.
3146
3147         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
3148         FALSE if no prev, fix
3149
3150         * gtk/gtktreeview.c (set_source_row): use a row reference
3151         (set_dest_row): use a row reference
3152
3153 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
3154
3155         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
3156         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
3157         (gtk_tree_selection_select_iter): The same as above.
3158
3159 2001-01-26  Havoc Pennington  <hp@redhat.com>
3160
3161         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
3162         which holds a handle to a specific row (particular set of values
3163         in the model, i.e. pointer-identity row).
3164
3165         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
3166         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
3167         Still need to use it for the src/dest row saved on the drag context.
3168
3169 2001-01-26  Havoc Pennington  <hp@redhat.com>
3170
3171         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
3172
3173         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
3174         not offset by TREE_VIEW_HEADER_HEIGHT
3175         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
3176         TREE_VIEW_HEADER_HEIGHT
3177
3178         * configure.in (included_loaders): for me, --with-included-loaders
3179         generates the error "the specified loader yes does not exist",
3180         i.e. the arg defaults to "yes", so change test for value ""
3181         to test for value "yes", and include all loaders in that case.
3182
3183         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
3184
3185         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
3186         handle TREE_VIEW_VERTICAL_SEPARATOR
3187         (gtk_tree_view_bin_expose): fix to consider the row offset as
3188         pointing halfway into vertical separator.       
3189         (gtk_tree_view_draw_node_focus_rect): ditto
3190
3191         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
3192         --gtk-debug=updates, which causes gdk_window_set_debug_updates
3193         (TRUE) to be called.
3194
3195         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
3196         debug mode where the invalid region is colored in on invalidate,
3197         so you can see the flicker and know whether your redraw code is 
3198         doing a good job.
3199
3200         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
3201         tree window coordinates (clip rect is in tree window coords)
3202
3203         * gtk/Makefile.am: add gtktreednd.[hc]
3204
3205         * gtk/gtkliststore.c: implement gtktreednd interfaces.
3206
3207         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
3208         drag-and-drop data operations on a model (so we can set up tree
3209         drag-and-drop automatically)
3210
3211         * gtk/testgtk.c: Add a window to change sensitivity in the
3212         GtkLabel test; add a way to change the entry frame in GtkEntry
3213         test
3214
3215         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
3216         (gtk_entry_get_has_frame): new functions to remove the frame
3217         around an entry
3218         (gtk_entry_size_request): shrink requisition if no frame
3219         (gtk_entry_draw_focus): don't draw frame if no frame
3220
3221         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
3222         checks inside a cell renderer
3223         (gtk_default_draw_option): ditto for options
3224
3225         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
3226         children from the alignment, not the button
3227         (gtk_tree_view_column_init): ref/sink the column, to emulate
3228         GObject refcounting.
3229
3230         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
3231         
3232         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
3233         Use theme functions to draw the toggles 
3234
3235         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
3236
3237         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
3238         GdkPangoAttrEmbossed to use in rendering insensitive text
3239
3240         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
3241
3242         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
3243         using new GDK features
3244         
3245 2001-01-24  Alexander Larsson  <alexl@redhat.com>
3246
3247         * gtk/gtkimage.c:
3248         Splitted gtk_image_clear into gtk_image_clear() and
3249         gtk_image_reset(). Call gtk_image_clear() in ::destroy
3250         to avoid leaks.
3251
3252         * gtk/gtklabel.c (set_markup):
3253         Don't leak text.
3254
3255         * gtk/gtktextlayout.c:
3256         Always free display->shaped_objects.
3257
3258         * gtk/testgtk.c (create_clist):
3259         Don't leak custom style.
3260
3261 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3262
3263         * gtk/gtkcolorsel.c (grab_color_at_mouse):
3264         Don't leak image. Simplify using gdk_colormap_query_color().
3265         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
3266
3267         * linux-fb/gdkcolor-fb.c:
3268         Implemented gdk_colormap_query_color.
3269
3270 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3271
3272         * linux-fb/gdkcursor-fb.c:
3273         Don't leak built-in cursors.
3274
3275         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
3276         Don't leak tmp_points.
3277
3278         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
3279         Don't modify desc. Don't leak font if the PangoFont
3280         isn't found.
3281         
3282         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
3283         Free dash_list.
3284
3285         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
3286         Don't leak string.
3287         
3288 2001-01-20  Havoc Pennington  <hp@pobox.com>
3289
3290         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
3291         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
3292         me, matches Pango
3293
3294 2001-01-22  Havoc Pennington  <hp@redhat.com>
3295
3296         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
3297
3298         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
3299
3300         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
3301         Remove, move back to gdk-pixbuf
3302
3303         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
3304         to all the word functions
3305
3306         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
3307         before doing anything on NULL layout or if we don't have the focus
3308
3309         * gtk/testtext.c (fill_example_buffer): "justification"
3310
3311         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
3312         to be called "justification" not "justify"
3313
3314         * demos/gtk-demo/textview.c (create_tags): "justification"
3315         
3316         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
3317
3318 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3319
3320         * gdk/gdkwindow.c (gdk_window_invalidate_region):
3321         Don't leak visible_region. Use visible_region instead of region.
3322         
3323         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
3324         Don't do extra gdk_drawable_ref(). This is not X.
3325         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
3326         gdk_fb_focused_window is ref:ed.
3327         (gdk_fb_window_send_crossing_events): Watch out for destroyed
3328         windows.
3329
3330 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3331
3332         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
3333         Don't leak the PangoFontDescriptor.
3334
3335 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
3336
3337         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
3338         when not realized.
3339         (gtk_tree_view_scroll_to_cell): Make work when not realized.
3340         (gtk_tree_view_realize): add scroll_to support
3341         (gtk_tree_view_finalize): add a finalize method.  Populate.
3342         (gtk_tree_view_insert_column): ref and sink the column.
3343         (gtk_tree_view_append_column): ref and sink the column.
3344         (gtk_tree_view_queue_draw_node): New function to handle redrawing
3345         individual nodes.  Should make the code much more efficient, if
3346         actually used.
3347
3348 2001-01-19  Havoc Pennington  <hp@redhat.com>
3349
3350         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
3351         byte_offset variable was being used to mean both "offset into
3352         layout" and "offset into buffer line" which was no longer true
3353         with addition of preedit string; fix
3354
3355 2001-01-19  Havoc Pennington  <hp@redhat.com>
3356
3357         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
3358
3359         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
3360         function
3361
3362         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
3363         implement
3364
3365         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
3366         scroll_to_cell, matches TextView scroll functions better
3367         (gtk_tree_view_tree_to_widget_coords): new function
3368         (gtk_tree_view_widget_to_tree_coords): new function
3369         (gtk_tree_view_get_visible_rect): new function
3370         (gtk_tree_view_get_path_at_pos): accept negative coordinates
3371         (gtk_tree_view_draw_node_focus_rect): new function moved from
3372         draw_focus, also, use width of bin_window as width of the focus
3373         rect
3374         (gtk_tree_view_expand_row): fix bug where it didn't recognize
3375         already-expanded rows
3376         (gtk_tree_view_get_cell_rect): new function
3377         (gtk_tree_view_get_path_at_pos): return the click position
3378         relative to the passed-in cell
3379         (gtk_tree_view_set_expander_column): new function
3380
3381         * configure.in: remove gtk-config-2.0 chmod
3382
3383         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
3384         and properly handle drags with targets we don't understand
3385         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
3386         scrolling anyway
3387         (gtk_text_view_drag_drop): stop scrolling here though, and set the
3388         mark invisible
3389
3390         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
3391         function
3392         (gtk_drag_dest_get_target_list): new function
3393         (gtk_drag_dest_set_target_list): new function
3394         
3395         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
3396
3397         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
3398         related to drag-and-drop
3399
3400 2001-01-19  Alexander Larsson  <alexl@redhat.com>
3401
3402         * gdk/linux-fb/gdkprivate-fb.h:
3403         Define EMULATE_GDKFONT.
3404         Add extra pango_font stuff to GfkFontPrivate.
3405         
3406         * gdk/linux-fb/gdkdrawable-fb2.c:
3407         * gdk/linux-fb/gdkfont-fb.c:
3408         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
3409         emulation using PangoFont.
3410
3411 2001-01-17  Havoc Pennington  <hp@pobox.com>
3412
3413         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
3414         all the non-deprecated set_foo functions. Added missing object
3415         properties, and added g_object_notify() to setters. 
3416         Wrote docs.
3417         
3418 2001-01-18  Tor Lillqvist  <tml@iki.fi>
3419
3420         * gtk/gtkmain.c
3421         * gtk/gtkrc.c: (Win32) Use the new
3422         g_win32_get_package_installation_(sub)directory() functions.
3423
3424         * config.h.win32.in: New file.
3425         
3426         * config.h.win32: Removed.
3427
3428         * configure.in: Output config.h.win32.
3429
3430         * Makefile.am: Add it to EXTRA_DIST.
3431
3432         * gtk/gtk.def: Update.
3433
3434 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
3435
3436         * gtk/gtklabel.c (gtk_label_size_request): Set the
3437         attributes onto the PangoLayout even if they are newly
3438         created from label->pattern.
3439
3440 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
3441
3442         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
3443
3444         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
3445         structures in functions. Fixes bug where gtk_dataset_*
3446         was accidentally still being used in one place, causing
3447         every dest side event to be treated independently.
3448
3449         * gtk/gtkdnd.c: Remove last vestages of handling
3450         ::draw (fixes warning)
3451         
3452         * gtk/gtkentry.[ch]: Add drag and drop support.
3453
3454         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
3455         new function gtk_check_drag_threshhold() for checking
3456         to check if (dx,dy) has exceeded the threshhold for starting
3457         a drag and use it everywhere.
3458
3459 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
3460
3461         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
3462         add -I{includedir}/gtk-2.0.
3463
3464         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
3465         gdk/gdk-pixbuf.h: Doc fixups.
3466         
3467         * gtk/gtkobject.h: Remove trailing , from enum
3468
3469 2001-01-17 Alexander Larsson <alexl@redhat.com> 
3470
3471         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
3472         Doh! Mixed up x and y.
3473
3474         * gdk/linux-fb/gdkglobals-fb.c:
3475         Removed gdk_fb_pointer_grab_window_events,
3476         added _gdk_fb_pointer_grab_owner_events and
3477         _gdk_fb_keyboard_grab_owner_events.
3478
3479         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
3480         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
3481         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
3482         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
3483         Send crossing events after ungrab finished.
3484         (gdk_keyboard_grab): Set ..._owner_events
3485         (type_masks): Move out of function.
3486         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
3487         gdk_fb_keyboard_event_window): New functions, return the
3488         window an event should be targeted at. Handles grabs and
3489         event propagation. Can return NULL.
3490         (gdk_event_make): Remove event_mask checking. Now always
3491         returns an event.
3492                 
3493         * gdk/linux-fb/gdkkeyboard-fb.c:
3494         * gdk/linux-fb/gdkproperty-fb.c:
3495         * gdk/linux-fb/gdkselection-fb.c:
3496         Use new event_window/gdk_event_make() behaviour.
3497         
3498         * gdk/linux-fb/gdkmouse-fb.c:
3499         Use new event_window/gdk_event_make() behaviour.
3500         Only send motion events if in the same window.
3501         If grabbed, use cursor from window if sibling of grabbed
3502         window, and cursor from grabbed window otherwise.
3503
3504         * gdk/linux-fb/gdkprivate-fb.h:
3505         Update gdk_fb_window_send_crossing_events, gdk_event_make
3506         and grab varaible declarations. Add gdk_fb_*_event_window().
3507
3508         * gdk/linux-fb/gdkwindow-fb.c:
3509         Use new event_window/gdk_event_make() behaviour.
3510         Keep correct track of focus window.
3511         (gdk_window_set_events): Set all specific button motion masks
3512         if GDK_BUTTON_MOTION_MASK set.
3513
3514         * gtk/gtkdnd.c (gtk_drag_update):
3515         Free info->last_event if gdk_drag_motion returned FALSE.
3516
3517 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3518
3519         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
3520         Eliminate redraws when input-only windows are shown or
3521         hidden. Thanks to jpe@archaeopteryx.com.
3522
3523 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
3524
3525         * docs/faq/gtk-faq.sgml: FAQ update:
3526           - Update to bugzilla
3527           - Add GTK+ and security/SUID/SGID
3528           - Add DnD question
3529
3530 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
3531
3532         * gdk/linux-fb/gdkdnd-fb.c:
3533         Some cleanups.
3534         
3535 2001-01-15  Havoc Pennington  <hp@pobox.com>
3536
3537         * tests/testtreeview.c: add test stuff for CellRendererToggle
3538
3539         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
3540         accessor
3541
3542         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
3543         only toggle on button press (would do release like GtkButton, but
3544         we'd need implicit grab code for treeview cells)
3545
3546 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3547
3548         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
3549
3550         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
3551         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
3552
3553         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
3554         to g_{locale,filename}_{to,from}_utf8 to match current API.
3555
3556         * gtk/makefile.msc.in (gtk_OBJECTS)
3557         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
3558
3559         * gtk/gtk.def: Update.
3560
3561 2001-01-15  Tor Lillqvist  <tml@iki.fi>
3562
3563         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
3564         implementaion that more closely mimics the events that an X server
3565         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
3566         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
3567         with nested preview widgets, for instance, more responsive when
3568         you move the mouse quickly into them.
3569         (find_window_for_pointer_event): Make it actually compile.
3570         (gdk_event_translate): Set send_event to the value of
3571         InSendMessage (). This doesn't really mean the same as X11's
3572         send_event flag, but is close enough, says jpe@archaeopteryx.com
3573
3574 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3575
3576         * gdk/linux-fb/gdkdnd-fb.c:
3577         Implemented drag and drop.
3578         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
3579         when it tries to free and then copy the same event (info->last_event).
3580         I am not sure about why this happens, but will continue looking.
3581
3582 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3583
3584         * gdk/linux-fb/gdkwindow-fb.c:
3585         Use gdk_window_invalidate_rect instead of
3586         gdk_window_invalidate_rect_clear to minimise flashing.
3587         When hiding windows you need to clear the root window though.
3588
3589 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3590
3591         * gdk/linux-fb/gdkdrawable-fb2.c:
3592         For optization, add an full_shapes argument to gdk_fb_clip_region.
3593         If this is false, only the cliprects of the shapes are used.
3594
3595         * gdk/linux-fb/gdkprivate-fb.h:
3596         Export gdk_fb_window_peek_shape.
3597         Add full_shapes to gdk_fb_clip_region.
3598
3599         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3600         When moving a window, don't clear everything under the it, just the
3601         root window. Makes stuff faster and flash less.
3602         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
3603         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
3604         offset of the shape.
3605         
3606
3607 2001-01-12  Havoc Pennington  <hp@redhat.com>
3608
3609         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
3610         current invalid region, fixes redraw bug while scrolling the 
3611         text widget
3612
3613         * gtk/gtktextview.c, gtk/gtktextview.h:
3614         Rearrange the scrolling/validation/etc. code in a major way, 
3615         so it seems to make sense to me. Probably isn't genuinely that
3616         much better, but...
3617
3618         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
3619         notifies
3620
3621         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
3622
3623 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
3624
3625         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
3626         Hide mouse pointer while rotation. Show it afterwards.
3627
3628 2001-01-12  Alexander Larsson  <alexl@redhat.com>
3629
3630         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
3631         windows in consideration when generating clip region.
3632
3633         * gdk/linux-fb/gdkfb.h:
3634         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
3635
3636         * gdk/linux-fb/gdkprivate-fb.h:
3637         Add shape to GdkWindowFBDatat.
3638         exported gdk_fb_window_get_abs_shape().
3639         removed gdk_fb_draw_lines declaration.
3640
3641         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
3642         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
3643         send focus changes when there is a grabbed window.
3644         (gdk_window_get_pointer): Handle shaped windows.
3645         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
3646         (gdk_fb_window_peek_shape): Returns the shape for a window,
3647         handles GDK_FB_USE_CHILD_SHAPE.
3648         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
3649         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
3650         (gdk_window_shape_combine_mask): Implement.
3651
3652         * gtk/gtkwindow-decorate.c:
3653         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
3654         setting the shape of a window makes the window transparent.
3655
3656 2001-01-11  Havoc Pennington  <hp@redhat.com>
3657
3658         * gtk/gtktreemodelsimple.h: Oops, broke some macros
3659
3660 2001-01-10  Havoc Pennington  <hp@redhat.com>
3661
3662         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
3663         add this function, bug 40251
3664
3665         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
3666         of type macro   
3667
3668 2001-01-11  Alexander Larsson  <alexl@redhat.com>
3669
3670         * acconfig.h:
3671         Added ENABLE_SHADOW_FB
3672
3673         * configure.in:
3674         Added --disable-shadowfb
3675
3676         * gdk/linux-fb/gdkcursor-fb.c:
3677         Update shadowfb when updating cursor
3678
3679         * gdk/linux-fb/gdkdrawable-fb2.c:
3680         Added wrappers for shadowfb that calls  the normal drawable
3681         methods, but calls gdk_shadow_fb_update(bounding box) when
3682         GdkWindows are drawed to.
3683         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
3684         which also returns the bounding box.
3685
3686         * gdk/linux-fb/gdkfb.h:
3687         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
3688
3689         * gdk/linux-fb/gdkgeometry-fb.c:
3690         Update shadowfb when scrolling window.
3691
3692         * gdk/linux-fb/gdkglobals-fb.c:
3693         Add _gdk_fb_screen_angle.
3694         
3695         * gdk/linux-fb/gdkkeyboard-fb.c:
3696         Test code for screen rotation. Shift-F2 in the xlate driver
3697         rotates the screen.
3698
3699         * gdk/linux-fb/gdkmain-fb.c:
3700         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
3701
3702         * gdk/linux-fb/gdkmouse-fb.c:
3703         Use fb_width/height instead of modeinfo.xres/yres.
3704
3705         * gdk/linux-fb/gdkprivate-fb.h:
3706         Added fb_men, fb_width, fb_height & fb_stride. When using
3707         shadow fb these can differ from the framebuffer stuff.
3708         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
3709         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
3710         _gdk_fb_screen_angle. Removed CM, RP.
3711
3712         * gdk/linux-fb/gdkrender-fb.c:
3713         Added code for shadowfb handling and screen rotation using
3714         shadowfb.
3715
3716         * gdk/linux-fb/gdkwindow-fb.c:
3717         Use fb_mem, fb_stride, fb_width, fb_height.
3718         Added recompute_rowstride to reset the rowstride of all windows.
3719         Added gdk_fb_recompute_all() which recomputes rootwindow size,
3720         window abs positions and window rowstrides. Usefull when the
3721         rotation has changed.
3722
3723 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
3724
3725         * docs/faq/gtk-faq.sgml: update to make web site updating easier
3726
3727 2001-01-10  Havoc Pennington  <hp@redhat.com>
3728
3729         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
3730         where sibling == iter
3731         (gtk_tree_store_insert_after): handle sibling == iter
3732         (gtk_tree_store_prepend): remove stamp checks
3733         (gtk_tree_store_insert_before): ditto
3734         (gtk_tree_store_append): ditto
3735         (gtk_tree_store_get_path): ditto
3736         (gtk_tree_store_get_value): ditto
3737         (gtk_tree_store_iter_has_child): ditto
3738         (gtk_tree_store_iter_n_children): ditto
3739         (gtk_tree_store_iter_nth_child): ditto
3740         (gtk_tree_store_insert_after): ditto
3741         (gtk_tree_store_is_ancestor): ditto
3742         (gtk_tree_store_iter_depth): ditto
3743         (gtk_tree_store_insert_before): assert that sibling's parent is
3744         the same as the passed-in parent
3745         (gtk_tree_store_insert_after): assert that sibling's parent is
3746         the same as the passed-in parent
3747
3748         
3749         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
3750         function to get the first iterator in a model
3751         
3752         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
3753         conventionally the "root" in this sense is just NULL afaict.
3754
3755         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
3756         where sibling == iter
3757         (gtk_list_store_insert_after): handle case where sibling == iter
3758
3759         * tests/testtreeview.c (run_automated_tests): fairly lame basic
3760         automated tests for ListStore, TreeStore
3761
3762         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
3763         (gtk_list_store_insert): update tail pointer, and fix it to work
3764         (gtk_list_store_insert_before): update tail pointer, and fix it to work
3765         (gtk_list_store_append): use tail to be faster
3766         (gtk_list_store_prepend): fix it, update tail pointer
3767         (gtk_list_store_insert_after): fix it, update tail pointer
3768
3769         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
3770         the list
3771
3772 2001-01-09  Havoc Pennington  <hp@redhat.com>
3773
3774         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
3775         is NULL due to a pending resize
3776
3777         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
3778         column width to values less than 1
3779
3780         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
3781         width to be between min/max width, and still set the width 
3782         even if autosize is turned on, so the tree view can use this 
3783         function in order to autosize.
3784         (gtk_tree_view_column_init): set initial width to 1 not 0
3785
3786         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
3787         setter function to modify column width, so we get notification
3788         (gtk_tree_view_insert_iter_height): ditto
3789         (gtk_tree_view_calc_size): ditto
3790         (gtk_tree_view_check_dirty): ditto
3791
3792         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
3793         properties to change all the interesting attributes of the tree
3794         view column.
3795         (gtk_tree_view_column_set_header_clickable): rename set_clickable
3796         (gtk_tree_view_column_get_clickable): add
3797         (gtk_tree_view_column_set_cell_renderer): don't unset the current
3798         attributes; assume a cell renderer with equivalent object
3799         properties has been swapped in. Do g_object_notify().
3800         (gtk_tree_view_column_set_visible): g_object_notify
3801         (gtk_tree_view_column_get_sizing): rename from get_col_type
3802         (gtk_tree_view_column_set_sizing): g_object_notify
3803         (gtk_tree_view_column_set_width): add g_object_notify
3804         (gtk_tree_view_column_set_min_width): ditto
3805         (gtk_tree_view_column_set_max_width): ditto
3806         (gtk_tree_view_column_set_title): ditto
3807         (gtk_tree_view_column_set_clickable): ditto
3808         (gtk_tree_view_column_set_widget): ditto
3809         (gtk_tree_view_column_set_justification): ditto
3810
3811 2001-01-09  Havoc Pennington  <hp@redhat.com>
3812
3813         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
3814         there are no rows in the model
3815
3816         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
3817         NULL, then return the start of the list
3818
3819         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
3820         if we can't get any rows from an empty model 
3821
3822         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
3823         extraneous * after function pointer typedef usage
3824
3825         * Makefile.am: don't specify full path to cp and rm
3826
3827         * gtk/gtkcellrenderertextpixbuf.c
3828         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
3829         NULL before dereferencing, fixes a segfault that happened from
3830         time to time
3831
3832         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
3833         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
3834         and reindent the function
3835         (gtk_cell_renderer_pixbuf_get_size): indentation
3836
3837         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
3838         we quit it
3839         (gtk_dialog_add_buttons_valist): add g_return_if_fail
3840         (gtk_dialog_set_default_response): New function, to set default
3841         button
3842         (gtk_dialog_set_response_sensitive): New function, to set 
3843         sensitivity of buttons
3844
3845         * gtk/gtkcellrendererpixbuf.c
3846         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
3847         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
3848
3849         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
3850         handle any G_TYPE_OBJECT subclass, not just the base class, and 
3851         also boxed types.
3852         (_gtk_tree_data_list_value_to_node): ditto
3853
3854         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
3855         --gtk-debug=tree
3856
3857         * gtk/gtkmain.c: add GTK_DEBUG_TREE
3858
3859         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
3860
3861 2001-01-09  Tor Lillqvist  <tml@iki.fi>
3862
3863         * gdk/win32/gdkevents-win32.c: Implement better mouse
3864         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
3865         (find_window_for_pointer_event): New function.
3866         (gdk_event_translate): Use it when handling mouse events.
3867
3868 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
3869
3870         * configure.in:
3871         Added --with-included-loaders option
3872
3873         * gdk-pixbuf/Makefile.am:
3874         * gdk-pixbuf/gdk-pixbuf-io.c:
3875         Add support for including selected gdk-pixbuf loaders only.
3876
3877         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
3878         gtk_window_set_has_frame):
3879         Added inline documentation.
3880
3881         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
3882         * docs/reference/gdk/tmpl/windows.sgml:
3883         Added inline documentation.
3884
3885 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
3886
3887         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
3888         realizing buttons that have already been realized.
3889
3890 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
3891
3892         * tests/testtreeview.c (main): Show menu items before adding to
3893         option menu.
3894
3895         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
3896         around if we kill them.
3897
3898         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
3899         Return if we pass in a NULL model.
3900
3901 2001-01-08  Havoc Pennington  <hp@redhat.com>
3902
3903         * tests/testtreeview.c: hack on this some
3904
3905         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
3906         gtk_tree_store_set_valist, v is for arrays, valist for varargs
3907         list
3908         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
3909
3910         * gtk/gtkliststore.h: Add varargs set() and get() convenience
3911         functions
3912
3913 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3914
3915         * gtk/gtkwindow-decorate.[hc]:
3916         * gtk/Makefile.am:
3917         New files. Contains an implementation of a minimal WM for
3918         linux-fb.
3919
3920         * gtk/gtkwindow.h:
3921         Add the possibility for GtkWindows to specify a frame. This
3922         is used for the window decoration code, but could concievably
3923         be used for X programs too (xmms style windows).
3924         GtkWindow->frame is the toplevel window if the window is framed.
3925         The signal frame_event gets all events that are targeted to
3926         GtkWindow->frame.
3927         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
3928         
3929         * gtk/gtkwindow.c:
3930         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
3931         Call out to gtkwindow-decorate.c for WM support in linx-fb.
3932
3933 2001-01-08  Alexander Larsson  <alexl@redhat.com>
3934
3935         * docs/README.linux-fb:
3936         Correct filename ~/.pangoft2_aliases
3937
3938         * gdk/gdkwindow.h:
3939         Added new function gdk_window_get_decorations.
3940
3941         * gdk/linux-fb/gdkfb.h:
3942         Removed _gdk_window_get_decorations declaration.
3943         Renamed _gdk_window_set_child_handler to
3944         gdk_fb_window_set_child_handler.
3945
3946         * gdk/linux-fb/gdkwindow-fb.c:
3947         Renamed _gdk_window_set_child_handler to
3948         gdk_fb_window_set_child_handler.
3949
3950         * gdk/x11/gdkwindow-x11.c:
3951         New function gdk_window_get_mwm_hints().
3952         Implemented gdk_window_get_decorations.
3953
3954         * docs/reference/gdk/tmpl/windows.sgml:
3955         * docs/reference/gdk/gdk-sections.txt:
3956         Added gdk_window_get_decorations docs.
3957         
3958 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
3959
3960         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
3961         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
3962         gdk_fb_window_send_crossing_events):
3963         Possibly send focus events when the mouse moves from one
3964         window to another.
3965
3966 2001-01-07  Tor Lillqvist  <tml@iki.fi>
3967
3968         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
3969         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
3970         to match current API.
3971
3972         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
3973         environment variable is set, don't call g_error when on a
3974         palettized (PseudoColor) display. Some people want to use GTK+ 
3975         in 256-colour mode even though works only partially.
3976
3977         * gdk/gdk.def
3978         * gtk/gtk.def
3979         * gtk/makefile.mingw.in: Update.
3980
3981 2001-01-05  Havoc Pennington  <hp@redhat.com>
3982
3983         * tests/testtreeview.c: hack on this a bit
3984
3985         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
3986         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
3987
3988         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
3989         was spelled incorrectly
3990         (GTK_IS_TREE_MODEL_SIMPLE): ditto
3991
3992         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
3993         from gtk_tree_view_set_headers_active   
3994
3995         * gtk/gtktexttag.c:
3996         (gtk_text_tag_get_property): handle PROP_DIRECTION
3997         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
3998         properties, bug 40235
3999
4000         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
4001         forward_to_line_end
4002
4003 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
4004
4005         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
4006         modules/input/gtkimcontextxim.c: Adapt to new prototypes
4007         for unicode,locale,filename conversion functions.
4008
4009 2001-01-05  Havoc Pennington  <hp@redhat.com>
4010
4011         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
4012         broken if called on the first position in the buffer.
4013
4014         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
4015         forward_to_delimiters to be called only if we aren't already at
4016         the delimiters.
4017
4018 2001-01-05  Havoc Pennington  <hp@redhat.com>
4019
4020         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
4021
4022 2001-01-05  Alexander Larsson  <alexl@redhat.com>
4023
4024         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
4025         colormap in here. Sync from X port.
4026         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
4027         Sync from X port.
4028         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
4029         This happens now and then, and i don't think it is a bug.
4030         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
4031         != endpoint.
4032         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
4033         GDK_LINE_SOLID.
4034
4035         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
4036         some of the fields filled in at least.
4037
4038         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
4039         miLineArcD is no more, remove it from the function definition.
4040
4041 2001-01-04  Havoc Pennington  <hp@redhat.com>
4042
4043         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
4044         this
4045
4046         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
4047         user_data instead of tree_node
4048
4049         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
4050         TREE_VIEW_COLUMN_SIZE
4051
4052         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
4053         "size" field to "width" finishes bug 40061
4054
4055         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
4056         for bitfields, bug 40268
4057
4058 2001-01-04  Havoc Pennington  <hp@redhat.com>
4059
4060         Rename some stuff:
4061         
4062         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
4063
4064         s/GtkModelSimple/GtkTreeModelSimple/g;
4065         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
4066         s/gtk_model_simple/gtk_tree_model_simple/g;
4067         s/gtkmodelsimple/gtktreemodelsimple/g;
4068
4069         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
4070
4071         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
4072         s/column_set_col_type/column_set_sizing/g;
4073
4074         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
4075         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
4076
4077         s/GtkCellRendererType/GtkCellRendererState/g;
4078         
4079         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
4080         (gtk_cell_renderer_toggle_class_init): change "state" property to
4081         "active", to match GtkToggleButton
4082         (gtk_cell_renderer_toggle_get_active): new function, bug
4083         40269
4084         (gtk_cell_renderer_toggle_set_active): new function
4085         (gtk_cell_renderer_toggle_set_property): route changes to toggle
4086         state through gtk_cell_renderer_set_active
4087
4088 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
4089
4090         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
4091         temporarily until they work again.  Brought up to date with
4092         changes in the model.
4093         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
4094         model.
4095
4096 2001-01-04  Havoc Pennington  <hp@redhat.com>
4097
4098         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
4099         equal to the line length, then position iterator before paragraph 
4100         separators. Fixes crash reported by Mikael Hermansson when
4101         pressing left arrow from the start of a line.   
4102
4103         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
4104         about byte indexes off the end
4105         (iter_set_from_char_offset): add g_error about char offsets
4106         off the end
4107
4108 2001-01-03  Havoc Pennington  <hp@redhat.com>
4109
4110         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
4111
4112         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
4113         of private functions; remove inclusion of private headers.
4114
4115         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
4116         function, so we don't need private functions in gtktextdisplay.c
4117
4118         * gtk/gtktextiterprivate.h: underscore-ification
4119
4120         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
4121         to instead say "only useful to implement widgets"
4122
4123         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
4124         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
4125         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
4126
4127         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
4128         This function was completely broken
4129
4130         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
4131
4132         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
4133
4134         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
4135
4136         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
4137
4138         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
4139
4140         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
4141
4142         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
4143         gtk_paint_layout
4144
4145         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
4146         gtk_paint_layout
4147
4148         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
4149         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
4150         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
4151         which were not implemented.     
4152
4153         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
4154         insert_pixbuf signal. Rename delete_text to delete_range since it
4155         also deletes pixbufs and child anchors. This almost closes bug
4156         40245 (still need to deal with child anchors)
4157
4158         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
4159         insert_pixbuf, change signal names as appropriate, change types of
4160         signals taking marks/tags to have the specific type, not just
4161         G_TYPE_OBJECT
4162         
4163         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
4164         closes bug 40051
4165
4166         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
4167         unnecessary remove_contents() call
4168         (gtk_option_menu_class_init): add a "changed" signal, closes
4169         bug 40039
4170         (gtk_option_menu_update_contents): emit "changed" if the 
4171         active menu item changes
4172
4173         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
4174         cast to GtkObject, reported by Jonas Borgstrom
4175         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
4176         we can't do stuff with side effects in finalize. Instead, spew a
4177         warning if the loader isn't closed.
4178
4179         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
4180         colormap in here, non-X ports probably need to sync to this change
4181
4182         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
4183         assertion that colormap != NULL, you can set the colormap to NULL
4184         if you like.
4185         
4186         * Makefile.am: remove gtk-config-2.0
4187
4188         * configure.in: Use pkg-config to locate GLib. Remove
4189         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
4190         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
4191         Use pkg-config to locate Pango. Output correct Pango libs to
4192         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
4193
4194         * Makefile.am (pkgconfig_DATA): install only target-specific pc
4195         files
4196         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
4197         X11 pc files
4198
4199         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
4200         unref from here
4201
4202 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
4203
4204         * configure.in:
4205         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
4206
4207 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
4208
4209         * gtk/gtktextlayout.c
4210         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
4211         variable when moving back onto a single line.
4212
4213 2001-01-01  Havoc Pennington  <hp@redhat.com>
4214
4215         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4216
4217         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4218
4219         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
4220         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
4221
4222 2001-01-01  Havoc Pennington  <hp@redhat.com>
4223
4224         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
4225
4226         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
4227         GtkTextAttributes
4228
4229         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
4230         #40246
4231         (gtk_text_attributes_copy_values): rename from 
4232         gtk_text_attributes_copy
4233         (gtk_text_attributes_copy): a more standard GTK copy function, 
4234         which returns a new object
4235
4236 2001-01-01  Havoc Pennington  <hp@redhat.com>
4237
4238         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
4239         
4240         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
4241         don't fill in tree_view->priv->selection, kind of an unexpected
4242         side effect
4243
4244         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
4245         gtkintl.h
4246         
4247         * gtk/gtkcellrenderer.c: Remove definition of _ and include
4248         gtkintl.h
4249         (gtk_cell_renderer_get_property): remove calls to g_value_init
4250
4251         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
4252         gtkintl.h
4253
4254         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
4255         and include gtkintl.h
4256         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
4257         property names
4258
4259         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
4260         GtkTreeSelection
4261         (_gtk_tree_selection_new_from_with_view): rename, return
4262         GtkTreeSelection
4263         (_gtk_tree_selection_set_tree_view): rename with uscore
4264         (gtk_tree_selection_get_selected): fill in the "model" out param
4265         first, so it gets filled in even if we return at the top of the 
4266         function
4267         (gtk_tree_selection_real_select_all): add a comment and an else{}
4268         to clarify this a bit
4269         (gtk_tree_selection_real_unselect_all): add the same else{}
4270
4271         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
4272         set_tree_view to have underscore prefixes, move them to the
4273         private header, fix return type of new_with_tree_view
4274         (struct _GtkTreeSelection): mark struct
4275         fields private  
4276
4277         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
4278         GtkTreeModelFlags, not a guint
4279         (gtk_tree_path_prev): return gboolean not gint
4280         (gtk_tree_path_up): return gboolean not gint
4281
4282         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
4283         return GtkTreeModelFlags, not a guint
4284
4285         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
4286         that child model is non-null before unrefing it
4287         (g_value_int_compare_func): make this a qsort compare func, not 
4288         a boolean predicate
4289
4290         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
4291         (add -umn to the end), and mark it unimplemented
4292         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
4293         I don't see what it's for - doesn't the model always sort itself?
4294         (gtk_tree_model_sort_set_compare): this had the wrong signature
4295
4296         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
4297         Fix the docs to say that it destructively replaces existing
4298         attributes (previously said that it added attributes).
4299         (gtk_tree_view_column_set_visible): canonicalize bool before
4300         equality testing. Also, check for realization before
4301         hiding/showing the tree_column->window; if this window could exist
4302         before realization, then it's busted and needs fixing, we can't 
4303         create GDK resources pre-realization. Also, remove
4304         superfluous queue_resize(), since set_size() does that for us.
4305         (gtk_tree_view_column_set_col_type): check realization before 
4306         using tree_column->window
4307
4308         * gtk/gtktreedatalist.c: fix filename in copyright notice
4309
4310 2000-12-31  Havoc Pennington  <hp@pobox.com>
4311
4312         * gtk/gtktextview.c: Rearrange all the
4313         scroll-while-dragging-or-selecting code to be different, not
4314         necessarily better. ;-)
4315         (gtk_text_view_scroll_to_mark): Change this
4316         function to take within_margin as a fraction instead of a pixel
4317         value, and to take alignment arguments (indicating where to align 
4318         the mark inside the visible area)
4319         
4320         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
4321         to GtkObject
4322
4323         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
4324         behavior so that offsets past the end of the line are not 
4325         allowed, and an offset equal to the line length moves the iterator
4326         to the next line
4327         (gtk_text_iter_set_line_index): make parallel change
4328         (gtk_text_iter_get_bytes_in_line): add this function
4329         
4330         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
4331         of byte indexes off the end of the line; byte index at the end of
4332         the line now returns FALSE and doesn't fill in the requested
4333         values, byte index past the end of the line is an error.  Also,
4334         don't allow -1 offset anymore, since its meaning is unclear.
4335
4336         This change exposes some bug in visual cursor motion, where we
4337         end up with a huge invalid byte index; needs fixing. Symptom of 
4338         bug is a crash when you hit up arrow.
4339         
4340         (_gtk_text_line_char_locate): match the change to byte_locate
4341
4342         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
4343         from start of line properly. fixes bug reported by Mikael
4344         Hermansson where backspace would delete all text before the
4345         cursor.
4346
4347 2000-12-30  Tor Lillqvist  <tml@iki.fi>
4348
4349         * gdk/win32/gdkwindow-win32.c
4350         (gdk_window_impl_win32_get_visible_region): New function, as in
4351         the X11 backend.
4352         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
4353         instead of duplicating the same code here.
4354
4355         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
4356         GDK_COLORMAP macro.
4357
4358         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
4359         destroy function.
4360         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
4361         access that.
4362
4363         * gtk/gtk.def: Update.
4364
4365         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
4366
4367 2000-12-30  Havoc Pennington  <hp@pobox.com>
4368
4369         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
4370         colormap on input only windows, to avoid special cases all over
4371         the code for these windows.
4372
4373 2000-12-26  Tor Lillqvist  <tml@iki.fi>
4374
4375         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
4376         we are on a palettized display ("PseudoColor" in X11), as the code
4377         for that doesn't work anyway, and never has.
4378
4379 2000-12-22  Alexander Larsson  <alexl@redhat.com>
4380
4381         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
4382         Don't use isprint() for chars > 255.
4383
4384 2000-12-21  Havoc Pennington  <hp@redhat.com>
4385
4386         * tests/testtreeview.c: more work
4387
4388 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4389
4390         * docs/README.linux-fb:
4391         Update the docs to the new pangoft2 way.
4392
4393 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4394
4395         * configure.in:
4396         For linux-fb get the pangoft2 cflags and libs. This needs a recent
4397         pango version.
4398         Remove modules/linux-fb/Makefile.
4399
4400         * gdk/linux-fb/gdkdrawable-fb2.c:
4401         Render glyphs using freetype.
4402
4403         * gdk/linux-fb/gdkfb.h:
4404         Add new fb-specific functions needed for managing windows.
4405
4406         * gdk/linux-fb/gdkmain-fb.c:
4407         Remove gdk_font_init/fini() calls.
4408
4409         * gdk/linux-fb/gdkpango-fb.c:
4410         Remove old implementation. Use pangoft2 instead.
4411
4412         * gdk/linux-fb/gdkprivate-fb.h:
4413         Remove PangoFBFont and related stuff.
4414
4415         * gdk/linux-fb/gdkwindow-fb.c:
4416         Implement drawable->get_visible_region.
4417         Implement support for _gdk_window_set_child_handler () and
4418         _gdk_window_get_decorations().
4419
4420         * modules/Makefile.am:
4421         Remove linux-fb subdir.
4422
4423         * modules/linux-fb/*:
4424         Removed all.
4425         
4426 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
4427
4428         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
4429         calls, as they are no longer needed.
4430
4431         * gtk/gtktreemodelsort.c: Fix up the comparison code.
4432         
4433         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
4434         figure out how to emit a signal on an interface.
4435
4436 2000-12-20  Havoc Pennington  <hp@redhat.com>
4437
4438         * tests: new directory to contain tests, gtk/test* should move
4439         here sometime (with appropriate on-cvs-server hackery)
4440
4441         * tests/testtreeview.c, tests/Makefile.am: a test
4442         
4443         * configure.in (AC_OUTPUT): add tests/Makefile
4444
4445         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
4446         and "invisible_set" which were missing
4447
4448         * gtk/gtkrbtree.h: some cheesy indentation fix
4449         
4450 2000-12-20  Alexander Larsson  <alexl@redhat.com>
4451
4452         * gtk/gtkinvisible.c (gtk_invisible_realize):
4453         Attach the style to the window so that the style it is not
4454         leaked when unrealizing the window.
4455
4456 2000-12-18  Havoc Pennington  <hp@redhat.com>
4457
4458         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
4459         begin/end user action where appropriate
4460         (gtk_text_view_commit_handler): add begin/end user action
4461
4462         * gtk/gtktextbuffer.c: add begin/end user action signals, and
4463         bracket interactive operations with begin/end user action pair.
4464         
4465         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
4466         "interactive" arg from insert_text and delete_text signals.
4467         Add begin_user_action, end_user_action signals
4468         (gtk_text_buffer_begin_user_action): 
4469         (gtk_text_buffer_end_user_action): New functions to delimit 
4470         a user-visible action
4471
4472         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
4473         signals.
4474         
4475 2000-12-18  Havoc Pennington  <hp@redhat.com>
4476
4477         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
4478         was pretty non-working.
4479
4480         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
4481         by passing the length to g_utf8_validate().
4482
4483 2000-12-16  Havoc Pennington  <hp@pobox.com>
4484
4485         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
4486         Port to GObject, can go back in gdk-pixbuf after setting up 
4487         a gdk-pixbuf-marshal.h header over there.
4488
4489         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
4490         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
4491         args
4492         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
4493         set
4494         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
4495         here, do it when we create the buttons later
4496         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
4497         (gtk_tree_view_map): paranoia checks that column->button is shown 
4498         and unmapped
4499         (gtk_tree_view_size_request): only request visible children.
4500         Move header size calculation in here, for cleanliness, and 
4501         to maintain invariants for child widgets if we eventually 
4502         let users set different children inside the buttons
4503         (gtk_tree_view_map_buttons): factor out code to map buttons,
4504         since it was being called several times
4505         (gtk_tree_view_size_allocate_buttons): move_resize the drag
4506         windows instead of just moving them; their height may change 
4507         if we allow random widgets in there, or the theme changes.
4508         (gtk_tree_view_size_allocate): move button size allocation 
4509         above emitting the scroll signals, to ensure a sane state when we
4510         hit user code
4511         (gtk_tree_view_button_release): remove queue_resize after
4512         tree_view_set_size(), set_size() will handle any resize queuing
4513         that's needed
4514         (gtk_tree_view_focus_in): just queue a draw, don't fool with
4515         draw_focus goo
4516         (gtk_tree_view_focus): use gtk_get_current_event() and
4517         gdk_event_get_state()
4518         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
4519         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
4520         semicolon
4521         (gtk_tree_view_create_button): show the button here
4522         (gtk_tree_view_button_clicked): actually emit the clicked signal
4523         on the column
4524         (_gtk_tree_view_set_size): return right away if the size is
4525         unchanged, as a cheesy optimization
4526         (gtk_tree_view_setup_model): rename set_model_realized to 
4527         setup_model to match the flag that indicates whether we've 
4528         called it
4529         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
4530         exist, because set_scroll_adjustment does that and it shouldn't
4531         matter what order you call these in
4532         (gtk_tree_view_get_vadjustment): ditto
4533         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
4534         for paranoia
4535         (gtk_tree_view_set_headers_visible): call
4536         gtk_tree_view_map_buttons() instead of using cut-and-paste code
4537         (gtk_tree_view_append_column): clarify whether the return value
4538         is the count of columns before or after, and do the increment 
4539         separately from the return statement so you can tell from the code.
4540         (gtk_tree_view_remove_column): ditto
4541         (gtk_tree_view_insert_column): ditto
4542         (gtk_tree_view_get_column): remove g_return_if_fail for columns
4543         outside the existing range, the docs say that outside-range
4544         columns are allowed, so we handle them as documented. (Presumably
4545         this allows a nice loop with column != NULL as test.)
4546         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
4547         mean (left/right/center etc.).
4548         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
4549         (gtk_tree_view_expand_row): add docs
4550         (gtk_tree_view_collapse_row): add docs
4551
4552         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
4553         function to emit the clicked signal on a column
4554         
4555         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
4556         state of an event
4557         (gdk_event_get_time): don't treat GDK_SCROLL 
4558         as a button event, remove default case from switch so gcc 
4559         will whine if we don't explicitly handle all event types
4560
4561         * gtk/gtktreeselection.h: added some FIXME 
4562         
4563         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
4564         "columns" to "n_columns" and "column" to "columns" for clarity
4565
4566 2000-12-16  Havoc Pennington  <hp@pobox.com>
4567         
4568         * gtk/gtktextiter.c: General cleanup of the log attr iteration
4569         stuff. This should make e.g. the delete key work again in the
4570         text widget...
4571         (gtk_text_iter_forward_cursor_positions): handle negative count
4572         (gtk_text_iter_backward_cursor_positions): handle negative count
4573         (gtk_text_iter_forward_word_ends): handle negative count
4574         (gtk_text_iter_backward_word_starts): handle negative count
4575
4576         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
4577         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
4578         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
4579         GObject. No doubt will cause breakage.
4580
4581         * demos/gtk-demo/textview.c: remove hacks around
4582         non-GObject-ification of the text objects
4583
4584         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
4585         the text tag
4586         
4587 2000-12-14  Havoc Pennington  <hp@pobox.com>
4588
4589         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
4590         that we have Xrender
4591
4592 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
4593
4594         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
4595         Add two virtualized functions gdk_drawable_get_clip_region - to
4596         get the clip region when drawing.
4597         
4598         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
4599         use invalidate_region.
4600
4601         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
4602         region.
4603
4604         * acconfig.h configure.in: Check for Xft. For now, assume
4605         that if Xft is found, Pango was compiled with Xft support
4606         as well.
4607
4608         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
4609         gdk_colormap_query_color().
4610         
4611         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
4612         with Xft if appropriate.
4613
4614         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
4615         a pangoxft context if we have XFT and the environment
4616         variable GD_USE_XFT is set.
4617         
4618         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
4619         and also possibly an XftDraw structure.
4620
4621         * gtk/gtkfontsel.c: Handle the case where the font from the
4622         style doesn't match any of the fonts a bit better.
4623         
4624         * gtk/testgtk.c: Add tabs between directional segments for
4625         hebrew/arabic test. (Not really necessary, just a little
4626         prettier.)
4627
4628 2000-12-14  Havoc Pennington  <hp@redhat.com>
4629
4630         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
4631         reading a file
4632
4633 2000-12-14  Havoc Pennington  <hp@redhat.com>
4634
4635         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
4636         unused call to get_last_line()
4637
4638         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
4639         here until boxed is working (and maybe after that - we should
4640         really not gratuitously break old code)
4641
4642         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
4643         specific types for font_desc and tabs args, move them to
4644         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
4645         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
4646
4647         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
4648         use GTK_TYPE_POINTER for signal signatures as a hack-around
4649
4650         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
4651         PangoTabArray
4652
4653         * gtk/gtktextlayout.c (line_display_iter_to_index): 
4654         make static
4655         (line_display_index_to_iter): make static
4656
4657         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4658         to marshal a string not a boxed
4659
4660         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
4661
4662         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
4663         since the UTF-8 isn't validated yet
4664
4665         * gtk/gtktextsegment.c (char_segment_check_func): don't require
4666         lines to end in '\n'
4667         
4668         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
4669         forward_to_delimiters, and grapheme boundaries
4670         (gtk_text_view_delete_from_cursor): properly handle non-newline
4671         delimiters, and grapheme boundaries
4672
4673         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
4674         to gtk_text_iter_forward_to_delimiters, and make it work properly
4675         if empty lines end with a character other than '\n'
4676
4677         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
4678         position
4679
4680 2000-12-15  Tor Lillqvist  <tml@iki.fi>
4681
4682         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
4683
4684         * gtk/gtk.def
4685         * gdk/gdk.def: Update.
4686
4687         * gdk/win32/gdkmain-win32.c
4688         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
4689         gdkmain-win32.c here.
4690
4691         * gdk/win32/makefile.mingw.in (all): No need to make
4692         gdk-win32res.o here, the makefile one step up will call us to make
4693         it.
4694
4695         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
4696         gdkkeys-win32.
4697
4698         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
4699
4700         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
4701         call to g_source_add().
4702
4703         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
4704         leak. Thanks to Andreas Kemnade.
4705
4706 2000-12-13  Havoc Pennington  <hp@pobox.com>
4707
4708         * gtk/gtktextbtree.h: Remove double _ in front of some functions
4709
4710         * gtk/gtktext*.[hc]: update accordingly
4711         
4712 2000-12-13  Havoc Pennington  <hp@pobox.com>
4713
4714         * gtk/gtktextbtree.h: Put _ in front of every function in this 
4715         header file
4716
4717         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
4718
4719 2000-12-13  Alex Larsson  <alexl@redhat.com>
4720
4721         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
4722         Add support for ps2 intellimouse.
4723
4724         * gdkkeyboard-fb.c:
4725         Move shift-F1 repaint handling to xlate handler only.
4726         
4727         * docs/README.linux-fb:
4728         Add imps2 to docs.
4729         Document the new refresh keys.
4730         
4731 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
4732
4733         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
4734
4735         * gtk/gtkbox.c: change property types from (u)long to (u)int for
4736         ::position and ::padding.
4737
4738         * gtk/gtkcontainer.c: make ::border_width an INT property.
4739
4740         * gtk/gtkpacker.c: make ::position an INT property.
4741
4742         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
4743         guard against NULL h/v scrollbars, since this is used at construction
4744         time.
4745
4746         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
4747         internal gtk_clist_constructor().
4748
4749         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
4750         gtk_ctree_constructor().
4751
4752         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
4753         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
4754
4755         * docs/reference/Makefile.am: fun stuff, disabled docs generation
4756         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
4757
4758         * gtk/gtkwidget.[hc]:
4759         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
4760         and gtk_widget_get().
4761         (gtk_widget_new): use g_object_new_valist().
4762         (gtk_widget_set): use g_object_set_valist().
4763
4764         * gtk/gtkobject.[hc]:
4765         removed gtk_object_arg_get_info(), gtk_object_getv(),
4766         gtk_object_query_args(), gtk_object_newv(),
4767         gtk_object_class_add_signals(),
4768         gtk_object_class_user_signal_new(),
4769         gtk_object_class_user_signal_newv(),
4770         gtk_object_arg_set(), gtk_object_arg_get(),
4771         gtk_object_args_collect(),
4772         gtk_object_default_construct(),
4773         gtk_object_constructed(),
4774         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
4775         removed nsignals, signals and n_args members from GtkObjectClass.
4776         (gtk_object_new): use g_object_new_valist().
4777         (gtk_object_set): use g_object_set_valist().
4778         (gtk_object_get): use g_object_get_valist().
4779         
4780         * gtk/gtkcompat.h: define gtk_object_default_construct().
4781         
4782         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
4783         g_object_new().
4784
4785         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
4786         fucntions, cleaned up method assignments (make sure your structures
4787         are setup properly before calling out). removed all GTK_CONSTRUCTED
4788         hacks ;)
4789
4790 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
4791
4792         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
4793         off-by-one error in checks. (Dave Lambert)
4794
4795 2000-12-12  Alexander Larsson  <alexl@redhat.com>
4796
4797         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
4798         Don't free gdk_fb_keyboard twice.
4799
4800 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
4801
4802         * gtk/testgtk.c:
4803         (create_tooltips): 
4804         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
4805         use GObject swapped_signal:: properties instead.
4806
4807         * gtk/gtkcellrenderertoggle.c: 
4808         * gtk/gtkcellrenderertextpixbuf.c: 
4809         * gtk/gtkcellrenderertext.c: 
4810         * gtk/gtkcellrendererpixbuf.c: 
4811         * gtk/gtkcellrenderer.c:
4812         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
4813         missing warnings for invalid property ids, install properties
4814         with g_object_class_install_property() now.
4815         
4816         * gtk/gtksignal.c:
4817         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
4818         
4819 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
4820         
4821         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
4822         to determine if a window is the focus widget within
4823         its toplevel.
4824
4825         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
4826         to be boolean.
4827
4828         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
4829         of the case where the container CAN_FOCUS to here instead
4830         of having it in each individual move-the-focus place.
4831
4832         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
4833         focusing to be geometric in a much more obvious sense. Arrowing
4834         around is still non-intuitive because it isn't perfect and
4835         because entries, etc, grab the arrow keys, but it at least
4836         usually will do what you expect now.
4837         
4838         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
4839         file.
4840
4841         * gtk/gtknotebook.c: Change tabs to be a single item in
4842         the focus chain. Make movement of focus on tabs with arrow
4843         keys wrap around.
4844         
4845         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
4846         CHECK_FIND_CHILD macro to give informative error messages
4847         instead of silent returns.
4848
4849         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
4850         flag since we handle GdkReturn on the tabs.
4851
4852         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
4853         windows rather than sending expose events directly.
4854
4855         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
4856         definition for GtkNotebookPage into .c file, since it is private.
4857
4858         * gtk/testgtk.c (create_notebook): Add option for 
4859         testing borderless notebook.
4860
4861         * gtk/testgtk.c (page_switch): Removed egregious poking
4862         around in GTK+ internals.
4863
4864         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
4865
4866         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
4867         properly through gtk_clist_focus. Make the title headers a
4868         single item in the tab-focus chain, and make left-right wrap
4869         around.
4870
4871         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
4872         focus method so that wrapping around works properly.
4873
4874         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
4875         that is handled for the widget now. 
4876
4877 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
4878
4879         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
4880         widgets as TOPLEVEL.
4881
4882         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
4883         TOPLEVEL widgets are containers.
4884
4885         * gtk/gtkinvisible.h: Remove useless include.
4886
4887 2000-12-11  Havoc Pennington  <hp@redhat.com>
4888
4889         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
4890         Handle chopping off \r\n and 0x2029 in addition to \n before
4891         passing to PangoLayout
4892
4893         * gtk/gtkimcontextsimple.c
4894         (gtk_im_context_simple_get_preedit_string): 
4895         return an empty string if no match is pending
4896
4897         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
4898         assertion that the returned preedit string was sane
4899
4900         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
4901         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
4902         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
4903
4904 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
4905
4906         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
4907         Fix up finalizer to chain to its parent.
4908
4909 2000-12-11  Alexander Larsson  <alexl@redhat.com>
4910
4911         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
4912         Clearified the difference between the keyboard types. Wrote a note
4913         about the magic sysrq key to get out of raw mode.
4914
4915 2000-12-09  James Henstridge  <james@daa.com.au>
4916
4917         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
4918         member to hold masks for detecting the start of a protocol packet.
4919         (mouse_devs): add packet start masks for ps2 and ms device types.
4920         Left the mask for fidmour blank, as I have no idea what it should
4921         be.
4922         (handle_mouse_io): skip bytes until we get to the start of a
4923         packet.  My Logitech mouse seems to be passing an extra NULL pad
4924         byte, and GPM does a similar thing here.
4925         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
4926         this is the ms mouse driver.
4927         (gdk_fb_mouse_ms_packet): fix up button handling, which was
4928         completely broken except for button1.  It was checking the wrong
4929         bit in the packet for the status of the right mouse button, and
4930         wrongly assuming right == button2 rather than 3.  I fixed that and
4931         also added support for middle button (button2).
4932
4933 2000-12-08  Havoc Pennington  <hp@redhat.com>
4934
4935         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
4936         that cause a segfault on text insertion
4937
4938         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
4939         warning
4940
4941         * gtk/gtktextiter.c (test_log_attrs): use
4942         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
4943
4944         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
4945         Get log attrs for a line, using a cache stored on the buffer
4946         
4947         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
4948         reported by Jeff Franks
4949
4950 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4951
4952         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
4953         /dev/ttyS0 -> /dev/mouse
4954
4955 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4956
4957         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
4958         Added dummy gdk_fontset_load.
4959
4960 2000-12-08  Alexander Larsson  <alexl@redhat.com>
4961
4962         * docs/README.linux-fb:
4963         * docs/Makefile.am:
4964         Initial GtkFB docs.
4965         
4966         * gdk/linux-fb/Makefile.am:
4967         Define GDK_DATA_PREFIX.
4968
4969         * gdk/linux-fb/gdkmain-fb.c:
4970         Fix typo.
4971         Change default display to /dev/fb0.
4972
4973         * gdk/linux-fb/gdkpango-fb.c:
4974         Add $(prefix)/share/fonts/ to font path.
4975         
4976 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
4977
4978         * gdk/linux-fb/gdkkeyboard-fb.c:
4979         New file containing the abstracted keyboard driver. Most code
4980         taken from gdkinput-ps2.c
4981
4982         * gdk/linux-fb/gdkinput-ps2.c:
4983         Removed file.
4984         
4985         * gdk/linux-fb/Makefile.am:
4986         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
4987
4988         * gdk/linux-fb/gdkcolor-fb.c:
4989         display->fb was renamed to display->fb_fd.
4990
4991         * gdk/linux-fb/gdkcursor-fb.c:
4992         gdk_mouse_get_info -> gdk_fb_mouse_get_info
4993
4994         * gdk/linux-fb/gdkinput.c:
4995         Moved gdk_input_init here from gdkinput-ps2.c
4996
4997         * gdk/linux-fb/gdkmain-fb.c:
4998         display->fb was renamed to display->fb_fd.
4999         Now the tty and the console is opened here instead
5000         of in the keyboard driver. Also check GDK_VT to see what
5001         tty to open.
5002         Move gdk_beep () here from gdkinput-ps2.c
5003         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5004
5005         * gdk/linux-fb/gdkmouse-fb.c:
5006         Add header.
5007         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5008         Return correct keyboard modifiers.
5009         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
5010
5011         * gdk/linux-fb/gdkprivate-fb.h:
5012         Add tty and vt info to display.
5013         Add orignal modeinfo storage to display
5014         Update global functions
5015
5016         * gdk/linux-fb/gdkwindow-fb.c:
5017         Added gdk_fb_window_find_focus().
5018         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5019
5020 2000-12-07  Havoc Pennington  <hp@pobox.com>
5021
5022         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
5023         function, noticed by Alex
5024
5025 2000-12-06  Elliot Lee  <sopwith@redhat.com>
5026
5027         * configure.in: Detect freetype properly
5028
5029         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
5030         above.
5031
5032 2000-12-06  Alexander Larsson  <alexl@redhat.com>
5033
5034         * gdk/linux-fb/Makefile.am:
5035         Add gdkmouse-fb.c
5036         
5037         * gdk/linux-fb/gdkmouse-fb.c:
5038         New file. Abstracted the mouse drivers a bit.
5039
5040         * gdk/linux-fb/gdkcursor-fb.c:
5041         The cursor hide/show functions was moved here from gdkinput-ps2.c.
5042
5043         * gdk/linux-fb/gdkinput-ps2.c:
5044         Removed old mouse handling code. Moved cursor handling code
5045         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
5046         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
5047         gdk_mouse_get_info.
5048
5049         * gdk/linux-fb/gdkmain-fb.c:
5050         Pass NULL pointers for x,y in gdk_mouse_get_info call.
5051
5052         * gdk/linux-fb/gdkprivate-fb.h:
5053         Removed public gdk_fb_find_common_ancestor, added and renamed
5054         functions for the new mouse handling code.
5055
5056         * gdk/linux-fb/gdkwindow-fb.c:
5057         Moved gdk_fb_window_send_crossing_events here. added global
5058         variable gdk_fb_window_containing_pointer. made
5059         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
5060         renamed to gdk_mouse_get_info.
5061
5062 2000-12-06  Alexander Larsson  <alexl@redhat.com>
5063
5064         * gdk/linux-fb/gdkevents-fb.c:
5065         Update to match latest gmain/gsource changes.
5066
5067         * gdk/linux-fb/gdkinput-ps2.c:
5068         Bogus gdk_keymap_get_entries_for_keycode implementation so that
5069         it links. Will be implemented later.
5070
5071 2000-12-03  Havoc Pennington  <hp@pobox.com>
5072
5073         * gdk/Makefile.am: add gdkkeys.[hc]
5074
5075         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
5076         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
5077
5078         * acconfig.h, configure.in: add checks and command line options
5079         for XKB
5080
5081         * gdk/x11/gdkkeys-x11.c: Implement the above functions
5082         
5083         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
5084         and group in the key event
5085
5086         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
5087         field with the low-level hardware key code, and a group
5088         field with the keyboard group
5089
5090         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
5091         and declare a couple globals used for keymap handling
5092         
5093         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
5094         hold down Shift-Control and type a hex number to get a Unicode 
5095         character corresponding to the hex number
5096         (gtk_im_context_simple_get_preedit_string): Fix cursor position
5097         (return bytes not chars)
5098
5099 2000-12-05  Elliot Lee  <sopwith@redhat.com>
5100
5101         * gdk/gdkcolor.h: Make GdkColor specify element sizes
5102         to avoid waste on 64-bit platforms.
5103
5104 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
5105
5106         * INSTALL: Fix link to PNG home, remove reference
5107         to fribidi.
5108
5109         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
5110         
5111         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
5112         tested.)
5113
5114         * gtk/gtkcheckmenuitem.c: Permanently turn on
5115         always_show_toggle.
5116
5117         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
5118         be NULL. (Vladimir Klebanov, #26545)
5119
5120         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
5121         some signed/unsigned comparison problems. (#6510,
5122         David Kaelbling)
5123
5124         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
5125         return type to boolean (Oskar Liljeblad, #18648)
5126
5127 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5128
5129         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
5130         Remove bogus colormap setting.
5131
5132 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5133
5134         * gdk/linux-fb/gdkcolor-fb.c:
5135         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
5136
5137         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
5138         Must set colormap.
5139         
5140 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
5141
5142         * docs/tutorial/gtk-tut.sgml: DND updates
5143
5144 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
5145
5146         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5147         Remove old debug g_warning().
5148         (gdk_fb_draw_drawable): The src argument can be either a wrapper
5149         or an implementation, just pass the implementation to draw_drawable_2.
5150         
5151         * gdk/linux-fb/gdkprivate-fb.h:
5152         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
5153
5154         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5155         clear and invalidate area when window is destroyed.
5156         (send_map_events): Remove old commented out code.
5157
5158 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5159
5160         * gdk/linux-fb/gdkpango-fb.c:
5161         Use italic instead of oblique in font aliases.
5162         
5163         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
5164         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
5165         other unsupported functions.
5166
5167 2000-12-04  Havoc Pennington  <hp@redhat.com>
5168
5169         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
5170
5171         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
5172
5173         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
5174
5175         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
5176         hack to avoid infinite loops (synthetic expose event) - 
5177         Owen has more appropriate fixes in a branch he'll check in later.
5178
5179         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
5180         separator, CR, and CRLF as line ends
5181
5182         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
5183         into lines using pango_find_paragraph_boundary(); other bits of
5184         the widget are still going to be broken if the boundary isn't '\n'
5185         though
5186
5187 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5188
5189         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
5190         multiply.
5191
5192         * gdk/linux-fb/gdkpango-fb.c:
5193         Copied some 26.6 scaling macros from pango to clean up the rounding.
5194         (pango_fb_font_get_glyph_info): Correct sign on x value.
5195
5196         * gdk/linux-fb/gdkprivate-fb.h:
5197         Removed unreferenced external functions.
5198
5199         * modules/linux-fb/Makefile.am: Use ` instead of '.
5200
5201         * modules/linux-fb/basic.c:
5202         Remove dead code. In particular the dummy lang engine which broke all
5203         pango layouts in GtkFB. Don't include tables-big.i anymore.
5204
5205         * modules/linux-fb/tables-big.i:
5206         Upgrade to latest version from pango. Left for reference, basic_ranges
5207         moved to basic.c.
5208         
5209 2000-12-04  Havoc Pennington  <hp@redhat.com>
5210
5211         Fix bugs Alex found:
5212         
5213         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
5214         to "draw"
5215
5216         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
5217
5218         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
5219
5220         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
5221         implementation in here, apparently the expose() implementation was
5222         dead code.
5223
5224 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5225
5226         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5227         Return positive descent.
5228
5229 2000-12-02  Havoc Pennington  <hp@pobox.com>
5230
5231         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
5232         method and signal
5233         
5234         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
5235         calls gdk_window_process_updates() to push the exposes through
5236         (gtk_widget_class_init): No more draw signal, no
5237         gtk_widget_real_draw()  
5238         
5239         * gtk/gtkbin.c (gtk_bin_draw): remove
5240
5241         * gtk/gtkbox.c (gtk_box_draw): remove
5242
5243         * gtk/gtkbutton.c (gtk_button_draw): remove
5244
5245         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
5246
5247         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
5248
5249         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
5250
5251         * gtk/gtkclist.c (gtk_clist_draw): remove
5252
5253         * gtk/gtkentry.c (gtk_entry_draw): remove
5254
5255         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
5256
5257         * gtk/gtkfixed.c (gtk_fixed_draw): remove
5258
5259         * gtk/gtkframe.c (gtk_frame_draw): remove
5260
5261         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
5262
5263         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
5264
5265         * gtk/gtklayout.c (gtk_layout_draw): remove
5266
5267         * gtk/gtklist.c (gtk_list_draw): remove
5268
5269         * gtk/gtklistitem.c (gtk_list_item_draw): remove
5270
5271         * gtk/gtkmenu.c (gtk_menu_draw): remove
5272
5273         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
5274
5275         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
5276
5277         * gtk/gtknotebook.c (gtk_notebook_draw): remove
5278
5279         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
5280
5281         * gtk/gtkpacker.c (gtk_packer_draw): remove
5282
5283         * gtk/gtkrange.c (gtk_range_draw): remove
5284
5285         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
5286
5287         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
5288
5289         * gtk/gtktable.c (gtk_table_draw): remove
5290
5291         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
5292
5293         * gtk/gtktext.c (gtk_text_draw): remove
5294
5295         * gtk/gtktextview.c (gtk_text_view_draw): remove
5296
5297         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
5298
5299         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
5300
5301         * gtk/gtktree.c (gtk_tree_draw): remove
5302
5303         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
5304
5305         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
5306
5307         * gtk/gtkviewport.c (gtk_viewport_draw): remove
5308
5309         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
5310
5311         * gtk/gtkvscale.c (gtk_vscale_draw): remove
5312
5313         * gtk/gtkwindow.c (gtk_window_draw): remove
5314
5315 2000-20-01  Anders Carlsson  <andersca@gnu.org>
5316
5317         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
5318         a GtkToggleButton is both insensitive and active, it was being
5319         drawn by the GtkButton draw handler which doesn't check the
5320         state. Now it's calling gtk_toggle_button_paint instead.
5321         
5322 2000-12-01  Havoc Pennington  <hp@redhat.com>
5323
5324         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
5325         dangling pointers to the appearance attributes from the 
5326         line display
5327
5328         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
5329         width/height to mean "full width/height of drawable"
5330
5331         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
5332         click to select word/line
5333         
5334         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
5335         when getting log attrs. Get a slice, so that pixmaps and stuff
5336         are properly handled.
5337
5338         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
5339         paste into the selection (replaces selection now, previously
5340         crashed or added to selection). Reveals longstanding btree bug -
5341         select multiple lines, middle-click on the selection, boom. This
5342         isn't related to my changes though.
5343
5344         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
5345         PangoLogAttrs changes
5346         (gtk_entry_move_backward_word): ditto
5347
5348         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
5349         functions return bool whether the iter moved onto a
5350         dereferenceable position.
5351  
5352         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
5353         functions for motion in terms of display lines.
5354
5355         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
5356         get the buffer a mark is inside
5357         
5358 2000-12-01  Alexander Larsson  <alexl@redhat.com>
5359
5360         * gdk/linux-fb/Makefile.am:
5361         * modules/linux-fb/Makefile.am:
5362         Freetype 2 final uses freetype-config
5363
5364         * gdk/linux-fb/gdkpango-fb.c:
5365         Upgrade to use Freetype 2 final.
5366         More flexible support for font aliases, this also fixes a bug with
5367         GtkFontSelector, as the aliases must be visible in the font/family list,
5368         or GtkFontSelector reads uninitialized memory.
5369
5370 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
5371
5372         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
5373         XGetIMValues to properly terminate variable argument list, and do
5374         NULL return check for ic_values and xim_styles.
5375
5376         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
5377         Restore preedit state after XmbResetIC().
5378         
5379         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
5380         XvaCreateNestedList() should take XvaNestedList, but not
5381         XvaNestedList*.
5382
5383         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
5384         preedit_draw_callback, preedit_caret_callback): Match
5385         "preedit-changed" signal name to "preedit_changed" to be
5386         consistent to the spec.
5387
5388         * gtk/gtkimcontextsimple.c (check_table):
5389         Match "preedit-changed" to "preedit_changed" to be consistent
5390         to the spec.
5391
5392 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
5393
5394         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
5395         gc->clip_region == NULL>
5396
5397 2000-11-30  Tor Lillqvist  <tml@iki.fi>
5398
5399         Changes by Hans Breuer:
5400         
5401         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
5402         Dont't use negative width and height as max_hints. This fixes
5403         Owen's recent testgtk changes for win32.
5404
5405         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
5406         gdk_win32_hdc_release): These are exported and may be called with
5407         other drawable types than our GdkDrawableImplWin32 (?).
5408
5409         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
5410         so always #define USE_BACKING_STORE.
5411
5412         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
5413         of printf for debugging output.
5414
5415         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
5416         
5417         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
5418
5419         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
5420         declaration.
5421
5422         * gtk/gtktexttypes.h: Ditto.
5423
5424         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
5425         (GDK_VoidSymbol) also if in case of arg check failure.
5426
5427         * gtk/gtkimcontextsimple.c
5428         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
5429         position to the pointer, but to the variable it points to.
5430
5431         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
5432
5433         * gtk/gtk.def: Updates.
5434
5435 2000-11-29  Elliot Lee  <sopwith@redhat.com>
5436
5437         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
5438         GTK_TYPE_TREE_MODEL.
5439
5440 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5441
5442         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
5443         Set the size of the font from the description.
5444         (gdk_text_width): Gross hack that calculates the width
5445         of text by text_length * size/2. This is necessary because
5446         GtkLabel does some ugly gtk_string_width call to calculate
5447         an good size.
5448         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
5449
5450 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
5451
5452         * docs/tutorial/gtk-tut.sgml: DND updates
5453
5454 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5455
5456         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
5457         If you pass width or height == 0 to gdk_window_clear_area they
5458         should be calculated from the window size.
5459
5460 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5461
5462         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
5463         a grab, but no grab-cursor, use the cursor from the grabbed
5464         window. (gdk_fb_window_send_crossing_events): Send normal
5465         enter/leave notifications if grab and owner_events == TRUE.
5466
5467 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5468
5469         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5470         Do implicit button grabs, even if the window doesn't
5471         want the event.
5472         (gdk_fb_window_send_crossing_events): If there is a
5473         grab, only the grabbed window gets normal enter/leave
5474         notifications. On ungrab go from grabbed window to current.
5475         Don't send any notification to b when propagating from c -> b.
5476         If setting a grab on window, don't set prev_window.
5477         (handle_mouse_input): Send enter/leave events to the window the
5478         mouse is over, not the grabbed one.
5479         
5480 2000-11-28  Elliot Lee  <sopwith@redhat.com>
5481
5482         * gdk/gdkregion-generic.c: Zap warning.
5483         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
5484         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
5485
5486 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
5487
5488         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5489         The cursor should be hidden if it is part of either the
5490         source or destination region. Not only if it is in both.
5491         (gdk_window_set_transient_for): Silence warnings.
5492
5493 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5494
5495         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
5496         The default mode in X is Pie Arcs, therefore that is
5497         what Gtk+ uses.
5498
5499 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5500
5501         * gdk/linux-fb/gdkinput-ps2.c:
5502         Implement correct EnterNotify/LeaveNotify:
5503         (gdk_fb_window_send_crossing_events): New function that sends
5504         all GdkCrossingEvents from the last mouse-window to the specified
5505         destination.
5506         (gdk_fb_window_visibility_crossing): Removed function.
5507         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
5508         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
5509         instead of gdk_window_get_pointer() for better readability.
5510
5511         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
5512         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
5513
5514         * gdk/linux-fb/gdkprivate-fb.h:
5515         removed gdk_fb_window_visibility_crossing, added
5516         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
5517
5518         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
5519         New function that finds the least common ancestor of two windows.
5520         (gdk_window_show, gdk_window_hide):
5521         Use gdk_fb_window_send_crossing_events.
5522         (gdk_fb_window_move_resize): Send configure events to toplevel
5523         windows. Use gdk_fb_window_send_crossing_events.
5524
5525 2000-11-27  Havoc Pennington  <hp@redhat.com>
5526
5527         * gtk/gtkprivate.h (enum): Remove a trailing comma
5528
5529 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
5530
5531         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
5532         the "changed" callback of the adjustment.  We need to redraw the
5533         spin button's arrows when the adjustment's range changes.
5534         (adjustment_changed_cb): Draw the arrows.
5535         (gtk_spin_button_value_changed): Draw the arrows.
5536
5537 2000-11-23  Alexander Larsson  <alexl@redhat.com>
5538
5539         * gdk/linux-fb/gdkselection-fb.c:
5540         Initial selection implementation.
5541
5542         * gtk/gtkselection.c:
5543         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
5544         requestor in gtk_selection_request.
5545         
5546         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
5547         Added gdk_selection_property atom.
5548
5549         * gdk/linux-fb/gdkprivate-fb.h:
5550         Export _gdk_selection_window_destroyed.
5551         Removed mask_off_x/y from GdkCursorPrivateFB.
5552         Removed hbearing, added top, left to PangoFBGlyphInfo.
5553
5554         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5555         Call _gdk_selection_window_destroyed
5556         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
5557         the root window has been created.
5558         (static_dx_hack, static_dy_hack, compare_draw_rects,
5559         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
5560         in region. They are already sorted. Instead just traverse them in
5561         reverse if draw_direction < 0.
5562         
5563         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5564         Double-clicks must be sent after the normal button_press.
5565         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
5566         
5567         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
5568         Pass _gdk_fb_screen_gc instead of NULL.
5569
5570         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
5571         Initialize gdk_selection_property.
5572         (gdk_event_make): Remove unused code.
5573
5574         * gdk/linux-fb/gdkcursor-fb.c:
5575         Make the pixmap for the cursor the same size as the mask. Also remove
5576         the mask_off_x/y fields in GdkCursorPrivateFB and combine
5577         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
5578         Now the whole cursor is visible.
5579
5580         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5581         Fix bug where xdest+height instead of ydest+height was used
5582         to calculate if the source and dest overlapped. This fixes the
5583         redraw bug when the main window in testgtk was scrolled when
5584         partially covered by a tall window.
5585         Copy rectangles in region in order depending on draw_direction.
5586         Also moved the draw_direction flipping of start_y and end_y into
5587         the gc functions, as this might not be what all of them want.
5588         (gdk_fb_draw_lines): Support dashed lines.
5589         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
5590         so that the text is positioned correctly (was 1 pixel high).
5591
5592         gdk/linux-fb/gdkgc-fb.c:
5593         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
5594         all lines were drawn a pixel to short. Also checked the default of
5595         the rest of the values, and they're the same as X now.
5596
5597         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
5598         Clean up pixel positioning of the glyphs. Just use bgy->top and
5599         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
5600         to all divisions to get correct rounding behaviour.
5601
5602         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
5603         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
5604         Moved start_y/end_y flip into draw_drawable implementations.
5605         Flip also x rendering when draw_direction < 0.
5606         Remove unneccesary multiply with draw_direction.
5607
5608 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
5609
5610         * docs/tutorial/gtk-tut.sgml:
5611           - get rid of gtk_toggle_button_toggled FUD
5612           - start DND section - needs work - based on:
5613                 http://wolfpack.twu.net/docs/gtkdnd/
5614
5615 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5616
5617         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5618         Correct calculation of font metrics. Now GtkEntrys have sane
5619         size.
5620
5621 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5622
5623         * gdk/gdktypes.h:
5624         Add new type GdkSpan
5625         
5626         * docs/reference/gdk/gdk-sections.txt,
5627         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
5628         gdk/gdkregion.h:
5629         Implement and document gdk_region_spans_intersect_foreach.
5630
5631         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
5632         Add new file gdkrender-fb.c which contains all core
5633         rendering code.
5634         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
5635         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
5636         (optimized rectangle fillers).
5637
5638         * gdk/linux-fb/gdkdrawable-fb2.c:
5639         Move all rendering code to gdkrender-fb.c.
5640         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
5641         Use the new span intersection functions in gdk_fb_fill_spans.
5642         gdk_fb_draw_rectangle() clips filled rectangles and calls
5643         gc->fill_rectangle with the result.
5644         gdk_fb_fill_spans() gets extra argument "sorted".
5645
5646         * gdk/linux-fb/gdkevents-fb.c:
5647         Remove unused includes and defines.
5648         New function gdk_fb_get_time() to get correct time for events.
5649
5650         * gdk/linux-fb/gdkinput-ps2.c:
5651         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
5652         Make sure to set the time of all events.
5653
5654         * gdk/linux-fb/gdkmain-fb.c:
5655         Use gdk_fb_get_time ().
5656
5657         * gdk/linux-fb/gdkprivate-fb.h:
5658         New virtual GC calls: fill_span & fill_rectangle.
5659         Export gdk_fb_get_time().
5660         gdk_fb_fill_spans() gets extra argument "sorted".
5661
5662         * gdk/linux-fb/mi*.c:
5663         Use GdkSpan instead of GdkRectangle.
5664         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
5665         from XFree 4 source)
5666         
5667 2000-11-22    <jrb@redhat.com>
5668
5669         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
5670         reversing the order in an if statement will do.  Doing so managed
5671         to make the treemodelsort half work.  Other half will follow after
5672         I get the insert function fully fixed.
5673
5674 2000-11-21  Elliot Lee  <sopwith@redhat.com>
5675         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
5676         more than 2 bits. Besides, I need to implement an evil hack. :)
5677
5678 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
5679
5680         * docs/tutorial/gtk-tut.sgml: minor corrections
5681
5682 2000-11-20  Jonathan Blandford <jrb@redhat.com>
5683         * gtk/gtktreemodelsort.h: Add convertion functions to let you
5684           convert to and from relative path's and iters.
5685
5686         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
5687           testing sorting functions a bit better.  Currently broken -- will
5688           fix in morning.
5689
5690 2000-11-20  Havoc Pennington  <hp@redhat.com>
5691
5692         * gtk/gtkwidget.c: Documented a bunch of functions in here
5693         (gtk_widget_realize): Warn if you try to realize
5694         a widget with no parent that isn't a toplevel
5695         (gtk_widget_intersect): return a gboolean
5696
5697 2000-11-20  Havoc Pennington  <hp@redhat.com>
5698
5699         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
5700         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
5701         scrolling to be implemented in GDK to finish. Also, right now
5702         we just size_allocate all children on every layout change,
5703         which is pretty lame. Test commented out of testtext.c, 
5704         until it works better.
5705
5706 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
5707
5708         * gdk/linux-fb/gdkdrawable-fb2.c:
5709         Removed unused arguments from gdk_fb_drawable_get_pixel().
5710
5711         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
5712         Renamed fidur specific mouse packet data in MouseDevice to
5713         generic. Used it in ps2 mouse handling code to avoid blocking
5714         reads.
5715
5716 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
5717
5718         * demos/gtk-demo/main.c: Changed to have the list become
5719         non-italic when the demo window is destroyed through an external
5720         event (like a close button).  Doing so found three bugs in the
5721         widget.
5722
5723         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
5724
5725         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
5726         we actually set the cell.
5727
5728         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
5729
5730         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
5731         free a leaked path.  Thanks memprof.
5732
5733 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
5734
5735         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
5736         off-by-one error when destroying allocated segments
5737         on failure. (Elliot)
5738
5739 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
5740
5741         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
5742         memleaks found by Evan Martin.
5743
5744 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
5745
5746         * Released 1.3.2
5747         
5748         * NEWS: Updates for 1.3.2
5749
5750 2000-11-17  Tor Lillqvist  <tml@iki.fi>
5751
5752         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
5753         but in general for window system specific events.
5754
5755         * gtk/gtk.def
5756         * gtk/makefile.mingw.in
5757         * gtk/makefile.msc.in: Update.
5758         
5759         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
5760
5761 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
5762
5763         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
5764         distribute gtk.immodules.
5765
5766         * gtk/Makefile.am (install-data-local): Don't install the
5767         gtk.immodules file created for the uninstalled modules;
5768         instead run gtk-query-immodules after install
5769
5770 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
5771
5772         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
5773         -rpath to the right install location.
5774
5775         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
5776         -export-dynamic.
5777
5778         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
5779         properly.
5780
5781 2000-11-15  Havoc Pennington  <hp@pobox.com>
5782
5783         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
5784         patch from Mikael Hermansson to temporarily stop blinking while
5785         the user is using the keyboard to type or navigate. 
5786
5787         Also, when blinking, stay on for longer than we stay off. Also,
5788         return from start_cursor_blink if !cursor_visible, to save
5789         checking that flag all over the place before we call
5790         start_cursor_blink.
5791
5792 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
5793
5794         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
5795         only contain a "fontset" line, which is now ignored.
5796
5797         * gtk/gtkentry.c (gtk_entry_button_release): Make 
5798         double-click-to-select-word work.
5799         
5800 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
5801
5802         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
5803         Don't move back one char when we are actually at the end of the 
5804         paragraph.
5805
5806 2000-11-15  Robert Brady  <robert@suse.co.uk>
5807
5808         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
5809         'o' < 'p'.
5810         
5811         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
5812         bind_textdomain_codeset.
5813
5814         (gtk_init_check): Make the warning about translating default:LTR
5815         sterner.
5816         
5817 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
5818
5819         * **/Makefile.am : remove unecessary rules for win32-specific
5820         config-substituted targets. If you want these rules, use
5821         --enable-maintainer-mode (called automatically by autogen.sh).
5822         Stops a lot of unneccessary make-time warnings.
5823
5824         * gtk/gtktext{layout,display}.c: Factor in total width as
5825         well as screen when figuring alignment for word-wrap as well as
5826         no wrap; this is necessary to handle lines that cannot be wrapped
5827         at all.
5828
5829 2000-11-15  Havoc Pennington  <hp@redhat.com>
5830
5831         * gtk/testtext.c: Implement essential color cycling feature
5832
5833 2000-11-15  Havoc Pennington  <hp@redhat.com>
5834
5835         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
5836         when we invalidate the main window.
5837
5838         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
5839         GtkTextView will now invalidate the side windows for us when text
5840         changes.
5841
5842 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
5843
5844         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
5845         unconditionally, since we may need to update the horizontal
5846         scrollbars even if the height didn't change.
5847
5848         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
5849         the extra attrs, since some of them affect size.
5850
5851         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
5852         x_offset correctly.
5853
5854 2000-11-15  Havoc Pennington  <hp@redhat.com>
5855
5856         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
5857         don't move the first line out into the margin, instead move the
5858         whole paragraph in order to make space for the first line within 
5859         the margin
5860
5861 2000-11-15  Havoc Pennington  <hp@redhat.com>
5862
5863         * gtk/gtktextview.c (changed_handler): offset redraw rect by
5864         xoffset in addition to yoffset, so horizontal scrolling doesn't
5865         break redraws
5866
5867 2000-11-15  Havoc Pennington  <hp@redhat.com>
5868
5869         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
5870         from the cursor
5871         (render_layout_line): fix reversed test that caused weird
5872         underlines to get drawn
5873
5874 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5875
5876         * gdk/linux-fb/gdkprivate-fb.h:
5877         Fix debug macros.
5878         
5879 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
5880
5881         * gdk/linux-fb/gdkprivate-fb.h:
5882         Added virtual functions set_pixel, get_color,
5883         fill_span and draw_drawable to the GC.
5884         Added global _gdk_fb_screen_gc to use instead of
5885         NULL when drawing to the screen.
5886         Added _gdk_fb_gc_calc_state() prototype.
5887
5888         * gdk/linux-fb/gdkgc-fb.c:
5889         Call _gdk_fb_gc_calc_state() on any gc state change.
5890
5891         * gdk/linux-fb/gdkglobals-fb.c:
5892         Add _gdk_fb_screen_gc
5893                 
5894         * gdk/linux-fb/gdkdrawable-fb2.c:
5895         _gdk_fb_gc_calc_state() calculates best functions
5896         for the GC state and depth.
5897         Moved bpp specialized code to separate functions.
5898         Added optimized 24 bpp AA draw_drawable.
5899
5900         * gdk/linux-fb/gdkevents-fb.c:
5901         Silence gcc warning.
5902
5903         * gdk/linux-fb/gdkimage-fb.c:
5904         Use _gdk_fb_screen_gc
5905
5906         * gdk/linux-fb/gdkwindow-fb.c:
5907         Init and use _gdk_fb_screen_gc
5908
5909         * gdk/linux-fb/mitypes.h:
5910         Remove unused types.
5911
5912 2000-11-14  Havoc Pennington  <hp@pobox.com>
5913
5914         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
5915         to pixels
5916
5917 2000-11-14  Havoc Pennington  <hp@pobox.com>
5918
5919         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
5920
5921         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
5922         unknown char, no real reason we were using a variable. 
5923         Remove gtk_text_unknown_char variable. Fix all the text widget
5924         files accordingly.
5925
5926         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
5927         since the Unicode spec seems to prefer that character for our
5928         purposes.
5929
5930 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
5931
5932         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
5933         value of g_getenv() isn't freeable, so g_strdup it.
5934
5935         * modules/input/inuktitut.c: Inuktitut input method.
5936
5937         * modules/input/Makefile.am: Build this.
5938         
5939 2000-11-14  Elliot Lee  <sopwith@redhat.com>
5940
5941         * gtk/Makefile.am: Install gtk.immodules, needed for operation
5942         of gtk programs.
5943
5944 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
5945
5946         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
5947         reversed > that was causing Home to go to end of previous line.
5948
5949         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
5950         modified-keypresses (leave for bindings.)
5951
5952         * modules/input/Makefile.am: Remove useless -export-dynamic
5953         from module LDFLAGS.
5954
5955 2000-11-14  Havoc Pennington  <hp@redhat.com>
5956
5957         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
5958         higher.
5959
5960         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
5961         account. Also, render rise, underline, background, etc. for
5962         pixbufs as well as text. Also, draw underlines one pixel higher.
5963
5964         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
5965         PangoAttribute for the rise, so it gets drawn properly. Also,
5966         add the GtkTextAppearance attribute for pixbuf/widget segments
5967         as well; we should go ahead and have rise, underline, background,
5968         stipple work for those
5969
5970         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
5971         Pango
5972
5973 2000-11-15  Tor Lillqvist  <tml@iki.fi>
5974
5975         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
5976
5977         * gtk/gtk.def: Update.
5978
5979         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
5980         included.
5981         (gtk_rc_get_im_module_file): Use run-time installation directory
5982         on Win32.
5983
5984         * gdk/win32/rc/gdk.rc: Remove.
5985         * gdk/win32/rc/gdk.rc.in: New file.
5986         * gdk/win32/rc/Makefile.am: New file
5987         * gdk/win32/Makefile.am: Corresponding changes.
5988
5989         * gtk/gtk.rc: Remove.
5990         * gtk/gtk-win32.rc.in: New file.
5991         * gtk/Makefile.am: Corresponding changes.
5992
5993         * configure.in: Corresponding changes.
5994
5995         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
5996         has a built gtkcompat.h. Developers using CVS code on Win32 can
5997         hand-edit it from gtkcompat.h.in.
5998
5999         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
6000         gtkcompat.h from gtkcompat.h.win32.
6001
6002 2000-11-14  Havoc Pennington  <hp@redhat.com>
6003
6004         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
6005         to default to GDK_ACTION_MOVE if the drag is within a single
6006         widget. Defaults to GDK_ACTION_COPY between widgets.
6007
6008 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
6009
6010         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
6011
6012         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
6013
6014         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
6015         srcdir != builddir
6016
6017         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
6018
6019         * configure.in (GTK_VERSION): Up to 1.3.2
6020
6021         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
6022         gtkimcontextxim.h
6023
6024         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
6025         missing doc comment.
6026
6027 2000-11-14  Alexander Larsson  <alexl@redhat.com>
6028
6029         * modules/linux-fb/basic.c:
6030         Use the glib iconv wrappers.
6031
6032 2000-11-13  Havoc Pennington  <hp@pobox.com>
6033
6034         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
6035         still more bugs.
6036
6037         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
6038         scroll the GdkWindows before realization.
6039
6040 2000-11-13  Havoc Pennington  <hp@redhat.com>
6041
6042         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
6043         where GC didn't always get updated properly
6044
6045         * demos/gtk-demo/textview.c (create_tags): Use subattributes
6046         of fonts instead of setting the entire font
6047
6048         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
6049         setting entire font
6050
6051         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
6052
6053         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
6054         a bunch of individually-settable font attributes. You can still 
6055         use the "font" and "font_desc" args, they just set all the font
6056         attributes at once.
6057
6058 2000-11-13 Elliot Lee <sopwith@redhat.com>
6059
6060         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
6061
6062 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
6063
6064         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
6065         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
6066
6067         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
6068         work better.
6069
6070 2000-11-13  Havoc Pennington  <hp@redhat.com>
6071
6072         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
6073         the module file.
6074
6075         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
6076         dest->language
6077
6078         * gtk/testtext.c: Test pixels above/below/inside paragraphs
6079         settings
6080
6081         * gtk/gtktextview.c: Implement object args and setters/getters for
6082         all the aspects of the GtkTextAttributes that are not set from
6083         GtkWidget attributes. This is spacing, justification, margins,
6084         etc.
6085
6086         (gtk_text_view_set_arg)
6087         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
6088         args
6089         (gtk_text_view_class_init): Add args for justify, left_margin,
6090         right_margin, indent, and tabs
6091         
6092
6093         * gtk/gtktextlayout.c (set_para_values): fix to display indent
6094         attribute properly
6095
6096         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
6097         replace with indent attribute
6098
6099         * gtk/gtktextlayout.c (set_para_values): multiply indent by
6100         PANGO_SCALE
6101
6102         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
6103         rearranging code to do that
6104         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
6105         i.e. don't subtract the top_margin first, just to keep
6106         all margin-futzing in one place.
6107
6108         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
6109
6110         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
6111         special case of last line, Pango now handles this itself.
6112         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
6113         Y coordinate
6114         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
6115         (find_display_line_above): wasn't moving the byte index as it
6116         iterated over lines, so always returned byte 0. Also, port to use
6117         PangoLayoutIter.
6118         (find_display_line_below): same problem as
6119         find_display_line_above. Also, port to use PangoLayoutIter.
6120
6121 2000-11-13  Alexander Larsson  <alexl@redhat.com>
6122
6123         * gdk/linux-fb/*.[ch]:
6124         Massive reindent to gtk+ standard. My hands hurt.
6125
6126         * gdk/linux-fb/gdkcolor-fb.c:
6127         Move GdkColorPrivateFB from inherited to windowing_data
6128
6129         * gdk/linux-fb/gdkcursor-fb.c:
6130         _gdk_cursor_new_from_pixmap made static
6131
6132         * gdk/linux-fb/gdkdnd-fb.c:
6133         GdkDragContextPrivate moved to windowing_data
6134
6135         * gdk/linux-fb/gdkdrawable-fb2.c:
6136         Removed endian.h, use glib endianness macros instead
6137         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
6138         and GDK_DRAWABLE_IMPL_FBDATA
6139
6140         * gdk/linux-fb/gdkfont-fb.c:
6141         Add empty gdk_font_load(). Needed for linking of Gtk+.
6142
6143         * gdk/linux-fb/gdkimage-fb.c:
6144         Removed endian.h, use glib endianness macros instead
6145         Moved GdkImagePrivateFB to windowing_data
6146         gdk_image_new_bitmap didn't always allocate enough
6147         memory.
6148
6149         * gdk/linux-fb/gdkinput-ps2.c:
6150         Added semi-working support for MS serial mice.
6151
6152         * gdk/linux-fb/gdkprivate-fb.h:
6153         s/GdkWindowPrivate/GdkWindowObject/
6154         Removed GdkWindowPrivate typedef
6155         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
6156         Removed GDK_DRAWABLE_P
6157         Move GdkColorPrivateFB from inherited to windowing_data
6158         Moved GdkImagePrivateFB to windowing_data
6159
6160         * gdk/linux-fb/gdkvisual-fb.c:
6161         Removed some unused debug code.
6162
6163         * gdk/linux-fb/gdkwindow-fb.c:
6164         Use stock cursors instead of including X headers.
6165         s/GdkWindowPrivate/GdkWindowObject/
6166
6167         * gdk/linux-fb/mitypes.h:
6168         Removed unused types.
6169
6170         * modules/linux-fb/basic.c:
6171         Use the pango fribidi wrappers.
6172
6173 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6174
6175         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
6176         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
6177         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
6178         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
6179         GEqualFunc where applicable.
6180         
6181         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
6182         pango_font_description_equal as changed in pango.
6183         
6184         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
6185
6186         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
6187
6188         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
6189
6190         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
6191
6192         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
6193
6194         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
6195
6196         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
6197         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
6198
6199         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
6200         gtk_rc_styles_compare -> gtk_rc_styles_equal.
6201
6202 2000-11-12  Havoc Pennington  <hp@pobox.com>
6203
6204         * demos/gtk-demo/Makefile.am (democodedir): change demo install
6205         dir to datadir/gtk+-2.0/demo
6206
6207         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
6208         sorts of text widget and Pango font bugs. Urgh.
6209
6210         * demos/gtk-demo/Makefile.am (demos): Add textview.c
6211
6212         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
6213         tree that you should double click to see the demo. Fix 
6214         types of variables to reflect changed return values from 
6215         GtkTreeStore and GtkTreeViewColumn constructors.
6216
6217         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
6218         newly-created buffer to prepare for GObject semantics
6219
6220         * gtk/testtext.c: don't leak the buffer with GObject semantics
6221
6222         * gtk/testtextbuffer.c: ditto
6223         
6224 2000-11-12  Havoc Pennington  <hp@pobox.com>
6225
6226         Rename this testgtk to gtk-demo to avoid confusion, and 
6227         install it so people can use it as a supplement to 
6228         the documentation.
6229         
6230         * demos/gtk-demo: Moved from demos/testgtk
6231
6232         * demos/testgtk: Removed
6233
6234         * configure.in: make Makefile in gtk-demo
6235         
6236         * demos/gtk-demo/Makefile.am: Install sample source to 
6237         datadir/gtk-demo (maybe there's a better place?), and 
6238         rename the binary to gtk-demo
6239         
6240         * demos/gtk-demo/main.c (load_file): Load installed sample
6241         source if source isn't found in pwd.
6242
6243 2000-11-09  Havoc Pennington  <hp@pobox.com>
6244
6245         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
6246         argument to set the char displayed when visibility == FALSE
6247         (gtk_entry_create_layout): If !entry->visible, replace 
6248         all chars with the "invisible char"
6249
6250         * gtk/testgtk.c: Test the invisible_char deal
6251         
6252 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
6253
6254         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
6255         can't get a native font in the right encoding.
6256
6257 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
6258
6259         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
6260         respectively.
6261
6262 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
6263
6264         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
6265         Fix warning when moving between paragraphs.
6266
6267         * gtk/gtkentry.[ch]: Change move => move_cursor, 
6268         delete => delete_from_cursor, insert => insert_at_cursor
6269
6270 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
6271
6272         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
6273
6274         * modules/input/imthai-broken.c: A Thai input method for use if
6275         Thai keys are really generating Latin1 keysyms.
6276
6277         * modules/input/Makefile.am: Build these.
6278
6279 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
6280
6281         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
6282         g_filename_{to,from}_utf8 now takes an extra parameter.
6283
6284         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
6285         strftime into UTF-8.
6286
6287         (column_from_x, gtk_calendar_paint_day_names): Support RTL
6288         calendars.
6289
6290         (gtk_calendar_paint_day_names): Draw day names in the right 
6291         place.
6292         
6293 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
6294
6295         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
6296         problem with using result of g_get_charset() backwards -
6297         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
6298
6299         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
6300         negative min_width/height and max_width/height to
6301         mean "requisition"; this allows setting a window
6302         to be user-resizable in only one direction easily.
6303
6304         * gtk/testgtk.c (create_main_window): Remove hard-coded
6305         usize - set a default size in the vertical direction.
6306
6307 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
6308
6309         * gtk/gtkrange.c: Add some missing casts. Support 
6310         2 and 3 button clicks on the arrows to mean 
6311         "move by pages" and "jump to end". (Like gtkspinbutton)
6312
6313 2000-11-12 Hans Breuer <Hans@Breuer.Org>
6314
6315         * gdk/win32/makefile.msc : reflect build module changes
6316
6317         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
6318         from GdkPixmap*, cast implementation member instead.
6319
6320         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
6321         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
6322         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
6323         more Gdi functions return value checking. 
6324         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
6325         GdkImagePrivateWin32 *.
6326
6327         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
6328         menus useable again. Add #pragma message to keep reminded on this issue.
6329         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
6330         windows. This allows to enable backing store on Win32!
6331
6332         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
6333         in drawable is of impl type. Correct specific type checks appropriate.
6334  
6335         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
6336         GDK_WINDOW_DESTROYED before allocating new resources.
6337
6338         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
6339
6340         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
6341         (gdk_window_foreign_new) initialize parent handle.
6342         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
6343
6344         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
6345         Let the GDI invalidate the window on MoveWindow call to fix scrolling
6346         problems (e.g. main buttons in testgtk). 
6347
6348 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
6349
6350         * gtk/gtkentry.c (gtk_entry_key_press): Call 
6351         gtk_widget_activate for GDK_Return.
6352
6353         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
6354         of preedit cursor position.
6355
6356 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
6357
6358         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
6359         static.
6360
6361 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
6362
6363         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
6364         out support for multiple locales; that simple doesn't
6365         work reliably with current Xlib
6366
6367         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
6368         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
6369         Add support for positioning the cursor within the preedit string.
6370
6371 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
6372
6373         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
6374         at XIM input method module.
6375
6376         * gtk/gtktextview.c: Check for bindings after passing
6377         events to im context filter.
6378
6379 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
6380
6381         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
6382         empty attribute lists properly.
6383
6384 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
6385
6386         * gtk/queryimmodules.c (main): Return non-zero exit
6387         status if errors were encountered querying any
6388         modules.
6389
6390         * modules/input/Makefile.am (moduledir): remove
6391         leftover bin program target.
6392
6393         * docs/make-todo: Fix typo in error message.
6394
6395 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
6396
6397         * configure.in: Add modules/input/Makefile
6398
6399 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
6400
6401         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
6402         don't include gtkthemes.h.
6403
6404         * gtk/testgtk.c gtk/testtext.c: Set environment variables
6405         to point
6406
6407         * gtk/Makefile.am: Add new .c and .h files, build 
6408         gtk-query-immodules and use it to create a gtk.immodules
6409         file for use of test programs.
6410
6411         * gtk/gtkpreview.c: remove extra blank line.
6412
6413 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
6414
6415         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
6416         Add the ability to add extra tables beyond the default
6417         one, and also the ability to have compose sequences 
6418         that are prefixes of other compose sequences. 
6419
6420         * gtk/gtkimcontextsimple.c: Export a preedit string which
6421         consists of possible candidates for keystrokes that have
6422         been entered but not yet committed.
6423
6424         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
6425         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
6426
6427         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
6428         Add a function to add input-method switching menu items
6429         to a menu.
6430
6431         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
6432         when switching input methods.
6433
6434         * gtk/gtkimcontextsimple.[ch]: Change the format of
6435         the compose table to allow compose tables of different
6436         lengths / sequence.
6437
6438 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
6439
6440         * gtk/gtkimmodule.[ch]: Support routines for loading
6441         GtkIMContext implementations dynamically at runtime.
6442
6443         * modules/input/imcyrillic-translit.c: A sample input
6444         method (based on GtkIMContextSimple with an extra table),
6445         which demonstrates preedit strings and the module
6446         system for input modules
6447
6448         * gtk/queryimmodules.c: Program to query the available
6449         input modules and write the results into a file.
6450          
6451         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
6452         extra config options "im_module_file" (cache file for
6453         input method modules), and "im_module_path" - path
6454         to look for modules when generating cache file.
6455
6456         This doesn't scale.
6457
6458 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
6459
6460         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
6461         generic code from gtkthemes into a new abstraction
6462         GtkModule which has the logic for implementing
6463         a loadable module which implements a number of 
6464         GObject types.
6465
6466 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
6467
6468         * gtk/gtkeditable.[ch]: Convert GtkEditable from
6469         a class into an interface  
6470         
6471         * gtk/gtkoldeditable.[ch]: Move the old editable
6472         implementation into here, so legacy widgets can
6473         still rely on the implemenation. GtkOldEditable
6474         exports GtkEditable. Make selection handling
6475         code use new text conversion functions (and
6476         handle UTF-8 as a side-effect). Use GtkClipboard
6477         for CLIPBOARD.
6478
6479         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
6480         Adopt to match above changes.
6481
6482         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
6483         avoid GtkOldEditable implementation. Restructure
6484         to reduce number of places that modify state directly.
6485         Move to GtkBindingSet. Display the preedit string.
6486         Queue recomputation of PangoLayout and scroll position
6487         to improve effiency of doing complex changes naively.
6488         Add a menu with cut/copy/paste and input method selection.
6489
6490 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
6491
6492         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
6493         to set preedit string and attributes; display preedit string by
6494         inserting string and attributes at cursor when creating the
6495         GtkTextLineDisplay.
6496
6497         * gtk/gtktextlayout.c: Move all conversions between byte
6498         positions in PangoLayout and GtkTextIter into new functions
6499         line_display_iter_to_index/index_to_iter that properly
6500         handle the preedit string.
6501
6502         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
6503         it to return const char * (eventually will end up
6504         as GCONST char *, most likely.)
6505
6506         * gtk/gtktextview.[ch]: Handle the preedit string, call
6507         gtk_im_context_reset() as necessary, add a menu to switch
6508         input methods.
6509         
6510         * gtk/gtktextlayout.[ch]: Remove useless
6511         gtk_text_layout_get_log_attrs() function.
6512
6513 2000-11-11  Tor Lillqvist  <tml@iki.fi>
6514
6515         * gdk/gdk.def
6516         * gtk/gtk.def: Update.
6517
6518         * gdk/win32/*.c: Add last argument to g_type_register_static()
6519         calls.
6520
6521         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
6522
6523         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
6524         generated by older wheel mouse drivers. Get the correct y
6525         coordinate from WM_MOUSEWHEEL messages.
6526
6527         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
6528         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
6529         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
6530         Debugging functions.
6531
6532         * gdk/win32/gdkprivate-win32.h: Declare them.
6533
6534         * gdk/win32/gdkinput-win32.h: Add declaration for
6535         gdk_input_window_destroy().
6536
6537         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
6538
6539 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
6540
6541         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
6542         function to help handle keeping things in sync.
6543
6544 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
6545
6546         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
6547         BOXED marshallers.
6548
6549         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
6550         (gtk_list_store_class_init): use the new BOXED marshallers.
6551
6552         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
6553         new_with_values to new_with_types.
6554         (gtk_tree_store_get_column_type): add this.
6555         (gtk_tree_store_class_init): use the new BOXED marshallers.
6556
6557         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
6558         mirror some POINTER marshallers.
6559
6560 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
6561
6562         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
6563         allow more interesting iterators.  Also, made the lifecycle of
6564         iterators more explicit.
6565
6566         * gtk/gtktreemodelsort.[ch]: New model for sorting.
6567
6568         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
6569         types.
6570
6571 2000-11-09  Alexander Larsson  <alexl@redhat.com>
6572
6573         * demos/testgtk/menus.c:
6574         Changes to make the new testgtk compile after
6575         gtk_menu_append was removed.
6576
6577         * gdk/linux-fb/gdkdrawable-fb2.c
6578         (gdk_fb_get_depth, gdk_fb_get_visual,
6579         gdk_drawable_impl_fb_class_init): Implement
6580         these drawable functions. Now GtkImages work again.
6581
6582         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
6583
6584         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
6585         
6586         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
6587         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
6588         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
6589         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
6590
6591 2000-11-08  Havoc Pennington  <hp@pobox.com>
6592
6593         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
6594         visible_set args, don't know where these had gone, I thought they
6595         used to be there
6596
6597         * gtk/testtext.c: Add a menu item to apply invisibility tag;
6598         now we can test the feature and see that it's totally broken.
6599
6600 2000-11-08  Havoc Pennington  <hp@pobox.com>
6601
6602         Make DND copy pixbufs and tags when source and target share a 
6603         tag table.
6604         
6605         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
6606         in-process GTK_TEXT_BUFFER_CONTENTS target
6607         (gtk_text_view_drag_data_received): Paste from
6608         GTK_TEXT_BUFFER_CONTENTS if we receive it.
6609
6610 2000-11-08  Alexander Larsson  <alexl@redhat.com>
6611
6612         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
6613         API changes.
6614
6615         * gtk/gtkmenu.c: Add support for scrolling menus.
6616         Remove gtk_menu_append/prepend/insert, these have been moved to
6617         gtkcompat.h as #defines.
6618
6619         * gtk/gtkcompat.h.in:
6620         Add compatibility #defines for gtk_menu_append/prepend/insert
6621
6622         * gtk/gtkmenu.h: Add data needed for scrolling menus.
6623         GtkMenuPositionFunc gets an extra argument push_in.
6624         gtk_menu_append/prepend/insert removed.
6625         
6626         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
6627         positioning behaviour to fit to scrolling menus.
6628
6629         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
6630         into menuitem->submeny. That is wrong, and broke torn
6631         off submenus of torn off menus, since they were unrealized
6632         when the first menu was unrealized.
6633
6634         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
6635         gtk_menu_shell_select_item() since these need to be overridden in
6636         GtkMenu.
6637
6638         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
6639         positioning behaviour to fit to scrolling menus.
6640         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
6641         the current item so that it is prelighted when the menu pops up.
6642         This is a workaround to the fact that the menu doesn't get the
6643         initial enter event (due to grabs).
6644
6645         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
6646         s/gtk_menu_append/gtk_menu_shell_append/
6647
6648         * gtk/gtknotebook.c:
6649         s/gtk_menu_insert/gtk_menu_shell_insert/
6650
6651         * gtk/testgtk.c (create_menu, create_menus):
6652         Create the first menu with 50 items so that menu scrolling
6653         can be tested.
6654         
6655         
6656         Patch from Jonathan Blandford  <jrb@redhat.com>
6657
6658         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
6659         system to handle size requests.  First, we ask what the size of
6660         the toggle is.  Then, when allocating the size, we allocate the
6661         toggle_size first.  This way we can have multiple menu-item
6662         classes w/o needing a seperate class for each.
6663
6664         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
6665         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
6666
6667         * gtk/gtkcheckmenuitem.c
6668         (gtk_check_menu_item_toggle_size_request): New function to handle
6669         the toggle size-request.
6670
6671 2000-11-07  Havoc Pennington  <hp@redhat.com>
6672
6673         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
6674         Half-ass somewhat fix this function, so that scrolling to the
6675         insertion point works. Pango hacking is in the future to really
6676         fix it.
6677
6678         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
6679         length of data, no longer used.
6680
6681         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
6682         method contents in here, get rid of destroy method
6683         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
6684         that were backward. Remove debug spew.
6685         (cut_or_copy): Make the clipboard work with insert_range to
6686         preserve tags and pixbufs, not just the primary selection.
6687
6688 2000-11-07  Havoc Pennington  <hp@redhat.com>
6689
6690         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
6691         to gtk_text_mark_get_visible
6692
6693         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
6694         bug that was generating an invalid iterator
6695
6696         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
6697         ensure_char_offsets() in front of code placing the iter in an
6698         invalid state.
6699
6700         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
6701         make override_location arg const
6702         (paste): Replace the selection if we paste into the 
6703         current selection
6704
6705         * gtk/gtkselection.h: Remove "GtkSelectioData"
6706         (struct _GtkSelectionData): move the definition here.
6707
6708         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
6709         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
6710
6711         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
6712
6713         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
6714         (gtk_text_buffer_insert_range_interactive): implement
6715         (gtk_text_buffer_get_tags): Remove, replaced by
6716         gtk_text_iter_get_tags()
6717
6718         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
6719         limit parameter, to avoid infinite linear scan.
6720         (gtk_text_iter_backward_search): Add search limit
6721         (gtk_text_iter_forward_find_char): Add search limit
6722         (gtk_text_iter_backward_find_char): Add search limit
6723
6724 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
6725
6726         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6727         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
6728         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
6729         gdk/linux-fb/gdkwindow-fb.c:
6730         use g_object_new() instead of g_type_create_instance() which
6731         is a private function for fundamental type implementations.
6732
6733         * gdk/linux-fb/gdkinput-ps2.c:
6734         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
6735         instead just store the current modifier state. Add a (somewhat broken)
6736         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
6737         Rename exported function gdk_input_ps2_get_mouseinfo to
6738         gdk_input_get_mouseinfo.
6739
6740         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
6741         gdk/linux-fb/gdkwindow-fb.c:
6742         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
6743         
6744
6745 2000-11-02  Havoc Pennington  <hp@redhat.com>
6746
6747         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
6748         use stock buttons. Should be 100% source compatible, appropriate
6749         filesel fields now point to dialog->vbox and dialog->action_area.
6750         On the bizarre side, dialog->action_area and filesel->action_area
6751         are not the same widget.
6752         (gtk_file_selection_init): Put some padding around the selection
6753         entry, so it isn't touching the GtkDialog separator.    
6754
6755         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
6756         use stock buttons, etc. Should also be source compatible.
6757         Set the dialog default title in _init not _new().
6758         
6759         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
6760         Use stock buttons; don't put a button box inside the existing
6761         dialog button box. Don't bother with push/pop colormap anymore.
6762
6763         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
6764         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
6765         for message dialog, and necessary for the font selection and color
6766         selection with help and apply buttons.
6767         
6768         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
6769         to the created button widget. Set GTK_CAN_DEFAULT on the button.
6770         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
6771         between buttons, put less padding around the action area.
6772         (gtk_dialog_run): Exit on unmap rather than on destroy. 
6773         This will also exit the loop if the widget is hidden.
6774         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
6775         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
6776         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
6777         special-case delete event.
6778
6779         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
6780         formatting
6781         
6782 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
6783
6784         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
6785         button to temporarily disable position recording in the
6786         "saved position" test.
6787
6788 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
6789
6790         * gtk/gtkthemes.c: added compat code that temporarily implements
6791         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
6792         going to be revamped by owen's upcoming GtkModule patches, but
6793         untill then people want gtk to build, right? ;)
6794
6795 2000-11-04  Havoc Pennington  <hp@pobox.com>
6796
6797         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
6798         list
6799
6800         * docs/Changes-2.0.txt: Add note about
6801         gtk_container_get_toplevels()
6802
6803         * gtk/gtktextview.h: formatting
6804         
6805         * gtk/gtktextview.c: don't start descriptions with "Returns",
6806         confuses gtk-doc
6807
6808 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
6809
6810         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
6811         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
6812
6813 2000-11-03  Havoc Pennington  <hp@redhat.com>
6814
6815         * gtk/gtktexttagtable.c: Docs
6816         (gtk_text_tag_table_size): return a signed int
6817
6818         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
6819         (gtk_text_tag_event): make the event_object a GObject
6820
6821         * gtk/gtktextview.c: Write API docs for all functions.
6822
6823         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
6824         for gtk_text_view_get_window_type() called on one of the private
6825         windows.
6826
6827         * gtk/gtktextview.c: Instead of accessing text_view->buffer
6828         directly, call get_buffer() which demand-creates a default
6829         buffer. So gtk_text_view_new() can be used to create a view with a
6830         default buffer in it, if you just want an empty text box users can
6831         put data in. Useful for GUI builders also.
6832
6833 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
6834
6835         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
6836         the charset encodign portion MUST be in lowercase.
6837         * gtk/gtkrc.az: added file for Azeri language
6838
6839 2000-11-03  Havoc Pennington  <hp@redhat.com>
6840
6841         Get widgets working on the btree/buffer side. Display of them 
6842         still doesn't work.
6843         
6844         * gtk/gtktextview.c: start implementing child widget stuff
6845
6846         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
6847
6848         * gtk/gtktextlayout.c: handle embedded widgets
6849
6850         * gtk/gtktextdisplay.c: handle embedded widgets
6851
6852         * gtk/gtktextchild.c: Implement all the child anchor goo
6853
6854         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
6855         function
6856
6857         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
6858         (insert_pixbuf_or_widget_segment): abstract out common portions of 
6859         creating a child anchor or a pixbuf segment.
6860         (gtk_text_btree_create_child_anchor): new function
6861         (gtk_text_btree_unregister_child_anchor): new function
6862
6863         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
6864         allocate_child signal on GtkTextLayout
6865
6866         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
6867         values
6868         (gtk_text_iter_get_child_anchor): new function
6869
6870         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
6871         default handler for the changed signal, which calls
6872         gtk_text_buffer_set_modified(), instead of just always emitting
6873         changed then calling set_modified() manually. I guess this is
6874         maybe more flexible. It seems logical.
6875
6876 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
6877
6878         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
6879         now.
6880
6881         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
6882
6883 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
6884
6885         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
6886         been marked static.
6887
6888 2000-11-02  Havoc Pennington  <hp@redhat.com>
6889
6890         * gtk/testgtk.c (create_labels): had a test backward
6891
6892         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
6893         fields, so the dest GC ends up with the correct clip origin, 
6894         etc. Fixes a bug where colored labels didn't redraw 
6895         properly.
6896
6897 2000-11-02  Alexander Larsson  <alexl@redhat.com>
6898
6899         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6900         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
6901         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
6902         Add last argument to t_type_register_static call.
6903         
6904         * gdk/linux-fb/gdkdrawable-fb2.c:
6905         Add last argument to t_type_register_static call.
6906         export the get_image drawable virtual function.
6907
6908         * gdk/linux-fb/gdkimage-fb.c:
6909         Add last argument to t_type_register_static call.
6910         rename gtk_image_get to _gdk_fb_get_image and
6911         export it for use by gdkdrawable-fb2.
6912
6913         * gdk/linux-fb/gdkprivate-fb.h:
6914         export _gdk_fb_get_image.
6915
6916         * gdk/linux-fb/gdkselection-fb.c:
6917         Add new api call stubs.
6918
6919         * gtk/Makefile.am:
6920         Missing ( in linux-fb part.
6921
6922         * modules/linux-fb/Makefile.am:
6923         Must link with gdk_pixbuf or get unresolved symbol.
6924
6925 2000-11-01  Havoc Pennington  <hp@pobox.com>
6926
6927         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
6928         GTK_TYPE_TEXT_ITER and BOXED marshallers
6929
6930         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
6931
6932         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
6933         
6934         * gtk/gtk-boxed.defs: add GtkTextIter
6935
6936         * gtk/gtkmarshal.list: Add marshallers for text widget that 
6937         properly use OBJECT and BOXED
6938
6939 2000-11-01  Havoc Pennington  <hp@redhat.com>
6940
6941         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
6942
6943         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
6944         before returning it. 
6945         
6946 2000-11-01  Havoc Pennington  <hp@redhat.com>
6947
6948         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6949         Clip the rectangle to be rendered to the drawable, since
6950         get_from_drawable() requires a region within the drawable
6951
6952 2000-11-01  Havoc Pennington  <hp@redhat.com>
6953
6954         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
6955         from coordinates.
6956
6957 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
6958
6959         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
6960         it isn't NULL.
6961
6962 2000-11-01  Havoc Pennington  <hp@pobox.com>
6963
6964         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
6965         on a label
6966         (gtk_label_finalize): unref the attr list if any.
6967
6968         * gtk/testgtk.c (create_get_image): close test on second click
6969         (make_message_dialog): close dialog if it exists
6970
6971         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
6972
6973         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
6974         gdk-pixbuf
6975
6976         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
6977         from Pango markup format
6978         (gtk_label_set_markup_with_accel): ditto but with accelerator
6979         parsing
6980
6981         * gtk/gtkimage.c (gtk_image_expose): reformatting.
6982
6983         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
6984         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
6985         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
6986         call gdk_window_get_origin().
6987
6988         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
6989         implement GDK_PIXBUF_ALPHA_FULL
6990         
6991 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
6992
6993         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
6994         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
6995         g_signal_handlers_disconnect_matched to block/unblock and disconnect
6996         multiple handlers respectively, instead of only treating the
6997         first handler found (bug reported by owen).
6998
6999 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
7000
7001         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
7002
7003         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
7004
7005         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
7006         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
7007         gtk/gtktreeviewcolumn.h: Fixed inline docs.
7008
7009         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
7010         widget.  Needs writing someday.
7011
7012         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
7013         the docs.
7014
7015 2000-10-30  Havoc Pennington  <hp@redhat.com>
7016
7017         * gtk/gtktextview.h, gtk/gtktextview.c:
7018         Rename delete_at_cursor delete_from_cursor, and 
7019         move to move_cursor.
7020
7021 2000-10-30  Havoc Pennington  <hp@redhat.com>
7022
7023         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
7024         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
7025         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
7026         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
7027         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
7028         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
7029         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
7030         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
7031         gtktexttypes.h, gtktextview.c, gtktextview.h:
7032
7033         Massive reindentation and reformatting. Arg alignment and comments
7034         still need fixing in various places.
7035
7036 2000-10-30  Havoc Pennington  <hp@redhat.com>
7037
7038         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
7039         to be named insert_at_cursor and delete_at_cursor so C++ can
7040         handle them.
7041
7042 2000-10-28  Tor Lillqvist  <tml@iki.fi>
7043
7044         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
7045         to get a double directory separator in case the home directory
7046         ends with one. This would cause trouble especially on Windows,
7047         where the path will be confused with the syntax for an an UNC
7048         (network share) path \\server\share\path.
7049         (gtk_rc_add_initial_default_files): Ditto.
7050
7051 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
7052
7053         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
7054
7055         * gtk/gtktextview.c: Use correct marshallers.
7056
7057 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
7058
7059         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
7060         use new iter stuff, and added all the appropriate signals et al.
7061
7062         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
7063         code is internal to gtk only.
7064
7065 2000-10-28  Tor Lillqvist  <tml@iki.fi>
7066
7067         * gtk/gtk.def
7068         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
7069         glib-genmarshal etc.
7070
7071 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
7072
7073         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
7074         parallel builds.
7075
7076 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
7077
7078         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
7079
7080 2000-10-27  Robert Brady  <robert@suse.co.uk>
7081
7082         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
7083         en_GB (British), ia (Interlingua).
7084
7085 2000-10-26  Havoc Pennington  <hp@redhat.com>
7086
7087         * gtk/gtktextiter.c (my_strrstr): fix constness warning
7088
7089         Fixed output of:
7090         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
7091         
7092         * gtk/gtktextsegment.c (char_segment_new): rename
7093         (_char_segment_new_from_two_strings): rename
7094         (_toggle_segment_new): rename
7095         
7096         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
7097         (make_clipboard_widget): make it static
7098         (text_get_func): static
7099         (text_clear_func): static
7100
7101         * gtk/gtkcolorsel.c (adjustment_changed): make this function
7102         static
7103         (hex_changed): make it static
7104         (hsv_changed): make it static
7105         (opacity_entry_changed): make it static
7106
7107         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
7108         (toggle_segment_check_func): rename with _gtk
7109
7110         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
7111         (_widget_segment_new): rename
7112         (_widget_segment_add): rename
7113         (_widget_segment_remove): rename
7114         (_widget_segment_ref): rename
7115         (_widget_segment_unref): rename
7116
7117         * gtk/gtktextmark.c (_mark_segment_new): Rename
7118         _gtk_mark_segment_new   
7119
7120 2000-10-26  Havoc Pennington  <hp@redhat.com>
7121
7122         * gtk/gtkmarshal.list: add new marshallers used by the text widget
7123         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
7124         types
7125
7126         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
7127         marshaller types
7128
7129         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
7130         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
7131         license on these files.
7132
7133         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
7134         work.
7135
7136         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
7137         runtime random number different for each tree, instead of 
7138         a constant I made up.
7139
7140 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
7141
7142         * gtk/Makefile.am: buncha cleanups, kludged build sources
7143         dependencies with a Makefile: oldest-source-stamp dependancy
7144         for the moment. automake is really fighting us here, with
7145         intentionally not allowing user-defined rules or dependancies
7146         prior to it's -include $(DEP_FILES) statement. sucks rocks!
7147
7148         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
7149         to public headers. tehy have a comment stating that they are
7150         "semi-public" aren't included by gtk.h and if enums popup there,
7151         they can be /*< skip >*/-ed.
7152
7153         * gtk/gtktextlayout.h: 
7154         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
7155         added LGPL... <SIGH>
7156
7157 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
7158
7159         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
7160         GtkTreeIter.  Added iterators everywhere.
7161
7162         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
7163
7164         * gtk/gtktreeviewselection.c: Changed to use the iterators.
7165
7166         * gtk/gtktreestore.c: Changed to use the iterators.
7167
7168         * gtk/gtkliststore.c: Commented out the code.  Will convert to
7169         iterators tomorrow.
7170
7171         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
7172         iterators tomorrow.
7173
7174         * gtk/treestoretest.c: Changed to use iterators.
7175
7176         * demos/testgtk/main.c: Moved to use the new iterator system.
7177
7178 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
7179
7180         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
7181         localization misbehaviour.
7182
7183         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
7184         a useless type without copy/free.
7185
7186         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
7187         of GTK_TYPE_CTREE_NODE.
7188
7189 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
7190
7191         * gtk/gtksignal.c:
7192         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
7193         applicable.
7194
7195         * gtk/gtk-boxed.defs (GtkSelectionData): specify
7196         gtk_selection_data_copy and gtk_selection_data_free
7197         do GtkSelectionData work as params in signals.
7198
7199 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
7200
7201         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
7202         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
7203         couldn't they at least give it a non-standard name?
7204         
7205         * gtk/gtktextlayout.c: arg! yet another implementation of
7206         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
7207
7208         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
7209         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
7210         home. now i know this _is_ a conspiracy.
7211
7212         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
7213         ::state-changed.
7214
7215         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
7216         (gtk_accel_group_create_add): marshaller signature fixups.
7217
7218         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
7219         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
7220
7221         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
7222         anymore.
7223
7224 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
7225
7226         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
7227         due to the signal system changes, it wouldn't build currently. to
7228         be fixed soon.
7229
7230         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
7231
7232         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
7233         so it needs gtk_marshal_VOID__ENUM() instead of
7234         gtk_marshal_NONE__UINT().
7235
7236         * gdk/gdk*.c: adapted type registration functions.
7237
7238         * gtk/gtkbindings.c:
7239         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
7240         gone.
7241
7242         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
7243
7244         * gtk/gtkobject.c:
7245         (gtk_object_destroy):
7246         (gtk_object_shutdown): fixed recursion guards. basically we have to
7247         catch the case where any of GObject.shutdown() or gtk_object_destroy()
7248         is called during ::destroy, and avoid recursion there.
7249
7250         * gtk/gtktypeutils.c:
7251         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
7252         boxed_copy/boxed_free. this needs a more general solution based on a
7253         publically installed code-generator utility.
7254
7255         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
7256         glib's gobject has support for that now.
7257         define GtkSignalMarshaller in terms of GSignalCMarshaller.
7258
7259 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
7260
7261         * gtk/gtksignal.[hc]:
7262         * gtk/gtkmarshal.[hc]:
7263         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
7264         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
7265         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
7266         care of that.
7267
7268         * *.c: marshaller name fixups.
7269
7270         * gtk/gtkmarshal.list: added a comment briefing the format.
7271
7272 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
7273
7274         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
7275         compatibility macros here now. more specifically, most of
7276         the API is preserved (yes, _most_, nonwithstanding the
7277         following exceptions listed, the API is stil lHUGE ;)
7278         things that got removed completely:
7279         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
7280         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
7281         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
7282         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
7283         gtk_signal_remove_emission_hook().
7284         non-functional functions variants:
7285         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
7286         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
7287         not supported anymore.
7288         (gtk_signal_compat_matched): new internal function to aid
7289         implementation of the compatibility macros, it  provides
7290         functionality to block/unblock/disconnect handlers based
7291         on func/data.
7292
7293         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
7294
7295         * *.c: adaptions to new type registration API signatures.
7296
7297 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
7298
7299         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
7300
7301 2000-10-25  Robert Brady  <robert@suse.co.uk>
7302
7303         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
7304         gdk_property_delete): If window == NULL, assume the root window.
7305         (restoring the behaviour that was in 1.2).
7306         
7307         * gtk/testtext.c (save_buffer): Allow creation of new files when
7308         saving.
7309
7310         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
7311         calls to read().
7312
7313 2000-10-25  Tor Lillqvist  <tml@iki.fi>
7314
7315         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
7316
7317         * gdk/win32/gdkdrawable-win32.c
7318         * gdk/win32/gdkimage-win32.c
7319         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
7320         X11 backend.
7321
7322         * gdk/win32/gdkcc-win32.c
7323         * gdk/win32/gdkcolor-win32.c
7324         * gdk/win32/gdkfont-win32.c
7325         * gdk/win32/gdkinput-win32.c
7326         * gdk/win32/gdkmain-win32.c
7327         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
7328
7329 2000-10-24  Havoc Pennington  <hp@redhat.com>
7330
7331         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
7332         it a static function
7333
7334         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
7335         redraw text when a tag is applied to it.
7336
7337         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
7338         (gtk_text_tag_affects_nonsize_appearance): private functions to
7339         see if a tag requires various kinds of redraw/layout to be queued
7340         up.
7341
7342         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
7343
7344         * gtk/testtext.c (fill_example_buffer): Put the cursor 
7345         at the start of the buffer, so search works by default
7346
7347         * gtk/gtktextiter.c (lines_match): init match_start always
7348
7349         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
7350         function, get iter at a line + a byte index
7351
7352         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
7353         to set byte position within a line
7354         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
7355
7356 2000-10-23  Havoc Pennington  <hp@redhat.com>
7357
7358         * gtk/testtext.c: Re-enable the "find" dialog
7359
7360         * gtk/testgtk.c: Add test for gdk_drawable_get_image
7361         
7362         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
7363         the arguments to gdk_draw_drawable were in the wrong order
7364         (gdk_window_paint_init_bg): This function was ignoring the
7365         init_region, instead of clipping to it, so the entire backing
7366         pixmap was cleared on every begin_paint()
7367         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
7368         was in here again, the loop kept using the same GtkWindowPaint
7369         over and over.
7370         (gdk_window_begin_paint_region): Fix a bug where we had two
7371         x_offset instead of x_offset and y_offset
7372
7373         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
7374         before we get the image.
7375         (gdk_draw_drawable): get the composite before we draw the drawable.
7376         (gdk_drawable_real_get_composite_drawable): default
7377         get_composite_drawable implementation that returns the drawable 
7378         itself
7379
7380         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
7381         get_composite_drawable virtual function
7382
7383         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
7384         list-walking bug
7385
7386         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
7387         make this work if the source drawable is a GdkDrawableImplX11
7388         instead of a public drawable type. This is really broken; the
7389         problem is that GdkDrawable needs a virtual method get_xid(), but
7390         of course that doesn't work in practice. Enter RTTI.
7391
7392         Also, improve mismatched depth message.
7393
7394         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
7395         GdkPixmap
7396
7397         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
7398         install _gdk_x11_get_image as our implementation of get_image
7399         
7400         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
7401         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
7402
7403         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
7404         gdk_drawable_get_image
7405
7406         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
7407
7408         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
7409         get_image
7410
7411         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
7412         trailing semicolon after for loop
7413
7414 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
7415
7416         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
7417         where font_desc for widget's context lagged widget's font_desc by
7418         one step.
7419
7420 2000-10-22  Tor Lillqvist  <tml@iki.fi>
7421
7422         * gdk/win32/gdkgc-win32.c
7423         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
7424
7425         * gtk/makefile.mingw.in
7426         * gtk/gtk.def: Updates.
7427
7428         * gtk/testgtk.c: sleep() is called _sleep in MS's C
7429         library.
7430
7431         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
7432
7433         * gtk/makefile.msc: Remove
7434
7435         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
7436
7437         * gtk/Makefile.am: Add it.
7438
7439         * configure.in: Generate it.
7440
7441         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
7442         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
7443         something even if not implemented, to satisfy picky MSVC.
7444
7445         Patches by Hans Breuer:
7446         
7447         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
7448         SetBkMode() and SetTextAlign() before calling
7449         pango_win32_render().
7450
7451         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
7452         Set hcliprgn to NULL after destroying it.
7453         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
7454
7455         * gdk/win32/gdkgeometry-win32.c
7456         (_gdk_windowing_window_queue_antiexpose): More effective
7457         implementation.
7458
7459         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
7460         depth as default, not the visual's.
7461
7462         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
7463         against empty title.
7464
7465         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
7466         IMAGE_PRIVATE_DATA.
7467
7468         * gdk/win32/gdkimage-win32.c: Use it.
7469
7470 2000-10-22  Robert Brady  <robert@suse.co.uk>
7471
7472         * configure.in: Check for bind_textdomain_codeset
7473
7474         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
7475         present, make use of it.
7476
7477         Add a translatable string "default:LTR" which, if translated
7478         to "default:RTL", will cause the default direction to be
7479         Right-to-Left.
7480
7481         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
7482         direction if marked as flippable.
7483
7484         * gtk/gtkhscale.c: Mark widget as flippable.
7485         
7486 2000-10-04  Havoc Pennington  <hp@redhat.com>
7487
7488         * gtk/testgtk.c (create_buttons): create some stock buttons
7489         with the default accel group
7490         (create_image): test some new GtkImage features
7491         (make_message_dialog): test GtkMessageDialog
7492         (create_modal_window): fix someone's bizzarro indentation
7493
7494         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
7495         GTK_WIN_POS_CENTER_ON_PARENT. 
7496         Add "destroy with parent" setting, which means the window goes
7497         away with its transient parent.
7498         (gtk_window_get_default_accel_group): get the default accel group
7499         for the window.
7500         (gtk_window_set_destroy_with_parent): set/unset destroy with
7501         parent flag
7502         (gtk_window_read_rcfiles): invalidate icon set caches
7503         after reloading rcfiles 
7504
7505         * gtk/gtkenums.h (GtkWindowPosition): add
7506         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
7507         on its parent window when the dialog is mapped for the first time.
7508
7509         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
7510         a simple message dialog class
7511         
7512         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
7513         handler to emit response signal, and maybe later it would
7514         honor a hide_on_delete flag - though that isn't there yet.
7515         Set border width on the vbox to 2, so we get some padding.      
7516         Use a button box for the action area.
7517         (gtk_dialog_key_press): synthesize a delete event if Esc
7518         is pressed and the GtkWidget key press handler didn't 
7519         handle the escape key.
7520         (gtk_dialog_new_with_buttons): new function creates a dialog
7521         with some default buttons in it.
7522         (gtk_dialog_add_action_widget): add an activatable widget
7523         as a button in the dialog - you can also add a non-activatable
7524         widget by accessing the action area directly.
7525         (gtk_dialog_add_button): add a simple button - stock ID or 
7526         label - to the action area
7527         (gtk_dialog_response): emit response signal
7528         (gtk_dialog_run): block waiting for the dialog, return 
7529         the response. Override normal delete_event behavior, so that 
7530         delete_event does nothing inside gtk_dialog_run().
7531
7532         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
7533         emitted when an action widget is clicked or the dialog gets
7534         delete_event
7535
7536         * gtk/gtk.h: add gtkmessagedialog.h
7537
7538         * gtk/Makefile.am: add gtkmessagedialog.[hc]
7539
7540 2000-10-18  Havoc Pennington  <hp@redhat.com>
7541
7542         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
7543         where any number of empty lines would get skipped
7544
7545         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
7546         edge.
7547
7548         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
7549         warning about invalid iterators (explain more thoroughly)
7550         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
7551
7552         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
7553         big
7554
7555         * demos/*.c: Add error handling
7556
7557         * gtk/gtktextbuffer.c: don't modify const iterators
7558
7559         * gtk/gdk-pixbuf-loader.c: Add full error handling here
7560
7561         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
7562         on file load
7563
7564         * gtk/gtkiconfactory.c: Update to reflect addition of error
7565         handling to gdk-pixbuf loaders
7566
7567 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
7568
7569         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
7570         move to new modularized testgtk.
7571
7572 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
7573
7574         * gtk/gtktreeview.c: Draw the arrows correctly.
7575
7576         * gtk/gtktreemodel.c: Added user docs.
7577
7578         * gtk/gtk.h: remove gtktreedatalist.h.
7579
7580         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
7581         parent when generating my type.
7582
7583         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
7584         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
7585
7586 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7587
7588         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
7589         GtkTreeModel from object to interface.
7590
7591 2000-10-16  Havoc Pennington  <hp@redhat.com>
7592
7593         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
7594         compilation
7595
7596 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7597
7598         * gtk/gtktreeselection.c: Add API documentation to all public
7599         functions.
7600
7601         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
7602         functions.
7603
7604 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
7605
7606         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
7607         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
7608         docs to all public functions.
7609
7610         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
7611         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
7612         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
7613         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
7614         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
7615         issue.
7616
7617 2000-10-14  Robert Brady  <robert@suse.co.uk>
7618
7619         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
7620
7621 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
7622
7623         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
7624         values other then G_TYPE_STRING.
7625         * gtk/gtktreeselection.c: Minor commenting updates.
7626         * gtk/gtktreeview.c: Format updates.
7627
7628 2000-10-09  Tor Lillqvist  <tml@iki.fi>
7629
7630         * README.win32: Update.
7631
7632         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
7633         lines that had been deleted by mistake (?).
7634
7635         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
7636         also the case fg==white and bg==black (but still not randomly
7637         coloured cursors). Thanks to Wolfgang Sourdeau.
7638
7639         * gdk/win32/*.c: Silence gcc -Wall.
7640
7641         * gtk/gtk.def: Add missing entry points.
7642
7643         Fixes by Hans Breuer:
7644
7645         * gdk/makefile.msc
7646         * gdk/win32/makefile.msc: Update.
7647
7648         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
7649         some MSVC thing, presumably), cause breakpoint on failures. Add
7650         GDK_NOR case. Call g_log_set_always_fatal.
7651
7652         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
7653         should be pased by reference.
7654         
7655         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
7656         
7657         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
7658
7659         * gdk/win32/gdkevents-win32.c
7660         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
7661
7662         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
7663         implementation object.
7664
7665         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
7666         not just windows.
7667         
7668         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
7669         Use the wrapper object.
7670         
7671 2000-10-06  Havoc Pennington  <hp@redhat.com>
7672
7673         * Makefile.am (SRC_SUBDIRS): contrib subdir
7674
7675         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
7676         so it can be used in Xlib version
7677
7678         * demos/testpixbuf.c (update_timeout): error checking from 1.0
7679         tree
7680
7681         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
7682         change from 1.0 tree that returns first frame of animation
7683         if the loaded file is an animation.
7684
7685         * contrib: add new directory to hold stuff that comes with GTK+
7686         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
7687         
7688         * configure.in: add contrib/*
7689
7690 2000-10-05  Havoc Pennington  <hp@redhat.com>
7691
7692         * demos/testpixbuf-save.c: add pixbuf save test
7693
7694         * demos/Makefile.am: add testpixbuf-save.c
7695
7696 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
7697
7698         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
7699         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
7700         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
7701         * gtk/gtktreeselection.[ch]: Replaced
7702         "node_selected"/"node_unselected" signal with "selection_changed"
7703         signal.
7704
7705 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7706
7707         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
7708         tree widget.
7709
7710 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7711
7712         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
7713         drawing.
7714
7715 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
7716
7717         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
7718         Move list pointer forwards before removing item from
7719         list. (Crash reported by Salmaso Raffaele)
7720
7721         * gdk/gdkwindow.h: Remove spurious trailing ,
7722
7723         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
7724         dependencies on uninstalled libraries, sorry folks.
7725
7726 2000-10-04  Havoc Pennington  <hp@redhat.com>
7727
7728         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
7729         gtk/gtkiconfactory.c: Fix copyrights    
7730
7731         * demos/testpixbuf.c: add inline pixbuf test
7732         
7733 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
7734
7735         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
7736         Add gdk_window_iconify.
7737
7738         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
7739         (gdk_window_set_geometry_hints): Add win_gravity
7740         to geometry structure.
7741
7742         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
7743         Implement _NET_WM_PING.
7744
7745         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
7746         Set _NET_WM_PID on the client leader.
7747
7748         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
7749         Handle UTF-8 better.
7750
7751         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
7752         UTF-8 better, set _NET_WM_NAME as well. Only set
7753         icon name if it hasn't previously been explicitely 
7754         set.
7755
7756 2000-10-03  Havoc Pennington  <hp@redhat.com>
7757
7758         * gtk/testtextbuffer.c: clean up trailing whitespace,
7759         add extensive tests for tag toggle iteration.
7760         
7761         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
7762         distance
7763
7764         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7765         optimize case where the tag root is on level 1
7766         (gtk_text_line_previous_could_contain_tag): attempt to implement
7767         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
7768         functionality
7769
7770         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
7771         Implement this, though not very efficiently.
7772
7773         * gtk/gtktextiterprivate.h: reformat
7774
7775         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
7776         iterator
7777
7778         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
7779         this to properly revalidate the iterators.
7780
7781         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
7782         properly at the end of the line (and therefore on empty lines)
7783
7784         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
7785         maybe we should return a value...
7786
7787 2000-10-03  Tor Lillqvist  <tml@iki.fi>
7788
7789         * config.h.win32: Guard definition of alloca(). glib.h now handles
7790         that.
7791
7792         * gdk/gdk.def
7793         * gtk/gtk.def: Add new entry points.
7794
7795         Changes just to make GTK+ build without errors on Win32. No hope
7796         of it working in its current state, though...:
7797         
7798         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
7799         some functions from the X11 backend, just to make GTK+ build.
7800
7801         * gdk/makefile.mingw.in
7802         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
7803         number. Add new object files.
7804
7805         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
7806         GetMessageTime to get timestamp (where on X11 uses
7807         gdk_x11_get_server_time()).
7808
7809 2000-10-02  Havoc Pennington  <hp@pobox.com>
7810
7811         * gtk/gtktextview.c: text_window_* weren't static and should have
7812         been.
7813         Start work on child widgets; not yet complete, syncing to 
7814         office computer.
7815
7816         * gtk/gtktextchild.h: change this to contain a public interface,
7817         starting work on child interfaces.
7818         * gtk/gtktextchildprivate.h: move private interfaces here
7819
7820         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
7821
7822         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
7823         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
7824         gtk/gtktextmark.c: copyright notices
7825
7826         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
7827         internal functions      
7828
7829         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
7830         internal function
7831
7832         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
7833         Reformatting    
7834
7835 2000-09-30  Havoc Pennington  <hp@pobox.com>
7836
7837         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
7838         NULL start/end pointers
7839
7840         * gtk/gtktextbuffer.c: Write some docs
7841         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
7842         NULL, so you can just check whether there's a selection.        
7843
7844         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
7845         cleanup_line or segments_changed ourselves, it gets done 
7846         in unlink_segment
7847
7848         * gtk/gtktextmark.h:
7849         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
7850         
7851         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
7852
7853         * gtk/gtktextmark.c: delete some more old Tk cruft
7854
7855         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
7856         mark before removing it, so we can emit MARK_DELETED with a valid
7857         pointer.
7858         (gtk_text_buffer_mark_set): hold ref across signal emission
7859
7860         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
7861         whining about attempts to delete special marks
7862
7863         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
7864         underscore, since it's internal.
7865
7866         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
7867         now implemented in terms of iterators in gtktextiter.h
7868
7869         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
7870         New function, destructively sets contents of buffer. Also 
7871         a convenient way to clear the buffer by setting text to ""
7872
7873         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
7874         multiline string literal
7875
7876         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
7877         text changes.
7878
7879         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
7880         is not dereferenceable
7881         (gtk_text_iter_forward_lines): fix return value
7882
7883 2000-09-29  Havoc Pennington  <hp@redhat.com>
7884
7885         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
7886
7887         * gtk/gtktextview.c: Implement drag thresholding; change functions 
7888         that set border window size to have nicer name
7889         (gtk_text_view_mark_set_handler):  Fix this to have the 
7890         right signature.
7891
7892         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
7893
7894         * gtk/testtext.c: Update with API changes, put line numbers on 
7895         both sides.
7896         
7897         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
7898         with this
7899
7900         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
7901         pixbuf; delete a big block of #if 0 Tk code
7902
7903         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
7904         insert_pixmap with insert_pixbuf
7905
7906 2000-09-29  Martin Baulig  <baulig@suse.de>
7907
7908         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
7909         confusion with the GdkPixbuf of the GNOME 1.x platform.
7910
7911 2000-09-29  Havoc Pennington  <hp@pobox.com>
7912
7913         * gtk/gtktextview.c: Implement the side windows.
7914
7915         * gtk/testtext.c: Implement simple line numbering in the 
7916         left side window; seems to make scrolling sloooow. Oops.
7917         Also, cursor blink is for some reason causing redraws
7918         of the line numbers. Should investigate...
7919
7920 2000-09-28  Havoc Pennington  <hp@redhat.com>
7921
7922         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
7923         scrolling child windows, and draw focus rectangle properly.
7924         
7925         (gtk_text_view_buffer_to_window_coords):
7926         Coordinate transformation to deal with all these freaking windows
7927         and offsets
7928         (gtk_text_view_window_to_buffer_coords): transform the other way
7929
7930         * gtk/testtext.c (create_buffer): Update to match Pango API change
7931
7932         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
7933         anonymous tags
7934         (foreach_unref): don't emit remove signal from finalize, just
7935         set tag's parent to NULL
7936
7937 2000-09-26  Havoc Pennington  <hp@redhat.com>
7938
7939         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
7940         Fix some warnings       
7941
7942 2000-09-26  Havoc Pennington  <hp@redhat.com>
7943
7944         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
7945         headers into the private header list
7946
7947         * Makefile.am (pkgconfig_DATA): install pkg-config files
7948
7949         * configure.in: add pkg-config files
7950
7951         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
7952
7953         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
7954         outstanding icon caches on theme change.
7955
7956         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
7957         important types:
7958
7959         (GtkIconSource): Specification for creating a pixbuf 
7960         appropriate for a direction/state/size triplet from 
7961         a source pixbuf or filename
7962
7963         (GtkIconSet): List of GtkIconSource objects that are used to
7964         create the "same" icon (e.g. an OK button icon), and cache for
7965         rendered icons
7966
7967         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
7968         up the icon set for a given stock ID.  GTK maintains a stack of
7969         GtkIconFactory to search, and applications or libraries can add
7970         additional icon factories on top of the stack
7971         
7972         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
7973         the set of GtkIconSource specified for a given stock ID into 
7974         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
7975         RcStyle, under the specified stock ID.
7976
7977         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
7978         render_icon used to derive a GdkPixbuf from a GtkIconSource.
7979         This allows people to theme how prelight, insensitive, etc. are
7980         done.
7981
7982         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
7983         icon factories for a style, and return the resulting 
7984         icon set if any.
7985
7986         (gtk_style_render_icon): Render an icon using the render_icon 
7987         method in the GtkStyleClass.
7988
7989         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
7990         Use the style for a given widget to look up a stock ID, get the
7991         icon set, and render an icon using the render_icon method 
7992         of the style
7993
7994         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
7995         (contains information about a stock item), the built-in stock item
7996         IDs, and functions to add/lookup stock items.
7997
7998         * gtk/stock-icons/*: Stock icons that come with GTK
7999
8000         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
8001         a button based on a GtkStockItem
8002         (gtk_button_new_accel): Takes a uline string and accel group, and
8003         installs the accelerator.
8004
8005         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
8006         image-display widget.
8007
8008 2000-09-25  Havoc Pennington  <hp@redhat.com>
8009
8010         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
8011
8012         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
8013         Fix a bug when removing node data, we didn't properly 
8014         re-splice the linked list after removing the data.
8015
8016         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
8017         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
8018
8019         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
8020
8021         * gtk/gtktextlayout.c (set_para_values): Set tab array 
8022         for the layout from the GtkTextTag.
8023
8024         * gtk/gtktexttypes.h: delete tab and search cruft, 
8025         remove g_convert() in favor of GLib version
8026
8027         * gtk/gtktexttypes.c: remove tab implementation from here,
8028         move to Pango
8029
8030         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
8031         tab stuff using new PangoTabArray from Pango
8032
8033         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
8034         unused border_width stuff
8035
8036 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
8037
8038         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
8039         glib) and now useless utf_to_latin1() latin1_to_utf()
8040
8041         * gtk/gtktextview.[ch]: Change ::move_insert and
8042         ::delete_text action signals to ::move and ::delete;
8043         create the signals with the right enumeration type,
8044         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
8045         C-v bindings, change Home, End to move to beginning/end
8046         of line, Add C-Home C-End to move to beginning/end
8047         of buffer. Change ::cut_text to ::cut_clipboard, etc;
8048         combine ::scroll_text into ::move; use new GtkSelectionData
8049         functions to simplify DND text handling.
8050         
8051         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
8052         deletion enumerations here, rename enumeration values to 
8053         be consistently plural.
8054
8055         * gtk/gtktextbuffer.c: Use new clipboard interfaces
8056         for cut/copy/paste and primary selection.
8057
8058         * gtk/gtktextbuffer.[ch]: Remove excess time and
8059         'interactive' arguments from cut/copy/paste;
8060         rename cut to cut_clipboard, etc; remove
8061         gtk_text_buffer_get_clipboard_contents().
8062
8063         * gtk/gtktextlayout.[ch]: Add 
8064         gtk_text_layout_move_iter_to_line_end() to move the iter to 
8065         line ends.
8066
8067         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
8068         Functions to set or get a UTF-8 string on the selection
8069         data.
8070
8071         * gtk/gtkclipboard.[ch]: New, simplified selection handling
8072         interfaces.
8073
8074         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
8075         created widgets - one of these is useless if we don't.
8076
8077         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
8078         a public function clear all targets registered for the
8079         widget.
8080
8081         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
8082         Never call gtk_widget_realize() - that was just asking
8083         for bizarre side-effects.
8084
8085         * gtk/gtkselection.c (gtk_selection_owner_set): Call
8086         gdk_selection_owner_set even if the widget is the
8087         same so that we reliably update the timestamp on
8088         the server.
8089
8090         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
8091         gdk_x11_get_server_time() function.
8092         
8093         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
8094         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
8095         Add some tricky filtering on serial numbers for
8096         selection clear events to fix up long-standard
8097         race condition FIXME's in gtkselection.c.
8098
8099         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
8100         routines to convert from utf8 to compound text or
8101         STRING and from a text property to UTF-8.
8102
8103         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
8104         a convenience function gdk_get_current_event_time().
8105
8106         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
8107         and free selection_data->data properly
8108
8109 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
8110
8111         * gtk/gtkthemes.c: Remove some unecessary includes.
8112
8113 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
8114
8115         * gtk/gtktextdisplay.c
8116         * gtk/gtktextlayout.c
8117         * gtk/gtktexttag.c
8118         * gtk/gtktexttag.h
8119         * gtk/testtext.c: Change the overstrike property to strikethrough,
8120         to closer match pango.
8121
8122 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
8123
8124         * gtk/gtktextview.c: Fix up visibility so that focus,
8125         cursor_visible and blink interact properly.  Reenable cursor blink
8126         which had been roughly disabled. Make blink and focus
8127         properly per-view.
8128
8129         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
8130         Add a flag for whether to display insertion cursor and
8131         a function to set the flag.
8132
8133         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
8134         get_line_y() to get_line_yrange(), to be a bit more generally
8135         useful.
8136
8137 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
8138
8139         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
8140           do stop_navigating_submenu, to clear last timeout properly.
8141           Also in gtk_menu_motion_notify move ignore_enter above
8142           the conditional to make it always happen as suggested by Owen
8143
8144 2000-09-07  Tor Lillqvist  <tml@iki.fi>
8145
8146         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
8147
8148         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
8149         w32api headers.
8150
8151         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
8152         declarations.
8153
8154         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
8155         (gdk_win32_get_colormap): A line had been deleted by mistake.
8156
8157         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
8158         (gdk_event_translate): Handle more virtual keycodes to be able to
8159         generate GDK events for Control-comma, Control-period, etc.
8160
8161         * gtk/gtk.def: Add some missing entry points.
8162
8163 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
8164
8165         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
8166         Doc comment fixing. (Mostly non-matching parameter names.)
8167
8168         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
8169         comments a little to avoid looking like a doc comment.
8170
8171         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
8172         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
8173         conversions be changed to GError?)
8174
8175         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
8176         Move private #defines into .c file.
8177
8178         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
8179         order of argument addition, remove duplicates.
8180
8181         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
8182         parent class is FrameClass, not BinClass.
8183
8184         * gtk/gtk.h: Add gtkinvisible, which was missing.
8185         (It's occasionalyl useful for client apps, if seldom.)
8186
8187         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
8188         #define.
8189
8190 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
8191
8192         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
8193         coordinates when creating window, instead of GDK-space
8194         coordinates. (Avoid BadValue on too large windows.)
8195
8196 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8197
8198         * configure.in (use_mmx_asm): Remove conftest* after use along the
8199         lines of AC_TRY_COMPILE.        
8200         
8201         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
8202         of g_dirname, which is deprecated.
8203         (gtk_rc_parse_any): Removed calls to
8204         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
8205
8206         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
8207         Removed calls to g_hash_table_{freeze,thaw}, as they are
8208         deprecated now.
8209
8210         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
8211         instead of g_basename.
8212         
8213 2000-09-04 Elliot Lee <sopwith@redhat.com>
8214         
8215         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
8216         ANSI warning.
8217
8218 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
8219
8220         * gtk/gtkwidget.h:  Add some documenting comments about 
8221           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
8222           just as owen said on irc.
8223
8224         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
8225           set HAS_DEFAULT.  Only set it if there isn't another window
8226           holding it (a focus window which RECEIVES_DEFAULT) and only unset
8227           it if the widget is not the focused window with RECEIVES_DEFAULT.
8228           This fixes weird double default bugs in dialogs which has things
8229           call gtk_window_set_default at times.
8230
8231 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
8232
8233         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
8234         Nils Barth and David Santiago to improve submenu
8235         navigation. The patch does this by creating a triangular
8236         region from the point where the pointer leaves the
8237         menu to the submenu.  While the pointer is in
8238         that region and a timeout has not expired, events 
8239         that would cause the active submenu to change are
8240         ignored.
8241
8242 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
8243
8244         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
8245         moving a toplevel window immediately after sizing it would
8246         result in it being sized back to the old size since 
8247         impl->width, impl->height aren't updated until we hear
8248         back from the server. There is still a (longstanding) bug
8249         here that gdk_window_get_size() will give the wrong size
8250         until we do hear back.
8251
8252 2000-08-31  Havoc Pennington  <hp@redhat.com>
8253
8254         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
8255         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
8256         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
8257         Rename GtkTextStyleValues to GtkTextAttributes
8258
8259 2000-08-31  Havoc Pennington  <hp@pobox.com>
8260
8261         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
8262         for rapid testing whether an iterator is the end iterator
8263         (gtk_text_btree_new): init end line cache
8264         (gtk_text_line_is_last): use fast cached line to 
8265         see if we're the last line.
8266         (get_last_line): use cached line here too, should 
8267         speed up some random unrelated code.
8268         
8269 2000-08-30  Havoc Pennington  <hp@pobox.com>
8270
8271         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
8272         signals.
8273
8274         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
8275         delete_text signals. This allows the signals to be used for
8276         implementing undo.
8277
8278         * gtk/gtktextbuffer.c: Change signal handler signatures; 
8279         provide "interactive" argument when emitting insert_text or
8280         delete_text signal.
8281         
8282 2000-08-30  Havoc Pennington  <hp@pobox.com>
8283
8284         * gtk/gtktextbuffer.c: Docs
8285
8286 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
8287
8288         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
8289         from switch statements, since Tor removed the enumeration
8290         value.
8291         
8292         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8293         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
8294
8295 2000-08-29 Elliot Lee <sopwith@redhat.com>
8296         * */*.h: Use G_GNUC_CONST.
8297
8298 2000-08-27  Havoc Pennington  <hp@pobox.com>
8299
8300         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
8301         minor indentation fixes, inserted some FIXME about stuff I
8302         realized was broken while documenting it.
8303         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
8304         GTK convention  
8305
8306 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
8307
8308         * gtk/testgtk.c (create_styles): Fix double free of
8309         font desc.
8310
8311 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8312
8313         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
8314         
8315         * gtk/testgtk.c (create_styles): Add a test for modifying
8316         the style through gtk_widget_modify_*.
8317
8318         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
8319         a function to get the current modifier style.
8320
8321         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
8322         of the passed in GtkRcStyle instead of ref'ing it.
8323
8324         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
8325
8326 2000-08-20  Tor Lillqvist  <tml@iki.fi>
8327
8328         * gdk/gdkimage.h
8329         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
8330         shared memory image+pixmap GdkImage type, or
8331         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
8332         I am dropping that.
8333
8334         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
8335         actually call gtk_init_abi_check(), passing also
8336         sizeof(GtkWindow). Ditto for gtk_init_check(). 
8337
8338         * gtk/gtk.def
8339         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
8340         New functions, used to check that the GTK+-using code has been
8341         compiled using the correct compiler and switches. In particular,
8342         with gcc one has to use the -fnative-struct switch as GTK+ is
8343         compiled with that.
8344
8345 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
8346
8347         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
8348         ->prev fields when merging lists. (Found simultaneously
8349         by Pawel Salek and Jakub Jelinek)
8350
8351 2000-08-12  Tor Lillqvist  <tml@iki.fi>
8352
8353         * gdk/gdk.def
8354         * gtk/gtk.def: Add missing entries.
8355
8356         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
8357         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
8358
8359         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
8360         function. Dummy implementation at this point.
8361
8362         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
8363         rules. Undefine GTK_COMPILATION when compiling the test programs.
8364         
8365         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
8366
8367 2000-08-11  Tor Lillqvist  <tml@iki.fi>
8368
8369         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
8370         to convert back and forth from UTF-8 and the "system" (or "current
8371         locale") charset when necessary. Indentation/spacing cleanup.
8372
8373 2000-08-10  Havoc Pennington  <hp@redhat.com>
8374
8375         * Makefile.am (snapshot): Change the format of the snapshot
8376         version to match glib
8377
8378         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
8379         from EXTRA_DIST since it doesn't seem to exist
8380
8381 2000-08-10  Tor Lillqvist  <tml@iki.fi>
8382
8383         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
8384         version of the directory name (not the UTF-8 one) when building
8385         the path name to stat().
8386
8387 2000-08-03  Elliot Lee  <sopwith@redhat.com>
8388
8389         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
8390         PANGO_ATTR_SHAPE set.
8391
8392 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
8393
8394         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
8395         Peter Osterlund to simplify the code while keeping the
8396         functionality the same.
8397
8398 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
8399
8400         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
8401         is_viewable() test further inside the function, since removing the 
8402         window from the redraw list without clearing ->update_area
8403         was also very broken.
8404
8405 2000-08-02  Tor Lillqvist  <tml@iki.fi>
8406
8407         * configure.in: Check for <unistd.h>.
8408
8409 2000-08-01  Martin Baulig  <baulig@suse.de>
8410
8411         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
8412         to display the message that this is a development version of GTK+.
8413
8414 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
8415
8416         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
8417         was depending on widget->allocation instead of the width of text_area,
8418         which was incorrect for subclasses like GtkSpinButton.
8419
8420         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
8421         with width == 1 tests that should be width == -1.
8422
8423 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
8424
8425         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
8426         (broken, Elliot, every single window blank on X) custom code with call
8427         to gdk_window_is_viewable() which a) prevents code duplicate and
8428         b) works. 
8429
8430 2000-07-31  Elliot Lee  <sopwith@redhat.com>
8431
8432         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
8433         to get the GDK_PARENT_ROOT() macro to work.
8434         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
8435         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
8436         of, windows that aren't shown.
8437         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
8438         pointer grab stuff.
8439
8440 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
8441
8442         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
8443           s/gtk_main_iteration/g_main_iteration/
8444
8445           Did this already in change:
8446                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
8447           don't know how it got reverted.
8448
8449 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
8450
8451         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
8452         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
8453
8454         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
8455         not gdk_pixbuf.
8456
8457 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
8458
8459         * configure.in,po/{sp,sr}.po: Added Serbian files
8460
8461 2000-07-30  Tor Lillqvist  <tml@iki.fi>
8462
8463         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
8464
8465         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
8466         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
8467         GIOChannel implementation.
8468
8469         * gdk/win32/gdkinput.c
8470         * gdk/win32/gdkpango-win32.c: Update license name here, too.
8471
8472         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
8473         definition to match prototype.
8474
8475         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
8476
8477 2000-07-27  Elliot Lee  <sopwith@redhat.com>
8478
8479         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
8480         function, to allow handling image formats that cannot be detected
8481         by looking at content alone.
8482
8483 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
8484
8485         * docs/tutorial/*.gif *.jpg *.eps
8486           Update these to the same look-n-feel.
8487           Why does including images in DocBook suck so badly?
8488
8489 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
8490
8491         * gtk/gtktable.c: applied patch from Phil Thompson
8492         <phil@river-bank.demon.co.uk> that enables space settings for
8493         the last row/columns as well.
8494
8495 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
8496
8497         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
8498         updates the license headers to the GNU Lesser General Public License,
8499         as well as updating the copyright year to 2000.
8500
8501 2000-07-26  Robert Brady  <rwb197@zepler.org>
8502
8503         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
8504           and po/Makefile, was installing and looking for them under gtk20
8505           and gtk2 respectively.
8506
8507 2000-07-25  Havoc Pennington  <hp@redhat.com>
8508
8509         * gtk/testtext.c: Comment out some stuff that depends on the rest
8510         of my patches.
8511
8512 2000-07-25  Havoc Pennington  <hp@redhat.com>
8513
8514         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
8515         buffer
8516
8517 2000-07-25  Havoc Pennington  <hp@redhat.com>
8518
8519         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
8520         widget changes.
8521
8522         * gtk/gtktextview.h: To be consistent with usage of "line"
8523         throughout the API to mean "newline-terminated thingy", change
8524         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
8525         to MOVEMENT_LINE.
8526
8527         (GtkTextView): Add flags for default editability, and whether to
8528         show the cursor. Add functions to get/set that. Add 
8529
8530         (gtk_text_view_get_iter_location): new function
8531
8532         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
8533         gtktextlayout.h
8534         (g_convert): Add g_convert temporarily, will go in glib in a bit
8535         
8536         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
8537         GtkTextTagTableForeach instead of brokenly using GHFunc.
8538         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
8539
8540         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
8541         moved to public header.
8542
8543         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
8544         "invisible", since "elide" was a bad name.
8545         (gtk_text_tag_get_priority): Added
8546
8547         (GtkTextStyleValues): put this in public header, along with
8548         functions to use it.
8549
8550         * gtk/gtktextmarkprivate.h: Include more headers, since we no
8551         longer include gtktextbtree.h.
8552
8553         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
8554         gtk_text_mark_deleted
8555
8556         * gtk/gtktextlayout.h: Don't include the "really private" headers,
8557         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
8558         to make this possible. Now we only need to install
8559         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
8560         (However the Makefile.am isn't changed yet because of the
8561         logistics of merging gtk-hp-patches piecemeal)
8562
8563         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
8564         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
8565         gtk_text_iter_get_line is now used in the public API for a
8566         different purpose.
8567
8568         * gtk/gtktextiter.h: Clean up function names to be more
8569         consistent. Always call char offset "offset" and byte index
8570         "index". A "line" is always a line number. 
8571
8572         (gtk_text_iter_is_last): new function, more efficient than 
8573         the existing way to check
8574         (gtk_text_iter_is_first): new function, also more efficient
8575
8576         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
8577
8578         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
8579         gtk_text_iter_forward_char, etc.
8580
8581         (gtk_text_iter_forward_to_tag_toggle): Renamed from
8582         forward_find_tag_toggle, since this isn't a linear search
8583
8584         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
8585
8586         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
8587         New functions, search for a buffer substring.
8588
8589         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
8590         interactive and default editable (since we need to store that info
8591         until we receive the selection data).
8592
8593         Remove all the _at_char and at_line etc. versions of functions;
8594         only have iterator versions.
8595
8596         Add _interactive() versions of functions, that consider the
8597         editability of text. (FIXME add interactive flag to the 
8598         insert/delete signals per Darin's suggestion)
8599
8600         (gtk_text_buffer_get_tag_table): new function, demand-creates the
8601         tag table if necessary
8602
8603         Remove declaration of gtk_text_buffer_get_iter_from_string
8604
8605         (_gtk_text_buffer_get_btree): private/internal function, added.
8606         
8607
8608         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
8609         (gtk_text_line_is_last): new function
8610
8611 2000-07-25  Havoc Pennington  <hp@redhat.com>
8612
8613         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
8614         using GtkProgressBar. See Changes-2.0.txt for details.
8615
8616         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
8617         "pulse_step" which are the equivalent of
8618         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
8619         Implement new API.
8620         
8621         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
8622         (use_text_format) to mark whether text set on the progress bar is
8623         a format string. Deprecate entire GtkProgress interface.
8624
8625         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
8626         (gtk_progress_build_string): make this a no-op if use_text_format
8627         is FALSE
8628
8629         * docs/Changes-2.0.txt: Describe progress bar changes.
8630
8631 2000-07-25  Tor Lillqvist  <tml@iki.fi>
8632
8633         * Makefile.am: Include the build directory.
8634
8635         * configure.in: Generate build/Makefile, build/win32/Makefile,
8636         gdk/, gdk/win32/, and gtk/makefile.mingw.
8637
8638         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
8639         Add GETTEXT_PACKAGE.
8640         
8641         * gdk/gdk.def
8642         * gtk/gtk.def: Updates.
8643
8644         * gdk/gdkfont.h
8645         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
8646         need them any longer.
8647
8648         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
8649
8650         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
8651         PANGOWIN32_LIBS and gdk_pixbuf.
8652
8653         * gdk/win32: Compiles, but no doubt doesn't work at all.
8654
8655         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
8656
8657         * gdk/win32/gdkinput.c: New file, temporarily.
8658         
8659         * gdk/win32/gdkinput-win32.h: New file
8660
8661         * gdk/win32/gdkinputprivate.h: Remove.
8662
8663         * gdk/win32/gdkpango-win32.c: New file.
8664
8665         * gtk/makefile.mingw.in: New file
8666
8667         * gtk/makefile.cygwin: Removed
8668         
8669         * gtk/Makefile.am: Update accordingly.
8670
8671         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
8672         made externally visible.
8673
8674         * gtk/gtkmain.c: Use it.
8675         
8676         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
8677         is enough.
8678
8679         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
8680
8681 2000-07-24 Elliot Lee <sopwith@redhat.com>
8682         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
8683         individual backends already.
8684         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
8685         again. Yes, there really is a good reason for this, if you are using the gdkregion
8686         internals, and if you're not, why do you care?
8687         * gdk/gdkwindow.c: Fix inverted condition
8688         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
8689         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
8690         * gtk/gtkrange.c: Redraw trough when moving.
8691         * gtk/gtktypeutils.c: Fix warning by adding const cast.
8692         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
8693
8694 2000-07-23  Tor Lillqvist  <tml@iki.fi>
8695
8696         * configure.in: Check for mkstemp and sigsetjmp. Output
8697         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
8698
8699         More work on GDK for Win32. Still in an intermediate state.
8700
8701         * gdk/makefile.cygwin
8702         * gdk/win32/makefile.cygwin: Removed.
8703         
8704         * gdk/makefile.mingw.in
8705         * gdk/win32/makefile.mingw.in: New files.
8706
8707         * gdk/Makefile.am
8708         * gdk/win32/Makefile.am: Generate and distribute them.
8709
8710         * gdk/win32/gdkwindow-win32.h
8711         * gdk/win32/gdkdrawable-win32.h
8712         * gdk/win32/gdkpixmap-win32.h: New files.
8713
8714         * gdk/win32/gdkcolor-win32.c
8715         * gdk/win32/gdkcursor-win32.c
8716         * gdk/win32/gdkdrawable-win32.c
8717         * gdk/win32/gdkgc-win32.c
8718         * gdk/win32/gdkimage-win32.c
8719         * gdk/win32/gdkprivate-win32.h
8720         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
8721         Rename fields and variables called xcursor, xid, etc (these names
8722         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
8723
8724 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
8725
8726         * gtk/gtkentry.[ch]: Fix some problems with vertical
8727         alignment.
8728
8729         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
8730         char/byte confusion.
8731
8732 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
8733
8734         * gtk/gtktextview.c (changed_handler): Fix bug where
8735         redraw wasn't being done properly when height of
8736         dirty region changed.
8737
8738         * demos/Makefile.am: Remove various references to
8739         -lgmodule
8740
8741 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
8742
8743         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
8744         PangoAttrShape to reserve space for pixmaps, add 
8745         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
8746         in the display functions.
8747         
8748         * gtk/testgtk.c (create_layout): Set some more exotic
8749         scrolled window options
8750
8751         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
8752         Add function to set the shadow type of a window, to allow
8753         putting a shadow around widgets such as GtkLayout or GnomeCanvas
8754         which don't draw their own frame.
8755
8756 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
8757
8758         * docs/tutorial/package-db-tutorial.sh: New file for
8759           packaging DocBook format tutorial
8760
8761 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
8762
8763         * docs/tutorial/gtk-tut.sgml: Minor updates
8764
8765         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
8766
8767 2000-07-19  Tor Lillqvist  <tml@iki.fi>
8768
8769         * gtk/gtksignal.c: Fix C++ comment.
8770
8771         * gtk/gtkimmulticontext.c
8772         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
8773         don't return value from void functions.
8774
8775         * gtk/gtk.def: Add gtk_rc_style_unref.
8776
8777 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8778
8779         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
8780         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
8781         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
8782         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
8783         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
8784         gtk/gtktypeutils.h: Include files outside of the extern "C"
8785         block. Makes some C++ compiler happy. Reported by Denis Vakatov
8786         <vakatov@peony.nlm.nih.gov>.
8787
8788 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
8789
8790         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
8791           Completes first pass. Hurrah!
8792
8793 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
8794
8795         * docs/tutorial/gtk-tut.sgml: More clean ups.
8796
8797 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
8798
8799         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
8800         paint the background of the text area which was accidentally
8801         removed at some point.
8802
8803         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
8804           
8805          - Move most of the functionality from the theme vtable
8806            into GtkRcStyleClass and GtkStyleClass. The moved
8807            vtable functions were changed a bit in the move to
8808            work better in their new home.
8809
8810          - Get rid of the engine and engine_data fields from
8811            GtkRcStyle and GtkStyle; instead the theme
8812            engine derives theme-specific subclasses of GtkRcStyle
8813            and GtkStyle
8814
8815          - Add extra dlsym() found entry point to themes,
8816            theme_create_rc_style().
8817
8818         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
8819         in gtk_style_real_copy.
8820
8821         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
8822         to register a type associated with an engine. (The engine
8823         won't be unloaded as there is an instance of the type.)
8824
8825
8826 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
8827
8828         * docs/tutorial/gtk-tut.sgml: Clean ups.
8829
8830 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
8831
8832         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
8833           of cleaning up to do.
8834
8835 2000-07-15  Tor Lillqvist  <tml@iki.fi>
8836
8837         * gdk/testgdk.c: New file, quick hack to test backends for
8838         pixel-by-pixel correctness of the most simple graphic operations.
8839
8840 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
8841
8842         * Really release 1.3.1
8843         
8844         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
8845         include structure.
8846
8847 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
8848
8849         * Released 1.3.1
8850
8851 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
8852
8853         * gtk/gtktextlayout.c: use FALSE for size_only most
8854         of the time when calling gtk_text_layout_get_line_display()
8855         to avoid causing double reshapes when a redraw follows
8856         immediately after.
8857
8858 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
8859
8860         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
8861         appropriate region and gdk_window_process_updates() so trough
8862         updating doesn't lag behind the window being scrolled.
8863
8864         * gdk/gdkgc.c: Make parent_class pointer static.
8865          
8866 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
8867
8868         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
8869         include <string.h>.
8870          
8871         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
8872         cut-and-paste error in computing memory offset for 4 channels.
8873
8874 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
8875
8876         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
8877         gtk_rc_append_default_pixmap_path(), since it wasn't
8878         adding an interesting path and we don't have a meaningful
8879         default for this value.
8880
8881 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
8882
8883         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
8884         gtk-config to gtk-config-2.0 move gtk_.m4 to
8885         gtk-2.0.m4
8886
8887         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8888         gdk/Makefile.am demos/Makefile.am: Change 
8889         library names to libgtk-1.3.la, etc, so that we
8890         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
8891
8892         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
8893         gdk/Makefile.am gdk/x11/Makfile.am
8894         Move include files into /usr/include/gtk-2.0, 
8895         /usr/lib/gtk-2.0/include/
8896          
8897         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
8898         gtk/gtkintl.h: Change package for gettext from 
8899         gtk+ to gtk20. Put hack in autogen.sh to modify
8900         po/Makefile.in.in after gettextize to make this
8901         possible.
8902
8903         * gtk+.spec: Some updates, not tested.
8904
8905         * gdk-pixbuf/Makefile.am: Move loaders into
8906         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
8907
8908         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
8909         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
8910         to THEMENAME/gtk-2.0/. Move engine directory  to
8911         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
8912         
8913 2000-07-12  Tor Lillqvist  <tml@iki.fi>
8914
8915         Win32 changes, still doesn't build though.
8916
8917         * gdk/makefile.cygwin
8918         * gdk/win32/makefile.cygwin
8919         * gtk/makefile.cygwin: Updates.
8920
8921         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
8922         default values for fg and bg pixel as X11 does (0 and 1), not
8923         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
8924         Use 0 for pen width by default (treated as 1 anyway later, but for
8925         apps that might check the value in the GdkGC).
8926         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
8927         interface to gdk_gc_predraw and _postdraw.
8928
8929         * gdk/win32/gdkwin32.h
8930         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
8931
8932         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
8933         extraneous semicolon.
8934
8935         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
8936
8937         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
8938         not the Win32 bitspixel value.
8939
8940         * gdk/win32/gdkcc-win32.c:
8941         * gdk/win32/gdkcolor-win32.c 
8942         * gdk/win32/gdkprivate-win32.h
8943         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
8944         GDK object structure.
8945
8946 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
8947
8948         * docs/tutorial/gtk_tut_12.es.sgml (name): 
8949         * docs/tutorial/gtk_tut_it.sgml (name): 
8950         * docs/tutorial/gtk_tut_fr.sgml (name): 
8951         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
8952         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
8953
8954 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
8955
8956         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
8957           small changes.
8958
8959 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
8960
8961         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
8962         a bug here, never been here and never fixed anything ;(
8963         (don't segfault if tree->root_tree is NULL, which happens prior
8964         to widget realization, but puke instead).
8965
8966 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
8967
8968         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
8969         add the necessary tokens.
8970
8971         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
8972         (gtk_rc_style_to_style): copy thicknesses.
8973         (gtk_rc_init_style): apply thicknesses.
8974         (gtk_rc_parse_style): parse xthickness and ythickness.
8975
8976         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
8977
8978         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
8979         (gdk_window_new): 
8980         (_gdk_windowing_window_init): 
8981         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
8982         (gdk_pixmap_create_from_data): 
8983         (gdk_bitmap_create_from_data): 
8984         (gdk_pixmap_new): 
8985         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8986         (gdk_image_new): 
8987         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
8988         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
8989         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
8990         (gdk_colormap_get_system): 
8991         (gdk_colormap_new): 
8992         * gdk/gdkwindow.c (gdk_window_init): 
8993         * gtk/gtkstyle.c (gtk_style_new):
8994         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
8995         * gdk/gdkpixmap.c (gdk_pixmap_init): 
8996         * gtk/gtkrc.c (gtk_rc_style_new):
8997         use g_object_new() instead of g_type_create_instance() which
8998         is a private function for fundamental type implementations.
8999
9000 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
9001
9002         * configure.in: Add check for db2html
9003
9004 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
9005
9006         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
9007         hack to set glib_debug_objects based on gtk_debug_flags.
9008
9009 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
9010
9011         * INSTALL.in: Update the Prerequisites section.
9012
9013         * Makefile.am demos/Makefile.am docs/Makefile.am
9014         docs/tutorial/Makefile.am gdk/x11/Makefile.am
9015         gdk/linux-fb/Makefile.am: Dist fixes
9016
9017 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
9018
9019         * NEWS: 10,000 foot view of 1.3.1 changes.
9020
9021 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
9022
9023         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
9024         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
9025         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
9026         gdk/x11/gdkmain-x11.c: 
9027
9028         Patch from George Lebl to add a GdkGrabStatus enumeration to use
9029         as a return value of gdk_*_grab(). Previously, we just
9030         returned the X11 values directly.
9031
9032 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
9033
9034         * gdk/x11/Makefile.am: Patch from George Lebl to 
9035         install all the headers in the right place.
9036
9037 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
9038
9039         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
9040           initial conversion to DocBook.
9041
9042 2000-07-04  Tor Lillqvist  <tml@iki.fi>
9043
9044         * README.win32: Improve a bit.
9045
9046         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
9047         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
9048         Alt+0nnn on the numpad (used to enter characters by numeric code
9049         from current DOS or ANSI codepage) working correctly, as in other
9050         Windows apps.
9051
9052         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
9053         same argument validity tests as in X11 version.
9054         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
9055
9056         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
9057         definitions in case missing from headers.
9058
9059         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
9060         destroy the window-specific cursor.
9061         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
9062         calling GetModuleHandle(NULL).
9063         (gdk_window_set_cursor): Reworked to always copy the passed cursor
9064         with CopyCursor before setting it as the window-specific
9065         cursor. It is OK for the caller to destroy the GdkCursor (and thus
9066         also its Windows cursor) after calling this function. Destroy any
9067         previous window-specific cursor.
9068
9069 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
9070
9071         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
9072         font charset is iso8859-1, not iso-8859-1.
9073
9074 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
9075
9076         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
9077         Use g_get_charset() instead of g_get_codeset().
9078
9079         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
9080         Comment out some strdup'ing functions to keep timj
9081         happy until we finish fighting this out.
9082
9083 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
9084
9085         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
9086         <= width or height.
9087
9088         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
9089         from 1.2 for parent/child states.
9090
9091         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
9092         of typos.
9093
9094         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
9095         event structures, replace with a generic axes field. Replace 
9096         deviceid/sourec with GdkDevice *device.
9097
9098         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
9099         to extract particular axis use value from event. (Also
9100         can be used for normal X/Y.)
9101
9102         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
9103         allow for arbitrary number of axes, namespace everything
9104         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
9105         everywhere.
9106
9107         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
9108         Get rid of the gdk_input_vtable setup if favor of simply
9109         defining the functions in gdkinput-none/gxi/xfree.c in
9110         a similar fashion to the way that the port structure is 
9111         done.
9112
9113         * gtk/gtkdnd.c: Fix fields of synthesized button press event
9114         for new event structures. 
9115
9116         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
9117         new device interfaces.
9118
9119 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
9120
9121         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
9122         set the initial text.
9123
9124         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
9125         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
9126         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
9127         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
9128
9129         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9130         pango_layout_set_font_description to simplify.
9131
9132 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
9133
9134         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9135         pango_layout_set_font_description to simplify.
9136
9137 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
9138
9139         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
9140         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
9141         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
9142
9143         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
9144         PANGO_PIXELS() macro.
9145
9146 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
9147
9148         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
9149         that returns a PangoContext owned by the widget and updated to
9150         match future changes in the widget. Also, make 
9151         gtk_widget_create_pango_layout() use this context. If we ever
9152         add a ::changed signal to PangoContext, this will make things
9153         much more convenient. 
9154
9155         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
9156         in the appropriate places instead of destroying the layouts and
9157         creating new ones.
9158
9159         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
9160         in a few strategic places.
9161
9162 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
9163
9164         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
9165         gtk_widget_size_request() on reparented child, if one. Otherwise,
9166         queue_resize() on the child never results in it getting size-requested
9167         at all.
9168
9169         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
9170         in option menus, so that (with luck) people won't copy it into
9171         their apps in the future.
9172
9173         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
9174         to gtk_option_menu_calc_size. This isn't perfect, but should fix
9175         a lot of problems with changing the size of the menu's menu
9176         items after adding it to the option menu.
9177
9178         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
9179
9180         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
9181         the text direction for a widget changes.
9182
9183         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
9184         ::direction_changed to get rid of various hacks.
9185
9186 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
9187
9188         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
9189         name.
9190
9191 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
9192
9193         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
9194         flag to the structure. Do not call XFreePixmap on pixmaps created
9195         by gdk_pixmap_foreign_new().
9196
9197 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
9198
9199         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
9200         value using GdkRGB functionality given GdkColormap and GdkColor.
9201         (name not final, waiting for inspiration.)
9202         
9203         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
9204         set the foreground/background of a GC using the GC's colormap
9205         and GdkRGB. (name not final, waiting for inspiration.)
9206
9207         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
9208         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
9209
9210         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
9211         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
9212         purely a function of the corresponding colormap. Make
9213         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
9214
9215         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
9216         gdk_pixbuf_*create_from_xpm_* in terms of
9217         gdk_pixbuf_new_from_xpm_data(), move into platform independent
9218         code.
9219
9220         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
9221         advantage of the new draw_rgb_32_image_dithalign.
9222
9223         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
9224
9225         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
9226         on each created GC.
9227
9228         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
9229
9230         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
9231         which we initialize from the drawable when the GC is created,
9232         if the drawable has a colormap.
9233
9234         * gdk/x11/gdkgc-x11.c: include string.h for memset.
9235
9236         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
9237
9238         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
9239
9240 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
9241
9242         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
9243         actually returning expose events, make sure to set
9244         the count field properly.
9245
9246         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
9247         accidentally reintroced bug which always cleared
9248         the graphics_exposures value. 
9249
9250 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
9251
9252         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
9253
9254 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
9255
9256         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
9257
9258 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
9259
9260         * docs/faq/gtk-faq.sgml: Start of Section 6.
9261
9262 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
9263
9264         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
9265         
9266         (Fixes problem with drawing childless frames. Pointed out
9267         by and a first patch from Anders)
9268         
9269         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
9270         compute a child_allocation, even if we don't have a child.
9271
9272         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
9273         Always chain to the parent's impl, even if we don't have a child.
9274
9275 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9276
9277         * gdk/gdkrgb.c: If possible, create only a single shm segment and
9278         use multiple parts of it instead of creating a bunch of separate
9279         segments, since the maximum number of segments per system is not
9280         large. (This might be worth backporting to GTK+-1.2.x if we make a
9281         new release )
9282
9283         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
9284         structure in preparation for per-colormap GdkRGB.
9285
9286         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
9287         to False when we get EINVAL from shmget so that the caller of
9288         gdk_image_new can retry with a smaller segment size.
9289
9290 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
9291
9292         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
9293
9294 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
9295
9296         * configure.in: make the current version number 1.3.1 (binary age 0,
9297         interface age 0).
9298         
9299         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
9300         gtkcompat.h is all we want.
9301
9302         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
9303         GLib primitive types. fixed g_type_register_fundamental() argument
9304         ordering.
9305
9306         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
9307         compiles.
9308
9309         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
9310         object code cleanup, comment trigraph fixes, etc...
9311
9312 2000-06-23  Havoc Pennington  <hp@redhat.com>
9313
9314         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
9315         instead of making up a bogus name for first_para_mark
9316
9317         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
9318         0 as a context ID
9319
9320 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
9321
9322         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
9323
9324 2000-06-21  Havoc Pennington  <hp@pobox.com>
9325
9326         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
9327         we didn't check window->bg_pixmap != GDK_NO_BG.
9328
9329         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
9330         gdk-pixbuf
9331
9332 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
9333
9334         * docs/faq/gtk-faq.sgm: Move file to here.
9335           TODO: Update Makfile.am 
9336
9337 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
9338
9339         * docs/gtk-faq.sgm: Add Section 2
9340
9341 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
9342
9343         * docs/gtk-faq.sgm: New file. Start of DocBook
9344           version of the FAQ.
9345
9346 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
9347
9348         * configure.in (GDK_PIXBUF_MAJOR): Define version
9349         numbers for GDK_PIXBUF_*, as they get substituted
9350         into a header file. Need to consider versioning
9351         for gdk-pixbuf more carefully later.
9352
9353 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
9354
9355         Work with srcdir != builddir.   
9356         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
9357         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
9358         * demos/testpixbuf.c: Likewise.
9359         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
9360         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
9361         <gdk/x11/gdkx.h>.
9362         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
9363         "gdk-pixbuf.h".
9364         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
9365
9366 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
9367
9368         * TODO.xml: Change 1.4 version numbers to 2.0.
9369
9370 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
9371
9372         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
9373         fixups to GTK+ standard.
9374
9375 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
9376
9377         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
9378         gdk-pixbuf.
9379
9380         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
9381         fixups for GObject.
9382
9383         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
9384         gdk-pixbuf with GDK dependencies moved into GDK.
9385         
9386         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
9387         move gdk-pixbuf-loader here until GObject has signals.
9388
9389         * demos/: New directory of demos. Move demos from
9390         gdk-pixbuf here.
9391
9392         * demos/pixbuf-init.c: Small bit of code to check for
9393         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
9394         set GDK_PIXBUF_MODULEDIR appropriately.
9395
9396         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
9397         define which no longer makes sense.
9398
9399 2000-06-21  Havoc Pennington  <hp@redhat.com>
9400
9401         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
9402         gtk_get_default_language
9403
9404         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
9405         new function to get the default language
9406
9407         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
9408         s/gtk_text_view_style_values/gtk_text_style_values/
9409
9410         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
9411         Add a "language" field to tags.
9412
9413         (gtk_text_tag_set_arg): Fix bug in setting
9414         "bg_full_height_set" tag.
9415
9416 2000-06-21  Havoc Pennington  <hp@redhat.com>
9417
9418         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
9419         in the interfaces
9420
9421         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
9422         stuff instead when possible.
9423
9424         * gtk/gtktexttypes.h: Delete some unused constants
9425
9426         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
9427         testtextbuffer.c: use glib instead of custom unicode routines
9428
9429 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
9430
9431         * docs/es/: Removed mistakenly added generated sgml
9432
9433         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
9434         Remove outdated info files.
9435
9436         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
9437         Moved tutorial files into subdir
9438
9439         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
9440         subdir.
9441
9442         * docs/man/gtk_button.pod: Remove. (contents will be
9443         integrated into gtk-reference button page.)
9444
9445         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
9446         docs/faq/Makefile.am: Adjust for new organization
9447
9448 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
9449
9450         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
9451         not $(MKINSTALLDIRS)
9452
9453 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
9454
9455         * gtk/testgtk.c (create_text): Finish the job Elliot started
9456         of removing font setting test for text widget. (Since text widget
9457         and GdkFont are not deprecated, and cause portability problems.)
9458
9459 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
9460
9461         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
9462         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
9463         Remove use of libunicode in favor of new GLib functions.
9464
9465         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
9466         nano-x, framebuffer. The X11 include is just a hack until we get
9467         the necessary functions in gdkcolor.h, so there is no reason to
9468         add other includes of platforms.
9469
9470         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
9471         window bigger than the screen change.
9472
9473         * gtk/testgtk.c: Revert some random changes from Elliot
9474         that had no particular point and were causing testgtkrc
9475         not to function correctly.
9476         
9477         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
9478         because GdkSegment and GdkRegionBox have the same fields,
9479         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
9480         results in clearer code.
9481
9482         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
9483         gdk_input_translate_coordinates): Fix missed GdkObjectification
9484
9485 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9486
9487         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
9488         * gtk/gtk{plug,socket}.h: Missed commits from previous.
9489
9490 2000-06-20  Havoc Pennington  <hp@redhat.com>
9491
9492         * modules/linux-fb/Makefile.am: Make this compile
9493         without framebuffer enabled
9494
9495         * gdk/linux-fb/Makefile.am: Add conditional to not build
9496         framebuffer unless specified in configure
9497
9498         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
9499         the size of the target instead of source if -1 was passed for
9500         width/height
9501
9502         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
9503         width/height confusion.
9504
9505 2000-06-19  Havoc Pennington  <hp@redhat.com>
9506
9507         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
9508         GDK_DRAWABLE_XID. In the future, we probably want to make it
9509         faster with G_DISABLE_CHECKS turned on.
9510
9511 2000-06-14  Havoc Pennington  <hp@redhat.com>
9512
9513         * gdk/Makefile.am: add gdkpixmap.c
9514
9515         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
9516         s/gdk_image_init/_gdk_windowing_image_init
9517
9518         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
9519         ref/unref
9520
9521         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
9522
9523         * gdk/gdkcompat.h: remove GdkWindowType compat, since
9524         GdkWindowType is now non-deprecated; 
9525         change gdk_window_get_type() compat to be
9526         gdk_window_get_window_type().
9527
9528         * gdk/gdkdnd.h: make GdkDragContext a GObject.
9529
9530         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
9531         virtual GObject. Make all functions call into the vtable.
9532         Move gdk_image_put() guts in here. Remove GdkDrawableType
9533         and gdk_drawable_get_type(), these are now GdkWindow-specific.
9534         draw_image, get_depth, get_size, set_colormap, get_colormap,
9535         get_visual added to the vtable.
9536         
9537         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
9538         GObject. Virtualize everything. 
9539         (gdk_gc_new_with_values): remove check for destroyed window,
9540         because now GdkWindow::create_gc will check this.
9541         (gdk_gc_set_values): New function to set GC values, this 
9542         was already implemented but wasn't in the header
9543
9544         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
9545
9546         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
9547         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
9548         remove _gdk_window_class; add _gdk_window_impl_get_type() and
9549         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
9550         _gdk_windowing_window_init, rename gdk_image_init to
9551         _gdk_windowing_image_init.
9552         
9553         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
9554         (gdk_draw_layout): Remove check for destroyed window, 
9555         because all the drawable methods already check it.
9556         
9557         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
9558         Add gdkpixmap.c which contains implementation of GdkDrawable
9559         virtual table (by chaining to a platform-specific implementation
9560         object).
9561         
9562         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
9563         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
9564         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
9565         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
9566         GdkColormapPrivate. 
9567
9568         * gdk/gdktypes.h: #include <glib-object.h>
9569
9570         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
9571         Move most functionality to platform-specific implementation
9572         object. GdkWindow itself now handles the backing store, then
9573         chains to the platform-specific implementation.
9574         (gdk_window_get_window_type): return GdkWindowType of the window.
9575         (gdk_window_peek_children): New routine, returns the children of 
9576         a GdkWindow
9577         (gdk_window_get_children): Was in X11-specific code and did 
9578         XQueryTree. Changed to simply return a copy of window->children; 
9579         so it can go in cross-platform code.
9580         
9581         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
9582
9583         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
9584         GdkColormap; just changed to use the new private data instead
9585         of casting to GdkColormapPrivate.
9586
9587         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
9588         gdk_cursor_new().
9589
9590         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
9591         (private data member in the GObject). 
9592         (xdnd_manager_source_filter): Function had broken 
9593         error handling, fix it (use gdk_error_trap_push).
9594
9595         * gdk/x11/gdkdrawable-x11.c: This file now implements
9596         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
9597         base class is purely for the convenience of the X port,
9598         and not part of the interface to cross-platform GDK.
9599
9600         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
9601         
9602         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
9603         specific to X, and returned by the create_gc virtual method
9604         of GdkDrawableImplX11. 
9605         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
9606         rather than gchar, this was also changed in the GdkGC vtable.
9607         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
9608         mask is 0, return immediately, instead of checking every flag.
9609         This is faster, and keeps us from segfaulting if values is NULL
9610         and the mask contains some nonzero flags.
9611
9612         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
9613         GdkWindow.
9614
9615         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
9616         GdkWindowPrivate is gone.
9617
9618         * gdk/x11/gdkim-x11.c: rename things that got renamed.
9619
9620         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
9621         remove the image_put stuff that got transferred to GdkDrawable.
9622         
9623         * gdk/x11/gdkinput.c: renamings
9624
9625         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
9626
9627         * gdk/x11/gdkpixmap-x11.c: GObject conversion
9628
9629         * gdk/x11/gdkprivate-x11.h: indentation fixes
9630
9631         * gdk/x11/gdkproperty-x11.c: renamings
9632
9633         * gdk/x11/gdkselection-x11.c: renamings
9634
9635         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
9636         implements the platform-specific "impl" object.
9637         Moved gdk_window_get_children to gdk/gdkwindow.c
9638
9639         * gdk/x11/gdkx.h: Remove all the private structs and private datas
9640         that no longer exist. Add declaration of GdkGCX11 object here.
9641         Fix all the macros to still work. 
9642
9643         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
9644         GdkDragContext from the boxed types since they are now GObjects.
9645
9646         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
9647         moved xthickness/ythickness into the instance. GtkStyleClass
9648         functions are now in the standard vtable for GtkStyle, so you have
9649         to create a GObject subclass to write a theme engine.
9650         (gtk_style_copy): fixed a leaked PangoFontDescription
9651         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
9652         can be the standard GObject function.
9653         
9654         * Throughout GTK:
9655         s/style->klass->[xy]thickness/style->[xy]thickness
9656         s/pango_layout_unref/g_object_unref/
9657
9658         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
9659         
9660         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
9661         accessing GDK internals.
9662
9663         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
9664         accessing GDK internals.
9665
9666 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9667
9668         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
9669
9670         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
9671         problem by calculating event position relative to the trough
9672         rather than the slider.
9673         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
9674
9675         * gdk/gdkgc.h: Add GDK_NOR.
9676
9677         * configure.in, Makefile.am: Add modules top level dir
9678         * configure.in: Only use pangox library if building x11 target.
9679         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
9680
9681 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9682
9683         * gtk/gtkcolorsel.c: Change private class member to be named
9684         private_data throughout the file.
9685
9686         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
9687         private_data to avoid clashing with keyword.
9688
9689 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9690
9691         * gdk/gdkdnd.h: Add comment to remove warning.
9692
9693 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
9694
9695         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
9696         Byelorussian language; changed the Makefile and file names 
9697         to reflect that.
9698
9699 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
9700
9701         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
9702         rather than gdk_window_hide; this makes things work
9703         correctly if the window is programmatically hidden while
9704         iconified.
9705
9706 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
9707
9708         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
9709         cut and paste typo where wrong pixmap was being
9710         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
9711
9712 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
9713
9714         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
9715         Add helper function to compute format / bytes 
9716         relationship. Use in a couple places to fix up
9717         errors which assume 8 * format.
9718
9719         * gtk/gtkselection.c (gtk_selection_request): Use 32
9720         rather than 8 * sizeof (GdkAtom), to work correctly
9721         on Alpha.
9722
9723 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
9724
9725         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
9726         libgtk.la
9727         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
9728         versions
9729
9730         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
9731         checking macros return NULL since the function has a return value.
9732
9733 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
9734
9735         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
9736         GTK+ from building at all.
9737
9738         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
9739
9740 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
9741
9742         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
9743         gtk/Makefile.am: make it possible to configure gtk for different
9744         targets on the same platform. The library name is now 
9745         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
9746         flag. Only the x11 target compiles right now.
9747         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
9748         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
9749         * gdk/nanox/gdk*generic*: delete generic region code.
9750         * gdk/linux-fb/gdk*generic*: delete generic region code.
9751         * README.nanox: update information.
9752         
9753 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
9754
9755         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
9756         prepend not append. (Pointed out by Brett Hall.)
9757
9758 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
9759
9760         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
9761
9762 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
9763
9764         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
9765         need this later, and this makes sure that the atexit for
9766         glib gets called after that for GDK, so atexits are
9767         properly ordered for object leak checking.
9768
9769         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
9770
9771         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
9772         pango_x_shutdown_display()
9773
9774         * gtk/simple.c (main): Close window on destroy.
9775
9776 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
9777
9778         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
9779         to treat initial creation different from setting with 
9780         regards to the graphics-exposures parameter, so add a parameter
9781         indicating whether this is initial or not.
9782
9783 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
9784
9785         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
9786         to sort of work by adding an extra return_exposes arg
9787         to gdk_event_translate() - it might be better to simply
9788         deprecate the function altogether and force people to rewrite
9789         without it. gdk_window_scroll() handles most of it, and where
9790         gdk_window_scroll() doesn't work, simply redrawing more does.
9791
9792         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
9793         assertion.
9794
9795         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
9796
9797         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
9798         bunch of pretty much useless /* Print debugging info */ comments 
9799         which had drifted away from the code they were commenting.
9800
9801 2000-06-02  Havoc Pennington  <hp@pobox.com>
9802
9803         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
9804         is in working order.
9805         
9806         * gtk/testtext.c: Change to reflect anonymous mark API
9807
9808         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
9809
9810         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
9811         field, which was unused.
9812
9813         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
9814         saves some typing.
9815
9816         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
9817
9818         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
9819         flag on the insertion point and selection bound
9820
9821         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
9822         make mark-manipulation functions take a GtkTextMark* instead of a
9823         mark name.
9824         
9825         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
9826         GtkTextMarkBody; will be used to detect attempts to delete
9827         the permanent marks (insert and selection bound)
9828
9829         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
9830
9831 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
9832
9833         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
9834         flag to on.
9835
9836         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
9837         Honor DOUBLE_BUFFRED_FLAG
9838
9839         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
9840         function to set the DOUBLE_BUFFERED flag.
9841
9842         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
9843         or not exposes done on the widget should be double-buffered.
9844
9845         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
9846         to be what would be expected. (Fixes problem with a
9847         g_return_if_fail() validating a TextDirection enumeration)
9848
9849 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
9850
9851         * gtk/gtkwidget.c: Remove all references to 
9852         offscreen flag which was no longer used.
9853
9854         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
9855
9856         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
9857         for non-null label_widget->parent.
9858
9859         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
9860         which no longer was used.
9861
9862         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
9863
9864         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
9865         for null arguments.
9866
9867         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
9868         check for destroyed windows.
9869
9870 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
9871
9872         * gtk/gtkimmulticontext.c: Add a finalize method and unref
9873         the slave context there.
9874
9875         * gtk/gtkinvisible.[ch]: Make reference counting behavior
9876         identical to GtkWindow.
9877
9878 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
9879
9880         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
9881         pangox to here, so we can write them independent of rendering
9882         system, using GDK primitives.
9883
9884         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
9885         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
9886         since we have a rendering-system independent implementation in
9887         terms of draw_glyphs().
9888         
9889         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
9890         function to render a single line.
9891
9892         * gdk/x11/gdkpango.c: Move the guts of this file mostly
9893         into ../gdkpango.c, which simplifies things, since we
9894         don't have to deal with raw X gc's.
9895
9896 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
9897
9898         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
9899         get the logical attributes for a given GtkTextLine.
9900
9901 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
9902
9903         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
9904         g_locale_get_codeset() to g_get_codeset() change.
9905
9906 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
9907
9908         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
9909         descriptions.
9910
9911         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
9912         the entry.
9913
9914         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
9915         redoing (vastly simplifying) for Pango. Still needs quite
9916         a bit of work. (Size selection is currently poor. List of 
9917         predefined sizes is not a good idea, since all of these
9918         sizes won't necessarily be distinct.)
9919
9920 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
9921
9922         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
9923         CODESET results for LANG=C.
9924
9925 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
9926
9927         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
9928         which takes a stringized pango font description;
9929         ignore the older 'font' and 'fontset' declarations.
9930
9931         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
9932         field with a GdkFont derived via gdk_font_from_description(),
9933         for compatibility. (Should we just remove it entirely?
9934         Probably too much compatibility breakage, but people
9935         should be migrating to the new Pango stuff as quickly
9936         as possible.)
9937
9938 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
9939
9940         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
9941
9942 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
9943
9944         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
9945         redoing; there are some bugs in size allocation right
9946         now, the semi-existant distinction between header / day
9947         fonts was removed, but, with Pango, could actually
9948         be made functional in a nice way.
9949         
9950         * gtk/testcalender: Move calender from examples into this
9951         directory as a test program. (We really need to restrcture
9952         testgtk into a whole directory full of tests for every
9953         widget or functionality group, separated into multiple .c
9954         files.)
9955
9956 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
9957
9958         * gtk/testgtk.c (file_exists): Fix stupid typo that
9959         was keeping RC file from being loaded.
9960
9961         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
9962         RC file font code.
9963
9964 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
9965
9966         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
9967         Add function to load a GdkFont from a PangoFontDescription.
9968
9969 2000-05-29  Tor Lillqvist  <tml@iki.fi>
9970
9971         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
9972         variable should be of type GdkEventPrivate.
9973
9974 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
9975
9976         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
9977         to have any widget for the label, use a GtkLabel widget
9978         to display the text. (Based partially on a patch from
9979         Anders Carlson.)
9980
9981         (Quite a bit of code reorganization - strip 90% of the
9982         guts out of gtkaspectframe and add a single virtual
9983         func to GtkFrameClass - compute_child_allocation.)
9984
9985 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
9986
9987         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
9988         (Removed clist->row_center_offset field because caching
9989         it wasn't saving time or code, added private function
9990         _gtk_clist_create_cell_layout()).
9991
9992 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
9993
9994         * gtk/gtkaccellabel.c: Pangoized.
9995
9996         * gtk/[hv]ruler.c: Pangoized
9997
9998 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
9999
10000         * gtk/gtkfilesel.c (gtk_file_selection_init):
10001         Use gtk_clist_set_column_auto_resize() to remove need
10002         need for manual column width computations.
10003
10004 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
10005
10006         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
10007         ensuring Pango correctness, and considerably simplifying the
10008         code.
10009         
10010         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
10011
10012         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
10013         getting of numbers of lines.
10014
10015         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
10016         to the actual requested width of the lable, not to the wrap
10017         width we set.
10018
10019         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
10020
10021         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
10022           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
10023
10024         * gtk/gtktextview.c: Fix structure inheritance.
10025
10026         * gtk/gtkprogressbar.c: Pangoize.
10027
10028 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
10029
10030         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
10031         in a function.
10032
10033         * gtk/gtktextlayout.c (find_display_line_above): Fixed
10034         bug with computing line tops.
10035
10036         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
10037
10038 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10039
10040         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
10041         and y_offset coordinates to do what we need now. (The offset between
10042         buffer and layout coordinates has been reintroduced, but is a 
10043         bit different than before.)
10044
10045         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
10046         handle the adjustments ourselves, and scroll as necessary using
10047         the new gdk_window_scroll().
10048         
10049         The advantage of this is that when we are incrementally revalidating,
10050         we are essentially rearranging things around the visible portion
10051         of the screen. With the old setup, the visible portion of the
10052         screen was moved around in the layout, so scrolling and redrawing
10053         to track that caused jumping of the display. Since we now
10054         control the scrolling ourselves, we can suppress this and
10055         only redraw when things actually change.
10056
10057 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
10058
10059         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
10060         the region not just redisplay it after-all, since we store the
10061         cursors in the LineDisplay. (Ugly interactions here between
10062         GtkLayout and GtkTextBTree here.)
10063         
10064         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
10065
10066 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10067
10068         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
10069         Added function to scroll contents of a window while keeping the
10070         window constant. Works by XCopyArea or guffaw-scrolling depending
10071         on the details of how the window is set up. (guffaw-scrolling
10072         still needs to be filled in.)
10073
10074 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
10075
10076         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
10077         move the debugging that was tied to a global variable
10078         to that.
10079
10080         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
10081
10082         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
10083         validated flag, in line data instead of setting height/width to
10084         -1. This allows us to perform operations with partially invalid
10085         buffer (using the old size for invalid lines) and thus to do
10086         incremental vaidation. Keep height/width aggregates up to date
10087         when deleting text and rebalancing the tree.
10088
10089         * gtk/gtktextbtree.[ch]: Add functions validate a line
10090         (gtk_text_btree_validate_line), and to validate up
10091         to a number of pixels (gtk_text_btree_validate).
10092
10093         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
10094         that indicates that something is changed and a revalidation
10095         pass is needed. Change ::need_repaint to ::changed, and
10096         make it take old and new yranges instead of a rectangle.
10097
10098         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
10099         the line_data_destroy() function from 
10100         gtk_text_btree_add_view() to a virtual function in 
10101         GtkTextLayout
10102
10103         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
10104         since we are handling partial repaints in a different fashion
10105         now.
10106
10107         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
10108         of the selection instead of queueing a repaint on the
10109         entire widget.
10110
10111         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
10112         get_selection_bounds() down to btree, make the function
10113         in buffer a wrapper around the btree function.
10114
10115         * gtk/gtktextlayout.[ch]: Add functions to check if the
10116         layout is valid and to recompute either a range of pixels
10117         aroudn a line or a certain total number of pixels.
10118
10119         * gtk/gtktextlayout.[ch]: Cache a single line display;
10120         now that we only redraw the needed portions, the hit rate
10121         for this cache is quite high.
10122         
10123         * gtk/gtktextview.[ch]: Keep track of the first paragraph
10124         on the screen so that when re-laying-out the buffer, we can
10125         keep the same place. This requires connecting to ::value_changed
10126         on the adjustments
10127
10128         * gtk/gtktextview.[ch]: Add idle functions to revalidate
10129         the buffer after we receive an ::invalidated signal.
10130         
10131 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
10132
10133         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
10134         to max of allocation and layout size, not just to the
10135         layout size.
10136
10137         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
10138         Invalidate window so it gets redrawn properly.
10139
10140         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
10141         to mean the entire window.
10142
10143         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
10144         into public header.
10145
10146 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
10147
10148         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
10149         to get the name of a mark.
10150
10151         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
10152         to find the paragraph from a y position.
10153
10154 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
10155
10156         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
10157         nodes have width/height >= 0, not > 0.
10158
10159 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
10160
10161         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
10162         Add a size_only flag, so when we only need the size, we don't create
10163         useless appearance attributes.
10164
10165         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
10166         duplicate setting of font description.
10167
10168         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
10169
10170 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10171
10172         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10173         EXTRA_DIST. It does not work well when the file that
10174         everything depends on is not in the tarball.
10175
10176 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10177
10178         * gtk/testgtk.c: Some hacks and fixes so that it basically
10179         works when not sitting in the GTK+ build tree.
10180
10181 2000-05-03  Havoc Pennington  <hp@redhat.com>
10182
10183         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
10184         Properly determine the ordering of the tag root and the current
10185         line within the tree. Previous algorithm only worked if the tag
10186         root's immediate parent was the common root of both the current
10187         line and the tag root.
10188
10189 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
10190
10191         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
10192         alignment.
10193
10194         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
10195         the widget text directional dynamically.
10196
10197         * gtk/gtktextview.[ch]: Added functions to get and set default
10198         wrap mode.
10199
10200 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
10201
10202         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
10203         in cursor location computation.
10204
10205 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
10206
10207         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
10208         vadjusment values properly when layout gets smaller.
10209
10210         * gtk/gtktextview.c (need_repaint_handler): Areas being
10211         passed in are far completely inaccurate, and sometimes
10212         too small, so, for now, just queue a redraw on the
10213         whole visible region.
10214
10215 2000-04-25  Havoc Pennington  <hp@redhat.com>
10216
10217         * gtk/gtktextbtree.c (summary_destroy): new function to 
10218         destroy tag summary nodes
10219         (gtk_text_line_next_could_contain_tag): this function was 
10220         totally broken if the line passed in wasn't below the tag
10221         root. Fix it.
10222         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
10223         "wildcard" case, we have to do a linear scan. Blah.
10224         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
10225         we have to do the linear scan
10226         (tag_removed_cb): When a tag is removed from the tag table, 
10227         remove the GtkTextTagInfo node from the btree.
10228         (gtk_text_btree_spew): Implement the spew function, for 
10229         our debugging pleasure.
10230
10231 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
10232
10233         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
10234         a problem with referring to the wrong buffer.
10235
10236         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
10237
10238         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
10239         font description to gtk_style_new() - otherwise things
10240         don't work without a .gtkrc file.
10241
10242         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
10243         tags table if we create it ourself, too.
10244
10245         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
10246         it was conflicting with XKB modifiers.
10247
10248         * gtk/gtktextview.[ch]: Add simple support for 
10249         GtkIMContext.
10250
10251 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
10252
10253         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
10254         with deletion from last commit.
10255
10256 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
10257
10258         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
10259         in the context from the current locale.
10260         
10261         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
10262         context, not hardcoded value.
10263
10264         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
10265         not logical.
10266
10267 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10268
10269         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
10270         attributes - that doesn't handle partial-glyph selection
10271         properly. Instead use new pango_layout_line_get_x_ranges()
10272         functionality to draw the selection.
10273
10274         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
10275         now properly handles out-of-range coordinates.
10276
10277         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
10278
10279         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
10280         public.
10281
10282         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
10283         for paragraphs opposite to the base direction of the widget.
10284
10285         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
10286
10287         * gtk/gtktextlayout.c: Don't split segments on marks, since that
10288         causes Arabic words to reshape as you cursor through.
10289
10290         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
10291         cursor position when moving vertically with the arrow keys and
10292         scrolling with page-up/page-down. (Arrow keys save only the X,
10293         scrolling saves both X and Y.)
10294
10295         This means you can line-up / line-down or page-up / page-down
10296         without losing your place, and also that moving vertically
10297         with the cursor keys keeps the same X position, not the same
10298         character count:
10299
10300         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
10301         arrow keys move by display lines, not paragraphs.
10302
10303 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10304
10305         * gtk/gtklayout.c: Make sure that the bin window is at least
10306         as big as the allocation. (Should we also make sure that the
10307         bin window is big enough to completely cover widget->window?)
10308
10309         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
10310         function to get the onscreen rectangle.
10311
10312         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
10313         for offsets in window coordinates.
10314
10315 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
10316
10317         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
10318         confusion.
10319
10320         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
10321         from the widget direction.
10322
10323         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
10324         Add a "direction" attribute.
10325
10326         * gtk/gtktextview.c: global s/tkxt/text_view/.
10327
10328         * gtk/testtext.c: Added long block of text in Arabic, to test out
10329         the direction attributes. (Some problems with the shaping system
10330         for arabic become obvious - like the fact the cursor splits words
10331         into unjoined pieces.)
10332
10333 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
10334
10335         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
10336
10337         * gtk/gtktextlayout.c: Fix up alignment.
10338
10339         * gtk/testtext.c: Add some tests for centering, wrapping.
10340
10341 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
10342
10343         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10344         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
10345         If we wrote GTK+-specific layout-render function this could just replace
10346         the draw_layout() operation in the vtable.
10347
10348         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
10349         pango_layout_get_cursor_pos() and use that function.
10350
10351         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
10352         is a non-static symbol.
10353
10354         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
10355         with gtk_text_btree_find_line_by_y()
10356
10357         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
10358         renderer that handles GtkTextAppearance attributes.
10359
10360         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
10361
10362           - Move the values in the style that don't affect geometry into a
10363             GtkTextAppearance structure.
10364           - Change underline to take a PangoUnderline and "font" a string
10365             representation of a font description
10366           - Add a "font_desc" attribute which takes a FontDescription structure.
10367
10368         * gtk/gtktextlayout.[ch]:
10369
10370           - Get rid of the display-line list per each line. Instead, we
10371             generate, on demand, a GtkTextLineDisplay structure which]
10372             contains a PangoLayout * and other necesary information
10373             (offsets, cursor locations) for displaying a paragraph.
10374           - Get rid of the code to wrap lines, create display chunks,
10375             etc. Instead, we just go through a paragraph and convert
10376             it into the necessary inputs to a PangoLayout.
10377           - Implement a new attribute type, GtkTextAttrAppearance. This
10378             holds a GtkTextAppearance, and is used to pass colors, 
10379             stipple, etc, through from the layout to the display without
10380             having to use lots and lots of individual attributes.
10381           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
10382             in terms of PangoLayout functions.
10383         
10384         * gtk/gtktextview.c: 
10385          
10386           - Handle passing the necessary PangoContext to the layout
10387           - Some fixups in painting to deal with the automatic backing store
10388             and offsetting of GTK+-1.4
10389           - Add a style_set handler so that the default style reacts
10390             properly to theme changes.
10391         
10392         * gtk/gtktext?*.[ch]: Random code-style fixes.
10393
10394         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
10395
10396 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
10397
10398         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
10399         in original form preparatory to Pango-ization and gdkimcontext-ization.
10400
10401 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
10402
10403         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
10404         so that we can derive from gtkimcontext in language bindings properly.
10405
10406 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
10407
10408         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
10409         Add a compose table including (almost) all the compose combinations
10410         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
10411         data in the XIM implementation.
10412
10413         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
10414         Moved functions to convert keyvalues from and to unicode here from
10415         the win32 port and made them public.
10416
10417 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10418
10419         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
10420
10421 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
10422
10423         * gtk/gtkimcontext.[ch]: Base class for new input context system
10424
10425         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
10426         the real input context implementation to be loaded from modules
10427         and switched on the fly.
10428
10429         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
10430         context that just does direct keysymbol => unicode translation.
10431
10432         * gtk/gtkentry.[ch]: Start switching editing over to using
10433         GtkInputContext. (No handling of preedit yet.)
10434
10435 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
10436
10437         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
10438         many substitutions. (klass should not be subsituted.)
10439
10440 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
10441
10442         * configure.in: Add checks for Pango
10443
10444         * configure.in docs/Makefile.am: Add test for sgml2html
10445         and allow 'make dist' without building html, but print out
10446         warnings in that case. (For making snapshots)
10447
10448         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
10449         Add Pango libraries and C flags
10450
10451         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10452         Add function (gdk_draw_layout) to draw a pango layout.
10453
10454         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
10455         for getting Pango contexts for GDK.
10456
10457         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
10458
10459         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
10460         editing.
10461
10462         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
10463         keysym => unicode translations. More languages can be added
10464         here, but real input-method support is needed.
10465
10466         * docs/Changes-1.4.txt: Added note about entry behavior.
10467         
10468         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
10469         to set the reading direction for a widget and the global direction.
10470         Add test which allows toggling the global direction. Two private
10471         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
10472
10473         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
10474           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
10475
10476         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
10477
10478         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
10479         underlining now handled by Pango.
10480
10481         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
10482         to RCStyle and Style. (Having both this and the old font name and GdkFont 
10483         is temporary.)
10484
10485         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
10486         convenience functions for creating contexts and layouts for widgets.
10487
10488         * gtk/testgtk.c: Enhance label tests with multilingual labels.
10489
10490 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
10491
10492         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
10493         titles to be active, even if they aren't visible.
10494         (gtk_clist_column_titles_passive):  Ditto.
10495
10496 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
10497
10498         * gtkmenu.c:
10499         * gtkmenu.h:
10500         * gtktypeutils.h: Spelling/grammar fixes in comments.
10501
10502 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
10503
10504         * gdk/nanox/*.h: add missing header files.
10505
10506 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
10507
10508         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
10509         send_event to TRUE.
10510         (gtk_drawing_area_size): queue a resize.
10511
10512 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
10513
10514         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
10515         the handlers, also invalidate them. bug nailed down by Karl Nelson
10516         <kenelson@ece.ucdavis.edu>.
10517
10518 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
10519
10520         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
10521         "(nil)" foundries, patch from Grigorios Magklis.
10522
10523         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
10524         on non-available fonts, based on a patch by Grigorios Magklis
10525         <maglis@cs.rochester.edu>.
10526
10527 2000-05-18  Elliot Lee  <sopwith@redhat.com>
10528
10529         * gdk/x11/gdkregion-generic.c: If a region does not have any
10530         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
10531         instead of GDK_OVERLAP_RECTANGLE_IN.
10532
10533 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
10534
10535         * gtk/gtklayout.c (gtk_layout_map): Remove references to
10536         OFFSCREEN, as it is no longer necessary.
10537
10538 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
10539
10540         * gtk/gtkcolorsel.c: Patch from David Santiago
10541         <mrcooger@cyberverse.com> to change things so that the 
10542         indicator of the active palette entry is done independently,
10543         not via the focus, since it should always be visible.
10544
10545 2000-05-17  Tor Lillqvist  <tml@iki.fi>
10546
10547         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
10548         refcount leaks as in the X11 backend.
10549
10550         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
10551         cosmetics.
10552
10553         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
10554         backend. Add _gdk_windowing_window_destroy().
10555
10556         * gtk/gtkcolorsel.c: Include correct backend-specific header.
10557         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
10558         either, but these probably do exist on nanox?)
10559         
10560         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
10561         which isn't necessarily defined by <math.h>.
10562
10563         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
10564         ancestry past GtkObject.
10565
10566         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
10567         from DLL on Win32.
10568
10569         * gtk/gtk.def: Update corresponding to recent changes.
10570
10571         * gtk/makefile.{cygwin,msc}: Updates.
10572
10573 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
10574
10575         * docs/Changes-1.4.txt: A bit of editing.
10576
10577         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
10578         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
10579         to clear the update area for the window, and clear it
10580         when hiding a window.
10581
10582         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
10583         if window destroyed.
10584
10585         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
10586
10587         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
10588         gdk_window_destroy() to the generic code, since there was a lot of 
10589         window-system-independent logic it in. Add a function:
10590         
10591          _gdk_window_destroy() 
10592
10593         to the internal API to destroy a window without unreferencing it.
10594         Add a function:
10595
10596          _gdk_windowing_window_destroy()
10597
10598         That does the windowing-system-dependent part of destroying 
10599         the window.
10600
10601 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
10602
10603         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
10604
10605 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
10606
10607         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
10608         Make gtk_widget_shape_combine_mask() keep a reference count on
10609         the pixmap since it keeps it around.
10610
10611 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
10612
10613         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
10614         leak.
10615
10616         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
10617         leak with event filters.
10618
10619 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
10620
10621         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
10622         signal handlers with the right data arguments. (Fixes
10623         some warnings when a widget was repeatedly set as a drag
10624         destination.)
10625
10626         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
10627         window so we can avoid avoid setting the DND properties on the
10628         toplevel window repeatedly.
10629
10630 2000-05-13  Tor Lillqvist  <tml@iki.fi>
10631
10632         * gdk/win32/gdkwin32.h: Define more message types missing from
10633         mingw headers.
10634
10635         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
10636         call gdk_window_destroy_notify(). It was never called. This
10637         probably meant that the GdkWindow was never freed. Thanks Owen for
10638         noticing (!).
10639
10640         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
10641         window as destroyed before calling DestroyWindow(). DestroyWindow()
10642         causes a call to the window procedure (gdk_WindowProc), which
10643         calls gdk_event_translate(), which calls
10644         gdk_window_destroy_notify(), which gets confused unless the window
10645         is set as destroyed.
10646
10647         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
10648         this function to indicate it's win32 only. Put inside #ifdef
10649         G_ENABLE_DEBUG.
10650
10651         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
10652         debugging function. (gdk_event_translate:) Add a default branch
10653         that uses the above function to print debug messages with all
10654         Windows messages symbolically.
10655
10656         * gdk/win32/gdkprivate-win32.h: Declare it, and
10657         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
10658
10659 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
10660
10661         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
10662         public header file.
10663
10664 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
10665
10666         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
10667
10668         * gtk/gtktext.c: made the adjustments no-construct args, simply
10669         provide default adjustments.
10670         (gtk_text_destroy): release adjustments.
10671
10672         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
10673         adjustment argument non-construct.
10674
10675         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
10676         instead of in finalize.
10677         (gtk_progress_get_text_from_value): 
10678         (gtk_progress_get_current_text): 
10679         (gtk_progress_set_value): 
10680         (gtk_progress_get_percentage_from_value): 
10681         (gtk_progress_get_current_percentage): 
10682         (gtk_progress_set_percentage): 
10683         (gtk_progress_configure): ensure an adjustment is present.
10684
10685 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
10686
10687         * gtk/gtkcolorsel.[hc]:
10688         * gtk/gtkcolorseldialog.[hc]:
10689         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
10690         their parent implementation, use bit fields for boolean values, don't
10691         create unused widgets, usage of glib types, braces go on their own
10692         lines, function argument alignment, #include directives etc. etc. etc..
10693
10694         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
10695
10696 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
10697
10698         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
10699
10700         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
10701         of NULL.
10702
10703         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
10704         to freed data.
10705         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
10706
10707         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
10708         to NULL when the toplevel is getting destroyed.
10709         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
10710         (gtk_menu_destroy): 
10711         (gtk_menu_init): store the information of whether we have to
10712         readd the initial child ref_count during destruction in a new
10713         GtkMenu field needs_destruction_ref_count.
10714
10715         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
10716         here, those reading: learn from my mistake! ;)
10717         in order for set_?adjustment to support a default adjustemnt if
10718         invoked with an adjustment pointer of NULL, the code read (pseudo):
10719         if (v->adjustment) unref (v->adjustment);
10720         if (!adjustment) adjustment = adjustment_new ();
10721         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
10722         now imagine the first unref to actually free the old adjustment and
10723         adjustment_new() creating a new adjustment from the very same memory
10724         portion. here, the latter comparision will unintendedly fail, and
10725         all hell breaks loose.
10726         (gtk_viewport_set_hadjustment):
10727         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
10728         after unreferencing it.
10729
10730         * gtk/gtkcontainer.[hc]: removed toplevel registration
10731         functions: gtk_container_register_toplevel(),
10732         gtk_container_unregister_toplevel() and
10733         gtk_container_get_toplevels() which had wrong semantics
10734         anyways: it didn't reference and copy the list.
10735
10736         * gtk/gtkwindow.c: we take over the container toplevel registration
10737         bussiness now. windows are registered across multiple destructions,
10738         untill they are finalized. the initial implicit reference count
10739         users are holding on windows is removed with the first destruction
10740         though.
10741         (gtk_window_init): ref & sink and set has_user_ref_count, got
10742         rid of gtk_container_register_toplevel() call. add window to
10743         toplevel_list.
10744         (gtk_window_destroy): unref the window if has_user_ref_count
10745         is still set, got rid of call to
10746         gtk_container_unregister_toplevel().
10747         (gtk_window_finalize): remove window from toplevel list.
10748         (gtk_window_list_toplevels): new function to return a newly
10749         created list with referenced toplevels.
10750         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
10751
10752         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
10753         adjustment a non-construct arg.
10754         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
10755         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
10756         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
10757
10758         * gtk/gtkrange.c: added some realized checks.
10759         (gtk_range_destroy): get rid of the h/v adjustments in the
10760         destroy handler instead of finalize. remove timer.
10761         (gtk_range_get_adjustment): demand create adjustment.
10762
10763         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
10764         we simply create them on demand now and get rid of them in
10765         the destroy handler.
10766         (gtk_viewport_destroy): get rid of the h/v adjustments in the
10767         destroy handler instead of finalize.
10768         (gtk_viewport_get_hadjustment): 
10769         (gtk_viewport_get_vadjustment): 
10770         (gtk_viewport_size_allocate): demand create h/v adjustment
10771         if required.
10772
10773         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
10774         gtk_widget_real_destroy () functionality.
10775         (gtk_widget_real_destroy): reinitialize with a new style, instead
10776         of setting widget->style to NULL.
10777
10778 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
10779
10780         * gtk/gtkcalendar.c:
10781         * gtk/gtkbutton.c: ported _get_type() implementation over to
10782         GType, either to preserve memchunks allocation facilities,
10783         or because Gtk+ 1.0 GtkTypeInfo was still being used.
10784
10785         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
10786         over. prepare for ::destroy to be emitted multiple times.
10787         removed reference tracer magic. chain into GObjectClass.shutdown()
10788         to emit ::destroy signal.
10789
10790         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
10791         fundamental.
10792
10793         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
10794         cludge.
10795
10796         * gtk/gtksocket.c:
10797         * gtk/gtkplug.c:
10798         * gtk/gtklayout.c:
10799         * gtk/gtklabel.c:
10800         * gtk/gtkargcollector.c:
10801         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
10802         not being a fundamental anymore, and to work with the new
10803         type system (nuked fundamental type varargs clutter).
10804
10805         * gtk/*.c: install finalize handlers in the GObjectClass
10806         part of the class structure.
10807         changed direct GTK_OBJECT()->klass accesses to
10808         GTK_*_GET_CLASS().
10809         changed direct object_class->type accesses to GTK_CLASS_TYPE().
10810
10811         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
10812         GType. made most of the GTK_*() type macros and Gtk* typedefs
10813         simple wrappers around macros and types provided by GType.
10814         most notably, a significant portion of the old API vanished:
10815         GTK_TYPE_MAKE(),
10816         GTK_TYPE_SEQNO(),
10817         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
10818         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
10819         GTK_TYPE_ARGS,
10820         GTK_TYPE_CALLBACK,
10821         GTK_TYPE_C_CALLBACK,
10822         GTK_TYPE_FOREIGN,
10823         GtkTypeQuery,
10824         gtk_type_query(),
10825         gtk_type_set_varargs_type(),
10826         gtk_type_get_varargs_type(),
10827         gtk_type_check_object_cast(),
10828         gtk_type_check_class_cast(),
10829         gtk_type_describe_tree(),
10830         gtk_type_describe_heritage(),
10831         gtk_type_free(),
10832         gtk_type_children_types(),
10833         gtk_type_set_chunk_alloc(),
10834         gtk_type_register_enum(),
10835         gtk_type_register_flags(),
10836         gtk_type_parent_class().
10837         replacements, where available are described in ../docs/Changes-1.4.txt.
10838         implemented compatibility functions for the remaining API.
10839
10840         * configure.in: depend on glib 1.3.1, use gobject module.
10841
10842 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
10843
10844         * TODO.xml: Various updates to current status.
10845
10846 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
10847
10848         * gtk.m4: Print out version when test succeeds.
10849
10850 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
10851
10852         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
10853         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
10854         
10855         (Original triangle color selector from Simon Budig
10856         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
10857         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
10858         Santiago <mrcooger@cyberverse.com>)
10859
10860         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
10861         out into a separate widget.
10862
10863         * gtk/testgtk.c: Add some checkbuttons for toggling palette
10864         and opacity controls.
10865
10866 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
10867
10868         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
10869         snuck in prematurely.
10870
10871 2000-05-07  Tor Lillqvist  <tml@iki.fi>
10872
10873         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
10874         had deleted a ! operator by mistake, which caused
10875         GDK_SELECTION_CLEAR events never to be generated, which caused
10876         only the first copy to the clipboard from an gtkeditable to
10877         actually cause a copy to the Windows clipboard.
10878
10879 2000-05-06  Tor Lillqvist  <tml@iki.fi>
10880
10881         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
10882         compilation, too. Current mingw gcc distributions include the
10883         necessary headers. Also the necessary IIDs are now in mingw
10884         headers/libraries, and own definitions unnecessary.
10885
10886         More hacking on OLE2 DND, still doesn't work though, and thus
10887         ifdeffed out.
10888
10889         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
10890         here, too.
10891
10892 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
10893
10894         * gdk/nanox/*: nano-X port work in progress.
10895         * gdk/simple.c: simple test for Gdk.
10896         * README.nanox: notes about the port: read this first!
10897         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
10898         with nano-X.
10899
10900 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
10901
10902         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
10903         gdk_window_clear() into common code, implement in terms of
10904         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
10905         not redirected to the backing rectangle.
10906
10907 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10908
10909         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10910         EXTRA_DIST. It does not work well when the file that
10911         everything depends on is not in the tarball.
10912
10913 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
10914
10915         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
10916         with recursion where process_updates() is called from
10917         an expose handler. (GtkTextView is highly broken in
10918         doing this, but it should work, so it is a nice test
10919         case.)
10920
10921 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10922
10923         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
10924         handle the case where updates are queued during processing of
10925         updates.
10926
10927 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10928
10929         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
10930         window is on gdk_display - use that instead of segfaulting.
10931
10932 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
10933
10934         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
10935         broken and require an empty arg, give it to them.
10936
10937 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
10938
10939         * gtk/gtklabel.h: indentation fixes.
10940
10941 2000-05-02  Tor Lillqvist  <tml@iki.fi>
10942
10943         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
10944         draw too narrow or too low arcs, they seem to fail, at least with
10945         some display drivers.
10946
10947         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
10948
10949         Large changes to the Win32 backend, partially made necessary by
10950         the changes to the backend-independent internal
10951         structures. Attempts to implement similar backing store stuff as
10952         on X11. The current (CVS) version of the Win32 backend is *not* as
10953         stable as it was before the no-flicker branch was merged. A
10954         zipfile with that version is available from
10955         http://www.gimp.org/win32/. That should be use by "production"
10956         code until this CVS version is usable. (But note, the Win32
10957         backend has never been claimed to be "production quality".)
10958
10959         * README.win32: Add the above comment about versions.
10960
10961         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
10962
10963         * gdk/gdk.def: Update.
10964
10965         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
10966         presumably be replaced by some more better mechanism as 1.4 gets
10967         closer to release shape.
10968
10969         * gdk/makefile.{cygwin,msc}: Update.
10970
10971         * gdk/win32/*.c: Correct inclusions of the backend-specific and
10972         internal headers. Change code according to changes in these. Use
10973         gdk_drawable_*, not gdk_window_* where necessary.
10974
10975         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
10976         our old DND.
10977
10978         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
10979         to interpret single characters as UTF-8. Thanks to Hans Breuer.
10980         Use correct function name in warning messages.
10981
10982         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
10983         GSourceFuncs gdk_event_prepare and gdk_event_check.
10984         (gdk_event_get_graphics_expose): Do implement, use
10985         PeekMessage. Thanks to Hans Breuer.
10986         (event_mask_string): Debugging function to print an GdkEventMask.
10987         (gdk_pointer_grab): Use it.
10988
10989         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
10990         (old) book I used claimed was Hangul actually is CJK Unified
10991         Ideographs Extension A. Also, Hangul Syllables were missing.
10992         Improve logging.
10993
10994         * gdk/win32/gdkgc-win32.c: Largish changes.
10995
10996         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
10997         g_win32_getlocale() from GLib, and not setlocale() to get current
10998         locale name.
10999
11000         * gdk/win32/gdkprivate-win32.h
11001         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
11002         gdkwin32.h, similarily as in the X11 backend.
11003
11004         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
11005         assignment was used instead of equals in if test. Thanks to Hans
11006         Breuer.
11007
11008         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
11009         the X11 version.
11010
11011         * gdk/win32/makefile.{cygwin,msc}
11012         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
11013         path to the Win32 headers that works also with the mingw compiler.
11014
11015         * gtk/gtkstyle.c: Include <string.h>.
11016
11017 2000-04-26  Havoc Pennington  <hp@redhat.com>
11018
11019         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
11020         replacing the broken gtk_label_get ()
11021
11022 2000-04-15  Havoc Pennington  <hp@pobox.com>
11023
11024         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
11025         this keeps scanner scripts from getting confused.
11026
11027         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
11028         data, rather than void
11029
11030 2000-04-15  Tor Lillqvist  <tml@iki.fi>
11031
11032         * gtk/gtkclist.c (gtk_clist_motion)
11033         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
11034         with is_hint FALSE, get x and y from the event. They used to be
11035         used uninitialised. The Win32 backend never sends motion events
11036         marked as hints. This for instance fixes the annoying file and
11037         font selector behaviour in the Win32 version.
11038
11039 2000-04-14  Tor Lillqvist  <tml@iki.fi>
11040
11041         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
11042         gtk_private_n_signals variables, they are used by some software,
11043         sigh.
11044
11045         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
11046         installation directory from the Registry, where the installer
11047         should have put it.
11048
11049 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
11050
11051         * gdk/x11/Makefile.am: Fix problem with installation directory for
11052         gdkx.h
11053
11054         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
11055         <mrcooger@cyberverse.com> so that when selecting menus with the
11056         mouse, the first item will not be selected, but when selecting
11057         with an accelerator, or navigating left-right on a menubar with
11058         the menus popped up, the first item will be selected.
11059
11060 2000-04-05  Dan Damian  <dand@dnttm.ro>
11061
11062         * configure.in: Added "ro" to ALL_LINGUAS.
11063
11064 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
11065
11066         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
11067         indentation.
11068
11069         * Makefile.am (EXTRA_DIST): Fix typo.
11070
11071         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
11072         to catch gdkconfig.h
11073
11074         * gtk/gtkitemfactory.c: Added FIXME.
11075
11076 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
11077
11078         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
11079         s/return_if_fail/return_val_if_fail/g and add a return value.
11080
11081 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
11082
11083         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
11084         merge slipup.
11085
11086         * gdk/gdkinput.h: Fix missing line from merge.
11087
11088 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
11089
11090         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
11091         instead of gdkprivate.h.
11092
11093 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
11094
11095         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
11096         parent class to correctly be GtkDialogClass.
11097
11098 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
11099
11100         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
11101         toplevel windows and their immediate children by their parents,
11102         since the size of toplevel windows is out of our immediate
11103         control and we don't get any real benefit from trying to track
11104         this size for clipping.
11105
11106         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
11107         for input_only windows.
11108
11109         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
11110         to fix some hacks and make sure that we don't try to set the
11111         background of input only windows.
11112
11113 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
11114
11115         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
11116         the _really_ internal stuff, and leave gdkprivate.h for the fake private
11117         stuff that we've traditionally exposed.
11118
11119         * gdk/**.c: Use gdkinternals.h where appropriate.
11120
11121         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
11122         not include gdkprivate-x11.h, move all stuff of conceivable public
11123         interest into gdkx.h; keep all really private stuff in
11124         uninstalled header gdkprivate-x11.h.
11125
11126         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
11127         image->image_put on windows through a new function _gdk_window_draw_image()
11128         to allow us to do backing store for images. (Sort of ugly)
11129
11130         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
11131         contexts locally so that we can offset them properly when drawing 
11132         onto backing pixmaps.
11133
11134         * gdk/gdkinput.h: Reindented
11135
11136         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
11137         pixmap or color for the window, so we can properly initialize
11138         our double-buffer pixmaps, and also so that we temporarily set
11139         a background of None while scrolling.
11140
11141         * gdk/gdkregion.h: Revise region boolean operators to have an
11142         interface that is actually convenient - switch from creating new
11143         regions on every op, to "methods" that modify existing regions
11144         (A = A OP B). 3 argument forms which allow dest == src, would also
11145         be possible, but the current interfaces seem to map nicely
11146         onto what needs to be done. (There is quite a lot of region
11147         code in GDK now.)
11148
11149         * gdk/gdkregion.h: Add constructor from rectangle and a copy
11150         operator.
11151
11152         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
11153         gdkpoly-generic.h: Copy region code from Xlib, switch it over
11154         to 32 bit coordinates, modify it to be mostly GTK+ style
11155         and to have interfaces that match gdkregion.h.
11156
11157         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
11158         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
11159         create a backing pixmap and redirect all drawing to
11160         that backing pixmap until a matching gdk_window_end_paint().
11161
11162         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
11163         Create a special drawable class for GtkWindow's that 
11164         redirects the drawing to the backing pixmap as necessary
11165         and then calls the real operations in _gdk_windowing_window_class.
11166
11167         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
11168         Store invalid region for each window. Generate expose events for invalid
11169         region in an idle. This replaces both the expose compression
11170         and the redrawing queuing in GTK+. It is both more efficient and
11171         simpler than either one individually and far more so then the
11172         combination.
11173
11174         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
11175         Emulate 32 bit coordinates for windows with 16 bit coordinates
11176         by offsetting drawing, guffaw scrolling techniques and
11177         mapping/unmapping child windows as necessary.
11178
11179         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
11180         where, when invalid regions are processed, the region is stored,
11181         and if expose events come in that are detectably duplicate
11182         the processed exposes (by comparison of event serial numbers),
11183         the stored region is subtracted out of those exposes.
11184
11185         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
11186         regions newly exposed when scrolling or resizing windows.
11187         This, combined with forcing processesing of queued invalidated
11188         regions, gives nice flicker-free scrolling.
11189
11190         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
11191         invalidated regions after every scroll.
11192
11193         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
11194         emulation in GDK. Its, for all practical purposes just a
11195         GtkViewport/GtkFixed hybrid now.
11196
11197         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
11198         (16-bit) structures as necessary instead of just casting.
11199
11200         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
11201         in terms of the structures from gdkregion-generic.c, using appropriate
11202         offsets from GDK to X11 coordinates. Cache clip mask and
11203         origin and ts origin locally and only flush to the server
11204         when drawing, to avoid constantly setting and resetting these
11205         values when offsetting GC's for scrolling and backing pixmaps.
11206
11207         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
11208
11209         * gtk/gtkcontainer.c: Call process_all_updates at end
11210         of resizing to reduce flicker. (Avoids having redraw
11211         lag arbitrarily behind resize under some circumstances)
11212
11213         * gtk/gtkentry.c: Remove old backing store code, and simply take
11214         advantage of the new backing store capabilities of GDK.
11215
11216         * gtk/gtkmain.c: Simple implementation of widget backing
11217         store - simply push a paint while handling each expose.
11218         (Should really be configurable widget for widget.)
11219         
11220         * gtk/gtkwidget.c: Remove all the old complicated redraw
11221         code, and simply invalidate the GDK windows from
11222         gdk_window_queue_clear(), etc. (Sigh, so much carefully
11223         debugged complexity ... gone to the winds.)
11224
11225         Remove all the code for suppressing expose events while
11226         resizes are pending; this isn't needed since the invalid
11227         areas won't be processed until after the resizes are
11228         processed, since they are in a lower priority idle.
11229
11230 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
11231
11232         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
11233         and height of dest rectangle for non-intersecting rectangles.
11234
11235 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
11236
11237         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
11238         for GdkRectangle.
11239
11240 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
11241
11242         * gdk/gdk{events,image,private,types,window}.h
11243          gdk/x11/gdkinputprivate.h: Change all coordinates
11244          from int16 to int. Also, Change width and height from
11245          unsigned to signed to avoid all the stupid C 
11246          signedness bugs.
11247
11248 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
11249
11250         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
11251         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
11252         Add some more detailed checking.
11253
11254         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
11255         New function to retrieve the depth of a drawable.
11256
11257         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
11258         field, reorder fields to save memory. 
11259
11260 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
11261
11262         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
11263         of the background image instead of scaling the background down to
11264         a line.
11265
11266         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
11267         which temporarily set slider to wrong size.
11268
11269         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
11270         queue_clear().
11271
11272 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
11273
11274 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
11275
11276         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
11277
11278 2000-03-17  Tor Lillqvist  <tml@iki.fi>
11279
11280         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
11281         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
11282
11283         * gdk/win32/gdkfont-win32.c
11284         * gdk/win32/gdkproperty-win32.c
11285         * gdk/win32/gdkselection-win32.c
11286         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
11287         now declared such.
11288
11289 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
11290
11291         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
11292
11293 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
11294
11295         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
11296         is called without trapping X errors.
11297
11298 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
11299
11300         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
11301         way into the fontset lists.
11302
11303 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
11304
11305         * gtk/gtkthemes.h: add extern "C" scope.
11306
11307 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
11308
11309         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
11310         to make appends to the list constant. (gtk-guy-990901-0.patch)
11311
11312 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
11313
11314         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
11315         for the typename hash table.
11316
11317 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
11318
11319         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
11320         to make sure we never divide by zero. 
11321         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
11322
11323 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
11324
11325         * gtk/gtkfontsel.c: Apply patch from
11326         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
11327         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
11328
11329         Also, some cleanups in atom handling.
11330
11331 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
11332
11333         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11334         not GtkWidget.
11335
11336 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
11337
11338         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
11339         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
11340         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
11341         more guint wrap-around bugs before going to bed.
11342
11343 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
11344
11345         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
11346         guint wrap arounds in allocation.width.
11347
11348         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
11349         process untill we fit the allocation given.
11350
11351 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
11352
11353         * gtk/gtkwidget.c:
11354         (gtk_widget_unrealize): guard widget access with ref/unref
11355         around signal emission.
11356         (gtk_widget_hide): same here, but also check its destroyed
11357         state before queueing a resize.
11358
11359 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
11360
11361         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
11362         of gtk_default_insensitive_bg as insensitive base color.
11363
11364         * gtk/gtktext.c (gtk_text_style_set): set the background color according
11365         to the widget's state.
11366         (gtk_text_realize): same here.
11367         (gtk_text_state_changed): same here.
11368         (draw_bg_rect): compare background color against base[] from
11369         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
11370
11371 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
11372
11373         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
11374         grabs are active, unless a delete event is send to the toplevel
11375         of the currently grab holding widget.
11376
11377 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
11378
11379         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
11380         debugging g_print's.
11381
11382 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
11383
11384         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
11385         ever make the scrolled-window requisition ever depend on the 
11386         visibility state of the scrollbars for the AUTOMATIC policy. 
11387         This breaks the GTK+ requisition model, and causes loops.
11388
11389 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
11390
11391         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
11392         the default font to avoid problems with XFree86-4.0 where the
11393         default charset is iso10646-1, not iso8859-1.
11394
11395 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
11396
11397         * acinclude.m4
11398         * config.guess
11399         * config.sub
11400         * ltconfig
11401         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
11402
11403         * gtk/Makefile.am: minor cosmetic consistency tweak
11404
11405 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
11406
11407         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
11408         the activate_time to 0, so that we handle a quick
11409         press/release press/release properly and don't suppress
11410         the second release. (Red Hat bug #7545)
11411
11412 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
11413
11414         * gtk/gtkctree.c (row_delete):
11415         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
11416         bugs with destruction notifier, *always* update internal
11417         structures *before* calling user code.
11418
11419 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
11420
11421         A few more fixes for bug #5487, #2051, #2677.
11422         * gtk/gtkclist.c : 
11423         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
11424         not GDK_BUTTON_PRESS.
11425         (resync_selection): resync only if selection_mode is
11426         GTK_SELECTION_EXTENDED
11427         * gtk/gtkctree.c (resync_selection): same here
11428
11429 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
11430
11431         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
11432         gdk_drag_get_selection() and gtk_menu_detach().
11433
11434         [ From Jeroen Ruigrok/Asmodai ]
11435
11436 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
11437
11438         * gtk/gtknotebook.c (gtk_notebook_size_request): 
11439         page->tab_label can be NULL.
11440
11441 2000-01-25  Havoc Pennington  <hp@pobox.com>
11442         
11443         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
11444         arg is boolean
11445
11446         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
11447
11448         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
11449
11450         * gdk/gdkproperty.c (gdk_property_get): return boolean
11451
11452         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
11453
11454         * gdk/gdkim.c (gdk_im_ready): return boolean
11455
11456         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
11457
11458         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
11459         glib clash, should fix glib)
11460
11461         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
11462         (gdk_get_show_events): return gboolean, and canonicalize 
11463         to TRUE/FALSE
11464
11465         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
11466         colormap is private
11467         (gdk_colors_alloc): gboolean whether to be contiguous
11468         (gdk_color_equal): return gboolean since we are a predicate
11469         and not a qsort() (this looks semi-wrong due to glib breakage,
11470         IMO glib should be fixed)
11471         
11472         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
11473         (gdk_get_use_xshm): return gboolean
11474         (gdk_pointer_is_grabbed): return gboolean
11475
11476         * gdk/gdk.h: Change prototypes to match all the above changes,
11477         and re-run egtk-format-protos as required.
11478
11479 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
11480
11481         * gtk/gtkctree.c (resync_selection): 
11482         * gtk/gtkclist.c (resync_selection):
11483
11484         Return immediately if clist->drag_pos < 0. This is a workaround
11485         for the corrupt state that the clist gets into when a
11486         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
11487
11488         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
11489         
11490         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
11491         variable from recent commit.
11492
11493 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
11494
11495         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
11496
11497 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
11498
11499         * gtk/Makefile.am: prefix all autogenerated source that get build in
11500         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
11501         in builddir. since we subsequently cd into srcdir for autogeneration,
11502         the paths have to be stripped from the target file names, thusly we
11503         use $(@F) as target names now.
11504         put a comment about configure.in's --disable-rebuilds option,
11505         which can be used for non-writable source directories, for development
11506         setups though, srcdir has to be *writable*.
11507
11508 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
11509
11510         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
11511           Finish the job of allowing event to be NULL.
11512           (Fixes bug #4283, reported by Chris Blizzard)
11513
11514         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
11515           things so that the cursor appears on screen, properly
11516           take into account INNER_BORDER.
11517           (Fixes bug #4754, reported by Antonio Campos)
11518
11519 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
11520
11521         * gtk/gtknotebook.c (gtk_notebook_map): Don't
11522           show the tab_label unless it itself is visible.
11523
11524           gtk/gtknotebook.c (gtk_notebook_size_request):
11525           Do a better job of making sure that the visibility
11526           of the tab label corresponds to whether it should
11527           be mapped or not.
11528
11529 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
11530
11531         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
11532           Use the requisition, not the allocation, since the
11533           allocation has not necessarily been computed yet.
11534           (Pointed out by Eugene Osintsev)
11535
11536 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
11537
11538         * gtk/gtkstyle.c (gtk_style_new): Dont' set
11539           style/base[GTK_STATE_INSENSITIVE] both to
11540           gtk_default_insensitive_bg!
11541           (Bug #2187, reported by Jonathan Blandford)
11542
11543         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
11544           Add Alt_L, Alt_R to list of invalid accelerators.
11545           (Bug #3736, reported by Vlad Harchev)
11546
11547 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
11548
11549         * gtk/gtkfilesel.c (open_ref_dir): Fix several
11550         bugs which occured after an attempt to open 
11551         invalid home directory left cmpl_state->reference_dir == NULL.
11552
11553          - completion on files in home directory didn't work
11554          - completion on an empty string caused  segfault
11555
11556          (Bug #3678, reported by Steve Ratcliffe)
11557
11558         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
11559         cut and paste error that was causing scales to
11560         be incorrectly positioned.
11561         (Bug #2956,
11562          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
11563
11564 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
11565
11566         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
11567         when checking for dcgettext, if we've found we needed
11568         it for dgettext.
11569 +
11570 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
11571
11572         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11573         queue_clear on NO_WINDOW widgets during a reparent,
11574         since at that point the window and widget heirarchies
11575         are out of sync. This stops crashing in some cases
11576         (the scrolled window reparent test, for instance), and
11577         _probably_ won't cause drawing errors.
11578
11579         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
11580         test do what it was supposed to do and be robust against
11581         window closings, etc. (Bug #2443)
11582
11583 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
11584
11585         * gtk/gtkentry.c: Fix return values on mouse events.
11586         (Bug #2686, Sky <seb_sky@yahoo.com>)
11587
11588         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
11589         (pointed out by George Lebl)
11590
11591         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
11592         (From Ettore Perazzoli  <ettore@helixcode.com>)
11593  
11594 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
11595
11596         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
11597         clicks between rows or outside calender area correctly.
11598         (Patch from Damon Chaplin)
11599
11600         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
11601         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
11602           Call destroy function when overwriting existing data. 
11603           (Pointed out by Damon Chaplin)
11604
11605 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
11606
11607         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
11608           which was causing problems on various systems with Xmu.
11609           This hasn't been needed for a very long time.
11610           (Fixes #1185 3167)
11611
11612 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
11613
11614         * gdk/gdki18n.h: Include <ctype.h> when defining
11615           gdk_isw* in terms of is* as a fallback.
11616           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
11617
11618 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
11619
11620         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
11621           realize the widget when it is size allocated!
11622           (old, old bug)
11623
11624         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
11625           Removed unused call to gdk_window_get_size() that
11626           showed up when the above was fixed.
11627
11628 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
11629
11630         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
11631           fix up widget->window when the widget is a
11632           NO_WINDOW container widget.
11633
11634 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
11635
11636         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
11637           to account for the fact that feof() does _not_ 
11638           return TRUE on errors, and thus avoid infinite loops
11639           when trying to use gdk_pixmap_create_from_xpm()
11640           on unreadable values.
11641
11642 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
11643
11644         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
11645
11646 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
11647
11648         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
11649           gdk_gc_set_dashes to take gint8 instead of gchar to
11650           make it clearer that it is _not_ a NULL terminated string.
11651
11652         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
11653           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
11654           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
11655           arguments.
11656
11657 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
11658
11659         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
11660         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
11661         background size relative to our allocation, guard against small
11662         allocations, we may have not yet been size allocated.
11663
11664 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
11665
11666         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
11667         not just version == 3. We implement all 3 + most of 4 - 
11668         (we don't support matching text/plain;charset=iso-8859-1
11669         to a dest that expects text/plain). We'll still advertise
11670         3 to be safe, but any client implementing version >= 3
11671         must interoperate with 3.
11672         
11673 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11674
11675         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
11676         background and gc members, add a warning in gtk_tooltips_set_color()
11677         indicating that this function is deprecated.
11678
11679 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
11680
11681         * docs/gtkfaq.sgml: FAQ Update:
11682           - Minor cleanups (Emmanuel, me)
11683           - New questions:
11684                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
11685                 How can I retrieve the text from a GtkMenuItem? (timj)
11686                 How do I validate/limit/filter the input to a GtkEntry? (me)
11687                 Memory does not seem to be released when I free the list
11688                         nodes I've allocated (timj)
11689
11690 2000-03-07  Tor Lillqvist  <tml@iki.fi>
11691
11692         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
11693         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
11694         for which it is no use to call GetLastError onWin9x.
11695         (gdk_other_api_failed) New function, for general error
11696         reporting without calling GetLastError.
11697         (gdk_win32_api_failed) OTOH, this function always calls
11698         GetLastError. (gdk_win32_last_error_string) Remove this function,
11699         GLib has the equivalent now.
11700
11701         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
11702         call them with function name, file name and line number in the
11703         arguments.
11704
11705         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
11706         functions.
11707         
11708         * gtk/gtk.def: Add some missing entry points.
11709
11710         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11711         gtk_paned_set_gutter_size, which don't exist any longer, as void.
11712         
11713         Fixes by Hans Breuer:
11714
11715         * gdk/makefile.msc: Update for debugging.
11716
11717         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
11718         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
11719         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
11720         in the dash_list.
11721
11722         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
11723         the x11 backend.
11724
11725         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
11726
11727         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
11728
11729 2000-03-04  Tor Lillqvist  <tml@iki.fi>
11730
11731         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
11732         just pixel value of background colour.
11733
11734         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
11735         containing code snippet previously duplicated in a couple of
11736         places.
11737         
11738         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
11739         gdk_colormap_color.
11740
11741         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
11742         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
11743         events for autorepeated Shift, Control and Alt keys. Use
11744         gdk_colormap_color.
11745
11746         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
11747         pointer is inside the window the cursor of which we are setting,
11748         call SetCursor immediately.
11749
11750         * gdk/win32/makefile.cygwin
11751         * gtk/makefile.cygwin: If we don't have the build number stamp
11752         file, use zero.
11753
11754         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11755         gtk_paned_set_gutter_size as empty.
11756
11757         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
11758         
11759 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
11760
11761         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
11762           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
11763           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
11764           docs/gtk_tut.sgml docs/gtk.texi TODO:
11765
11766           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
11767
11768 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
11769
11770         * gtk/gtkcalendar.c: Implement num_marked_dates,
11771           and don't emit mutiple day_selected signals on
11772           month_prev.
11773
11774 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
11775
11776         * docs/make-todo (lineno): let title and logo be configurable so
11777         that GNOME can use this script too.
11778
11779         * TODO.xml: added logourl and a title
11780
11781 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
11782
11783         * TODO.xml: Added some UI items, and an explanatory
11784         comment at the top of the file.
11785
11786 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
11787
11788         * TODO.xml: some updates, added abunch of new entries.
11789         a note for those fiddeling with this file, when done
11790         with it, invoke:
11791         $ ./docs/make-todo TODO.xml >/dev/null
11792         and correct output errors before comitting changes.
11793
11794 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
11795
11796         * TODO.xml: Added XML-structured TODO file.
11797         * docs/make-todo: python script to turn TODO.xml into
11798           pretty XML output. 
11799
11800 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
11801
11802         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
11803         the function to let it draw the seven dots, instead of the old,
11804         much maligned, method.
11805         (draw_dot): New function to draw a dot.
11806
11807         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
11808         to draw the handle inside the border width as opposed to outside.
11809         Use paint function instead of gdk_draw_point.
11810
11811         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
11812         to draw the handle inside the border width as opposed to outside.
11813         Use paint function instead of gdk_draw_point.
11814
11815         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
11816         Change indenting to be more GTK like.
11817
11818 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
11819
11820         * docs/gtk_tut.sgml: New section on GtkCalendar
11821         * examples/calendar: Update example code
11822
11823 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
11824
11825         * docs/gtkfaq.sgml: FAQ Update
11826
11827 2000-02-19  Anders Carlsson  <andersca@gnu.org>
11828
11829         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
11830         to prevent the scroll event to be propagated upwards.
11831
11832 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
11833
11834         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
11835         OwnerGrabButtonMask from button entries for
11836         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
11837
11838         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
11839         to the event mask (which will result in button/press release
11840         being added to the event mask on Unix) so scrolling works
11841         for layouts in scroll windows.
11842
11843         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
11844
11845         Patch from Anders Carlsson  <andersca@gnu.org> to add
11846         a scroll event.
11847
11848         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
11849         scrolling to the "Test Scrolling" part of testgtk.
11850  
11851         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
11852  
11853         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
11854         it against GDK_SCROLL.
11855  
11856         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
11857         way of mouse wheel scrolling.
11858  
11859         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
11860  
11861         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
11862  
11863         * gtk/gtkmain.c: Removed previous mouse wheel hack.
11864  
11865         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
11866         gdk_event_mask_table.
11867  
11868         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
11869         GdkEventScroll handler.
11870  
11871         * gdk/gdkevents.h: Added GdkEventScroll structure.
11872  
11873 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
11874
11875         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
11876         and Anders Carlsson to change the Paned widgets so that they
11877         can be dragged from anywhere along the length. Also change
11878         the way that this is drawn to make this apparent.
11879
11880         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
11881         from George Lebl to check that option_menu->menu is present
11882         before getting history.
11883
11884 2000-02-14  Tor Lillqvist  <tml@iki.fi>
11885
11886         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
11887         before the assertion for non-NULL segment list.
11888
11889         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
11890         Seems that pattern brushes *must* be 8x8 pixels! At least on my
11891         machine, but it might be display driver dependent. Sigh, so make
11892         sure the stipple is that size. Does Windows suck or what?
11893
11894         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
11895         places.
11896
11897 2000-02-13  Havoc Pennington  <hp@pobox.com>
11898
11899         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
11900         refcount to 1
11901         (gdk_cursor_new): init refcount to 1
11902
11903         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
11904
11905 2000-02-13  Tor Lillqvist  <tml@iki.fi>
11906
11907         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
11908         so that we don't have to do unnecessary settings to the HDC.
11909
11910         * gdk/win32/gdkdrawable-win32.c
11911         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
11912         gdk_gc_predraw.
11913
11914         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
11915         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
11916         GDI paths, call WidenPath to get the outline of the stroken path,
11917         and then fill the outline (with the brush that was built from the
11918         stipple).
11919
11920         * gdk/win32/gdkgc-win32.c: Factor out common code from
11921         _gdk_win32_gc_new and gdk_win32_gc_set_values into
11922         gdk_win32_gc_values_to_win32values. Use correct colour for
11923         SetBkColor() (Until now the code actually used a random colour in
11924         the call to SetBkColor()... but that didn't show up as not many
11925         GDI APIs use the background colour. Pattern (opaque stippled)
11926         brushes do.)
11927
11928         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
11929         gdk_win32_api_failed): New functions for error logging.
11930
11931         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
11932         WIN32_API_FAILED to call them, passing function or file name and
11933         line number.
11934
11935         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
11936
11937         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
11938         GdkColor for foreground and background in GdkGCWin32Data.
11939
11940         * gdk/makefile.cygwin: Link in the resource object separately.
11941
11942         * gdk/win32/rc/gdk.rc
11943         * gtk/gtk.rc (New file)
11944         * gdk/win32/makefile.cygwin
11945         * gtk/makefile.cygwin: Update build number in DLLs automatically,
11946         as in GLib.
11947
11948 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
11949
11950         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
11951         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
11952         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
11953         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
11954         parameters given and cursor->ref_count. coding style fixups.
11955
11956         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11957         not GtkWidget.
11958         
11959         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
11960         fix up widget macros and add _GET_CLASS() variant.
11961         
11962         * gtk/*.c: some GtkType fixups.
11963
11964 2000-02-09  Tor Lillqvist  <tml@iki.fi>
11965
11966         * gdk/win32/gdkproperty-win32.c
11967         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
11968         were reversed.
11969
11970 2000-02-04  Tor Lillqvist  <tml@iki.fi>
11971
11972         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
11973         g_filename_to_utf8 to convert the font names Windows gives us from
11974         whatever is the default codepage to UTF-8.
11975         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
11976         in the other direction.
11977
11978         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
11979         error in debugging output.
11980
11981 2000-02-02  Tor Lillqvist  <tml@iki.fi>
11982
11983         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
11984         and height parameters to gdk_window_clear_area(). Not minus one.
11985
11986 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
11987
11988         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
11989         checks if the widget passed to gtk_drag_get_data() was not the
11990         dest widget.
11991
11992 2000-02-01  Tor Lillqvist  <tml@iki.fi>
11993
11994         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
11995         g_filename_from_utf8 functions (which were added a moment ago to
11996         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
11997         size buffers.
11998
11999         gtk_file_selection_get_filename returns the filename in the C
12000         runtime encoding. It calls g_filename_from_utf8, but copies the
12001         returned string to a static buffer, which is returned. I think
12002         this is better than returning the result from g_filename_from_utf8
12003         directly, which would mean all apps that use it would have to free
12004         the return value. Or should this function care about this issue at
12005         all? Maybe a new function with clearly defined semantics.
12006
12007         * gtk/gtkfilesel.h: Add comment about
12008         gtk_file_selection_get_filename returning the filename in the C
12009         runtime's encoding.
12010
12011         * README.win32
12012         * gdk/gdk.def
12013         * gdk/makefile.{cygwin,msc}
12014         * gtk/gtk.def: Updates.
12015
12016         * gdk/gdkcursor-win32.c: Initialise refcount.
12017
12018 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
12019
12020         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
12021
12022 2000-01-30  Havoc Pennington  <hp@pobox.com>
12023
12024         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
12025         destroy
12026
12027         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
12028
12029         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
12030         implemented in platform-specific code
12031
12032         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
12033
12034         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
12035         underscore in front
12036
12037         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
12038         put an underscore in front
12039
12040         * gdk/gdkcursor.c: new file, implements
12041         gdk_cursor_ref/gdk_cursor_unref
12042
12043         * gdk/gdkcursor.h: Refcount GdkCursor
12044
12045         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
12046
12047 2000-01-29  Tor Lillqvist  <tml@iki.fi>
12048
12049         * gdk/gdkwindow.h
12050         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
12051
12052 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
12053
12054         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
12055         structures to properly inherit from GtkWidget not GtkBin.
12056
12057 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
12058
12059         * gtk+.spec.in: Added lib/gtk+/include/* to %files
12060         (bug #5178 - Peter Wainright)
12061         
12062         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
12063         so that it will be installed.
12064         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
12065
12066 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
12067
12068         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
12069         for the GtkStyleClass vtable const.
12070
12071         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
12072         take a const string argument like GtkTranslateFunc. This will
12073         require changes in use code.
12074
12075 2000-01-19  Tor Lillqvist  <tml@iki.fi>
12076
12077         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
12078         semantics (to mimic the X11 backend, which just calls XClearArea)
12079         is to check for zero width (and height), and in that case use the
12080         window's width minus x (height minus y). This fixes for instance
12081         some redraw problems with gtkclist, which were easily noticeable
12082         in the gtk file selection widget.
12083
12084         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
12085         windows.
12086
12087 2000-01-13  Tor Lillqvist  <tml@iki.fi>
12088
12089         * configure.in
12090         * gdk/Makefile.am
12091         * gdk/x11/Makefile.am
12092         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
12093         (bug #5177).
12094         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
12095         out later.
12096
12097 2000-01-09  Tor Lillqvist  <tml@iki.fi>
12098
12099         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
12100         WM_MOVE for iconified or invisible windows. This fixes various
12101         problems when minimising windows. Thanks to Bernd Herd.
12102
12103 2000-01-05  Tor Lillqvist  <tml@iki.fi>
12104
12105         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
12106         backend's draw_lines method, not draw_points.
12107
12108 2000-01-02  Tor Lillqvist  <tml@iki.fi>
12109
12110         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
12111         before Owen's reorganisation: Don't have queued_events and
12112         queued_tail statics in this file, but use gdk_queued_events and
12113         gdk_queued_tail. This makes exposure event compression work again.
12114
12115         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
12116         seem to be needed?
12117
12118 1999-12-30  Tor Lillqvist  <tml@iki.fi>
12119
12120         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
12121         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
12122         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
12123         doesn't do anything.
12124
12125         * gdk/gdk.def: Add gdk_xid_table_insert.
12126
12127         * gdk/win32/gdkprivate-win32.h
12128         * gdk/win32/gdkevents-win32.c
12129         * gdk/win32/gdkinput-win32.c
12130         
12131         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
12132         extension_events field in the GdkWindowWin32Data struct. Use only
12133         the extension_events field in GdkWindowPrivate. Previously one was
12134         set, and the other one tested, which broke tablet
12135         functionality. Thanks to Keishi Suenaga for pointing this out.
12136
12137 1999-12-18  Tor Lillqvist  <tml@iki.fi>
12138
12139         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
12140         When handling a single character (text length == 1), don't handle
12141         it as if it was UTF-8.
12142
12143 1999-12-11  Tor Lillqvist  <tml@iki.fi>
12144
12145         * Makefile.am: Distribute README.win32.
12146         
12147         * gdk/Makefile.am
12148         * gdk/win32/Makefile.am: Distribute Win32 files.
12149
12150         * gdk/makefile.msc: New file.
12151
12152         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
12153         after label).
12154
12155         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
12156         gdk_error_code as GDKVAR, as they are referred outside GDK.
12157
12158         * gdk/win32/makefile.msc: Update.
12159
12160         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
12161         tweaks. Check only if at least one of those Unicode subrange bits
12162         we care for is set. If no code page bits are set, guess (wildly)
12163         based on the charset.
12164
12165         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
12166
12167         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
12168         non-NULL.
12169
12170         * gtk/gtkdnd.c
12171         * gtk/gtklayout.c
12172         * gtk/gtkplug.c
12173         * gtk/gtkselection.c
12174         * gtk/gtksocket.c
12175         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
12176         appropriate. There must be a cleaner way to handle this?
12177
12178         * gtk/gtkrc.c: Must include windows.h on Win32.
12179
12180         * gtk/testgtk.c: No need to include gdkx.h.
12181
12182         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
12183
12184 1999-12-07  Tor Lillqvist  <tml@iki.fi>
12185
12186         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
12187         the rbearing is set to the same as the width, but this should be
12188         fixed.
12189
12190 1999-12-06  Tor Lillqvist  <tml@iki.fi>
12191
12192         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
12193         function. If Windows doesn't tell us what Unicode subranges a font
12194         covers, guesstimate based on the codepages it covers. This will
12195         hopefully help those Windows versions or fonts that don't give us
12196         any useful Unicode subrange information with GetTextCharsetInfo.
12197         Call this function in gdk_font_load_internal.
12198
12199         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
12200         minor changes.
12201
12202 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
12203
12204         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
12205         New function, long needed.
12206
12207 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
12208
12209         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
12210         only_if_exists argument of gdk_atom_intern to
12211         bool.
12212
12213 1999-11-25  Tor Lillqvist  <tml@iki.fi>
12214
12215         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
12216         Fix two copy&paste errors.
12217
12218         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
12219         win32 has changed.
12220
12221         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
12222         GdkWin32SingleFont struct.
12223
12224         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
12225         subranges of loaded fonts. Clear font signature first, in case
12226         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
12227         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
12228
12229         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
12230         Unoffset clip region.
12231
12232 1999-11-23  Tor Lillqvist  <tml@iki.fi>
12233
12234         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
12235         event->any.window before calling filter functions.
12236
12237 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
12238
12239         * gtk/gtkgamma.h: Adapt cast macros to standard.
12240
12241 [ Merges from 1.2 ]
12242
12243 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
12244
12245         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
12246         If translation does not include a '/', use entire
12247         translation instead of crashing.
12248
12249 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
12250
12251         * docs/gtk_tut.sgml:
12252         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
12253
12254 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
12255
12256         * gtk/gtkselection.c (gtk_target_list_remove): Use
12257         g_list_remove_link, not g_list_remove.
12258
12259         [ From Geert Bevin <gbevin@thunderstorms.org> ]
12260         
12261 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
12262
12263         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
12264         statement upon unselection (how the heck did that slip in?).
12265
12266 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
12267
12268         * gtk/gtktext.c (gtk_text_freeze): 
12269         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
12270         in frozen state (and aparently crashes). patch provided by Anders
12271         Melchiorsen <and@kampsax.dtu.dk>.
12272
12273 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
12274
12275         * fix insensitive default/focus widget activation,
12276         reported by Matt Goodall <mgg@isotek.co.uk>.
12277
12278         * gtk/gtkwindow.c (gtk_window_key_press_event): 
12279         (gtk_window_activate_default):
12280         (gtk_window_activate_focus):
12281         return handled=FALSE for actiavtion of insensitive default
12282         widgets. return handled=TRUE for activation of insensitive
12283         focus widgets. don't activate in either case.
12284
12285 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
12286
12287         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
12288         and $glib_cflags to match library order and in the
12289         theory that an old version of GLib is more likely to
12290         be in the include directory for X then vice-versa.
12291         (Bug #2776)
12292
12293 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12294
12295         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
12296         to determine the locale for fontsets, not LC_MESSAGES;
12297         the user may want English messages with a handling
12298         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
12299         will still be broken) (Bug #2891)
12300
12301 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
12302
12303         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
12304
12305 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
12306
12307         * gtk/gtkrc.ko: Changed the Korean default fontset.
12308
12309 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
12310
12311         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
12312         where when scrolling to the left or top double exposes
12313         were done, causing major slowdowns.
12314
12315 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
12316
12317         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
12318         names to lowercase and alphanumeric, before looking
12319         them up.
12320
12321         * gtk/Makefile.am: Install codeset variant gtkrc files
12322         with normalized names.
12323
12324 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
12325
12326         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
12327         popup menus when the menu is already visible, but its parent
12328         is still hidden, (happens after tornoff window got hidden).
12329
12330 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
12331
12332         * gtk/Makefile.am (install-data-local): Fix
12333         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
12334         deleted, causing error messages on install.
12335
12336 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
12337
12338         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
12339         the handle as well, since we now sometimes ignore
12340         exposes on the handle while resizing.
12341
12342 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
12343
12344         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
12345         extra g_free introduced in one of the last one or two 
12346         commits.
12347
12348 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
12349
12350         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
12351         consistent, put each style that a gtkrc.* file creates
12352         in a unique namespace, remove old files before installing.
12353
12354 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
12355
12356         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
12357         gtk_rc_init is called multiple times. (Yes, people who
12358         do that have bugs in their code.)
12359
12360 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
12361
12362         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
12363         Remove it since it's generated by the Makefile anyway
12364
12365 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
12366
12367         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
12368         device->info.axes for core pointer.
12369
12370 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
12371
12372         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
12373         idle_id, to deal with obsolete, broken C libraries.
12374
12375 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
12376
12377         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
12378         allocation->x/y twice!
12379
12380         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
12381         consistent with gtk_vscale_pos_trough().
12382
12383 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
12384
12385         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
12386         be queueing a resize on a toplevel container between
12387         the time we show it and when we map it. So, we need
12388         to test GTK_WIDGET_VISIBLE() for toplevels, and only
12389         use GTK_WIDGET_DRAWABLE() for child windows.
12390
12391 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
12392
12393         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
12394         (fixes bug #2144)
12395
12396 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
12397
12398         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
12399         container DRAWABLE (instead of VISIBLE), so we don't queue
12400         resizes on non-toplevel containers.
12401
12402 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
12403
12404         * gtk/gtkselection.[ch]: Make the data argument
12405         const guchar *.
12406
12407 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
12408
12409         * gtk/gtkwindow.c: Try to behave sensibly if 
12410         the focus widget is the window itself. (Should
12411         we allow this at all?)
12412
12413 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12414
12415         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
12416         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
12417         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
12418         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
12419         in prototypes and implementations consistent (Tomas Ogren).
12420
12421         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
12422         before the widget is unparented (reported by damon).
12423
12424         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
12425         since we provide unsigned data anyways.
12426
12427 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
12428
12429         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
12430         the call to gtk_tooltips_layout_text() until later.
12431
12432         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
12433         Call gtk_widget_ensure_style() before using the style.
12434
12435 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
12436
12437         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
12438         for old widgets that don't propagate draws to all
12439         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
12440
12441 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
12442
12443         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
12444         for a redraw but just the widget that requested the resize.
12445
12446 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
12447
12448         * gtk/gtkcontainer.c: added new widget level method
12449         gtk_container_set_reallocate_redraws() and a GtkContainer flag
12450         reallocate_redraws : 1 to reflect the setting, exported this through
12451         the argument system as a boolean ::reallocate_redraws.
12452
12453         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
12454         on the widget because the allocation changes, do so as well for
12455         widget->parent if the parent has reallocate_redraws set to TRUE.
12456         with that containers requesting reallocation redraws get automatically
12457         redrawn if their children changed allocation (this unfortunately
12458         affects also other children that didn't change allocation, but we
12459         cannot work around that before 1.3).
12460
12461 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12462
12463         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
12464         _and_ height are >0 (not _or_).
12465
12466         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
12467         instead of gtk_container_queue_resize(), which is a core gtk internal
12468         function (must have been on crack when i queued that).
12469
12470         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
12471         we can check more reliably if we want to discard expose events.
12472         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
12473         flag.
12474         
12475         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
12476         we simply trust these events. for deciding whether to discard exposes,
12477         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
12478         
12479 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
12480
12481         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
12482         queues of areas that are completely off screen.
12483
12484         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
12485         logic for handleboxes.
12486
12487         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
12488         check on width/height.
12489
12490 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
12491
12492         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
12493         we are fine with using $@ the way we do (if we actually encounter
12494         brokeness with $@ in VPATH builds because of additional path prefixes,
12495         we need to use $(@F) actually).
12496
12497 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
12498
12499         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
12500         short lived bugs, that would allow language bindings to do surgeries
12501         to our guts.
12502
12503 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
12504
12505         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
12506         where comparison was being done against an uninitialized
12507         value causing intermittant results depending on
12508         compiler flags. Also make it clearer that we aren't
12509         ever initializing the child as 0x0 (though this will
12510         be caught in gtk_widget_size_allocate())
12511
12512 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
12513
12514         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
12515         gtk_window_unset_transient_for() call after we do checks
12516         involving the old transient parent.
12517         [ From Lance Capser <lmc@cyberhighway.net> ]
12518
12519 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
12520
12521         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
12522         an empty file.
12523
12524 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
12525
12526         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
12527         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
12528
12529 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
12530
12531         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
12532         `$@' is valid only in the build dir, not after we've done 
12533         `cd $srcdir'.  Also use `test -f' instead of less portable
12534         `test -e'.
12535
12536 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
12537
12538         * gtk/gtktext.c (correct_cache_insert): Rewrite
12539          for simplicity, and hopefully correctness.
12540          (Fixes bug #1322, which was a segfault when
12541           on some insertions with the properties around
12542           the insertion set up just wrong.)
12543
12544         * gtk/gtktext.c (gtk_text_adjustment): When we receive
12545          a "changed" signal, clamp the new value to the adjustment
12546          bounds to avoid segfaulting if someone tries to change
12547          the adjustment to a bogus value. (Bug #1795)
12548
12549 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12550
12551         * gtk/gtkmain.c: Ignore unexpected destroy notifies
12552         for children, for toplevel windows handle them
12553         like delete_event.
12554
12555         * gtk/gtkplug.c: Add an unrealize handler so that
12556         we unref plug->socket_window when we are done
12557         with it.
12558
12559 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
12560
12561         * gtk/gtktext.c (clear_area): Fix stupid signedness
12562          problem that was causing background to sometimes
12563          be misaligned.
12564
12565 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
12566
12567         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
12568         
12569         * gtk/gtkmenu.c (gtk_menu_position): Make
12570          sure we never position menus with negative x, y,
12571          since gtk_widget_set_uposition() can't handle that.
12572
12573         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
12574          Modify the positioning code a bit so that we always
12575          put the top-left corner onscreen. (This is for
12576          UI reasons, gtk_menu_position() now takes care of
12577          gtk_widet_set_uposition() brokeness.)
12578
12579 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
12580
12581         * gtk/Makefile.am: fixed up things for -jx, x > 1.
12582
12583 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
12584
12585         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
12586           RC style that is passed in. The lack of the ref
12587           before was a bug. If people worked around this
12588           bug, this will introduce a slight memory leak
12589           in their code. The code should typically look like:
12590
12591             rc_style = gtk_rc_style_new ();
12592             [...]
12593             gtk_widget_modify_style (widget, rc_style);
12594             gtk_rc_style_unref (rc_style);
12595
12596         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
12597           the style if it was already set.
12598
12599         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
12600           style if it was set before.
12601
12602 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12603
12604         * gtk/testgtk.c (main): Add a check to see if we
12605           are being run from the correct directory and
12606           to quit nicely if we are not.
12607
12608         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
12609           static.
12610
12611 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
12612
12613         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
12614
12615         * gtk/gtkwindow.c:
12616         queue resizes unconditionally (gtk_widget_queue_resize will figure
12617         what to do if the window is not realized).
12618         (gtk_window_move_resize): only recenter the window
12619         for GTK_WIN_POS_CENTER_ALWAYS.
12620         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
12621         the same way as GTK_WIN_POS_CENTER.
12622
12623 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
12624
12625         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
12626         with (!(info->last_flags & GDK_HINT_POS)) instead of
12627         (!info->last_flags & GDK_HINT_POS).
12628
12629         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
12630         new_height unconditionally, because we use these values even if
12631         !default_size_changed && !hints_changed.
12632         comented the (default_size_changed || hints_changed) case with
12633         respect to resize rejects from the window manager.
12634
12635         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
12636         in the zvt condition hack, since this includes the window hints, set
12637         the hints after the handling_resize case.
12638
12639         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
12640         window is initially shown with to the geometry.
12641
12642 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
12643
12644         * gtk/gtkwindow.c (gtk_window_move_resize):
12645         s/size_changed/default_size_changed/g so i know what's
12646         really going on (frying brain on smaller flame now).
12647
12648 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
12649
12650         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
12651         we have size_changed upon handling_resize. this is a gross
12652         workaround for the broken zvt widget and should be removed in
12653         1.3 again (search for FIXME).
12654         Owen provided an accurate comment for this:
12655
12656         /* We could be here for two reasons
12657          *  1) We coincidentally got a resize while handling
12658          *     another resize.
12659          *  2) Our computation of size_changed was completely
12660          *     screwed up, probably because one of our children
12661          *     is broken. It's probably a zvt widget.
12662          *
12663          * For 1), we could just go ahead and ask for the
12664          * new size right now, but doing that for 2)
12665          * might well be fighting the user (and can even
12666          * trigger a loop). Since we really don't want to
12667          * do that, we requeue a resize in hopes that
12668          * by the time it gets handled, the child has seen
12669          * the light and is willing to go along with the
12670          * new size. (this happens for the zvt widget, since
12671          * the size_allocate() above will have stored the
12672          * requisition corresponding to the new size in the
12673          * zvt widget)
12674          *
12675          * This doesn't buy us anything for 1), but it shouldn't
12676          * hurt us too badly, since it is what would have
12677          * happened if we had gotten the configure event before
12678          * the new size had been set.
12679          */
12680
12681 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
12682
12683         * gtk/gtkrc.c: deal properly with the fact that RC
12684           style lists may include rc styles more than once.
12685
12686         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
12687           unused static function.
12688
12689         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
12690           stack of directories of RC files currently being
12691           parsed and implicitely add them to pixmap path.
12692           
12693           This fixes a bug where the directory would get
12694           appended then overwritten by pixmap_path declarations.
12695
12696           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
12697
12698         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
12699           theme's exit function. (Patch from Peter Wainwright,
12700           bug #1454)
12701
12702         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
12703           Add a destroy() handler to take care of removing
12704           group for menu item. (Fixes bug #1197)
12705
12706         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
12707           in warning message.
12708
12709 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
12710
12711         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
12712         roundtrip to figure window's width and height, since we know that
12713         anyways from widget->allocation.
12714
12715 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
12716
12717         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
12718           the hints after we request the new size.
12719
12720 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
12721
12722         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
12723           GTK_WIDGET_REALIZED() assertion - we can compute the
12724           hints before we are realized.
12725
12726         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
12727           hint changing so that we have a value of hints_changed
12728           when we decide whether to constrain the window size.
12729
12730         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
12731
12732         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
12733         change back to G_MAXINT.
12734
12735 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
12736
12737         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
12738         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
12739         contain uncluttered values.
12740         (gtk_window_compute_hints): simply assert that window is realized
12741         and that geometry_info is valid, since we rely on this anyways.
12742         (gtk_window_constrain_size): major cleanups to the code.
12743         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
12744         for the base size, instead of the minimums. use 32767 as max width
12745         and height (like in gtkwindow.c) instead of G_MAXINT.
12746
12747 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
12748
12749         * cleaned up the GtkContainer.need_resize flag handling mess, we
12750         only need to force resize requests when we were prematurely
12751         realized, or our widget tree was modified when we were temporarily
12752         hidden. handling these cases directly upon showing the window (i.e.
12753         while the GdkWindow is still unmapped) avoids the need to wait for
12754         a configure event response and therefore makes the GUI more snappier
12755         and avoids blank windows during the roundtrip.
12756
12757         * gtk/gtkwidget.c:
12758         (gtk_widget_hide): 
12759         (gtk_widget_show): don't queue resizes on toplevels, they know how
12760         to deal with matters.
12761
12762         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
12763         flag directly for not visible resize containers and spare us unecessary
12764         signal emissions.
12765
12766         * gtk/gtkwindow.c:
12767         (gtk_window_realize): if we need to enforce premature size allocation,
12768         queue a container resize so we are correctly resized later on.
12769         (gtk_window_init):
12770         (gtk_window_size_request):
12771         don't freak around with the ->need_resize flag,
12772         gtk_container_queue_resize() will care about that.
12773         (gtk_window_show):
12774         handle initial resizing issues here, we can handle matters better in
12775         this place, especially since we know that our GdkWindow is still
12776         unmapped.
12777         (gtk_window_move_resize):
12778         don't care about ->need_resize at all.
12779         handle size changes properly that occoured while we waited for a
12780         configure event.
12781
12782 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
12783
12784         * gtk/gtkwidget.c (gtk_widget_set_uposition):
12785         * gtk/gtkwindow.[hc] (gtk_window_reposition):
12786         Move the hint setting code from gtk_widget_set_uposition
12787         to here; set the hints so that we respect any previously
12788         set geometry hints.
12789
12790         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
12791         change the window hints here or move the window here,
12792         let that happen in gtk_window_move_resize().
12793
12794 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
12795
12796         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
12797         to already queued resizes (and therefore redraws) on a widget, check
12798         its anchestry as well.
12799
12800         * gtk/gtkcontainer.c:
12801         (gtk_container_queue_resize): clear resize widgets for resize
12802         containers before aborting prematurely. this is especially important
12803         for toplevels which may need imemdiate processing or their resize
12804         handler to be queued.
12805         (gtk_container_dequeue_resize_handler): added new internal function for
12806         gtkwindow.c.
12807
12808         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
12809         configure event, take possible changes in window position into account
12810         as well.
12811         if we request a new window size, queue up a resize handler that will
12812         last until the configure event response arrives.
12813         combined the ->need_resize case (initial show) with the general size
12814         (hints) changed case and added even more comments.
12815         if !auto_shrink, only revert to the old allocation if the new size
12816         is smaller than the current allocation.
12817
12818 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
12819
12820         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
12821                            gtk_window_set_geometry_hints
12822                            gtk_window_set_default_size):
12823         When hints are set, queue a resize so that the hints will
12824         be eventually reset on the toplevel.
12825
12826         * gtk/gtkwindow.c (gtk_window_show): Use
12827         gtk_window_compute_default_size(). Clear the need_resize flag
12828         on the initail map so that we don't unnecessarily trigger the
12829         resize code.
12830
12831         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
12832         into separate functions. Compare the hints we are setting
12833         with what we set last time so that we can accurately
12834         tell when we need to reset the hints.
12835
12836         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
12837         function to figure out the size from requisition
12838         and default_size.
12839
12840         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
12841         from fvwm to constrain a size to the geometry hints.
12842
12843         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
12844         to compare two sets of geometry hints.
12845
12846         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
12847         from gtk_window_set_hints(), just compute the hints,
12848         don't set them.
12849
12850         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
12851         code from gtk_window_move_resize() to separate function,
12852         rationalize a bit.
12853
12854 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
12855
12856         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
12857         structure into a new private structure.
12858
12859         * gtkrc.c: Split GtkRcStyle into public/private.
12860         In the private part, add a list of pointers to the
12861         RcStyle lists this RcStyle participates in.
12862
12863         * gtkrc.c: When a RcStyle is free, remove all
12864         lists referencing it from the 
12865         realized_style_ht hash, and free those lists.
12866         
12867         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
12868         gtk_rc_init(), since that adds the default styles
12869         to the list of parsed RC files again.
12870
12871         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
12872         
12873 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
12874
12875         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
12876         checks that ensure that a widget's allocation is at least 1 in width
12877         and height. (GNOME note: this doesn't affect old panel code anymore,
12878         because GtkSocket will request width and height of at least 1 since
12879         Fri Jul 23).
12880
12881         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
12882         allocated yet (happens if the user realizes the window prematurely),
12883         size request and allocate it.
12884         (gtk_window_size_allocate): guard against guint underflows.
12885
12886 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
12887
12888         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
12889         in gtk_built_sources, so gtk.defs gets built prior to all other
12890         sources.
12891
12892 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12893
12894         * gtk/Makefile.am:
12895         invoke indent on gtkmarshal.*. 
12896         rewrote source generation rules, use COPYING as oldest source tag for
12897         a piggyback rule to generate all sources from (don't touch it ;).
12898         major cleanups, strip spaces on build rules for GNU Make.
12899
12900         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
12901         source and target files from commandline arguments. don't invoke indent.
12902
12903 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12904
12905         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12906         notebook after switch to avoid drawing problems.
12907         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12908         
12909         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12910         show them instead. 
12911         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12912
12913 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
12914
12915         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
12916         notebook after switch to avoid drawing problems.
12917         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
12918         
12919         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
12920         show them instead. 
12921         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
12922
12923 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
12924
12925         * gtk/gtkwindow.c:
12926         we use window->need_resize from configure_event now, to indicate that
12927         the gtkwindow should keep its allocation (e.g. because the user resized
12928         the window through window manager handles). resize_count is now reliably
12929         used to figure whether we got the allocation we requested from the
12930         window manager.
12931         configure events get queued as resizes now, the real stuff (size
12932         computation and allocation) now only goes on in gtk_window_move_resize().
12933         GtkWindow's requisition now contains its *real* requisition (like all
12934         other widgets), *not* taking usize into account.
12935         geometry_info->last_{width|height} is now updated from set_hints() only
12936         so it always contains the last hints we set for the window manager.
12937         made some event handlers return TRUE instead of FALSE.
12938         the overall code should be much more straight forward now, and the
12939         significant code portions are accompanied by comments now.
12940         (gtk_window_set_hints):
12941         removed requisition argument and made it
12942         fetch the requisition through gtk_widget_get_child_requisition.
12943         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
12944         does that now.
12945         (gtk_window_show):
12946         ensure that the widget is realized before calling 
12947         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
12948         ensure that we got properly size requested and allocated before
12949         realization.
12950         (gtk_window_configure_event):
12951         ignore plain window moves, or reallocate the widget tree through the
12952         resize queue otherwise.
12953         (gtk_window_move_resize):
12954         mostly rewrote this function to figure window manager hints more
12955         reliably, coalesce window moves and resizes to reduce configure events
12956         and do actuall size allocations.
12957
12958 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12959
12960         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
12961         that have a resize pending, because a redraw is already queued for them.
12962
12963         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
12964         hack to clear resize_widgets.
12965
12966         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
12967         for resize containers prior to size allocation. (this is also a bit
12968         ugly, but avoids side effects for stopped emissions and is thus more
12969         reliable).
12970         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
12971
12972         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
12973         function from gtk_tooltips_expose, as we connect to ::expose_event
12974         *and* ::draw now.
12975
12976 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12977
12978         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
12979         checks.
12980         (gtk_target_list_unref): Likewise.
12981
12982         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
12983
12984 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
12985
12986         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
12987         guard against division by zero. (Fixes bug #1339)
12988
12989 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
12990
12991         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
12992         Prevent the trivial leak of information of allowing
12993         word motion when the entry is not visible.
12994
12995 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
12996
12997         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
12998         modality to error dialog as well as confirmation dialogs.
12999         (Bug #1803, reported by Rosanna Wing Sze Yuen)
13000
13001 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13002
13003         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
13004         tree->view_lines.
13005         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
13006
13007         * gtk/Makefile.am (install-data-local): Solaris apparently
13008         has various troubles with ln -f; use rm first instead.
13009         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
13010
13011 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
13012
13013         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
13014         use `cp' followed by `rm' (the `rm' was already there).
13015
13016 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13017         
13018         * configure.in: Fix autoconf warnings about cross compilation by
13019         trying to provide sane defaults for AC_TRY_RUN.
13020         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
13021         put them into $(srcdir) when generated. Also add a dependency of
13022         gtksignal.h on gtkmarshal.h for -j builds. 
13023         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
13024
13025 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
13026
13027         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
13028         GDK_THREADS_{LEAVE,ENTER} pair.
13029         (From Paul Fisher <pnfisher@redhat.com>)
13030
13031 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
13032
13033         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
13034         width and height are always >0 (owen).
13035
13036 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
13037
13038         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
13039         change that assured that a widget's allocated with and height are
13040         always >1, since this breaks *buggy* panel code. unfortunately this
13041         back-breaks the gimp's color selector.
13042
13043         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
13044         allocation is always >0 in width and height, before sending the
13045         configure event; this is a *gross* hack to get the gimp back to work.
13046         
13047         * marked both cases with TODO-1.3
13048
13049 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
13050
13051         * gtk/gtktext.c: Don't display wrap indicators when
13052         text is not editable and word wrap is on.
13053
13054 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
13055
13056         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
13057         option menus here as they are not derived from menu shell, assure that
13058         the option menu has a menu we can add items to.
13059
13060 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
13061
13062         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
13063         width/height to (gint) before calculations and check against < 0 to
13064         avoid guint wraparounds.
13065
13066 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
13067
13068         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
13069         width and height is never zero. sanity check both dimensions against
13070         32767 and issue a warning if the allocation is greater than that.
13071
13072 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
13073
13074         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
13075         to g_main_pending() as well.
13076
13077 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
13078
13079         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
13080         call to g_main_iteration() - since that will regrab
13081         GTK+ lock to process events.
13082
13083 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
13084
13085         * gtk/gtkwindow.c
13086         - Regularize with the rest of GTK+ by making widget->requisition
13087           not reflect the set_usize()
13088         - Always recompute geometry hints, then check if they
13089           changed before sending them to the X server. The
13090           previous checks for changes would fail in a number
13091           of circumstances. 
13092
13093 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
13094
13095         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
13096
13097 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
13098
13099         * gtk/gtkdnd.c:
13100         - Code cleanups
13101         - Instantaneously update on modifier key presses
13102         - Allow cancellation of the drag with Escape.
13103
13104 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
13105
13106         * gtk/testgtk.c (create_handle_box): Set the policy
13107         to auto_shrink - otherwise the appearance is rather
13108         strange when flipping between horizontal and vertical.
13109
13110 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
13111
13112         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
13113         (gtk_window_set_default_size): don't change a value if it's < 0.
13114         queue a resize.
13115
13116 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
13117
13118         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
13119
13120 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
13121
13122         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
13123         add an extra "/" when concating "/" + filename.
13124         (From Matt Grossman <mattg@oz.net>)
13125
13126 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
13127
13128         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
13129         for fg_gc if we set it for drawing pixmap.
13130
13131 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
13132
13133         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
13134         
13135         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
13136         already set, call old engine's destroy function and
13137         unref the old engine.
13138
13139 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
13140
13141         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
13142
13143 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
13144
13145         * gtk/gtkaccelgroup.h: mark certain functions as internal.
13146
13147 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
13148
13149         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
13150         expand behaviour changed.
13151
13152         * gtk/gtklabel.c (gtk_label_set_pattern):
13153         (gtk_label_set_justify):
13154         (gtk_label_set_line_wrap):
13155         don't bother invoking queue_clear, the reallocation does
13156         that for us, always free_words so the upcoming resize will
13157         relayout the label's contents.
13158
13159 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
13160
13161         * applied argument implementation patches from Elena Devdariani
13162         <elena@cogent.ca>.
13163
13164         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
13165         ::space_style, ::relief
13166         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
13167         * gtk/gtkpreview.c: ::expand
13168         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
13169         * gtk/gtknotebook.c: ::homogeneous
13170         * gtk/gtklabel.c: ::wrap
13171         * gtk/gtklist.c: ::selection_mode
13172         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
13173         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
13174         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
13175         * gtk/gtkclist.c: ::sort_type
13176         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
13177         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
13178
13179 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
13180
13181         * gtk/gtkstyle.c: Removed ill-thought-out part of last
13182         comment.
13183
13184 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
13185
13186         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
13187         counting right when we have to attach a new style
13188         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
13189
13190         * gtk/gtkstyle.c: Documented the refcounting
13191         peculularities of gtk_style_attach.
13192
13193 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13194
13195         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
13196         window types.
13197
13198         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
13199         of GTK_TOPLEVEL for creating the window.
13200
13201 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13202
13203         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
13204         the last argument (reported by Per Winkvist).
13205         
13206 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
13207
13208         Fixes for invisible XOR lines (Frank Loemker
13209         <floemker@TechFak.Uni-Bielefeld.DE>)
13210         
13211         * gtk/gtkclist.c (gtk_clist_realize): Always use
13212         a non-zero pixel for GDK_XOR.
13213
13214         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
13215         Use GDK_INVERT instead of GDK_XOR.
13216
13217 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
13218
13219         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
13220         signals if h/voffsets differ from adjustment values.
13221         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
13222
13223 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
13224
13225         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
13226         ::selection-done emissions up to the topmost menu shell.
13227
13228 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
13229
13230         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
13231         the user data on the window before destroying it.
13232
13233         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
13234         unrealize handler to take care of destroying 
13235         notebook->panel properly. 
13236         (Bug #1198 - Morten Welinder <terra@diku.dk>)
13237
13238         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
13239         of g_new and g_realloc to stop memory leak. (Actually,
13240         we could just use g_realloc(), but I'm not 100% sure
13241         that is portable).
13242         (Bug #1196 - Morten Welinder <terra@diku.dk>)
13243
13244 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13245
13246         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
13247
13248         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13249         for fontsets.
13250
13251         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
13252         with bin/button confusion.
13253
13254 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
13255
13256         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
13257         and show how preselection of radio items is done.
13258
13259 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
13260
13261         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
13262         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
13263         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
13264         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
13265         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
13266         * gtk/gtktable.c (gtk_table_attach): 
13267         * gtk/gtklist.c (gtk_list_insert_items): 
13268         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
13269         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
13270         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
13271         * gtk/gtkbin.c (gtk_bin_add): 
13272         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
13273         * gtk/gtkfixed.c (gtk_fixed_put): 
13274         * gtk/gtklayout.c (gtk_layout_put):
13275         general fixups to container_add logic. always realize child if
13276         child->parent is realized, only map the child and queue a resize
13277         if child and child->parent are both visible.
13278
13279 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
13280
13281         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
13282         instead of gtk_container_foreach to walk and unrealize children, so
13283         composite children get also unrealized.
13284         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
13285         (gtk_widget_map): assert that the widget is visible (basic constrain).
13286         (gtk_widget_real_map): assert that the widget is realized (basic
13287         constrain).
13288
13289 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
13290
13291         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
13292
13293 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
13294
13295         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
13296         file for iso-8859-2 locales.
13297
13298         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
13299
13300 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
13301
13302         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
13303          (Pointed out by andy@rz.uni-karlsruhe.de and others).
13304          Remove some suspicious and useless lines. 
13305
13306 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
13307
13308         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
13309         width,height = 0, 0 to mean - here to edge of window,
13310         instead of -1, -1, since the former is all we support.
13311
13312 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
13313
13314         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
13315         when removing from quit_functions list.
13316
13317 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
13318
13319         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
13320
13321 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
13322
13323         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
13324          When redrawing characters on non-visible entry, use appropriate
13325          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
13326
13327 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
13328
13329         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
13330         from drag coordinates.
13331         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
13332         use drag_dest_cell.
13333
13334         * gtk/gtktree (drag_dest_cell)
13335         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
13336         (Bug #1129)
13337
13338 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
13339
13340         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
13341         translate_* fields.
13342         (gtk_item_factory_finalize): invoke translate_notify independant from
13343         translate_data.
13344         (gtk_item_factory_set_translate_func): likewise.
13345         (gtk_item_factory_destroy): only remove ifactory pointer from those
13346         widgets that belong to us (stupid me).
13347
13348 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
13349
13350         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
13351         rc_style list when lookup succeeeds.
13352
13353 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
13354
13355         * gtk/gtkctree.c (resync_selection): 
13356         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
13357         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
13358         bug.
13359
13360 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
13361
13362         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
13363         Add some missing GDK_THREADS_ENTER()/LEAVE around
13364         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
13365
13366 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
13367
13368         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
13369         rather than emit_by_name.
13370
13371         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
13372         on the widget across multiple signal emissions.
13373         (gtk_editable_delete_text): same here.
13374         (gtk_editable_class_init): set widget_class->activate_signal after
13375         editable_signals[ACTIVATE] has been created.
13376
13377 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
13378
13379         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
13380         position here prematurely -- we might not have the
13381         right ->min_position and ->max_position yet.
13382
13383 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13384
13385         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
13386         Add error traps so if the other end of the connection
13387         dies, we survive.
13388
13389         * gtk/gtkselection.c (gtk_selection_notify): Clean
13390         up properly when selection property retrieval fails.
13391         
13392         * gtk/gtkselection.c (gtk_selection_request): Correctly
13393         reject SelectionRequest notifies where the handler
13394         returns no data.
13395
13396 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13397
13398         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
13399         when we've previously highlighted.
13400
13401         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
13402         emit two "drag_leave" signals for Motif drops.
13403
13404         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
13405         back the correct status messages when dropping from
13406         Motif onto a proxy window that is rejecting the
13407         drop.
13408
13409 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
13410
13411         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
13412         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
13413         to compare two argument values. added gtk_arg_to_valueloc() to set a
13414         variable from an arg through its location (pointer).
13415
13416         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
13417         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
13418         as gfloat*, uchars are collected as guchar*, ints are collected as
13419         gint*, etc...
13420
13421 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
13422
13423         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
13424         Include <string.h> instead of <strings.h>.
13425
13426         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
13427         (actually, a lot more duplicate includes occur if
13428          you trace through the sequence of #include's)
13429         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
13430         
13431 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13432
13433         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13434         gtk-a-higuti-990322-[0-3]
13435
13436         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13437         that was causing -DX_LOCALE not to work.
13438
13439         * gtk/gtkrc.c (gtk_rc_init):
13440         X_LOCALE will never have LC_MESSAGES defined
13441
13442 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
13443
13444         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
13445         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
13446
13447         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
13448         left/right as well (gtk-michael-980726-0.patch.gz).
13449
13450         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
13451         for pointer values, use gchar instead of char. fixed uline allocation
13452         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
13453         chunks instead of G_ALLOC_ONLY.
13454         (gtk_label_size_request): always alter requisition as passed and leave
13455         widget->requisition alone.
13456         (gtk_label_set_text): allow NULL strings.
13457         (gtk_label_new): likewise.
13458
13459 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
13460
13461         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
13462
13463 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
13464
13465         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
13466         *and* mapped (i.e. drawable).
13467         (gtk_bin_expose): only send exposes to drawable children.
13468
13469         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
13470         (gtk_box_expose): only send exposes to drawable children.
13471
13472         * gtk/gtkhscale.c (gtk_hscale_draw): 
13473         * gtk/gtkvscale.c (gtk_vscale_draw):
13474         hm, this is an ugly one. we first compute the size of our trough area
13475         here (window relative) and then check intersection with the draw_area
13476         which is parent relative because we're a NO_WINDOW widget, so we need
13477         to offset the trough area by allocation.x and allocation.y before the
13478         check. (this must not be done for the background area though, since
13479         that's already computed parent relative).
13480
13481 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
13482
13483         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
13484         unrealize title buttons.
13485
13486 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
13487
13488         * gtk/gtkclist.c (gtk_clist_column_title_passive)
13489         (gtk_clist_column_title_active): 
13490         only connect/disconnect to GtkWidgetClass::event to block mouse events.
13491
13492         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
13493         zero initialize event, removed superfluous gdk_window_get_pointer call
13494
13495         * gtk/gtklist.c (gtk_list_vertical_timeout)
13496         (gtk_list_horizontal_timeout): removed superfluous
13497         gdk_window_get_pointer call
13498
13499 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13500
13501         * plugging problems reported by "Bruce Mitchener, Jr."
13502         <bruce@puremagic.com> due to a purify session.
13503
13504         * gtk/gtkstyle.c:
13505         (gtk_style_ref): 
13506         (gtk_style_unref): assert ref_count to be > 0.
13507
13508         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
13509         the requisition.
13510         (gtk_clist_set_shift): likewise.
13511
13512         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
13513         adjustments.
13514
13515         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
13516         event before sending it and set send_event to TRUE (which needs to
13517         be done for *all* synthesized events).
13518         (gtk_list_vertical_timeout): likewise.
13519
13520         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
13521         leaks.
13522
13523         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
13524         to TRUE when synthesizing events.
13525
13526 [ *** end of merges from 1.2 *** ]      
13527         
13528 1999-11-21  Tor Lillqvist  <tml@iki.fi>
13529
13530         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
13531         (or copied from gdkconfig.h.win32 on Win32, sigh).
13532
13533         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
13534
13535         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
13536
13537         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
13538
13539         * gdk/gdkconfig.h.win32: New file.
13540
13541         * gdk/win32/makefile.cygwin: Build just a static archive here.
13542
13543         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
13544         for the DLL from the static archive built above.
13545
13546         * gdk/gdk.def: Moved here from the win32 subdirectory.
13547
13548         * gdk/win32/*: Adapt for the changed private struct organisation.
13549
13550         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
13551
13552 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
13553
13554         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
13555         for wheel mice (buttons 4 and 5).
13556
13557 1999-11-18  Tor Lillqvist  <tml@iki.fi>
13558
13559         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
13560         drawables use just the pixel field in the foreground and
13561         background GdkColor of the GdkGC.
13562
13563         gdk_gc_set_{fore,back}ground() are called in the GIMP with
13564         GdkColors containing uninitialized (red,green,blue) fields, and
13565         just the pixel field filled in, and furthermore in the
13566         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
13567         It thus turns out that we really don't need to have the full
13568         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
13569         it later to have just the pixel values.
13570
13571 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
13572
13573         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
13574
13575 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
13576
13577         * docs/gtkfaq.sgml: threads example from Erik Mouw.
13578         New question on GtkLabel background colors.
13579
13580         * docs/gtk_tut.sgml:
13581           - Correct the example code callback
13582             function definitions.
13583           - Update the gtkdial example code, from Frans van Schaik.
13584           - Update setselection.c to current API.
13585
13586         * examples/Makefile examples/*/*.c: Update to code
13587         listed in tutorial.
13588
13589 1999-11-10  Tor Lillqvist  <tml@iki.fi>
13590
13591         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
13592         subrange table (from the "Developing International Software for
13593         WIndows 95 and Windows NT" book) was missing the Hangul syllable
13594         block... Get the loaded font's charset correctly.
13595
13596         (Note that this, and the other *-win32.c files, still really are
13597         the old ones, the win32 subdirectory is not ready for compilation
13598         yet after the reorg.)
13599
13600 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
13601
13602         * gtk/gtkclist.c: Fix off-by-one bug in parameter
13603         check.
13604
13605 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
13606
13607         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
13608         on results of XQueryDeviceState().
13609
13610 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
13611
13612         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
13613         we need to accesss only ->children. We need an accessor
13614         for the children.
13615
13616         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
13617         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
13618         to get rid of gdkx.h include.
13619         
13620         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
13621         and random references to 'None'.
13622
13623         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
13624         Get rid of unused #include <gdk/gdkx.h>
13625
13626         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
13627         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
13628         gdkconfig.h.
13629
13630 1999-11-08  Tor Lillqvist  <tml@iki.fi>
13631
13632         * gdk/win32/gdkdraw.c
13633         * gdk/win32/gdkfont.c
13634         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
13635         following yesterday's changes. (Unrelated to Owen's reorg.)
13636
13637 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
13638
13639         * gdk/x11/gdkinput-gxi.c: Add missing include,
13640           fix GdkWindowPrivate => GdkDrawablePrivate.
13641
13642         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
13643
13644         * gdk/x11/Makefile.am (xinput_sources): Add missing
13645         backslash to fix building with --with-xinput=none
13646
13647 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
13648
13649         Move all X specific code into the x11/ directory.
13650         Aside from shuffling things around, did the following:
13651
13652        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
13653          gdk_arg_context_* - a simple argument parsing system
13654          in the style of popt.
13655
13656        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
13657          gdk/x11/gdkprivate-x11.h:
13658          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
13659          add ->klass and ->klass_data fields. The klass_data
13660          field points to an auxilliary structure that is
13661          windowing system dependent.
13662
13663        * gdk/gdkfont.c: Make most of the measurement functions
13664          simply wrappers around gdk_text_extents().
13665
13666        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
13667          _gdk_font_strlen() function that hides the weird
13668          behavior in gtk+-1.[02] where a string is interpreted
13669          differently for 8-bit and 16-bit fonts.
13670
13671        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
13672          to store common code for synthesizing double/triple
13673          press events.
13674         
13675        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
13676          Make all the function that modify an existing GC
13677          simply wrappers around gdk_gc_set_values().
13678          
13679        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
13680          for throwing out later.
13681
13682        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
13683          GdkImagePrivate and GdkColormapPrivate to have a
13684          windowing system dependent part (GdkFontPrivateX etc.)
13685          that "derives" from the system-independent part.
13686
13687        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
13688          Got rid of the included-source-files for XInput in
13689          favor of automake conditionals. (Which didn't exist
13690          when XInput support was originally added.)
13691
13692        * gdk/gdkrgb.c: Remove the visual id from the debugging
13693          statements since that is X11 specific; print out
13694          type/depth info instead.
13695          
13696
13697 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
13698
13699         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
13700         loading duplicates of hashed fonts.
13701
13702         * gdk/gdk.c (gdk_keysym_convert_case): rename
13703         gdk_XConvertCase to gdk_keysym_convert_case, allow
13704         results to be NULL in the GTK+ style.
13705
13706         * gdk/gdkcompat.h: Started compatibility header
13707         for renames.
13708
13709 1999-11-07  Tor Lillqvist  <tml@iki.fi>
13710
13711         * gdk/win32/gdkprivate.h: New font private structures, related to
13712         fontsets.
13713
13714         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
13715         gdk_font_list_free(). On X11, will just be wrappers to
13716         XListFonts() and XFreeFontNames(). On Win32, the code previously
13717         in gtkfontsel.c is now here.
13718
13719         New function gdk_font_xlfd_create(). On X11 will get the FONT
13720         property of the font (for GDK_FONT_FONTs), or call
13721         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
13722         builds a XLFD style name from the font information in the LOGFONT
13723         struct(s).
13724
13725         New function gdk_font_xlfd_free(), which correspondingly frees the
13726         string returned by gdk_font_xlfd_create().
13727
13728         Implement fontsets on Win32. Add a function that iterates over a
13729         wide char string and calls a callback function for each substring
13730         of wide chars from the same Unicode subrange (and thus probably
13731         available in the same real font).
13732
13733         Improve the XLFD emulation a bit.
13734
13735         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
13736
13737         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
13738         Beta3, WM_IME_CHAR messages don't seem to contain the composed
13739         multi-byte char as with the Active IMM on Win9x. Oh well, handle
13740         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
13741         ImmGetCompositionStringW() to get the composed Unicode chars.
13742
13743         * gdk/win32/gdkgc.c
13744         * gdk/win32/gdkdraw.c: Changes needed because of the font private
13745         struct changes.
13746
13747         * gdk/win32/gdk.def: Add the new functions.
13748
13749 1999-11-04  Tor Lillqvist  <tml@iki.fi>
13750
13751         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
13752         get the Platform SDK to get <dimm.h>.
13753
13754         * gdk/win32/gdkevents.c: More event handling fixes and
13755         simplification. Never generate motion events with is_hint true. We
13756         used to do that on bogus grounds earlier. Windows sends
13757         WM_MOUSEMOVE messages on button events even if the mouse hasn't
13758         moved, ignore these.
13759
13760         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
13761
13762         * gdk/win32/gdkglobals.c
13763         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
13764         the TrackMouseEvent function, and use it.
13765
13766         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
13767         char before calling WideCharToMultiByte in order to get a string
13768         for the window title.
13769
13770         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
13771
13772         * gdk/win32/gdk.def: Remove obsolete functions.
13773
13774         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
13775         /nodefaultlib and /defaultlib switches.
13776
13777         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
13778
13779 1999-10-31  Tor Lillqvist  <tml@iki.fi>
13780
13781         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
13782         EuroSign).
13783
13784         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
13785         same type as GdkWChar, especially on Win32.
13786
13787         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
13788
13789         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
13790         before passing to Windows GDI for drawing etc. Convert to the
13791         system default codepage before passing to Windows as window
13792         titles.
13793
13794         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
13795         support changing input locale on the fly.
13796
13797         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
13798         on-the-fly changes. Convert incoming characters from the current
13799         codepage to Unicode (and then to a UTF-8 multi-byte string) based
13800         on the current input language. Use keysym<->Unicode mapping tables
13801         and functions borrowed from xterm sources.
13802
13803         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
13804         editions of Win9x, use the ActiveX-based Active IMM (Input Method
13805         Manager) if available. IMEs and the Active IMM are available under
13806         the disguise of Chinese, Korean and Japanese support for IE and
13807         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
13808         support is present in all editions (as long as you install it).
13809
13810         Call DispatchMessage from gdk_events_queue() (and thus
13811         gdk_WindowProc()), instead of duplicating the code in
13812         gdk_WindowProc().
13813
13814         Reworked the grab handling and propagation code, factored out
13815         duplicated code snippets into separate functions. Other cleanups,
13816         too.
13817
13818         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
13819         the <dimm.h> header describing the Active IMM.
13820
13821         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
13822         just do the same as for "single" fonts.
13823
13824         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
13825         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
13826         the new keysyms from gdkkeysyms.h.
13827
13828         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
13829         fontset, so that gtkentry uses wide characters.
13830
13831         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
13832         GTk+'s system directory "gtk+", not "gtk".
13833
13834 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
13835
13836         * docs/gtkfaq.sgml: FAQ update
13837
13838 1999-10-21  Tor Lillqvist  <tml@iki.fi>
13839
13840         * gdk/win32/gdkprivate.h: Add more font private data.
13841
13842         * gdk/win32/gdkfont.c
13843         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
13844         fonts and strings. Now works much better. You still have to
13845         have a correct font selected, though. No fontset emulation yet.
13846
13847 1999-10-19  Tor Lillqvist  <tml@iki.fi>
13848
13849         * gtk/maketypes.awk: Use G_OS_WIN32.
13850
13851         * gtk/gtk.def: Add some missing entry points. Also some non-public
13852         ones, but PyGTK porter claims to need them.
13853
13854         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
13855         built-in type generation.
13856
13857 1999-10-14  Tor Lillqvist  <tml@iki.fi>
13858
13859         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
13860         GDK_FONT_FONT fonts (which is all we have for now, we don't
13861         emulate fontsets). The X11 version uses plain XDrawString in that
13862         case, too. The string passed to gdk_draw_text_wc seems to be in
13863         fact (at least, when used by gtkentry and gtktext) either in a
13864         single-byte charset, or a DBCS. Not Unicode.
13865
13866         This fixes the problem in gtkfontsel, where even if you had
13867         selected a font with a non-Latin1 charset (windows-greek, for
13868         instance), the preview still used Latin-1 glyphs.
13869
13870         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
13871         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
13872         (gdk_font_load): Recognize the demibold etc weights, even if we
13873         don't have the corresponding constants in the headers.
13874         (gdk_font_hash_insert): Use same hash mechanism as in the X11
13875         version. Should save font resources a bit, when we don't have
13876         multiple HFONTs for the same font.
13877
13878         * gdk/win32/gdkprivate.h: Add the names field as in the X11
13879         version.
13880
13881 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
13882
13883         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
13884         X values
13885
13886 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
13887
13888         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
13889         layout support (as mentioned on
13890         http://www.jcinteractive.com/gnome-ui/software/widgets/)
13891
13892 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
13893
13894         * gtk/fnmatch.c
13895         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
13896
13897 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
13898
13899         * configure.in (ALL_LINGUAS): Added Galician (gl)
13900
13901 1999-10-05  Tor Lillqvist  <tml@iki.fi>
13902
13903         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
13904
13905         * gdk/win32/gdkcompat.c: New file, actually provide an
13906         implementation for the deprecated functions. (Just temporarily.)
13907
13908         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
13909
13910         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
13911
13912         * gdk/win32/gdk.def gtk/gtk.def: Updates.
13913
13914 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
13915
13916         * configure.in: Added "uk" to ALL_LINGUAS.
13917         
13918 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
13919
13920         * configure.in: correct checking for BeOS check
13921
13922         * gdk/gdktypes.h
13923         * gtk/fnmatch.c
13924         * gtk/gtkfilesel.c
13925         * gtk/gtkitemfactory.c
13926         * gtk/gtkmain.[ch]
13927         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
13928
13929 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
13930
13931         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
13932         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
13933         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
13934         by Bulgarian). 
13935
13936 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
13937
13938         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
13939         Fix a reference to window_private->destroyed.   
13940
13941         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
13942         (ugly) setting of an internal GdkWindow member to use
13943         a _slightly_ cleaner macro.
13944
13945         * gdk/gdkprivate.h: Split GdkWindowPrivate into
13946         GdkDrawablePrivate and GdkWindowPrivate.
13947         Add extra macros for accessing GDK_DRAWABLE_ components.
13948
13949         * *.[ch]: Massive adjustments for the above, use the
13950         new macros in a lot of places.
13951
13952 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
13953
13954         * gdk/gdktypes.h: Make GdkDrawable the base type,
13955         not GdkWindow.
13956
13957 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
13958
13959         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
13960
13961 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
13962
13963         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
13964
13965 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
13966
13967         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
13968         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
13969
13970         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
13971
13972         * docs/gtk-config.1: Now autogenerated.
13973         * docs/Changes-1.4.txt: started
13974         
13975 1999-10-03  Tor Lillqvist  <tml@iki.fi>
13976
13977         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
13978         to #ifdef also here.
13979
13980         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
13981         Owen did to the X11 backend.
13982
13983         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
13984         ScrollWindowEx when blitting inside a window, it can't be correct
13985         in the general case.
13986
13987         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
13988         WM_GETMINMAXINFO is easier.
13989
13990         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
13991         depth equal to the bitspixel value, not the visual's depth.
13992
13993         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
13994         to 24 even if the bitspixel value is 32.
13995
13996         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
13997         need to check for depth==32 when bpp==32, depth will always be 24.
13998
13999 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
14000
14001         * docs/Changes-1.4.txt: Started
14002         
14003         * gtk/Makefile.am (gdk_headers): Include all the new headers.
14004
14005         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
14006         
14007         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
14008         into C file.
14009         
14010         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
14011         header to gdkinputprivate.h.
14012
14013         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
14014         unused since before 1.2.
14015
14016 1999-09-30  Tor Lillqvist  <tml@iki.fi>
14017
14018         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
14019         expand possible hex escapes in the font family (put there by
14020         logfont_to_xlfd if the font name isn't a legal XLFD font family,
14021         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
14022         On Win32, add hex escapes here, too.
14023
14024 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
14025
14026         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
14027         to #ifdef GDK_WINDOWING_X11.
14028
14029 [ Merges from gtk-1-2 ]
14030
14031 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
14032
14033         * configure.in: fixed "GNU Make" check to pass with new make version
14034         3.77.95.
14035
14036 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
14037
14038         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
14039         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
14040         AM_PATH_GTK() macros don't get confused by the -pre1.
14041
14042 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14043
14044         * configure.in (REBUILD): Change check for perl5
14045           to check explicitely for v >= 5.002. (5.001
14046           does not work with our scripts.)
14047
14048 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
14049
14050         * configure.in: evaluate $PERL for the perl version check. added
14051         --disable-rebuilds to give the user an option to completely disable
14052         any source autogeneration rules.
14053
14054 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
14055
14056         * configure.in: evaluate $ac_make when checking for GNU Make.
14057
14058 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14059
14060         * docs/Makefile.am: added generation.txt.
14061
14062         * Makefile.am: require automake 1.4, build README from README.in and
14063         INSTALL from INSTALL.in in dist-hook.
14064         
14065         * README.in:
14066         * INSTALL.in: new files to autogenerate README and INSTALL from.
14067
14068         * configure.in: figure whether we have GNU Make
14069
14070         * docs/generation.txt: minor additions/corrections.
14071
14072 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14073
14074         * docs/gtkfaq.sgml: FAQ Update
14075
14076 July 30, 1999 Elliot Lee <sopwith@redhat.com>
14077         
14078         * configure.in: Fix autoconf warnings about cross compilation by
14079         trying to provide sane defaults for AC_TRY_RUN.
14080
14081 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
14082
14083         * ltconfig
14084         * ltmain.sh: upgrade to libtool 1.3.3
14085
14086 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
14087
14088         * INSTALL: Indicate that the --with-glib= configure
14089         time flag is unsupported.
14090
14091 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
14092
14093         * docs/generation.txt: Added a file that gives
14094         documenation about the autogeneration process for
14095         various autogenerated files.
14096         
14097 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14098
14099         * configure.in (LIBS): Look for libgmodule in the
14100         right location.
14101
14102 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
14103
14104         * docs/gtk_tut.sgml: Removed references to
14105         code examples in my directory on gtk.org as
14106         they should all be in the tutorial now.
14107
14108         * docs/gtk_tut.sgml: Added sources for dial-test
14109         and scribble-xinput programs that were previously
14110         missing.
14111
14112 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
14113
14114         * TODO: Added entry about menu keyboard navigation, removed
14115         some finished items.
14116
14117 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
14118
14119         * acinclude.m4: Standardize on func_dgettext
14120         not func_gettext, so that the checks for dgettext
14121         actually are paid attention to.
14122
14123 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
14124
14125         * configure.in (LIBS): Add $INTLLIBS into $LIBS
14126         directly, rather than repeating the checks for
14127         gettext.
14128
14129         * INSTALL: Added information about gettext and
14130         NLS support.
14131
14132         * acinclude.m4 (LIBM): Check for dgettext, not
14133         just gettext. This should hopefully fix things wrt
14134         systems with old versions of GNU gettext installed.
14135
14136 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14137
14138         * configure.in (LIBS): Look for libgmodule in the
14139         right location.
14140
14141 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14142
14143         * autogen.sh: add --enable-maintainer-mode
14144
14145         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
14146
14147 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
14148
14149         * docs/gtk-config.1.in:
14150           docs/Makefile.am:
14151           configure.in: gtk-config is now generated.
14152
14153         * docs/gtk-config.1: Removed, now generated.
14154
14155 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
14156
14157         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
14158         handle CreateNotify itself, still put out a debuging message for
14159         --gdk-debug=events. made the ReparentNotify debugging message more
14160         verbose.
14161         wrap xcoords translation for ConfigureEvents into an error trap,
14162         a destroy event may already be pending, and in that case, the
14163         actuall coordinate values are not at all critical.
14164
14165 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
14166
14167         * gdk/gdkcc.c: Stop leaking the color_hash all over
14168         the place. Simplify and improve the logic.
14169
14170 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
14171
14172         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
14173         for prototypes and function implementations consistent (reported
14174         by Tomas Ogren).
14175
14176 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
14177
14178         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
14179         send_event set in debugging output.
14180         (gdk_compress_exposures): default initialize the event so we don't
14181         operate on bogus values (namely send_event).
14182
14183 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
14184
14185         * gdk/gdkwindow.c: When we receive an unexpected
14186         destroy notify on one of our windows, don't just
14187         warn about it, also mark our windows as destroyed.
14188
14189 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
14190
14191         * gdk/gdkfont.c (gdk_font_hash_insert): Add
14192           name => font and name => fontset hashes. The 
14193           name => fontset hash is a _big_ win since we
14194           weren't previously caching fontsets at all and loading
14195           fontsets is expensive. The name => font hash
14196           is less of a win, but it does save us from doing
14197           repeated XQueryFont calls on the same font.
14198
14199         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
14200           list so we can remove font/fontset from hash.
14201
14202 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14203
14204         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
14205           and slightly confusing test. [ XInternAtom (,,TRUE)
14206           will never return None ].
14207
14208 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
14209
14210         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
14211           gdk/gdkwindow.c (gdk_window_set_hints):
14212
14213         Don't omit setting the properties if flags == 0 -
14214         there may be an existing set of properties there
14215         already. (Very old bug. Would it be better to
14216         delete the property instead?)
14217
14218         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
14219           spelling error in comment.
14220
14221 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
14222
14223         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
14224           to avoid stomping over gdk_error_warnings.
14225
14226         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
14227           as (bits_per_pixel + 7) / 8. This gives the same
14228           result as before for multiples of 8, but actually
14229           a "reasonable" value for 1bit or 4bit displays.
14230
14231 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14232
14233         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
14234         GNU Make.
14235
14236 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
14237
14238         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
14239         discarding configure events.
14240
14241 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
14242
14243         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
14244         refcount is greater than zero.
14245
14246         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
14247
14248         * gdk/gdkfont.c (gdk_font_unref): Likewise.
14249
14250         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
14251
14252         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
14253
14254 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
14255
14256         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
14257         that format 32 => sizeof(item) == 4. It really is
14258         sizeof(long).
14259
14260 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
14261
14262         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
14263         core dump at all on X IO errors, only core dump
14264         if --enable-debug for X errors.
14265
14266 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
14267
14268         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
14269         unknown window:" message. disabled ConfigureNotify discarding code,
14270         because it led to events being processed out of order.
14271
14272 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
14273
14274         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
14275
14276         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
14277         we export this function, supress error warnings and don't reset the
14278         error code in the first half of this function.
14279
14280         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
14281         code (instead of just -1) so gdk_error_trap_pop() reveals something
14282         actually informative about the error that happened.
14283
14284         * gdk/*.c:
14285         don't rely on gdk_error_code being -1 if an error occoured, but just
14286         gdk_error_code != 0.
14287
14288 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
14289
14290         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
14291         pointer *before* invoking the filter function, so we at least don't
14292         crash if a filter is removed that is currently executed. window filters
14293         *really* need to be made truely reentrant at some point.
14294
14295 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
14296
14297         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
14298         PropertyNotify debug messages.
14299
14300 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
14301         
14302         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
14303         
14304         * gdk/gdkim.c: Fix cut-and-paste errors for 
14305         x/y and PreeditAttributes/StatusAttributes.
14306
14307 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14308
14309         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
14310         G_MAXINT to 2^16 to alleviate overflow problems in
14311         various window managers.
14312
14313 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
14314
14315         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
14316         for fontsets.
14317
14318 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
14319
14320         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
14321         Initialize size_hints.x and size_hints.y because kwm
14322         brokenly pays attention to them.
14323         (Bug #1181 -  Lars Heete <hel@admin.de>)
14324
14325 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
14326
14327         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
14328         return value of gdk_list_visuals(). 
14329         (Bug #1193 - Morten Welinder <terra@diku.dk>)
14330
14331 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
14332
14333         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
14334         XSetIMValues to (void *) when comparing to NULL, to workaround
14335         the problem of some compilers barfing since older X headers don't
14336         have the prototype for it.
14337
14338 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
14339
14340         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
14341         for pseudocolor where colormap->colors was double
14342         allocated.
14343
14344         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
14345         color value in the hash table with the pixel filled
14346         in so when we do later hash table lookups, the color
14347         value is correct.
14348         
14349 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
14350
14351         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
14352         making the call
14353
14354 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
14355
14356         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
14357         pointed out by Morten Welinder <terra@diku.dk>.
14358
14359 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14360
14361         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14362           default filter from the list
14363
14364 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14365
14366         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14367           default filter from the list
14368
14369 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
14370
14371         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
14372
14373         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
14374         g_strdup_printf instead of calcing the length separately
14375
14376 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
14377
14378         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
14379         that we don't do in many other places. (Fixing duplicate 
14380         #include of config.h)
14381
14382         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
14383         Otherwise, #ifndef XINPUT_NONE check in the latter
14384         doesn't work. (Bug #546)
14385
14386 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
14387
14388         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
14389         "None" case insensitive.
14390
14391 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
14392
14393         * gdk/gdkselection.c: 
14394         Add error traps so if the other end of the connection
14395         dies, we survive.
14396
14397 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14398
14399         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
14400         dest_xid field into two fields - one for the window
14401         to send in messages, one to indicate the last looked
14402         up window for caching purposes. This is needed, so
14403         that Leave messages get the correct window.
14404
14405 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
14406
14407         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
14408         Fix warning created by people mucking around
14409         with the gsource API.
14410
14411         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
14412         Change mapping between GIOCondition and GdkInputCondition
14413         to match the way the Linux kernel does it. This should
14414         fix problems where closed pipes were no longer signalling
14415         GDK_INPUT_READ on systems with a native poll().
14416
14417 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
14418
14419         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
14420         explicitly for the string "None" - it is in the XPM
14421         spec and some servers treat unknown colors in odd ways
14422         (like asking the user!)
14423
14424 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14425
14426         * gdk/gdkevents.c: made "->" into a "." of previous change so
14427         it compiles
14428
14429 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
14430
14431         * gdk/gdkevents.c (gdk_compress_exposures): Set the
14432         window field of the event structure before calling
14433         user filters.
14434
14435 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14436
14437         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
14438         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
14439
14440 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
14441
14442         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
14443         intermediate text property - prevents major memory
14444         leak when gdk_use_mb.
14445         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
14446
14447 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
14448
14449         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
14450         gtk-a-higuti-990322-[0-3]
14451
14452         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
14453         sizeof(wchar_t) != sizeof (GdkWChar)
14454
14455         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
14456         that was causing -DX_LOCALE not to work.
14457
14458         * gtk/gtkrc.c (gtk_rc_init):
14459         X_LOCALE will never have LC_MESSAGES defined
14460
14461         * gdk/gdk.c (gdk_init_check):
14462         Remove --xim-preedit and --xim-status from argv properly.
14463
14464         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
14465         that the client window is present on the X server
14466         before we pass it to the input method.
14467
14468 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14469
14470         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
14471         if --display is specified on the command line, than
14472         the drag window will not be created on that display.
14473         
14474 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
14475
14476         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
14477         lookups with only_if_exists == TRUE were inserting
14478         bogus values into the atom cache.
14479
14480 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
14481
14482         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
14483         then reset it to NULL.
14484
14485         * gdk/gdkcolor.c:
14486         (gdk_colors_free): 
14487         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
14488         key for g_hash_table_remove() in both functions, this prevents us
14489         from accessing possibly uninitialized portions of a GdkColor structure
14490         where we are only interested in its pixel value.
14491
14492 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14493
14494         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14495         font hash table, if we have a GdkFontPrivate entry for this font
14496         already, simply increment its reference count, provided by Olaf Dietsche
14497         <olaf.dietsche+list.gtk@netcologne.de>.
14498
14499 1999-09-21  Tor Lillqvist  <tml@iki.fi>
14500
14501         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
14502         just to be sure.
14503
14504         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
14505         unused variables, leftovers from the X11 version.
14506
14507         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
14508
14509         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
14510         downcase fields on X11.
14511
14512 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14513         
14514         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
14515         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
14516
14517 1999-09-17  Tor Lillqvist  <tml@iki.fi>
14518
14519         * gdk/win32/gdk.def: Add gdk_threads_mutex.
14520
14521         * gtk/makefile.msc: Correct path to libintl.
14522
14523         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
14524         use of gint vs. int, and gint vs. gboolean in headers and
14525         definitions. Use GtkType for the *_get_type functions. Note that
14526         these changes preserve binary compatibility.
14527
14528         * gdk/gdk.c
14529         * gdk/win32/gdk.c
14530         * gdk/gdk.h: Fix inconsistencies: gint vs int.
14531
14532         * gtk/gtkmain.c
14533         * gtk/gtkclist.c
14534         * gtk/gtkmenufactory.c
14535         * gtk/gtknotebook.c
14536         * gtk/gtkwidget.c: Fix inconsistencies, also gint
14537         vs. gboolean.
14538
14539         * gtk/gtkcolorsel.[ch]
14540         * gtk/gtkcombo.[ch]
14541         * gtk/gtkdrawingarea.[ch]
14542         * gtk/gtkgamma.[ch]
14543         * gtk/gtkhandlebox.[ch]
14544         * gtk/gtkhpaned.[ch]
14545         * gtk/gtkhruler.[ch]
14546         * gtk/gtkplug.[ch]
14547         * gtk/gtkpreview.[ch]
14548         * gtk/gtkruler.[ch]
14549         * gtk/gtksocket.[ch]
14550         * gtk/gtkstatusbar.[ch]
14551         * gtk/gtktoolbar.[ch]
14552         * gtk/gtkvbbox.[ch]
14553         * gtk/gtkvpaned.[ch]
14554         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
14555         functions.
14556
14557         * gtk/gtkgamma.h: Fix bug, missing () in call of
14558         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
14559
14560 1999-09-14  Tor Lillqvist  <tml@iki.fi>
14561
14562         * gdk/gdkcolor.c (gdk_colormap_new)
14563         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
14564         colormap->colors was allocated twice.
14565
14566         * gdk/win32/gdk.c: Remove some unused stuff.
14567
14568         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
14569         colormap.
14570
14571         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
14572         * gtk/gtklabel.h (gtk_label_get_type)
14573         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
14574         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
14575         in a couple of places, not guint.
14576
14577 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14578
14579         * configure.in,po/et.po: added Estonian language file
14580
14581 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14582
14583         * configure.in,po/da.po: added Danish file
14584
14585 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
14586
14587         * docs/gtkfaq.sgml: Minor FAQ Update
14588
14589 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
14590
14591         * docs/gtkfaq.sgml: FAQ update
14592
14593 1999-08-27  Tor Lillqvist  <tml@iki.fi>
14594
14595         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
14596         way to get window contents continually refreshed while resizing. I
14597         didn't like the effects myself, so it's not on by default.
14598
14599         * gdk/win32/gdkprivate.h: New flag variable
14600         gdk_event_func_from_window_proc, FALSE by default.
14601
14602         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
14603         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
14604         are passed --gdk-event-func-from-window-proc.
14605
14606         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
14607         and we have am event_func, call it instead of enqueing the event.
14608
14609 1999-08-23  Tor Lillqvist  <tml@iki.fi>
14610
14611         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
14612         Kelley: Set expose_count in GdkEventExposes correctly.
14613
14614         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
14615         MULTIPLE_WINDOW_CLASSES).
14616
14617         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
14618         for bug in NT, apparently NT *does* draw the end pixel, too, in
14619         LineTo with a one-pixel pen, so we don't have to do it ourselves.
14620
14621 1999-08-21  Tor Lillqvist  <tml@iki.fi>
14622
14623         Improvements by Hans Breuer: 
14624
14625         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
14626
14627         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
14628         CS_?REDRAW flags as they cause lots of (late) redraws when "show
14629         window contents while dragging" is turned on. Allocate at least
14630         one unique class for every GdkWindowType. If support for single
14631         window-specific icons is ever needed (eg. Dialog specific), every
14632         such window should get its own class.
14633
14634 1999-08-19  Tor Lillqvist  <tml@iki.fi>
14635
14636         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
14637         error that caused crashes.
14638
14639 1999-08-17  Tor Lillqvist  <tml@iki.fi>
14640
14641         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
14642         window, use ScrollWindowEx, and call UpdateWindow. This prevents
14643         bugs when for instance part of the window was outside the
14644         display. Thanks to Philippe Colantoni for finding and fixing this.
14645
14646 1999-08-16  Tor Lillqvist  <tml@iki.fi>
14647
14648         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
14649         endpoint calculations which were totally wrong. (A little RTFMing
14650         helps a lot ;-)
14651
14652         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
14653         from a separate directory, not from gettext, because of licensing
14654         issues (we want to use the LGPL version).
14655
14656         * README.win32: Mention the intl from glibc vs from gettext issue.
14657
14658 1999-08-13  Tor Lillqvist  <tml@iki.fi>
14659
14660         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
14661         in the key event handling: Now AltGr chars work again. Also,
14662         now Alt-digits are passed up as well as Control-digits.
14663         Pass keypad plus and minus as normal plus and minus.
14664
14665 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14666
14667         * docs/gtkfaq.sgml: FAQ Update
14668
14669 1999-07-25  Tor Lillqvist  <tml@iki.fi>
14670
14671         * README.win32
14672         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
14673         the Wintab SDK.
14674
14675         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
14676         OK, but getting closer. Guard against bogus tilt data from Wacom
14677         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
14678         enable easier building without Wintab.
14679
14680         * gdk/win32/gdkinput.h
14681         * gdk/win32/gdkevents.c 
14682         * gdk/win32/gdkwindow.c: Minor changes related related to above.
14683         
14684         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
14685         code. As we have just one visual on Win32, no sense to have it in a
14686         table, and no need for the hash table.
14687
14688         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
14689         better on white background.
14690
14691 1999-07-21  Tor Lillqvist  <tml@iki.fi>
14692
14693         * README.win32: Update gcc build instructions. Mention gettext is
14694         GPL.
14695
14696         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
14697         supported cursor size with GetSystemMetrics.
14698
14699         * gdk/win32/gdkfont.c
14700         * gtk/gtkfontsel.c: Guard against some font weight and charset
14701         symbols being undefined (in mingw32 headers).
14702
14703         * gdk/win32/makefile.cygwin
14704         * gtk/makefile.cygwin
14705         * gtk/gtkthemes.c: No longer need to have differently named
14706         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
14707
14708 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
14709
14710         * docs/gtkfaq.sgml: Long awaited FAQ update.
14711
14712 1999-07-15  Tor Lillqvist  <tml@iki.fi>
14713
14714         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
14715         it. Obscure bit manipulation needed.
14716
14717         * gdk/win32/gdkevents.c: Logging.
14718         
14719         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
14720         style (file name include compiler name) for theme engines.
14721
14722 1999-07-13  Tor Lillqvist  <tml@iki.fi>
14723
14724         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
14725
14726         * gdk/win32/gdkevents.c: Fix long-standing bug in key
14727         events. The key.string wasn't zero-terminated, still we strdup'ed
14728         it in gdk_event_copy(). Synthesize crossing events for button
14729         events before possible propagation.
14730
14731         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
14732
14733         * gdk/win32/makefile.cygwin
14734         * gtk/makefile.cygwin: Use new DLL naming style for the
14735         GCC-compiled ones.
14736
14737         * gdk/win32/makefile.msc
14738         * gtk/makefile.msc: Cosmetics mostly.
14739
14740         * gtk/gtk.def: Add missing entry points.
14741
14742         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
14743
14744 1999-07-09  Tor Lillqvist  <tml@iki.fi>
14745
14746         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
14747         or height is zero. Don't print a warning if Pie or Arc fails, they
14748         always fail (?) for very narrow ellipses.
14749
14750         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
14751         the part or the destination window corresponding to source area
14752         outside of the source drawable's boundary.
14753
14754         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
14755         anything if less than two points.
14756
14757         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
14758         return NULL. Gtk cut-and-paste inside a single program works
14759         better this way. (It always gets the clipboard contents from
14760         Windows, not from its own copy, which is cleared anyway. I can't
14761         say I fully understand what happens... Emulating the X selection
14762         and property stuff is a bit of a mess.)
14763
14764         * gdk/win32/gdkevents.c
14765         * gdk/win32/gdkproperty.c: A bit more verbose logging.
14766
14767         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
14768         that never got deleted). Revamp gdk_region_shrink.
14769
14770         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
14771         after use.
14772
14773         * gtk/gtk.def: Add some missing entry points.
14774
14775         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
14776         component.
14777
14778 1999-07-04  Tor Lillqvist  <tml@iki.fi>
14779
14780         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
14781         Control-digits specially.
14782
14783 1999-07-03  Tor Lillqvist  <tml@iki.fi>
14784
14785         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
14786
14787 1999-06-28  Tor Lillqvist  <tml@iki.fi>
14788
14789         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
14790         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
14791         finding this.)
14792
14793 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
14794
14795         * gtk+.spec.in: Corrected some typos in files section.
14796         
14797 1999-06-15  Tor Lillqvist  <tml@iki.fi>
14798
14799         * README.win32: Mention using GNU gettext.
14800         * config.h.win32: Enable NLS stuff.
14801         * gtk/makefile.msc: Use GNU gettext.
14802         * gdk/win32/gdkdnd.c: Minor header reorg.
14803         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
14804         cosmetics.
14805         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
14806         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
14807
14808 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
14809
14810         * acinclude.m4
14811         * config.guess
14812         * config.status
14813         * ltconfig
14814         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
14815
14816 1999-05-30  Tor Lillqvist  <tml@iki.fi>
14817
14818         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
14819         SafeAdjustWindowRectEx. Don't override all calls to
14820         AdjustWindowRectEx by it, but use it only in two places: When
14821         creating a new top-level window and when moving a top-level
14822         window.
14823
14824         Use screen coordinate rectangle, not client rectangle, in
14825         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
14826         when we try to place a window so that the decoration (mainly,
14827         title bar) isn't visible.
14828
14829         These changes fix the bug that showed up for instance as the
14830         GIMP's saved top-level windows moving right and down (by an amount
14831         equal to the window decoration) for each session. This bug showed
14832         up also in testgtk's "Saved Position".
14833
14834         gdk_window_resize also redone a bit.
14835
14836 1999-05-25  Tor Lillqvist  <tml@iki.fi>
14837
14838         * gtk/testgtkrc: Add (commented out) Windows-style theme
14839         include line.
14840
14841         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
14842
14843 1999-05-18  Tor Lillqvist  <tml@iki.fi>
14844
14845         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
14846         gdkx.h to a gdk subdirectory, so that applications can include
14847         these with <gdk/*.h> without trouble.
14848
14849         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
14850         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
14851         have their bitmap destroyed.
14852
14853         * gdk/win32/gdk.def: Add gdk_root_parent.
14854
14855 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
14856
14857         * configure.in
14858           gtk-config.in
14859           ltconfig
14860           ltmain.sh     
14861           gtk/Makefile.am: changes to compile nicely (with xlib) 
14862           on BeOS
14863
14864 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
14865
14866         * acinclude.m4
14867         * config.guess
14868         * config.sub
14869         * ltconfig
14870         * ltmain.sh: upgrade to libtool 1.3
14871
14872 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
14873
14874         * gtk/gtkclist.c:
14875         * gtk/gtkctree.c: merges from gtk-1-2
14876
14877 1999-04-25  Tor Lillqvist  <tml@iki.fi>
14878
14879         Support added for building using a GNU toolchain on Win32,
14880         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
14881
14882         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
14883         * config.h.win32: Changes for gcc.
14884         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
14885         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
14886         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
14887         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
14888         Protect shl stuff unavaiilable with mingw32 headers.
14889         * gdk/win32/gdkevents.c: Fix typo.
14890         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
14891         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
14892         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
14893         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
14894         the mingw32 headers.
14895         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
14896         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
14897         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
14898         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
14899         Test for NATIVE_WIN32, not _MSC_VER.
14900         * gtk/gtkmain.c: No use warning about developer version on Win32,
14901         there aren't any non-developer versions anyhow.
14902         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
14903         * gtk/makefile.msc: Use pthread from another directory. Minor other
14904         changes. 
14905
14906 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14907
14908         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14909           default filter from the list
14910
14911 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
14912
14913         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
14914          when gtk_widget_grab_default() is called for a widget that
14915          is not within a GtkWindow.
14916
14917 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
14918
14919         * docs/gtk_tut.sgml, examples/clist.c: use a
14920           scrolled window in the clist example. Minor
14921           tutorial fixes.
14922
14923 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
14924
14925         * docs/gtk_tut.sgml: Style check from David King
14926           <dking@youvegotmail.net>
14927
14928 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
14929
14930         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
14931         compile with unknown value of GDK_WINDOWING
14932
14933 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
14934
14935         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
14936         after the rule is fired.
14937         (install-exec-local): Install gdkconfig.h only if the contents are
14938         different from the currently installed gdkconfig.h.
14939
14940 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
14941
14942         * gdk/Makefile.am (configexecincludedir): Rename from 
14943         configincludedir so that gdkconfig.h will be installed 
14944         as part of `make install-exec'. 
14945
14946 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
14947
14948         * acinclude.m4
14949         * config.guess
14950         * config.sub
14951         * ltconfig
14952         * ltmain.sh: upgrade to libtool 1.2f
14953
14954         * autogen.sh: libtool is not required to autogen gtk+
14955
14956         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
14957         needed)
14958
14959 1999-03-18  Tor Lillqvist  <tml@iki.fi>
14960
14961         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
14962         declaring gdk variables exported/imported from the DLL. New image
14963         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
14964         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
14965         GDK_DRAG_PROTO_OLE2.
14966
14967         * gdk/gdk.h: Merge in Win32 version: Two new functions,
14968         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
14969         declared only for the Win32 version, but could be in the X11
14970         version as well. (Needed for a Xlib-less gdk_imlib.)
14971         gdk_color_hash should have only one parameter. Declare
14972         gdk_threads_mutex with GDKVAR.
14973         
14974         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
14975         just one parameter.
14976
14977         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
14978         per pixel, not bits.
14979
14980         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
14981         Fetch bpp (which means bits-per-pixel here) from another place on
14982         Win32. Accept also depth==32 (which we might get on Win32) with
14983         bpp==32.
14984
14985         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
14986         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
14987         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
14988         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
14989         in the backend-dependent directory, not in the common gdk
14990         directory.
14991
14992         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
14993         headers.
14994
14995 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
14996
14997         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
14998         want to use the Gtk+ devel version (which is true, and yes - even i am
14999         currently working with the 1.2.x branch). so everyone reading this, you
15000         probably want to issue
15001         cvs checkout -r glib-1-2 glib
15002         and
15003         cvs checkout -r gtk-1-2 gtk+
15004         as your next two comands.
15005
15006 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
15007
15008         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
15009         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
15010
15011         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
15012         file. strongly deprecated the GTK_HAVE_* macros, we provide
15013         GTK_CHECK_VERSION() for people that need to check for certain
15014         Gtk+ versions.
15015
15016         * gtk/gtkcompat.h: removed this from CVS.
15017         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
15018         idea right from the start, it just didn't seem like that back then.
15019
15020 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
15021
15022         * merges from gtk-1-2:
15023
15024 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
15025
15026         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
15027         item factory class has been created.
15028         (gtk_item_factory_parse_rc): likewise.
15029
15030         * gtk/gtkmenu.c:
15031         keep proper references for old_active_menu_item.
15032         (gtk_menu_reparent): unset the usize of the new parent,
15033         so the menu can sanely be size requested and we don't get nasty screen
15034         artefacts upon next reparentation.
15035         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
15036         enter notify. only synthesize enter notifies if the pointer really is
15037         inside the event window.
15038         (gtk_menu_popdown): use gtk_menu_shell_deselect().
15039         (gtk_menu_popup): move the background setting stuff into
15040         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
15041
15042         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
15043         gtk_menu_shell_select_item() to select the new item.
15044         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
15045         do the right thing for deselection as well.
15046
15047 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
15048
15049         * gtk/gtkwidget.[hc]:
15050         (gtk_widget_accelerators_locked): return whether a widget's accelerators
15051         are locked.
15052
15053         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
15054         existing accelerators if the widget's accelerators are locked.
15055
15056 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
15057
15058         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
15059
15060         * gtk/gtkmenu.c: truely forward key press and key release events to
15061         the menu widget from the toplevel or tearoff window. we can't simply
15062         connect to that, we need to stop further processing of the events as
15063         well.
15064
15065 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
15066
15067         * gtk/gtkmenu.c:
15068         (gtk_menu_key_press): pass event->keyval, event->state to
15069         gtk_accelerator_valid, instead of event->keyval twice.
15070         refuse to install single letter accelerators for menus that use
15071         single letter shortcuts.
15072
15073         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
15074         gtk_menu_ensure_uline_accel_group().
15075
15076         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
15077         which will always return an uline accel group, made
15078         gtk_menu_get_uline_accel_group() return NULL if the group isn't
15079         yet created.
15080
15081 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
15082
15083         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
15084
15085         * gtk/gtkclist.c (gtk_clist_column_title_passive):
15086         Leave button sensitive, trap  button_press, button_release,
15087         motion_notify, enter_notify and leave_notify events instead.
15088         (gtk_clist_column_title_active): disconnect event handler.
15089         (gtk_clist_drag_data_get): fixed memory leak. Reported by
15090         Guillaume Laurent <glaurent@worldnet.fr>
15091
15092 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
15093
15094         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
15095         width/height mixups.
15096
15097         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
15098         if needed.
15099
15100 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
15101
15102         * gtk/testgtk.c (create_item_factory): unref the item factory after
15103         window's destruction.
15104
15105         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
15106         count on the menu shell around the menu item's activation, since the
15107         signal emission may cause menu shell destruction.
15108
15109         * gtk/gtkitemfactory.c:
15110         the previous code leaked one accel group per menu. we use
15111         gtk_menu_get_uline_accel_group() now to fix that, and with that
15112         also create the underline accelerator group of the menus only if
15113         required (i.e. an underline accelerator has been specified).
15114         (gtk_item_factory_construct):
15115         (gtk_item_factory_create_item): removed code that would create an
15116         extra accel group for the menu (and leak references).
15117         (gtk_item_factory_create_item): adapted the underline accelerator
15118         installation code to properly feature gtk_menu_get_uline_accel_group().
15119
15120         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
15121         menu->accel_group, this may return NULL if the accelerator group
15122         hasn't been set yet.
15123         added gtk_menu_get_uline_accel_group() to retrive the underline
15124         accelerator group of the menu, this will be created on demand
15125         and proper care is taken about its reference count.
15126
15127         * gtk/gtkitemfactory.h:
15128         * gtk/gtkitemfactory.c:
15129         dumped the approach of keeping a widgets by action list on the
15130         factory since the factory<->widget destroy negotiation didn't work
15131         and would be hard to get going at all. instead we keep a list of
15132         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
15133         persistant throughout a program's life time).
15134         also, i removed the static const gchar *key_* variables, and made
15135         them inline strings (they weren't actually used anyways).
15136         (gtk_item_factory_add_item): update ifactory->items.
15137         (gtk_item_factory_destroy): destroy ifactory->items (and remove
15138         the item factory pointer from the remaining ifactory widgets).
15139         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
15140         list to find the widget.
15141         (gtk_item_factory_get_item): new function that works around
15142         gtk_item_factory_get_widget() limitations, this function will only
15143         return menu items, even for <Branch> entries.
15144
15145 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15146
15147         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15148         font hash table, if we have a GdkFontPrivate entry for this font
15149         already, simply increment its reference count, provided by Olaf Dietsche
15150         <olaf.dietsche+list.gtk@netcologne.de>.
15151
15152         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15153         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15154
15155 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
15156
15157         * gtk/gtkcontainer.c:
15158         (gtk_container_add_with_args):
15159         (gtk_container_addv):
15160         (gtk_container_add): before adding a child to a conatiner, make sure
15161         it is (default) constructed, this is neccessary because under certain
15162         circumstances the child will get relized and mapped immediatedly, in
15163         which case it has to be constructed already.
15164
15165 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
15166
15167         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
15168         values > 1 as TRUE also.
15169
15170 1999-03-16  Tor Lillqvist  <tml@iki.fi>
15171
15172         * README.win32: New file.
15173                 
15174         * configure.in: Check for lstat.
15175
15176         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
15177         completeness.
15178
15179         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
15180
15181         * gtk/gtk.def: Removed CRs.
15182
15183         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
15184         ..\gdk\win32).
15185
15186         * gdk/win32/makefile.msc: Correct upwards relative paths.
15187         
15188 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
15189
15190         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
15191           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
15192           it was connecting a void function to expose_event and the int
15193           returning function to the draw signal
15194
15195 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
15196
15197         * configure.in:
15198         Use correct path to libgmodule.la when ref'ing uninstalled copy
15199         of glib.  (Already in stable branch, Bug #417)
15200
15201 1999-03-15  Tor Lillqvist  <tml@iki.fi>
15202
15203         Win32 merge and general portability stuff:
15204                 
15205         * acconfig.h,configure.in: Check for <sys/time.h>.
15206
15207         * gdk/win32: New directory (actually, been there for a while).
15208         
15209         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
15210         NATIVE_WIN32, and use these. Always case fold on Win32. No
15211         backslashed escapes on native Win32.
15212
15213         * gtk/{gtk.def,makefile.msc}: New files.
15214
15215         * gtk/Makefile.am: Add above new files.
15216         
15217         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
15218         instead of <strings.h>.
15219
15220         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
15221         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
15222         <unistd.h> appropriately.
15223
15224         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
15225         Use ABS() (from <glib.h>) instead of abs().
15226         
15227         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
15228         of gtk (and thus glib) headers, so that WIN32 will be
15229         defined. With MS C, include <direct.h> for mkdir prototype.
15230
15231         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
15232         some casts, needed by MS C.
15233
15234         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
15235         implemented).
15236
15237         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
15238         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
15239         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
15240
15241         * gtk/gtkmain.h: Mark variables for export/import on Win32.
15242                 
15243         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
15244         the event is not a hint, or its window is not the slider. Needed
15245         on Win32, at least.
15246
15247         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
15248         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
15249         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
15250         a subdirectory of the Windows directory as gtk system
15251         configuration directory.
15252
15253         * gtk/gtkselection.c: No chunks on Win32.
15254
15255         * gtk/gtksocket.c: Not implemented on Win32.
15256
15257         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
15258
15259         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
15260
15261         * gtk/maketypes.awk: Declare variables with a macro that expands to
15262         necessary export/import magic in the case of Win32.
15263                 
15264         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
15265
15266 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
15267
15268         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
15269         since those were meant only for gdki18n.h.  
15270         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
15271         for widechar tests.
15272         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
15273
15274 1999-03-13  Tor Lillqvist  <tml@iki.fi>
15275
15276         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
15277         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
15278
15279         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
15280         installed) to CFLAGS.
15281
15282         * gdk/Makefile.am: Add rules for gdkconfig.h.
15283
15284         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
15285         APIs.
15286
15287         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
15288         gdkx.h anyway when compiling for X11.
15289         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
15290         general): Merge in Win32 version.
15291         
15292         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
15293         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
15294         expansion (if we don't have HAVE_PWD_H), allow for drive
15295         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
15296         included code from Craig Setera's port to Win32 (the one that uses
15297         X11, and the cygwin dll), even if it probably will be abandoned.
15298
15299         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
15300         the user entered one herself.  This way one can complete *.h and
15301         don't get matches on any .help files, for instance.
15302         
15303 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15304
15305         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15306         font hash table, if we have a GdkFontPrivate entry for this font
15307         already, simply increment its reference count, provided by Olaf Dietsche
15308         <olaf.dietsche+list.gtk@netcologne.de>.
15309
15310         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15311         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15312
15313 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
15314
15315         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
15316         the number of calls to gdk_draw_point() (and thus to X) by
15317         clipping the points by hand.
15318
15319         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
15320         the clip parameter.
15321         (gtk_handle_box_paint): Only paint the handle if the expose area
15322         intersects it.
15323
15324 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15325
15326         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
15327
15328 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
15329
15330         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
15331         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
15332
15333 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15334
15335         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
15336          textmode (O_TEXT) for OS/2 version.
15337
15338 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
15339
15340         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
15341         GtkSpinButton, "input" and "output", to make the output more flexible.
15342         The user has to provide a mapping between adjustment->value and the
15343         output string (and vice versa, if the spin button is editable). 
15344         See testgtk for examples.
15345
15346 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
15347
15348         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
15349         new one.
15350         
15351         * configure.in: set gtk+ version to 1.3.0.