]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-4
gtk/Makefile.am gtk/gtkplug.c on request of Owen, reverted my last change
[~andy/gtk] / ChangeLog.pre-2-4
1 2001-04-23  Sven Neumann  <sven@gimp.org>
2
3         * gtk/Makefile.am
4         * gtk/gtkplug.c
5         * gtk/gtksocket.c: on request of Owen, reverted my last change 
6         and exclude gtkplug.c/gtksocket.c from the build for non-X11 targets
7
8 2001-04-23  Sven Neumann  <sven@gimp.org>
9
10         * gtk/gtkplug.c: put into #ifdef GDK_WINDOWING_X11 to make GTK+
11         compile for non-X11 targets again
12
13 2001-04-20  Alexander Larsson  <alexl@redhat.com>
14
15         * gtk/gtkcolorsel.[ch]:
16         API Change. Take GdkColor arguments instead of gdouble *.
17         Leave the old gtk_color_selection_set_color for compatibility,
18         but marked deprecated.
19         Do correct rounding when converting RGB <-> HSV.
20         
21         * gtk/gtkcolorseldialog.c:
22         * tests/testgtk.c:
23         Use new GtkColorSelection API.
24
25         * gtk/gtkhsv.c:
26         Fix problem selecting colors in triangle when Hue is 330.
27         Fix some black dots around the HSB triangle.
28         
29         * gtk/gtkfilesel.c:
30         return FALSE from the focus_in_event handler to fix focus problems.
31
32 2001-04-18  Havoc Pennington  <hp@redhat.com>
33
34         * gtk/gtkwindow.c (gtk_window_class_init): add signals and binding
35         set, so keybindings are configurable    
36         (gtk_window_activate_default): Change to activate the focus widget
37         instead if there's a focus widget, to be consistent with the
38         behavior that previously existed in key_press_event
39
40 2001-04-18  Havoc Pennington  <hp@redhat.com>
41
42         * gdk/gdkkeyuni.c: Handle numeric keypad keysyms; bug #50201
43
44 2001-04-18  Havoc Pennington  <hp@redhat.com>
45
46         Close bug #50615:
47         
48         * gtk/gtkstyle.c (gtk_default_draw_layout): Use text_gc to draw
49         the layout
50
51         * gtk/gtktext.c: Use base/text instead of bg/fg throughout
52
53         * gtk/gtkentry.c: Use base/text instead of bg/fg throughout
54
55         * gtk/gtktextdisplay.c: Use base/text instead of bg/fg throughout
56         
57         * gtk/gtkstyle.c (gtk_style_init): make GTK_STATE_SELECTED default
58         to blue for base, in addition to bg
59         
60 2001-04-18  Havoc Pennington  <hp@redhat.com>
61
62         * tests/testgtk.c (create_image): allow shrinking the image window
63         to test that we clip to allocation.
64
65         * gtk/gtkimage.c (gtk_image_expose): clip to allocation,
66         #9845
67
68         * gtk/gtkenums.h: move GtkWrapMode in here, #50472
69
70 Wed Apr 18 14:23:14 2001  Owen Taylor  <otaylor@redhat.com>
71
72         * gdk/x11/gdkimage-x11.c (gdk_image_new): Try changing
73         mode on shm segments to 0600. We'll see who complains.
74
75         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Call
76         _gdk_windowing_window_destroy() AFTER recursing through
77         children.
78
79         * tests/Makefile.am (noinst_PROGRAMS): Build testsocket,
80         testsocket_child on X.
81
82         * tests/testsocket[_child].c: Fix uses of
83         gtk_window_get_default_accel_group().
84
85         [ Merge patch from Ramiro Estrugo  <ramiro@eazel.com> from gtk-1-2 ]
86
87         * gdk/gdkimage.c: (gdk_image_get):
88         Deal with the possibility that XGetImage() might return NULL.
89         Allocate the GdkImagePrivate structure only after XGetImage()
90         succeeds in order not to dereference a NULL ximage pointer.  This
91         prevents a core dump when XGetImage() fails - which is unlikely,
92         but can happen due to race conditions accessing the geometries of
93         drawables.  An x error will still be triggered, but the gdk image
94         wrapper at least wont seg fault.
95         
96 2001-04-18  Havoc Pennington  <hp@redhat.com>
97
98         * gtk/gtkimage.c: fix to properly queue resizes when the image is
99         set
100
101         * gtk/gtktextview.c (gtk_text_view_do_popup): desensitize Paste
102         if the insertion point isn't editable
103
104         * demos/gtk-demo/images.c: Added a GtkImage demo
105
106         * demos/gtk-demo/drawingarea.c: drawing area demo
107         
108         * demos/gtk-demo/menus.c (create_menu): cleanups
109
110 Wed Apr 18 12:15:52 2001  Owen Taylor  <otaylor@redhat.com>
111
112         * gdk/x11/gdkwindow-x11.c gdk/x11/gdkwindow-x11.h 
113           gdk/x11/gdkevents-x11.c: Introduce an extra child
114         of toplevel windows that serves to hold the focus to
115         avoid events being delivered to embedded windows.
116
117         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Introduce
118         some extra variables to clean up code and reduce the
119         number of casts.
120
121         * gdk/x11/gdkwindow-x11.h (struct _GdkXPositionInfo): Use
122         guint for 1 bit bit fields, not gboolean.
123
124 Wed Apr 18 10:04:23 2001  Owen Taylor  <otaylor@redhat.com>
125
126         * gtk/gtktooltips.c (gtk_tooltips_paint_window): Return FALSE,
127         not TRUE. (Fixes #52925)
128
129 Tue Apr 17 18:05:34 2001  Owen Taylor  <otaylor@redhat.com>
130
131         * Released 1.3.4
132
133         * NEWS: Updated
134
135         * gtk/gtktextview.c (gtk_text_view_class_init): Fix to not
136         use GTK_TYPE_ENUM.
137
138 Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
139
140         * configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
141
142         * gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
143         names to compatibility #defines so docs work.
144
145         * gtk/gtkenums.h: Remove GtkMenuFactoryType
146
147         * gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
148
149         * configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
150
151         * tests/testgtkrc: No magenta cursors, please.
152
153         * README.in INSTALL.in HACKING README.cvs-commits: Updated.
154
155         * gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
156         
157 Mon Apr 16 14:38:41 2001  Owen Taylor  <otaylor@redhat.com>
158
159         * gtk/gtklist.c gtk/gtklistitem.c: Remove explicit pointer
160         grabs, since they are no longer necessary.
161
162         * gtk/gtkcombo.c (gtk_combo_popup_button_press): Fix #52926
163         by signal_connect() and call gtk_button_pressed() rather
164         than signal_connect_after().
165
166         * tests/testgtk.c: Restore radio menu items to combos 
167         since they'll look OK with Raleigh, and it is easier
168         than finishing the process of removing them that was
169         started earlier.
170
171 2001-04-16  Hans Breuer  <hans@breuer.org>
172
173         * gdk/gdk.def :
174         * gtk/gtk.def : added all exports required to link PyGtk 0.7.1
175
176         * gdk/gdkfont.h : #define GDK_TYPE gdk_font_get_type ()
177         we are interested in the functions return value not the function address
178         * gdk/gdkvisual.h : same for GDK_TYPE_VISUAL
179
180         * gtk/makefile.msc.in : reflect movement of GDK_TYPEs from gtk to gdk
181
182 2001-04-14  Hans Breuer  <hans@breuer.org>
183
184         * gdk/gdk.def :
185         * gdk/makefile.msc : updated
186
187         * gdk/win32/gdkdrawable.win32 (gdk_win32_draw_rectangle) : if modus is 
188         "fill with tile" do so with new helper function gdk_win32_draw_tiles 
189         (the testgtk::text backgound pixmap is drawn again)
190         Changed SetTextAlign before pango_win32_render to TA_BASELINE to reflect 
191         Win32 Pango change
192         * gdk/win32/gdkprivate-win32.h : prototype for gdk_win32_draw_tiles
193
194         * gdk/win32/gdkproperty-win32.c : first implementation of gdk_setting_get
195         Not sure if the returned settings have the right unit, because I couldn't
196         find any docs for the X version ...
197
198         * gtk/gtk.def :
199         * gtk/makefile.msc.in : updated
200
201 Thu Apr 12 17:41:17 2001  Owen Taylor  <otaylor@redhat.com>
202
203         * gtk-2.0.m4: Fix up to refer to GTK+, not to GLib; fix some
204         wording problems. (Compared to version from Johannes Stezenbach to
205         check correctness.)
206
207 Thu Apr 12 21:04:26 2001  Tim Janik  <timj@gtk.org>
208
209         * gtk/gtktreeview.c (_gtk_tree_view_column_start_drag): get
210         this to compile.
211
212 2001-04-12  Anders Carlsson  <andersca@codefactory.se>
213
214         * gtk/gtkcellrenderertextpixbuf.c (gtk_cell_renderer_text_pixbuf_class_init): It's pixbuf_pos,
215         not pixbufpos.
216
217         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render): Fix small typo.
218
219         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property): xpad and ypad
220         are unsigned insts, therefore use g_value_set_uint.
221         (gtk_cell_renderer_set_property): Likewise, use g_value_get_uint.
222
223 Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@webwynk.net>
224
225         * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.
226
227         * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
228         GTK_TYPE_STRING.
229
230         * gtk/gtktreeview.c: New functions to allow initial column
231         dragging work.
232
233         * gtk/gtktreeviewcolumn.c: Initial column dragging support.
234
235         * tests/testtreefocus.c: give dave some love.
236
237         * tests/testtreesort.c: Modify test to check really long samples.
238
239 2001-04-11  Alexander Larsson  <alexl@redhat.com>
240
241         * gtk-2.0.m4: Pass pkg-config options
242         before the other args so it works even if
243         POSIXLY_CORRECT is set.
244
245 Mon Apr  9 19:02:07 2001  Tim Janik  <timj@gtk.org>
246
247         * configure.in (GTK_MICRO_VERSION): increment version to 1.3.4 (binary
248         0, interface 0).
249
250 2001-04-04  Denis Oliver Kropp  <dok@convergence.de>
251
252         * gtk/gtkcalendar.c (gtk_calendar_button_press):
253         check for action_func != NULL
254
255 2001-04-04  Sven Neumann  <sven@gimp.org>
256
257         * tests/testgtk.c (test_init): corrected path to gtk.immodules
258
259 Wed Apr  4 09:18:18 2001  Tim Janik  <timj@gtk.org>
260
261         * Released Gtk+-1.3.3.
262
263 Wed Apr  4 07:42:23 2001  Tim Janik  <timj@gtk.org>
264
265         * gdk/Makefile.am (EXTRA_DIST): add makeenums.pl to EXTRA_DIST.
266
267 Wed Apr  4 04:13:18 2001  Tim Janik  <timj@gtk.org>
268
269         * gtk/stock-icons/Makefile.am: stay in builddir and read/write
270         files to/from source dir. (if we don't stay in builddir, we
271         can't reach make-inline-pixbuf.
272
273         * gdk/Makefile.am (gdkenumtypes.c): add $(srcdir) to mekeenums.pl
274         deps.
275
276         * configure.in (GTK_MICRO_VERSION): up and away (1.3.3 bin/interface
277         ages 0).
278
279 Tue Apr  3 15:04:45 2001  Jonathan Blandford  <jrb@redhat.com>
280
281         * gtk/gtktreemodelsort.h:  removed set_sort_column, as it was
282         moved to the GtkTreeSortable interface.
283
284         * gtk/gtktreeselection.c (gtk_tree_selection_selected_foreach):
285         Make more efficient (fixes #50262).
286
287 Tue Apr  3 13:55:37 2001  Owen Taylor  <otaylor@redhat.com>
288
289         * NEWS: Updated.
290
291         * configure.in: Remove support for uninstalled glib.
292
293         * gtk/gtkdnd.c (gtk_drag_highlight_expose): Return FALSE as
294         so as not to stop emission.
295
296         * gtk-config-2.0.in: Exit with an error message that gtk-config-2.0
297         is no longer supported.
298
299         * Makefile.am gtk/Makefile.am tests/*: Moved all tests
300         into tests, change build order to build modules before
301         gtk/.
302
303         * modules/input/Makefile.am: Move gtk-query-immodules-2.0 invocation
304         to here.
305
306 Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>
307
308         * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
309         and gtk_item_factory_dump_rc() GtkPatternSpec argument to
310         GPatternSpec. this is actually unlikely to cause breakage in
311         third-party apps since except for gle, pretty much ever caller
312         passes NULL here.
313
314         * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.
315
316         * *.c: use g_pattern_*() API.
317
318         * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.
319
320         * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
321         directions aren't passed in.
322
323         * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
324         functionality to be usable from gtkstyle.c as well, give precedence
325         for conversion to user-supplied parsers.
326         s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;
327
328         * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
329         _gtk_settings_parse_convert() for rcporperty value conversion.
330
331 2001-04-03  Alexander Larsson  <alexl@redhat.com>
332
333         * gdk/linux-fb/gdkevents-fb.c:
334         Add empty gdk_setting_get().
335
336 Tue Apr  3 05:09:07 2001  Tim Janik  <timj@gtk.org>
337
338         * gtk/gtkmain.c (_gtk_boolean_handled_accumulator): use more elaborate
339         variable names.
340         
341         * gtk/makeenums.pl: touch this so enum files get remade.
342
343 Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>
344
345         * gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
346         work again when not sorted.
347
348         * gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
349         and "expand_row" signal, closing bug 52578.
350
351         * gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
352         support.
353
354         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
355         support.
356
357 Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>
358
359         * gdk/gdkevents.h: Add GdkEventSetting event for notification
360         of changes to system settings, gdk_setting_get() to retrieve
361         a single system setting.
362
363         * gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
364         to the draft XSETTINGS mechanism.
365
366         * gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
367         XSETTINGS.
368
369         * gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
370         of GDK settings changes to the GtkSettings object.
371
372         * gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
373         double-click-timeout property to GDK.
374
375         * gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
376         Define GDK boxed types here.
377
378         * gdk/Makefile.am gdk/makeenums.pl: Generate source files
379         gdk/gdkenumtypes.[ch] for enum definitions.
380
381         * gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
382         * gtk/gtk-boxed.defs: Comment out GDK types
383         * gtk/gtktypeutils.h: Remove GDK types
384         * gtk/Makefile.am: No longer scan GDK headers for enumerataions
385
386 Mon Apr  2 16:41:08 2001  Owen Taylor  <otaylor@redhat.com>
387
388         * Applied patch from Ron Steinke to add signal accumulators
389         so that signals with the convention 'TRUE return means
390         handled' stop emission on a TRUE return.
391
392         * gtk/gtkmain.[ch]: Add private accumulator 
393         _gtk_boolean_handled_accumulator, used throughout GTK+.
394         
395         * gtk/gtkspinbutton.c: Add accumulator for ::output.
396
397         * gtk/gtktipsquery.c: Add accumulator for ::widget_selected
398         
399         * gtk/gtkwidget.c: Add accumulators for event signals,
400         ::drag_motion, ::drag_drop. Use _gtk_boolean_handled_accumator
401         for ::mnemonic-activate.
402
403         * gtk/gtkwindow.c: Add accumulator for ::frame_event
404
405 Mon Apr  2 16:24:21 2001  Owen Taylor  <otaylor@redhat.com>
406
407         * gtk/gtkwidget.c: Add missing include.
408
409 Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>
410
411         * gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
412         marshaller.
413
414         * gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
415         "changed" signal to "range_changed".
416
417         * gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
418         removing a tree from one model would remove all trees from that
419         model.
420         * gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
421         changed signal instead.
422
423 Mon Apr  2 16:13:58 2001  Owen Taylor  <otaylor@redhat.com>
424
425         * gtk/gtkinvisible.c (gtk_invisible_style_set): Avoid
426         chaining up to parent impl, since we have a INPUT_ONLY
427         window.
428
429         * gtk/gtkentry.[ch]: Add a cursor_color property to set the
430         foreground color for the cursor.
431
432 Mon Apr  2 15:06:13 2001  Owen Taylor  <otaylor@redhat.com>
433
434         * gtk/gtkstyle.c (_gtk_style_peek_property_value): Reference 
435         param spec when caching property values, since we unref it
436         later when we free the style.
437
438         * gtk/gtkoptionmenu.c (gtk_option_menu_get_props): Dont' free
439         values since they are retrieved with G_VALUE_NO_COPY_CONTENTS.
440
441 Mon Apr  2 10:47:57 2001  Owen Taylor  <otaylor@redhat.com>
442
443         * gtk/gtkwidget.c (gtk_widget_class_init): Fix 
444         G_VALUE_NO_COPY_CONTENTS instead of G_SIGNAL_TYPE_STATIC_SCOPE
445         stupidity.
446
447 Mon Apr  2 00:51:11 2001  Owen Taylor  <otaylor@redhat.com>
448
449         [ First pass at adding style properties. Still needs some definite
450         fine-tuning. ]
451
452         * gtk/gtkbutton.c: Add ::default_spacing style property.
453          
454         * gtk/gtkcheckbutton.[ch] gtkradiobutton.c: Add ::indicator_size,
455         ::indicator_spacing style properties.
456
457         * gtk/gtkoptionmenu.c: Add ::indicator_size, ::indicator_spacing
458         style properties.
459
460         * gtk/gtk{,h,v}paned.[ch]: Make handle_size a style property
461         rather than a normal property.
462
463         * gtk/gtkwidget.c: Add an ::interior_focus style property to
464         draw focus inside buttons, in the Windows/Java Metal/etc. style.
465
466         * gtk/gtkbutton.c gtk/gtkcheckbutton.c gtk/gtktogglenbutton.c:
467         Honor ::interior_focus.
468         
469         * gtk/gtkentry.c: Don't draw focus at all when ::interior_focus is 
470         TRUE.
471
472         * gtk/gtkrange.[ch] gtk/gtk{h,v}scrollbar.c gtk/gtk{h,v}scale.c:
473         Add ::slider_width, ::trough_border, ::stepper_size,
474         ::stepper_spacing style properties.
475
476         * gtk/gtkscale.[ch] Add ::slider-length style property.
477
478 2001-04-02 Alexander Larsson   <alexl@redhat.com>
479
480         * gdk/linux-fb/gdkwindow-fb.c:
481         Add gdk_window_begin_resize_drag and gdk_window_begin_move_drag. Remove some
482         warnings that were spewed on startup.
483
484         * gtk/gtkwindow-decorate.c:
485         gtk_window_reposition -> _gtk_window_reposition
486
487 Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>
488
489         * gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
490         Add boxed type for GtkRequistion. Use it for ::size-request.
491
492         * gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
493         Add a new GtkBorder structure useful for geometry properties
494         for widgets. Add corresponding GTK_TYPE_BORDER.
495         
496         * gtk/gtkwidget.c (gtk_widget_class_install_style_property):
497         Support automatic parser selection like
498         gtk_settings_install_property_parser().
499
500         * gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
501         functionality for use by gtk_widget_class_install_style_property.
502         Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.
503
504 Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>
505
506         * gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
507         g_param_spec_unichar(). 
508
509 Sun Apr  1 23:41:37 2001  Tim Janik  <timj@gtk.org>
510
511         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): raise window for non
512         _NET window managers.
513
514         * gtk/gtkmenufactory.[hc]: cvs removed those files now.
515
516 Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>
517
518         * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
519         bad needs to be nuked, not just deprecated.
520
521         * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use 
522         gtk_widget_popup().
523
524         * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;
525         
526         * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
527         widget.
528         
529         * docs/Changes-2.0.txt: updates.
530         
531 Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>
532
533         * gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
534         for (i = 0; i < 100; i ++)
535           g_print ("I will confirm it compile before committing\n");
536
537 Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>
538
539         * gtk/gtktreestore.c: Initial work on implementing the
540         GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
541
542 Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>
543
544         * gtk/gtkwidget.c: fixed a bunch of notifications, added
545         reference counts around emissions where the widget is used afterwards.
546         added freeze/thaws around multiple properties being notified.
547         (_gtk_widget_get_aux_info): cleanups.
548         
549         * gtk/gtksettings.c (gtk_settings_install_property): provide
550         default parsing functions for gdkcolor, enums and flags.
551
552         * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
553         applied by owen.
554         backed out gtk_window_get_location(), gtk_window_set_location(),
555         gtk_window_get_size() and gtk_window_set_size(), these
556         have to be sorted out wrg x/y/width/height/default_with/default_height
557         properties.
558         kept a flag in GtkWindowGeometryInfo to handle user
559         resetting default sizes.
560         cleaned up ZVT comments.
561         bunch of assorted bug fixes, notification fixes.
562         (_gtk_window_reposition): make this a really internal function.
563         
564         * gtk/testgtk.c: fixups.
565         
566 2001-03-31  Hans Breuer  <hans@breuer.org>
567
568         * config.h.win32.in : disable USE_MMX for msvc build cause
569         the assembler doesn't fit and is out of my scope. Disable
570         USE_GMODULE for msvc build as wel. The right way to share
571         binaries on win32 would be to use libtiff.dll etc. To reduce
572         installation hassles IMO it's better to include all fileformats
573         builtin to gdk-pixbuf
574
575         * gdk-pixbuf/makefile.msc : new file
576
577         * gdk/gdk.def : updated
578
579         * gdk/win32/gdkevents-win32.c : don't erase the background if
580         .no_bg is set. It improves the scrolling (e.g. of testgtk main
581         buttons
582         * gdk/win32/gdkgeometry-win32.c : added comment about the above
583
584         * gdk/win32/gdkwindow-win32.c : added three new functions like
585         the X version. Only one is implemented, because the other two
586         "gdk_window_begin_(resize|move)_drag" got no docs and appear to
587         be default behaviour on win32 anyway ...
588
589         * gtk/gtk.def : updated
590
591         * gtk/makefile.msc.in : update for new files, use glib-genmarshal
592         from where it was built and add an additional rule to automagically
593         build gtkmarshal.[hc]
594
595         * gtk/gtkfilesel.c (open_new_dir) : don't increase n_entries
596         before array access for the current entry isn't finished
597
598         * gtk/gtktreeitem.c (gtk_tree_item_subtree_button_click) :
599         use g_return_val_if_fail
600
601         * gtk/testgtk.c (window_controls) : don't use the *wrong* size
602         for the static array, but let the compiler calculate it. It
603         makes me wonder if gcc isn't capable to catch bugs like this ...
604
605 2001-03-31  James Henstridge  <james@daa.com.au>
606
607         * gtk/gtkwidget.c (gtk_widget_size_adjust): fix use of magic
608         constant "-1" in the aux info structure.
609
610 2001-03-30  Alexander Larsson  <alexl@redhat.com>
611
612         * gtk/gtkbutton.c (gtk_button_get_property):
613         * gtk/gtklabel.c:
614         Remove leaks.
615         
616         * gtk/gtkcontainer.c:
617         * gtk/gtkhscale.c:
618         * gtk/gtkhscrollbar.c:
619         * gtk/gtklayout.c:
620         * gtk/gtkmisc.c:
621         * gtk/gtkprogress.c:
622         * gtk/gtkprogressbar.c:
623         * gtk/gtkrange.c:
624         * gtk/gtktable.c:
625         * gtk/gtkviewport.c:
626         * gtk/gtkvscale.c:
627         * gtk/gtkvscrollbar.c:
628         * gtk/gtkwidget.c:
629         Property patches, based on patches from John Margaglione and Lee Mallabone.
630
631 Thu Mar 29 21:20:38 2001  Mike Kestner  <mkestner@ameritech.net>
632
633         * gtk/gtkspinbutton.c : added value_changed signal which proxies for the
634         adjustment. Cleaned redundant preconditions (spin != NULL). Added
635         inline API function docs.
636         (gtk_spin_button_new_with_range): New convenience constructor.
637         (gtk_spin_button_set_increments): New adjustment helper.
638         (gtk_spin_button_set_range): New adjustment helper.
639
640         * gtk/testgtk.c : added test of the new convenince constructor and
641         value_changed signals.
642
643 Thu Mar 29 20:20:38 2001  Jonathan Blandford  <jrb@redhat.com>
644
645         * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): Now we
646         listen to the reorder signal.
647
648 Wed Mar 28 20:30:26 2001  Owen Taylor  <otaylor@redhat.com>
649
650         * gtk/gtkwidget.[ch] (_gtk_widget_get_aux_info): Add private function
651         to get the aux info structure fo the widget.
652
653         * gtk/gtklabel.c gtk/gtkscrolledwindow.c gtk/gtkwindow.c: Use
654         above function.
655
656         [ Patch from  Havoc Pennington  <hp@redhat.com> ]
657
658         * gdk/x11/gdkwindow-x11.c (gdk_window_get_frame_extents): function
659         to get the size of the window manager frame, basically the same
660         code that gdk_window_get_root_origin() had
661         (gdk_window_get_root_origin): use gdk_window_get_frame_extents()
662
663         * gtk/gtkwindow.c (gtk_window_set_default_size): use
664         gdk_window_resize() if the window is realized and resizeable
665
666         * gdk/x11/gdkwindow-x11.c (gdk_window_set_geometry_hints): fix
667         typo so that setting gravity works
668
669         * gtk/gtkwindow.c (gtk_window_move_resize): don't ever use
670         allocation if auto_shrink is on, even if the default size
671         has not changed.
672
673         * gtk/gtkwidget.c (gtk_widget_render_icon): remove bogus
674         g_return_if_fail
675
676 Thu Mar 29 16:29:12 2001  Jonathan Blandford  <jrb@redhat.com>
677
678         * gtk/gtkliststore.c (gtk_list_store_iter_changed): Massive
679         reordering/sorting work.  Now pretty much works.
680
681         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): Lots of work to make
682         reorder mostly work.  Still need to get the parity correct.
683
684         * gtk/gtktreeviewcolumn.c: Listen for "model" property changed
685         signal, so I can listen for the sort_column_changed signal so I
686         can change my "sort_indicator" property.  Cool.
687
688 Wed Mar 28 00:03:10 2001  Owen Taylor  <otaylor@redhat.com>
689
690         [ Patch from Havoc Pennington, hp@redhat.com ]
691
692         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c:
693         Add functions gdk_window_begin_resize_drag/begin_move_drag
694         to start resizing or moving a toplevel window. This
695         is done either using the _NET_WM_MOVERESIZE protocol,
696         or, if that isn't present, by emulation.
697
698         * gtk/gtkwindow.[ch]: Add functions gtk_begin_move/resize_drag
699         to export the above to GTK+-land.
700
701         * gtk/gtkstyle.[ch]: Add ->draw_resize_grip() paint func.
702         
703         * gtk/gtkwindow.c gdk/gdkwindow.[ch] (gdk_window_constrain_size):
704         Move this function into gdkwindow, since we need it
705         when implementing fallback resizing.
706
707         * gdk/x11/gdkwindow-x11.c: gdk_window_set_geometry_hints.
708         Fix typo when setting gravity.
709
710         * gtk/gtkstatusbar.[ch] (gtk_statusbar_set_has_resize_grip):
711         Add an optional (but on by default) resize grip for resizing 
712         the parent window.
713
714 01-03-29  Alexander Larsson  <alexl@redhat.com>
715
716         * gtk/gtktooltips.c (gtk_tooltips_event_handler):
717         Don't return TRUE from the event handler, that blocks all
718         event signals on the tooltip widget. Now you can press buttons
719         in toolbars again.
720
721 Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>
722
723         * gtk/testtext.c (create_buffer): Add missing NULL on
724         valist.
725
726         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
727         c-n-p problem with INCONSISTENT property.
728
729         [ Patch from Havoc Pennington  <hp@redhat.com> ]
730
731         * gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
732         hook.
733
734         * gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
735         signal as a hook for extending the default popup menu
736
737         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
738         use radio menu items for the input method menuitems
739
740         * gtk/gtkimcontextsimple.c (check_hex): do better validation of 
741         inserted unicode from Ctrl-Shift-hex input method
742
743         * gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
744         validatation here, already done at GtkTextBuffer level.
745
746         * gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
747         popup_menu run action signal and Shift+F10 and Menu keybindings.
748
749         * gtk/gtkentry.c: implement a default handler for popup_menu
750
751         * gtk/gtktextview.c: implement a default handler for popup_menu
752
753         * gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
754         from a key event
755         
756         * gtk/gtklabel.c: remove "trailer" cruft
757
758 Wed Mar 28 17:27:12 2001  Jonathan Blandford  <jrb@redhat.com>
759
760         * gtk/gtkrbtree.c (_gtk_rbtree_reorder): new function to
761         handle reordering of trees.  Seems to mostly work w/ the exception
762         of the parity flag.
763
764         * gtk/gtktreeview.c (gtk_tree_view_reordered): handle "reordered"
765         signal.
766
767 Wed Mar 28 21:12:37 2001  Tim Janik  <timj@gtk.org>
768
769         * gtk/gtkwidget.h: c++ fixes.
770
771 Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>
772
773         * gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
774         memory.
775
776 Tue Mar 27 22:36:07 2001  Owen Taylor  <otaylor@redhat.com>
777
778         * gtk/gtkwidget.h gtk/gtkrange.h: Apply patch from 
779         Nils Barth fixing event return values. (#51041)
780
781         * gtk/gtkwidget.c: Fix some return values for default
782         functions.
783
784         * gtk/gtk[vh]scrollbar.c gtk/gtk[vh]range.c: Fix
785         return values for trough_keys functions.
786
787         * gtk/gtkwidget.h (struct _GtkWidgetClass): Fix return
788         value for add_accelerator (shoudl have been a void
789         return.)
790
791         * gtk/gtkcellrenderer.[ch]: gtkcellrenderertoggle.h:
792         Fix return type of EVENT.
793
794         * gtk/gtkmarshal.list gtk/gtktexttag.c: Make EVENT
795         signal return a boolean.
796
797 Tue Mar 27 22:07:44 2001  Jonathan Blandford  <jrb@redhat.com>
798
799         * gtk/gtkliststore.c (gtk_list_store_sort): Fix arguments to
800         reordered signal.
801
802         * tests/testtreesort.c (main): fix spelling.
803
804 Tue Mar 27 20:55:29 2001  Jonathan Blandford  <jrb@redhat.com>
805
806         * gtk/gtkliststore.c: More work on implementing sortable
807         interface.
808
809 Mon Mar 26 15:48:45 2001  Owen Taylor  <otaylor@redhat.com>
810
811         * gtk/gtkwindow.c (gtk_window_list_toplevels): Don't
812         reference the widgets in the resulting list. (#11821)
813         This makes this consistent with gtk_container_children.
814
815         * gtk/gtkwindow.c gtk/gtkwidget.c: Fix up the two
816         uses of gtk_window_list_toplevels.
817
818 Mon Mar 26 15:26:17 2001  Owen Taylor  <otaylor@redhat.com>
819
820         * gtk/gtkimcontext.c (gtk_im_context_set_use_preedit): Add
821         a virtual function to set whether the IM context should use 
822         the preedit string. (#51922)
823         
824 Mon Mar 26 14:42:59 2001  Owen Taylor  <otaylor@redhat.com>
825
826         * gdk/gdkpango.h: Remove stale FIXME comment.
827
828 2001-03-26  Alexander Larsson  <alla@lysator.liu.se>
829
830         * gtk/gtkfilesel.c (gtk_file_selection_get_filename):
831         Fixed bug that returned NULL if a filename was selected.
832
833 2001-03-24  Havoc Pennington  <hp@pobox.com>
834
835         * gtk/gtkthemes.c (gtk_theme_engine_load): improve error message
836         to contain the word "theme"
837
838 2001-03-24  Havoc Pennington  <hp@pobox.com>
839
840         * gtk/gtkhsv.c (gtk_hsv_move): make motion around the ring much
841         slower but finer-grained
842         (gtk_hsv_focus): get initial focus on the ring or triangle 
843         according to tab direction
844
845         * gtk/testgtk.c (main): get rid of weird sleep(1) on exit
846
847 2001-03-23  Havoc Pennington  <hp@pobox.com>
848
849         * gtk/gtkhsv.c: make this somewhat key-navigable
850
851         * gtk/gtkfontsel.c: mnemonics
852
853         * gtk/gtkgamma.c: mnemonics
854
855         * gtk/gtkcolorsel.c: add mnemonics to labels
856
857 2001-03-22  Havoc Pennington  <hp@pobox.com>
858
859         Applied big patch from Seth Lytle to fix event handler return
860         values, slightly modified.
861
862         * gtk/gtkcalendar.c (gtk_calendar_button_press): return TRUE if
863         handled.
864         (gtk_calendar_key_press): return TRUE for GDK_space triggers
865         select_day
866
867         * gtk/gtkclist.c (gtk_clist_button_press): return TRUE if handled
868         (gtk_clist_button_release): return TRUE if handled
869
870         * gtk/gtkcolorsel.c (mouse_release):
871         (palette_activate): 
872         (palette_press): 
873         (palette_new): 
874         (mouse_press): 
875         (get_screen_color): 
876         fixed return type (void to gboolean), return TRUE,
877         added GTK_SIGNAL_FUNC cast
878
879         * gtk/gtkcombo.c (gtk_combo_popup_button_press): fixed return type
880         (void to gboolean), and return TRUE
881         (gtk_combo_button_release): changed return value to TRUE after
882         gtk_grab_add on combo->popwin
883
884         * gtk/gtkctree.c (gtk_ctree_button_press): return TRUE if triggers a
885         collapse or expand
886
887         * gtk/gtkcurve.c (gtk_curve_graph_events): return TRUE for
888         button/motion
889
890         * gtk/gtkdnd.c (gtk_drag_source_event_cb): return TRUE for button
891         press/release and motion that trigger act
892
893         * gtk/gtkentry.c (gtk_entry_button_release): return TRUE
894
895         * gtk/gtkfontsel.c (gtk_font_selection_size_key_press): return TRUE
896         for GDK_Return
897         
898         * gtk/gtklist.c (gtk_list_button_press): return TRUE mostly
899         (gtk_list_button_release): return TRUE if selection
900
901         * gtk/gtklistitem.c (gtk_list_item_button_press): return TRUE on
902         press
903
904         * gtk/gtkmenushell.c (gtk_menu_shell_button_press):
905         (gtk_menu_shell_button_release): chain parent_menu_shell retval
906
907         * gtk/gtknotebook.c (gtk_notebook_button_press): return FALSE if
908         nothing triggered
909         (gtk_notebook_button_release): return TRUE if we do anything
910
911         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): 
912         (gtk_spin_button_button_release): return TRUE or chained retval
913
914         * gtk/gtktext.c (gtk_text_button_press): 
915         (gtk_text_button_release): return TRUE
916         (gtk_text_key_press): remove redundant retval code
917         
918         * gtk/gtktreeitem.c (gtk_tree_item_button_press): return TRUE if button
919         and sensitive
920         (gtk_tree_item_subtree_button_click): changed type to gint, and return
921         TRUE if sensitive
922
923         * gtk/gtktooltips.c (gtk_tooltips_event_handler): deactivate implies 
924         return TRUE
925
926 2001-03-23  Havoc Pennington  <hp@redhat.com>
927
928         * gtk/testgtk.c: fix warnings
929
930         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value
931
932         * gtk/gtktextview.c: fix warnings
933
934         * gtk/gtktext.c (find_cursor_at_line): fix warning
935
936         * gtk/gtkselection.c (gtk_selection_notify): fix warning 
937
938         * gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
939         of this function
940
941         * gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
942         fix warning
943
944         * gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning
945
946         * gtk/gtkfontsel.c: fix warning
947
948         * gtk/gtkcolorsel.c: fix warnings
949
950 2001-03-23  Havoc Pennington  <hp@redhat.com>
951
952         * gtk/gtkhandlebox.c: Apply property patch from Lee Mallabone
953
954         * gtk/gtkbox.c: Apply property patch from Lee Mallabone
955
956         * gtk/gtkcheckmenuitem.c: Apply property patch from Lee Mallabone,
957         and deprecated gtk_check_menu_item_set_show_toggle().
958         
959         * gtk/gtkbutton.c: Apply property patch from Lee Mallabone
960
961         * gtk/gtkfilesel.c: Apply property patch from Lee Mallabone
962
963         * gtk/gtkframe.c: Apply property patch from Lee Mallabone
964
965 2001-03-23  Havoc Pennington  <hp@redhat.com>
966
967         * gtk/gtktoolbar.c, gtk/gtkimcontext.c, gtk/gtklabel.c: fix up
968         some docs
969
970 Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>
971
972         * gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
973         this.
974
975         * gtk/gtktreestore.c (gtk_tree_store_set_value): change from
976         set_cell to set_value
977
978         * gtk/gtkliststore.c (gtk_list_store_set_value): change from
979         set_cell to set_value
980
981 Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>
982
983         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
984         fix braino.
985         * gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
986         support.
987
988         * gtk/gtktreeview.c: Addition of initial sortable support.
989
990         * gtk/gtktreestore.c: Addition of initial sortable support.
991
992         * gtk/gtkliststore.c: Addition of initial sortable support.
993
994         * gtk/gtkmarshal.list: yet another marshaller.
995
996         * gtk/gtktreedatallist.[ch]: shared code between the store models
997         for handling sorting headers.
998
999 2001-03-22  Havoc Pennington  <hp@redhat.com>
1000
1001         * gtk/gtkcontainer.c (gtk_container_set_focus_chain): 
1002         (gtk_container_unset_focus_chain): Add ability to override the 
1003         focus chain for a container explicitly
1004
1005 Thu Mar 22 13:01:44 2001  Tim Janik  <timj@gtk.org>
1006
1007         * gtk/gtklabel.[hc]: some cleanups, fixed mnemonic_widget handling,
1008         added PROP_MNEMONIC_WIDGET.
1009
1010         * gtk/gtkwindow.c (gtk_window_activate_mnemonic): 
1011         (gtk_window_remove_mnemonic): 
1012         (gtk_window_add_mnemonic): fixed assertions.
1013         (gtk_window_activate_mnemonic): constrain modifier checks to those
1014         permitted by gtk_accelerator_get_default_mod_mask().
1015         got rid of gtk_window_get_default_accel_group().
1016
1017         * gtk/gtkwidget.c (gtk_widget_real_activate_mnemonic): handle non
1018         activatable widgets either by focussing or a warning.
1019         added a signal accumulator to ::activate_mnemonic which stops the
1020         emission once a handler returned TRUE.
1021
1022 2001-03-22  Havoc Pennington  <hp@pobox.com>
1023
1024         * gtk/gtktoolbar.c (gtk_toolbar_insert_stock): handle mnemonics in
1025         the stock item label
1026
1027         * gtk/gtklabel.c: s/@gtk_func/gtk_func()/ in docs
1028
1029         * gtk/gtkstock.c (builtin_items): add mnemonics where missing
1030
1031         * demos/gtk-demo/*.c: Add mnemonics all over the place
1032
1033         * gtk/gtklabel.h: mark parse_uline deprecated
1034
1035 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1036
1037         * gtk/gtkitemfactory.[ch]:
1038         Add support for stock and normal imagemenuitems.
1039         
1040         * gtk/testgtk.c:
1041         Add some tests for mnemonics, stock toolbars, stock
1042         and image menuitems in itemfactory and gdk_window_scroll.
1043
1044 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1045
1046         * gtk/gtkbutton.[ch]:
1047         * gtk/gtkdialog.c:
1048         Renamed gtk_button_new_stock() to gtk_button_new_from_stock() and
1049         removed accel_group argument. Renamed gtk_button_new_accel() to
1050         gtk_button_new_with_mnemonic() and removed accel_group argument.
1051
1052         * gtk/gtkcheckbutton.[ch]:
1053         New function gtk_check_button_new_with_mnemonic().
1054
1055         * gtk/gtkentry.c:
1056         Override activate_mnemonic and just grab focus.
1057
1058         * gtk/gtkitemfactory.c:
1059         Don't add menu uline accel group, instead use mnemonics support.
1060
1061         * gtk/gtklabel.[ch]:
1062         New support for mnemonics.
1063
1064         * gtk/gtkmarshal.list:
1065         Needed BOOLEAN:BOOLEAN for activate_mnemonic.
1066
1067         * gtk/gtkmenu.[c]:
1068         * gtkmenushell.c:
1069         Use mnemonics instead of accel groups for uline
1070         support in menu items.
1071         Removed gtk_menu_get_uline_accel_group() and
1072         gtk_menu_ensure_uline_accel_group().
1073
1074         * gtk/gtkmenuitem.c:
1075         Override activate_mnemonic to handle switching between
1076         menu items if there are collisions.
1077         
1078         * gtk/gtknotebook.c:
1079         Connect to activate_mnemonic on the tab_label, so that
1080         activating it switches to that notebook page.
1081
1082         * gtk/gtkwidget.[ch]:
1083         Add activate_mnemonic signal. New function
1084         gtk_widget_activate_mnemonic() to emit it.
1085         Default implementation does activate/grab_focus.
1086
1087         * gtk/gtkwindow.[ch]:
1088         Add support for mnemonics in windows.
1089         New functions:
1090         gtk_window_add_mnemonic, gtk_window_remove_mnemonic,
1091         gtk_window_activate_mnemonic, gtk_window_set_mnemonic_modifier
1092
1093         * gtk/testgtk.c:
1094         Update to function name changes.
1095         
1096 2001-03-21  Alexander Larsson  <alexl@redhat.com>
1097
1098         * gtk/gtkimagemenuitem.[c]:
1099         Add gtk_image_menu_item_new_from_stock()
1100
1101 Tue Mar 20 15:00:43 2001  Jonathan Blandford  <jrb@redhat.com>
1102
1103         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1104         Fix buglet in meeting.
1105
1106 2001-03-19  Havoc Pennington  <hp@redhat.com>
1107
1108         * gtk/gtkiconfactory.c: Make GtkIconSource an opaque datatype, and
1109         add a bunch of accessor functions. This is because we have
1110         reasonable expectations of extending what fields it contains in
1111         the future.
1112
1113         * gtk/gtkstyle.c (gtk_default_render_icon): adapt to icon source
1114         changes
1115
1116         * gtk/gtkrc.c (gtk_rc_parse_icon_source): fix to use new
1117         GtkIconSource   
1118
1119 Mon Mar 19 15:53:36 2001  Owen Taylor  <otaylor@redhat.com>
1120
1121         * gtk/gtkitemfactory.c gtk/testgtk.c: Handle quoting of / with \; properly
1122         handle __ in paths, quote " and \n in gtk_item_factory_dump_items().
1123
1124         * gtk/gtkadjustment.[ch] gtk/gtkclist.c gtk/gtkhruler.c gtk/gtklayout.c 
1125           gtk/gtklist.c gtk/gtkprogress.[ch] gtk/gtkprogressbar.[ch] gtk/gtkrange.[ch]
1126           gtk/gtkruler.[ch] gtk/gtkscale.c gtk/gtkscrolledwindow.c gtk/gtkspinbutton.[ch]
1127           gtk/gtktext.c gtk/gtktextview.c gtk/gtkvruler.c gtk/testgtk.c:
1128         Change float to double everywhere with the exception of 0<->1.0 alignment
1129         and GtkCurve.
1130
1131 2001-03-19  Tor Lillqvist  <tml@iki.fi>
1132
1133         * gdk/win32/gdkdrawable-win32.c
1134         * gdk/win32/gdkimage-win32.c: Use correct casts in debugging
1135         output.
1136
1137         * demos/testpixbuf-drawable.c: If GDK_WINDOWING_WIN32, include
1138         gdkwin32.h.
1139
1140 2001-03-18  Tor Lillqvist  <tml@iki.fi>
1141
1142         * gdk/win32/gdkevents-win32.c (print_window_state): New function.
1143         print_event_state, print_event): Use preprocessor macro to make
1144         code more compact. Print also GDK_WINDOW_STATE events.
1145         (synthesize_crossing_events): Remove the old #ifdeffed-out code.
1146         
1147         * gtk/gtk.def
1148         * gtk/makefile.mingw.in: Update.
1149
1150         * gtk/gtkmain.h: Check for G_PLATFORM_WIN32, not only G_OS_WIN32,
1151         to catch also Cygwin.
1152
1153 Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>
1154
1155         * gtk/gtkspinbutton.[hc]: added rc-style argument
1156         GtkSpinButton::shadow_type.
1157         removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
1158         and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
1159         rc-style settings.
1160
1161         * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).
1162
1163         * gtk/gtkwidget.c: quark cleanups.
1164
1165         * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
1166         scanner with appropriate configuration, renamed GtkRcStyleClass.clone
1167         to create_rc_style() (we don't do cloning in standard OO sense).
1168         added per rc style properties.
1169         
1170         * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
1171         property values and for caching those. some cleanups.
1172         
1173         * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.
1174         
1175         * gtk/gtksettings.[hc]: new file for global rc-file properties
1176         (at least currently, should get extended to support X properties
1177         and other communication mechanisms).
1178         
1179         * gtk/gtkwidget.[hc]: added style property support:
1180         (gtk_widget_class_install_style_property_parser): install style
1181         property pspec with parser function for rc-file values other
1182         than LONG, DOUBLE or STRING.
1183         (gtk_widget_class_install_style_property): same as above without
1184         parser (parsers are going to be needed quite infrequently).
1185         (gtk_widget_style_get_property): retrive style property value.
1186         (gtk_widget_style_get_valist): same as above with varargs support,
1187         has NOCOPY semantics.
1188         (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
1189
1190 Fri Mar 16 18:24:53 2001  Jonathan Blandford  <jrb@redhat.com>
1191
1192         * demos/gtk-demo/main.c (row_activated_cb): modified to use
1193         "row_activated" signal.
1194
1195         * gtk/gtktreeview.c (gtk_tree_view_row_activated): oh, the
1196         stupidity.  Lets actually pass in the row with this signal...
1197
1198 Fri Mar 16 18:01:17 2001  Jonathan Blandford  <jrb@redhat.com>
1199
1200         * gtk/gtktreeviewcolumn.[ch]: s/GTK_TREE_COLUMN/GTK_TREE_VIEW_COLUMN
1201
1202         * gtk/gtktreeview.c (gtk_tree_view_row_activated): New signal.
1203
1204         * gtk/gtktreeview.c (gtk_tree_view_destroy): moved pretty much
1205         everything into the ::destroy function, and freed a lot more.
1206
1207 2001-03-16  Havoc Pennington  <hp@redhat.com>
1208
1209         * gtk/gtkwidget.h (struct _GtkWidgetAuxInfo): change to use gint
1210         instead of gint16, to avoid overflow issues, since sizes > 16-bit
1211         are now allowed.
1212
1213 2001-03-16  Havoc Pennington  <hp@redhat.com>
1214
1215         * Applied patch from Nils Barth (bug # 51041) to 
1216         replace "gint" with "gboolean" and 0/1 with TRUE/FALSE
1217         in various places.
1218
1219 2001-03-15  Havoc Pennington  <hp@redhat.com>
1220         
1221         * gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs 
1222         for properties to set on the tag.
1223
1224         * gtk/testtext.c: fixups to reflect create_tag change
1225         
1226         * gtk/gtktexttag.c (gtk_text_tag_set_property):
1227         background/foreground stipple are objects, not boxed.
1228
1229         * demos/gtk-demo/textview.c: intellihancing
1230
1231 Fri Mar 16 11:38:42 2001  Jonathan Blandford  <jrb@redhat.com>
1232
1233         * gtk/gtktreeview.c (gtk_tree_view_set_model): Fixed some
1234         braindeadness spotted by Jamie Strachan <frostfreek@yahoo.com>.
1235
1236 2001-03-16  Alexander Larsson  <alexl@redhat.com>
1237
1238         * gdk/x11/gdkgeometry-x11.c (_gdk_window_process_expose):
1239         Fix sign error with queued region translations.
1240
1241 2001-03-15  HideToshi Tajima  <tajima@happy>
1242
1243         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_set_cursor_location): 
1244         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_location):
1245         * gtk/gtkentry.c (update_im_cursor_location): 
1246         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_location):
1247         * gtk/gtkimcontext.h (struct _GtkIMContextClass): rename
1248         set_cursor_pos to set_cursor_location in GtkInputContext class
1249
1250 Thu Mar 15 18:22:44 2001  Jonathan Blandford  <jrb@redhat.com>
1251
1252         * gtk/gtkcellrenderer.h: Changed prototype to allow for getting
1253         the location of the cell relative to its area.
1254         * gtk/gtkcell*: modified for above change
1255         * gtk/gtktreeview.c: modified for above change.
1256
1257 Wed Mar 14 13:58:32 2001  Jonathan Blandford  <jrb@redhat.com>
1258
1259         * gtk/gtktreeview.c (gtk_tree_view_set_model): Ref the model.
1260          (gtk_tree_view_finalize): actually unref the model.  Thanks to
1261         Jamie Strachan <frostfreek@yahoo.com> for noticing this error.
1262
1263 2001-03-14  Havoc Pennington  <hp@redhat.com>
1264
1265         * gtk/gtkdata.h, gtk/gtkdata.c: Delete.
1266         
1267         * gtk/gtk.h: remove gtkdata.h
1268
1269         * gtk/Makefile.am: remove gtkdata
1270         
1271         * gtk/gtktext.c (gtk_text_set_adjustments): connect to "destroy"
1272         not "disconnect" on the adjustments.
1273         
1274         * gtk/gtktooltips.h, gtk/gtktooltips.c: derive from GtkObject not
1275         GtkData
1276
1277         * gtk/gtkadjustment.h, gtk/gtkadjustment.c: derive from GtkObject
1278         not GtkData
1279
1280         * configure.in: handle case where X render exists, but Pango lacks
1281         Xft support.
1282
1283 2001-03-15 Alexander Larsson  <alexl@redhat.com>
1284
1285         * gtk/gtktoolbar.[ch]:
1286         New functions gtk_toolbar_set_icon_size and gtk_toolbar_insert_stock
1287         to add stock items to toolbars.
1288
1289         * gtk/Makefile.am:
1290         Remove ../gdk/gdkim.h from gdk_headers.
1291
1292 2001-03-15  Sven Neumann  <sven@gimp.org>
1293
1294         * gdk/gdkim.h: removed
1295         
1296         * gdk/gdkprivate.h
1297         * gdk/x11/gdkim-x11.c: do not include gdkim.h 
1298
1299 2001-03-14  HideToshi Tajima  <tajima@happy.sunsoft.eng.sun.com>
1300
1301         * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_cursor_pos):
1302         * gtk/gtkimcontext.c (gtk_im_context_set_cursor_pos):
1303         * gtk/gtkimcontext.h (struct _GtkIMContextClass): add
1304         set_cursor_pos() virtual method
1305
1306         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_class_init):
1307         (gtk_im_context_xim_set_cursor_pos): add implementation for
1308         set_cursor_pos() method
1309
1310         * gtk/gtkentry.c (recompute_idle_func): set current cursor
1311         position to input methods
1312
1313 Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>
1314
1315         * gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
1316         code a lot.
1317
1318         * gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
1319         g_mem_chunk.
1320         (_gtk_tree_data_list_alloc): use g_mem_chunk.
1321         (_gtk_tree_data_list_node_to_value): Fix to switch on
1322         G_TYPE_FUNDAMENTAL.
1323         (_gtk_tree_data_list_value_to_node): Fix to switch on
1324         G_TYPE_FUNDAMENTAL.
1325         (_gtk_tree_data_list_node_copy): Fix to switch on
1326         G_TYPE_FUNDAMENTAL.
1327
1328 2001-03-12  Havoc Pennington  <hp@redhat.com>
1329
1330         * gtk/gtkwindow.c (gtk_window_class_init): Patch from John Margaglione 
1331         to convert to new property API. Also, change default_width and
1332         default_height get_property to return 0 as the flag value for
1333         "unset"; -1 is not a valid value for these fields.
1334
1335 2001-03-12  Havoc Pennington  <hp@redhat.com>
1336
1337         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: Switch to using an
1338         enum with registration for icon sizes, instead of strings.
1339
1340         * gtkimage.h, gtkimage.c, gtkstyle.h, gtkstyle.c, gtkwidget.h, 
1341         gtkwidget.c: Fix to reflect GtkIconSize
1342         
1343 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1344
1345         Make GtkFB compile and link.
1346         
1347         * gdk/linux-fb/gdkdrawable-fb2.c:
1348         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1349         
1350         * gdk/linux-fb/gdkwindow-fb.c:
1351         window->mapped to GDK_WINDOW_IS_MAPPED(). 
1352         Added gdk_window_shape_combine_region.
1353         Added assorted placeholders for unimplemented new GdkWindow API calls.
1354
1355 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1356
1357         * gtk/gtkfilesel.c:
1358         Add more test when converting filenames from/to utf-8.
1359         Don't allow entering text in the filename entry which isn't allowed in
1360         a filename. Just beep instead.
1361
1362 2001-03-12  Alexander Larsson  <alexl@redhat.com>
1363
1364         * gtk/gtkclist.c:
1365         Scroll using gdk_window_scroll(). Don't wait for exposes.
1366         Move the column headers in an order that makes them flash less.
1367
1368 2001-03-10  Hans Breuer  <hans@breuer.org>
1369
1370         * gdk/gdk.def : updated
1371
1372         * gdk/win32/gdkgc-win32.c : pixmaps are visible again, due
1373         to offseting the clip_mask at the right place
1374
1375         * gdk/win32/gdkwindow-win32.c : don't create background brushes
1376         for all the gdkClasses, especially not for the input_only case.
1377         Otherwise flickering wont be avoidable, because we don't get
1378         WM_ERASEBKGND message for these windows.
1379
1380         * gdk/win32/gdkevents-win32.c : initialize event->expose.region
1381         and fixed massive redraw problems apparently triggered by Alexanders 
1382         recent change. Not fully understood the GDK_EXPOSE / WM_PAINT handling
1383         but it seems to work quite well :-)
1384
1385         * gdk/win32/gdkprivate-win32.h : added _gdk_window_process_expose
1386         prototype
1387
1388 Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>
1389
1390         * gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
1391         (gtk_list_store_set_cell): Fix a stupid typo.
1392
1393 Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>
1394
1395         * gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
1396         select_all not work if you're in SINGLE mode (it doesn't make that
1397         much sense, anyway.)
1398
1399         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1400         handle types more sanely.
1401         (_gtk_tree_data_list_value_to_node): handle types more sanely.
1402         (_gtk_tree_data_list_node_copy): handle types more sanely.
1403
1404         * gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
1405         GValue better. Converts the type as well.
1406
1407         * gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
1408         GValue better. Converts the type as well.
1409
1410 Wed Mar  7 20:47:41 2001  Owen Taylor  <otaylor@redhat.com>
1411
1412         * gtk/gtktext.c gtk/gtkoldeditable.[ch] gdk/gdk.[ch]
1413         gdk/Makefile.am gdk/x11/Makefile.am gdk/x11/gdkevents-x11.c 
1414         gdk/x11/gdkglobals-x11.c gdk/x11/gdkprivate-x11.c
1415         gdk/x11/gdkx.h gdk/x11/gdkim-x11.c: Remove old XIM code.
1416
1417         * gdk/win32/gdkim-win32.c gdk/linux-fb/gdkim-fb.c: Remove
1418         gdk_im/gdk_ic.
1419
1420 2001-03-09  Hans Breuer  <hans@breuer.org>
1421
1422         * gdk/gdk.def : updated
1423
1424         * gdk/win32/gdkevents-win32.c : don't ask input_only windows
1425         for their palette
1426
1427         * gdk/win32/gdkgeometry-win32.c : reflect GdkWindowObject::mapped
1428         removing
1429
1430         * gdk/win32/gdkwindow-win32.c : reflect GdkWindowObject::mapped
1431         removing and implemented Havoc's GdkWindow state functions; 
1432         stick/unstick only as no-op, cause I don't know how to emulate 
1433         on win32 ...
1434
1435         * gtk/gtk.def : updated
1436
1437         * gtk/gtkbox.c (gtk_box_get_spacing) : use g_return_val_if_fail ()
1438
1439         * gtk/gtktypeutils.c : #include <string.h>
1440
1441         * gtk/gtkwindow.h : declare gtk_window_set_decorated ()
1442
1443 Fri Mar  9 09:31:55 2001  Tim Janik  <timj@gtk.org>
1444
1445         * gtk/gtkwidget.c (gtk_widget_class_init): fixed signals with
1446         GDK_TYPE_DRAG_CONTEXT, it needs to be marshaled as an object,
1447         not a boxed.
1448
1449 2001-03-09  Alexander Larsson  <alexl@redhat.com>
1450
1451         * docs/Changes-2.0.txt:
1452         Document expose event->region change and that gtk_widget_event
1453         doesn't allow passing expose events.
1454
1455         * gdk/gdkevents.h:
1456         Add region to expose event.
1457         
1458         * gdk/gdkevents.c:
1459         Handle event->region in gdk_event_copy() and gdk_event_free().
1460
1461         * gdk/gdkwindow.c (gdk_window_process_updates_internal):
1462         Generate expose_event->region when creating expose events.
1463
1464         * gdk/x11/gdkevents-x11.c:
1465         Generate expose events with regions when translating X events.
1466
1467         * gtk/gtkcontainer.[ch]:
1468         Default expose handler that propagates expose events to NO_WINDOW
1469         children. New function gtk_container_propagate_expose()
1470
1471         * gtk/gtkwidget.[ch]:
1472         Moved gtk_widget_event implementation to gtk_widget_event_internal.
1473         gtk_widget_event calls gtk_widget_event_internal but doesn't allow
1474         expose events. New function gtk_widget_send_expose() to send expose
1475         events. New function gtk_widget_region_intersect() to calculate
1476         window/region intersections.
1477         
1478         * gtk/gtkmain.c (gtk_main_do_event):
1479         Use gdk_window_begin_paint_region() instead of gdk_window_begin_paint_rect().
1480         Use gtk_widget_send_expose() to send expose events.
1481         
1482         * gtk/gtkbin.c:
1483         * gtk/gtkbox.c:
1484         * gtk/gtkfixed.c:
1485         * gtk/gtkimagemenuitem.c:
1486         * gtk/gtklist.c:
1487         * gtk/gtkpacker.c:
1488         * gtk/gtktable.c:
1489         * gtk/gtktree.c:
1490         Remove expose handler, using the default container implementation
1491         instead.
1492         
1493         * gtk/gtkbutton.c:
1494         * gtk/gtkcheckbutton.c:
1495         * gtk/gtkeventbox.c:
1496         * gtk/gtkfixed.c:
1497         * gtk/gtkhandlebox.c:
1498         * gtk/gtklayout.c:
1499         * gtk/gtklistitem.c:
1500         * gtk/gtkmenu.c:
1501         * gtk/gtkmenubar.c:
1502         * gtk/gtkmenuitem.c:
1503         * gtk/gtknotebook.c:
1504         * gtk/gtkoptionmenu.c:
1505         * gtk/gtkpaned.c:
1506         * gtk/gtkscrolledwindow.c:
1507         * gtk/gtktogglebutton.c:
1508         * gtk/gtktoolbar.c:
1509         * gtk/gtktreeitem.c:
1510         * gtk/gtkviewport.c:
1511         Chain expose handler to parent class handler. Use
1512         gtk_container_propagate_expose() to propagate exposes.
1513
1514         * gtk/gtkclist.c (check_exposures):
1515         * gtk/gtktext.c (process_exposes):
1516         Use gtk_widget_send_expose instead of gtk_widget_event.
1517
1518 Thu Mar  8 19:40:28 2001  Jonathan Blandford  <jrb@redhat.com>
1519
1520         * gtk/gtktreeview.c (gtk_tree_view_destroy): Add destroy function.
1521
1522 Thu Mar  8 19:18:27 2001  Jonathan Blandford  <jrb@redhat.com>
1523
1524         * gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): Actually
1525         unref the nodes.   Fixes bug #50058.
1526
1527         * gtk/gtktreemodel.c (gtk_tree_model_ref_node): change
1528         "::ref_iter" to "::ref_node".
1529         (gtk_tree_model_unref_node): change "::unref_iter" to
1530         "::unref_node". Fixes bug #50064.
1531
1532 Thu Mar  8 17:40:09 2001  Jonathan Blandford  <jrb@redhat.com>
1533
1534         * gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon): add
1535         support for invisible cells.
1536          (gtk_tree_view_bin_expose): ditto
1537
1538 Thu Mar  8 16:36:00 2001  Jonathan Blandford  <jrb@redhat.com>
1539
1540         * gtk/gtktreemodel.c (gtk_tree_model_get_type): add prerequesite
1541         on gobjects.
1542
1543         * tests/testtreefocus.c (main): New test file.
1544
1545         * tests/testtreeview.c: update to latest glib changes.
1546
1547         * tests/testtreecolumns.c: update to latest glib changes.
1548
1549 Thu Mar  8 18:13:20 2001  Tim Janik  <timj@gtk.org>
1550
1551         * gtk/testgtk.c: re-enabled event watcher emission hooks.
1552
1553 Thu Mar  8 16:51:21 2001  Tim Janik  <timj@gtk.org>
1554
1555         * *.c: added accumulator data argument to g_signal_newc()
1556         functions.
1557
1558         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_model): 
1559         * gtk/gtktreeview.c (gtk_tree_view_setup_model): 
1560         * gtk/treestoretest.c (make_window):
1561         s/g_signal_connect/g_signal_connectc/.
1562
1563         * gtk/gtktextbuffer.c: completed signal arg fixups,
1564         they also needed G_SIGNAL_TYPE_STATIC_SCOPE flag.
1565
1566 Thu Mar  8 00:02:30 2001  Owen Taylor  <otaylor@redhat.com>
1567
1568         * gtk/gtkwidget.[ch] (gtk_widget_get_name): Make
1569         G_CONST_RETURN.
1570
1571         * gtk/gtkwidget.[ch] gtk/gtkprivate.h: Add a 
1572         ::hierarchy-changed signal when a widget changes
1573         from anchored to unanchored or vice versa.
1574         (anchored means 
1575          gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW) != NULL.)
1576         Use a private flag to keep track of this efficiently.
1577
1578 2001-03-07  Havoc Pennington  <hp@redhat.com>
1579
1580         * gtk/testgtk.c (create_spins): uglify so that size request gets
1581         tested.
1582
1583         * gtk/gtkspinbutton.c (gtk_spin_button_size_request): Base size
1584         request on values for upper/lower, completes #6152
1585
1586 Wed Mar  7 20:07:22 2001  Owen Taylor  <otaylor@redhat.com>
1587
1588         * Makefile.am: Remove gtk-config-2.0 again.
1589         (Grrrr, pkg-config. And stops make loops.)
1590
1591 Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
1592
1593         * gtk/gtksignal.[hc]: removed old emission hook API.
1594         
1595         * docs/Changes-2.0.txt: fixed sections.
1596         
1597         * gtk/gtktextbuffer.c: signal arg fixups.
1598
1599 2001-03-07  Havoc Pennington  <hp@redhat.com>
1600
1601         * gtk/gtktextview.c (invalidated_handler): use PRIORITY_VALIDATE
1602
1603         * gtk/gtktextview.h (GTK_TEXT_VIEW_PRIORITY_VALIDATE): add this
1604         here, bug #50368; changed to be GDK_PRIORITY_REDRAW + 5, instead
1605         of GDK_PRIORITY_REDRAW + 1, so you can insert stuff in between the
1606         validation and the redraw which is higher priority than the
1607         validation.
1608
1609 2001-03-07  Havoc Pennington  <hp@redhat.com>
1610
1611         * gtk/gtkentry.c (gtk_entry_get_property): remove trailer
1612         (gtk_entry_set_property): remove trailer
1613
1614         * gtk/gtkentry.c (gtk_entry_set_width_chars): 
1615         (gtk_entry_get_width_chars): new functions, to set size request to 
1616         a given number of characters
1617
1618         * gtk/testgtk.c (create_dialog): beef up the dialog test slightly
1619
1620         * gtk/gtkdialog.c (gtk_dialog_set_has_separator): new function
1621         (gtk_dialog_get_has_separator): new function
1622         (run_delete_handler): fix to not emit "response" signal
1623         because we already did in the delete event handler installed
1624         at dialog creation time.
1625         
1626         * gtk/gtkdialog.h: add a has_separator property,
1627         add GTK_DIALOG_NO_SEPARATOR flag
1628
1629 2001-03-07  Havoc Pennington  <hp@redhat.com>
1630
1631         * gtk/gtkwindow.c (gtk_window_set_decorated): new function, turns
1632         off decorations for a window.
1633
1634         * demos/gtk-demo/button_box.c (create_bbox): adapt to button box
1635         changes
1636
1637         * gtk/gtklabel.c (gtk_label_get_layout_offsets): new function 
1638         to get location of PangoLayout inside the label, closes #51198
1639
1640         * gtk/testgtk.c (create_bbox): fix up button box usage
1641
1642         * gtk/testcalendar.c (create_calendar): fix up button box usage
1643
1644         * gtk/gtkfilesel.c (gtk_file_selection_init): fixup buttonbox usage
1645
1646         * gtk/gtkdialog.c (gtk_dialog_init): fixup buttonbox usage
1647
1648         * gtk/gtkhbbox.h: deprecations
1649
1650         * gtk/gtkvbbox.h: deprecations
1651
1652         * gtk/gtkbox.c (gtk_box_get_spacing): new function, used to
1653         emulate deprecated gtk_button_box_get_spacing
1654
1655         * gtk/gtkbbox.h: deprecate some useless functions, remove entirely 
1656         the "set global default" functions
1657         (struct _GtkButtonBox): remove "spacing" field, use the one from 
1658         GtkBox base class
1659
1660         * gtk/gtkbbox.c (_gtk_button_box_child_requisition): rename with uscore
1661
1662         * gtk/gtkiconfactory.c (gtk_icon_set_render_icon): If we fail to
1663         render the icon, return the missing image icon.
1664
1665         * gtk/gtkimage.c (gtk_image_set_from_file): fall back to missing
1666         image icon if the load fails.   
1667
1668         * gtk/gtkstock.h (GTK_STOCK_MISSING_IMAGE): Add stock icon for use
1669         when no image is found; should be the Netscape "missing image"
1670         icon eventually but for now is a random image
1671
1672         * gtk/gtkwindow.c (gtk_window_set_role): new function, sets the 
1673         role for the session manager
1674
1675         * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
1676
1677         * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
1678         GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
1679
1680         * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
1681
1682 Wed Mar  7 13:24:57 2001  Tim Janik  <timj@gtk.org>
1683
1684         * gtk/*.c: marshaller fixes.
1685         
1686         * gtk/gtkmarshal.list: extreme cleanup.
1687
1688         * gtk/gtktreeview.c (gtk_tree_view_class_init): disable interface
1689         param spec for now.
1690
1691         * gtk/gtktexttag.c (gtk_text_tag_set_property): use g_value_get_boxed()
1692         where appliable.
1693
1694         * gtk/gtktypeutils.[hc]: updates to GLib API changes.
1695         special cased autogenerated boxed types from gtktypebuiltins_ids.c
1696         which are not reference counted:
1697         GtkSelectionData, GdkEvent, GdkColor, GtkTextIter, PangoTabArray,
1698         PangoFontDescription, GtkTreeIter and GtkTreePath.
1699
1700 Thu Mar  1 03:58:56 2001  Tim Janik  <timj@gtk.org>
1701
1702         * gtk/gtktreeselection.h: 
1703         * gtk/gtktreemodel.c:
1704         * gtk/gtktreedatalist.[hc]: fixed includes. no gobject/*
1705         file should be included directly, and gobject/gmarshal.h
1706         as well as gtk/gtkmarshal.h even can't be included directly.
1707
1708         * Makefile.am: grr, install gtk-config-2.0.
1709
1710         * gtk/testgtk.c:
1711         * gtk/simple.c:
1712         * gtk/gtkmenu.c:
1713         * gtk/gtkitemfactory.c: use g_object_connect() instead of
1714         passing "*signal*::*" args to gtk_widget_set().
1715         
1716         * gtk/gtktypeutils.[hc]: got rid of GTK_TYPE_SIGNAL.
1717         
1718         * gtk/*.c: removed trailer arg from property setters and getters.
1719         macro fixups.
1720
1721 2001-03-07  Alexander Larsson  <alexl@redhat.com>
1722
1723         * gtk/gtklabel.c (set_markup): Removed warning
1724
1725 Tue Mar  6 19:59:12 2001  Jonathan Blandford  <jrb@redhat.com>
1726
1727         * gtk/gtkcellrenderer.h (struct _GtkCellRenderer): Add visible
1728         field to allow you to hide cell renderers.
1729
1730         * gtk/gtkcellrenderer.c: Add support for invisible cells.
1731
1732         * gtk/gtktreeview.c: Add support for invisible cells.
1733
1734 Tue Mar  6 17:25:07 2001  Jonathan Blandford  <jrb@redhat.com>
1735
1736         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_button_clicked):
1737         Add "clicked" signal back to columns.
1738
1739         * ChangeLog: remove conflict markers.
1740
1741 Tue Mar  6 10:45:45 2001  Owen Taylor  <otaylor@redhat.com>
1742
1743         * gtk/gtkbutton.c: Add animation of activation by, on 
1744         activate, pressing the button, and adding a timeout that 
1745         releases the button after 250ms or on key release and
1746         emits ::clicked. (#51501)
1747
1748         * gtk/gtkdialog.c: Bit of a hack - for buttons in the
1749         action area, we connect to ::clicked instead of ::activate
1750         so the dialog stays up through the animation.
1751
1752 Mon Mar  5 16:38:15 2001  Owen Taylor  <otaylor@redhat.com>
1753
1754         * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): Only
1755         check the ignore_enter flag for the menu shell that
1756         the item is actually a child of, not for attached
1757         submenus. (#51536)
1758
1759 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1760
1761         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1762         special key-press grab handling for widgets within
1763         GtkWindows. Otherwise, fall through to normal case.
1764
1765         This prevents key events being sent twice to GtkInvisible
1766         widgets, which can cause all sorts of mischief.
1767
1768 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1769
1770         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1771         widget is in effect, give the grab widget a first
1772         crack at KEY_PRESS/RELEASE events. (#424)
1773
1774 2001-03-06  James Henstridge  <james@daa.com.au>
1775
1776         * gtk/gtkwidget.c (gtk_widget_class_init): set the class closure
1777         offset for the window_state_event to point at window_state_event
1778         rather than no_expose_event.
1779
1780 Mon Mar  5 19:10:15 2001  Jonathan Blandford  <jrb@redhat.com>
1781
1782         * gtk/gtkimmodule.h: fix busted /* comment */
1783
1784 Mon Mar  5 15:07:05 2001  Jonathan Blandford  <jrb@redhat.com>
1785
1786         * gtk/gtktreeview.c: Apply patch from John Margaglione to add
1787         object properties.
1788
1789 Mon Mar  5 14:55:19 2001  Jonathan Blandford  <jrb@redhat.com>
1790
1791         * gtk/gtkcellrenderertoggle.c: Apply patch from Lee Mallabone to
1792         add object properties.
1793
1794         * gtk/gtkcellrenderertextpixbuf.c: Apply patch from Lee Mallabone
1795         to add object properties.
1796
1797         * gtk/gtkcellrenderertext.c: Apply patch from Lee Mallabone to add
1798         object properties.
1799
1800         * gtk/gtkcellrendererpixbuf.c: Apply patch from Lee Mallabone to
1801         add object properties.
1802
1803         * gtk/gtkcellrenderer.c: Apply patch from Lee Mallabone to add
1804         object properties.
1805
1806 Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>
1807
1808         * gtk/gtktreemodel.c: renamed "child_toggled" to
1809         "has_child_toggled".
1810
1811         * gtk/gtktreeview.c: Handle removing columns better.  Updated to
1812         handle new signal name.
1813
1814         * gtk/gtktreestore.c: Updated to handle new signal name.
1815         * gtk/gtklisttore.c: Updated to handle new signal name.
1816         * gtk/gtktreemodelsort.c: Updated to handle new signal name.
1817
1818 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1819
1820         * gtk/gtkmenu.c (gtk_menu_set_tearoff_state):
1821         Set GDK_WINDOW_TYPE_HINT_MENU on tearoff window.
1822
1823 2001-03-05  Michael Natterer  <mitch@gimp.org>
1824
1825         * gtk/gtklabel.c: Made the "parent_class" pointer static. The
1826         pixbuf-engine coincidentially also failed to make one of it's
1827         parent_class pointers static, causing overwriting of GtkLabel's
1828         parent_class pointer in pixbuf_style_class_init().
1829         (Will commit the fix to the pixbuf-engine too).
1830
1831 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1832
1833         * gdk/gdkwindow.h:
1834         Added GdkWindowTypeHint type. Added modal_hint field to GdkWindindow.
1835         New functions gdk_window_set_type_hint, gdk_window_set_modal_hint and
1836         gdk_window_set_icon_list for net wmspec functionality.
1837
1838         * gdk/x11/gdkwindow-x11.c:
1839         Set _NEW_WM_STATE_MODAL from window->modal_hint in set_inital_hints.
1840         Implement gdk_window_set_type_hint, gdk_window_set_modal_hint and
1841         gdk_window_set_icon_list.
1842         Added gdk_wmspec_change_state helper function and used it in the code.
1843         Set _NET_WM_ICON_NAME in gdk_window_set_title and gdk_window_set_icon_name.
1844
1845         * gtk/gtkdialog.c (gtk_dialog_init):
1846         Set GDK_WINDOW_TYPE_HINT_DIALOG.
1847
1848         * gtk/gtkhandlebox.c (gtk_handle_box_realize):
1849         Set GDK_WINDOW_TYPE_HINT_TOOLBAR.
1850
1851         * gtk/gtkwindow.c:
1852         new function gtk_window_set_type_hint.
1853         On realize, set type hint and modal hint.
1854
1855         * gtk/gtkwindow.h:
1856         Added type_hint field and gtk_window_set_type_hint.
1857
1858 2001-03-05  Alexander Larsson  <alexl@redhat.com>
1859
1860         * gtk/gtklabel.[ch]:
1861         Convert from GtkArg to GParam (originally based on patch from Lee Mallabone).
1862         New function gtk_label_get_accel_keyval () to get the underline accelerator
1863         of the label. Setting the label pattern overrides other attributes.
1864
1865 Mon Mar  5 14:51:10 MET 2001  Sven Neumann  <sven@gimp.org>
1866
1867         * gtk/gtkrc.c: fixed compiler warnings by inserting some consts.
1868         Added missing initializers to gtk_rc_style_init().
1869
1870 Sun Mar 04  07:30:03 2001 CET Mikael Hermansson <mikeh@bahnhof.se>
1871
1872         * gtk/gtktextview.c: fixed bug #51097 about setting 
1873         gtk_text_view_set_border_window_size() if the widget is 
1874         already realized.
1875
1876 Sat Mar  3 16:59:16 2001  Owen Taylor  <otaylor@redhat.com>
1877
1878         * gdk/gdkpango.h gdk/x11/gdkwindow-x11.c: Doc fixes
1879
1880         * gdk/win32/gdkinput.c (gdk_device_get_axis): Remove doc
1881         comment. Won't do to have duplicated doc comments between
1882         the platform subdirs.
1883
1884 Sat Mar  3 16:26:33 2001  Owen Taylor  <otaylor@redhat.com>
1885
1886         * gdk/x11/gdkmain-x11.c gdk/x11/gdkkeys-x11.c 
1887           gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.c:
1888
1889         Detectable auto-repeat - make a repeating key generate
1890         press/press/press/release instead of press/release pairs.
1891
1892         If we have Xkb and XkbSetDectableAutoRepeat supports
1893         that, we do it that way. Otherwise, when we get
1894         a release event, we check ahead with XPending to see
1895         if the next key is a KeyPress with the same keycode
1896         and timestamp. (Not 100% reliable, but pretty close.)
1897           
1898 Tue Feb 27 02:16:14 2001  Owen Taylor  <otaylor@redhat.com>
1899         
1900         * gtk/gtkmain.c (gtk_propagate_event): Only do special
1901         special key-press grab handling for widgets within
1902         GtkWindows. Otherwise, fall through to normal case.
1903  
1904         This prevents key events being sent twice to GtkInvisible
1905         widgets, which can cause all sorts of mischief.
1906  
1907 Fri Feb  2 13:20:12 2001  Owen Taylor  <otaylor@redhat.com>
1908  
1909         * gtk/gtkmain.c (gtk_propagate_event): When a grab
1910         widget is in effect, give the grab widget a first
1911         crack at KEY_PRESS/RELEASE events. (#424)
1912  
1913 Sat Mar  3 15:39:49 2001  Owen Taylor  <otaylor@redhat.com>
1914
1915         * gtk/gtkentry.c (gtk_entry_button_press): Add shift-clicking
1916         to extend the selection. (Roughly based on patch
1917         from Jay Cox, #50939)
1918
1919         * gtk/gtkentry.c (gtk_entry_button_press): Fix triple-clicking
1920         to properly handle previous GDK_BUTTON_PRESS. 
1921         (Patch from Jay Cox, #50938)
1922
1923         * gtk/gtkentry.c (gtk_entry_real_delete_text): Move the
1924         '\0' back along with the deleted text. (#51148)
1925
1926 Mon Jan 22 14:31:29 2001  Owen Taylor  <otaylor@redhat.com>
1927
1928         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Unshift
1929         the group when extracting it from the X keyboard event.
1930
1931         * modules/input/Makefile.am modules/input/imipa.c: 
1932         Simple module for entering IPA. (Do we need a 
1933         gtk-stupid-input-tricks CVS module?)
1934
1935 Sat Mar  3 13:32:47 2001  Owen Taylor  <otaylor@redhat.com>
1936
1937         * gtk/gtkimmodule.c (gtk_im_module_init): Remove spurious
1938         const.
1939
1940         * gdk-pixbuf-2.0.pc.in gtk+-2.0.pc.in: Fix include path.
1941
1942         * gtk/gtkdialog.c (gtk_dialog_set_default_response): If there
1943         is no focus widget for the dialog currently, grab the focus as well
1944         as the default.
1945
1946         * gtk/gtkdialog.c (gtk_dialog_set_default_response): Get
1947         the action area's children to iterate through, not the
1948         dialog's children.
1949
1950 Sat Mar  3 13:21:27 2001  Owen Taylor  <otaylor@redhat.com>
1951
1952         * tests/Makefile.am tests/testsocket.c tests/testsocket_child.c:
1953         Add plug-socket tests. (Won't work worth a darn until I commit
1954         the rest of the plug-socket changes, but no reason these
1955         can't go into CVS now.)
1956
1957 2001-03-02  Havoc Pennington  <hp@redhat.com>
1958
1959         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_flush): use
1960         _gdk_region_get_xrectangles()
1961
1962         * gdk/x11/gdkmain-x11.c (_gdk_region_get_xrectangles): new function
1963
1964         * gtk/testgtk.c (create_shapes): add test for shape_combine_region
1965
1966         * gdk/x11/gdkwindow-x11.c (gdk_window_shape_combine_region): new
1967         function, contributed by Ron Steinke    
1968
1969         * gdk/x11/gdkevents-x11.c (gdk_wmspec_supported): rename
1970         gdk_net_wm_supports
1971
1972         * gdk/gdkregion-generic.c (gdk_region_get_rectangles): 
1973         New function, contributed by Ron Steinke
1974
1975         * gtk/gtkentry.c (gtk_entry_get_layout_offsets): New function, 
1976         used to line up the text in the entry when using the entry for
1977         editable sheet cell hacks
1978
1979         * gtk/testgtk.c (create_entry): test the activate_default setting
1980         on GtkEntry
1981
1982         * gtk/gtkentry.c (gtk_entry_set_activates_default): New function to 
1983         cause the entry to activate the default button for a dialog when 
1984         activated
1985         (gtk_entry_get_activates_default): new function
1986
1987 Wed Feb 28 19:10:43 2001  Owen Taylor  <otaylor@redhat.com>
1988
1989         * gtk/gtkclist.c (real_remove_row): Patch from ChiDeok
1990         Hwang to move call to sync_selection() up a few lines
1991         to before the row list is modified, to fix crash when
1992         removing rows in the undo_selection list.
1993
1994         (Test case provided by Daniel Elstner:
1995
1996         http://mail.gnome.org/archives/gtk-list/2001-February/msg00359.html)
1997
1998 Fri Feb 23 15:06:48 2001  Owen Taylor  <otaylor@redhat.com>
1999
2000         * gtk/gtktree.c (gtk_tree_class_init): Do the setting
2001         of tree->root_tree in parent_set rather than _map(), 
2002         fixing #50892 in a bit better manner.
2003
2004 Thu Feb 22 17:07:58 2001  Owen Taylor  <otaylor@redhat.com>
2005
2006         * gtk/gtkmenu.c (gtk_menu_popup): Don't flip cursor. (#50934)
2007
2008 Tue Feb  2 11:22:33 2001  Jody Goldberg <jgoldberg@home.com>
2009
2010         * gtk/gtkstyle.c : Remove duplicate fwd decl for
2011         gtk_default_draw_shadow.
2012
2013 ue Feb 20 11:40:58 2001  Owen Taylor  <otaylor@redhat.com>
2014
2015         * gdk/gdkimage.c (gdk_image_new): Remove excess 
2016         warning, make warnings more verbose, treat a error
2017         in shmat as permanent, and don't try again.
2018         (#51163, Ed Randall.)
2019
2020 Mon Feb 19 20:15:28 2001  Owen Taylor  <otaylor@redhat.com>
2021
2022         * gtk/gtkrange.c (gtk_range_timer_1st_time): Add an initial
2023         delay for the first click before starting to scroll.
2024         (based on #51026, gtk-enf-990512-0.patch, Eric Fisher)
2025
2026         * gtk/gtktext.c: GtkText should have I-beam cursor. 
2027         (based on gtk-enf-990513-1.patch, Eric Fisher.)
2028
2029 Mon Feb 19 16:42:19 2001  Owen Taylor  <otaylor@redhat.com>
2030
2031         * gtk/gtklayout.c (gtk_layout_allocate_child): Tiny
2032         cleanup to remove some references to unused
2033         ->xoffset, ->yoffset.
2034
2035 Mon Feb 19 14:20:36 2001  Owen Taylor  <otaylor@redhat.com>
2036
2037         * gdk/gdkrgb.c (gdk_rgb_convert_555_br): Fix incorrect
2038         mask. (#51039, fix from Martin Maierhofer)
2039
2040 Fri Feb 16 20:09:42 2001  Owen Taylor  <otaylor@redhat.com>
2041
2042         * gtk/gtkctree.c (gtk_ctree_class_init): Add bindings
2043         for unshifted + and shifted = for non-us keyboards.
2044         Make <Control>+ and <Control>- work as well as 
2045         <Control>KP_Plus, <Control>KP_Minus for recursive
2046         open/close.  (#2682, René Seindal)
2047
2048 Fri Feb 16 18:50:59 2001  Owen Taylor  <otaylor@redhat.com>
2049
2050         * gtk/gtkmenushell.c (gtk_real_menu_shell_cancel): Unset
2051         the active menu item before deactivating the menu,
2052         so gtk_menu_popdown doesn't change the history. (#50964)
2053         
2054 Fri Feb 16 15:55:22 2001  Owen Taylor  <otaylor@redhat.com>
2055
2056         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): 
2057         draw lines with text_gc rather than black_gc.
2058         (Patch from Vlad Harchev <hvv hippo ru>, #50926)
2059
2060 Thu Mar  1 19:50:56 2001  Jonathan Blandford  <jrb@redhat.com>
2061
2062         * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
2063         Move handling of buttons fully in gtktreeviewcolumn.  This code is
2064         less interrelated then it was, but it still requires the
2065         GtkTreeView to map it.
2066
2067         * test/testtreecolumn.c: Now I can add a column to one view,
2068         remove it, add it to the another view, remove it, then re-add it
2069         to the first.  Nifty.
2070
2071 Thu Mar  1 13:14:27 GMT 2001  Tony Gale <gale@gtk.org>
2072
2073         * docs/tutorial/gtk-tut.sgml: Minor corrections
2074
2075 Wed Feb 28 16:36:46 2001  Jonathan Blandford  <jrb@redhat.com>
2076
2077         * gtk/gtktreemodel.c (gtk_tree_row_reference_*): Sanitize
2078         GtkRowReference.
2079
2080 2001-02-28  Havoc Pennington  <hp@redhat.com>
2081
2082         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove draw_focus and
2083         draw_default
2084         (gtk_widget_draw_focus): remove this function; we could instead
2085         make it just gtk_widget_draw(), but in most cases I think the
2086         result would be broken user code, so think it's better to have
2087         that code not compile and get fixed
2088         (gtk_widget_draw_default): ditto
2089
2090         * gtk/gtkwidget.c: Add default handlers for focus_in_event and
2091         focus_out_event that set/unset GTK_HAS_FOCUS and call queue_draw
2092         
2093         * gtk/gtkwindow.c (gtk_window_set_default): just queue a draw when
2094         widgets lose/get the default, instead of calling draw_default
2095         
2096         * docs/Changes-2.0.txt: note about all this
2097
2098         Then fixed every widget in GTK, I won't list all the filenames.
2099
2100 Tue Feb 27 19:32:53 2001  Jonathan Blandford  <jrb@redhat.com>
2101
2102         * gtk/gtktreemodel.c (deleted_callback): Proxy out to
2103         _gtk_tree_row_reference_deleted.
2104         (inserted_callback): Proxy out to
2105         _gtk_tree_row_reference_inserted.
2106         (_gtk_tree_row_reference_new_from_view): Somewhat yukky hack to
2107         get around signal emission ordering problem.
2108
2109         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2110         fix to work with SINGLE 
2111         (_gtk_tree_selection_internal_select_node): Major sanitization on
2112         selections.  SINGLE now seems to work.
2113
2114         * tests/Makefile.am: add testtreecolumn.c:
2115
2116         * tests/testtreecolumn.c: New test.  Mostly points out selection
2117         bugs currently, but will test columns later.
2118
2119         * gtk/gtkrbtree.c (_gtk_rbtree_remove_node): Fix really nasty
2120         selection bug.  I hate touching this code -- it's scary.
2121
2122 2001-02-26  Havoc Pennington  <hp@redhat.com>
2123
2124         * gtk/testgtk.c: test the window state stuff
2125
2126         * gtk/gtkwindow.c (gtk_window_present): new function, makes a
2127         window come to the user's attention as if it were just created
2128         (gtk_window_iconify): new function
2129         (gtk_window_deiconify): new function
2130         (gtk_window_stick): new function
2131         (gtk_window_unstick): new function
2132         (gtk_window_maximize): new function
2133         (gtk_window_unmaximize): new function
2134
2135         * gtk/gtkwidget.h, gtk/gtkwidget.c: add window_state_event signal
2136
2137         * gtk/gtkmain.c (gtk_main_do_event): handle GDK_WINDOW_STATE
2138
2139         * gdk/x11/gdkevents-x11.c: create window state events when
2140         appropriate
2141         (gdk_wmspec_supported): new function
2142
2143         * gdk/x11/gdkwindow-x11.c (gdk_window_iconify): handle
2144         iconification before showing the window
2145         (gdk_window_deiconify): new function
2146         (gdk_window_stick): new function
2147         (gdk_window_unstick): new function
2148         (gdk_window_maximize): new function
2149         (gdk_window_unmaximize): new function
2150
2151         * gdk/gdkwindow.c: store the window state in the window; 
2152         change to using the GDK_WINDOW_STATE_WITHDRAWN flag instead of
2153         window->mapped.
2154         (gdk_window_get_state): return the current window state
2155
2156         * gdk/gdkevents.c (gdk_event_get_time): handle GDK_WINDOW_STATE
2157         (gdk_event_get_state): handle GDK_WINDOW_STATE
2158         (gdk_synthesize_window_state): function to create the window state
2159         events
2160
2161         * gdk/gdkevents.h (struct _GdkEventWindowState): new type of
2162         event, for changes to "window state" such as maximized, sticky, 
2163         etc.
2164         
2165         * gdk/x11/gdkwindow-x11.c (gdk_window_focus): new function,
2166         focuses a window
2167
2168         * gdk/x11/gdkmain-x11.c (_gdk_wmspec_supported): new function, 
2169         finds out if we support a given WM spec hint
2170
2171 Tue Feb 27 13:37:38 GMT 2001  Tony Gale <gale@gtk.org>
2172
2173         * docs/faq/gtk-faq.sgml: New question re memory leaks.
2174
2175 2001-02-25  Hans Breuer  <hans@breuer.org>
2176
2177         * gdk/gdk.h : changed #ifdef GDK_DISBALE_DEPRECARED to #ifndef
2178         cause we want to loose those prototypes only in the latter case
2179
2180         * gdk/win32/gdkevents-win32.c : can't cast from GdkPixmap to
2181         GdkPixmapImplWin32 because it itsn't derived from it. Use the
2182         impl member variable instead
2183
2184         * gtk/gtk.def : updated
2185
2186         * gtk/gtklist.c : 
2187         * gtk/gtkmenus.c : include <string.h> for memset ()
2188
2189         * gtk/makefile.msc.in : updated and don't define GTK_COMPILATION
2190         for everthing built here, but for gtk-x.x.dll only. This solves
2191         problem of indifferent gtk type definitions
2192
2193 Sat Feb 24 20:11:39 2001  Jonathan Blandford  <jrb@redhat.com>
2194
2195         * gtk/gtkclipboard.h: actually put /* */ around #endif comment.
2196
2197 Fri Feb 23 17:50:13 2001  Jonathan Blandford  <jrb@redhat.com>
2198
2199         * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Only draw the
2200         column that is exposed.
2201
2202         (_gtk_tree_view_update_size): Changed name from set_size, and
2203         changed function to do more work, and not force people calling it
2204         to figure out the size.  Simplifies a lot of code elsewhere.
2205
2206 2001-02-23  Alexander Larsson  <alexl@redhat.com>
2207
2208         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
2209         return solid masks for xpms that have no transparent color.
2210         This makes the ..._create_from_xpm... API backwards
2211         compatible.
2212
2213 2001-02-23  Tor Lillqvist  <tml@iki.fi>
2214
2215         * README.win32: Update. Mention the gtk-1-3-win32-production
2216         branch.
2217
2218         * gdk/win32/bdfcursor.c: New file. A program that generates
2219         xcursors.h. Thanks to Stefan Ondrejicka.
2220
2221         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
2222         compact format.
2223
2224         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
2225
2226         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
2227         function, uses xcursors.h.
2228         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
2229         cursor from inline data instead of using LoadCursor() to generate
2230         it from a resource.
2231
2232         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
2233         event, must check the Windows message for mouse button state, as
2234         the GDK event state might not have been built if it is
2235         undelivered. Remove one goto.
2236
2237         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
2238         SetCursor() if the current cursor as returned by GetCursor() is
2239         the window's previous cursor. The ChildWindowFromPoint() test
2240         apparently didn't work correctly.
2241
2242         * gdk/win32/rc/*.cur: Remove.
2243
2244         * gdk/win32/rc/gdk.rc.in: Remove cursors.
2245
2246         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
2247
2248         * gtk/makefile.{mingw,msc}.in: Updates.
2249
2250 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
2251
2252         * gtk/gtktreemodel.h: add functions for signal emission.
2253
2254         * gtk/gtktreestore.c: move to use above functions instead of
2255         g_signal_emit.
2256
2257         * gtk/gtkliststore.c: ditto
2258
2259 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
2260
2261         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
2262         GObject instead of GtkObject.
2263
2264         * gtk/gtkliststore.c: ditto.
2265
2266         * gtk/gtktreemodelsort.c: ditto.
2267
2268         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
2269         GtkTreeModelIface, instead of in each model.
2270
2271 2001-02-21  Havoc Pennington  <hp@redhat.com>
2272
2273         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
2274         unbreak this function
2275
2276         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
2277         properties
2278
2279         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
2280         properties
2281
2282         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
2283         properties
2284
2285         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
2286         mean unset the max length
2287
2288 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
2289
2290         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
2291         Changed name to be set_cell_data_func to make it clear what
2292         the functino does.  Close bug #51069.
2293
2294 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
2295
2296         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
2297         have memory actually freed.  Keeps box running longer.
2298
2299 2001-02-21  Alexander Larsson  <alexl@redhat.com>
2300         
2301         * gtk/gtkseparatormenuitem.[ch]:
2302         Added new menu separator item. The drawing and size handling
2303         is still done in GtkMenuItem, but the API is a bit more sane.
2304         
2305         * gtk/Makefile.am:
2306         Add gtkseparatormenuitem.[ch].
2307
2308         * gtk/gtk.h:
2309         Add gtkseparatormenuitem.h.
2310         
2311         * gtk/gtkentry.c:
2312         * gtk/gtkmenufactory.c:
2313         * gtk/gtktextview.c:
2314         Use the new API for menu separators.
2315         
2316         * demos/gtk-demo/menus.c (create_menu):
2317         Add some GtkSeparatorMenuItem demo code.
2318
2319 2001-02-20  Havoc Pennington  <hp@redhat.com>
2320
2321         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
2322         Lee Mallabone
2323
2324         * gtk/gtkarrow.c: Convert to new property API, patch from 
2325         Lee Mallabone
2326
2327 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
2328
2329         * tests/testtreeview.c (toggled_callback): fix to reflect change
2330         in GtkTreeModelStore.
2331
2332 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
2333
2334         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
2335         function to create an icon set from a pixbuf.
2336
2337 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2338
2339         * gtk/gtkcellrenderertext.[ch]:
2340         Add a "markup" property.
2341
2342         * gtk/treestoretest.c:
2343         Use the markup property, remove some leftover stuff from
2344         GtkTreeModelMapping.
2345
2346 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2347
2348         * gtk/gtklabel.c (gtk_label_set_selectable):
2349         Queue a redraw if the selectable setting was changed.
2350
2351 2001-02-20  Alexander Larsson  <alexl@redhat.com>
2352
2353         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
2354         Actually copy the whole gc, not just the public parts.
2355         
2356         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
2357         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
2358         labels.
2359
2360 2001-02-19  Havoc Pennington  <hp@pobox.com>
2361
2362         * gdk/gdkwindow.c: docs
2363
2364         * gdk/gdkrgb.c: docs
2365
2366         * gdk/gdkregion-generic.c: docs
2367
2368         * gdk/gdkgc.c (gdk_gc_set_values): docs
2369
2370         * gdk/gdkdraw.c: docs
2371
2372         * gdk/gdkdrawable.h: deprecate drawable get/set data
2373
2374 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
2375
2376         * demos/gtk-demo/dialog.c: Add simple new demo.
2377
2378 2001-02-19  Havoc Pennington  <hp@redhat.com>
2379
2380         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
2381         insert_child_anchor signal, bug #50245
2382
2383         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
2384         from create_child_anchor, so the anchor is passed in
2385
2386         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
2387         (_gtk_widget_segment_new): have the child anchor object passed in, 
2388         instead of creating it.
2389
2390         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
2391         to gtk_text_buffer_get_modified
2392
2393 2001-02-19  Havoc Pennington  <hp@redhat.com>
2394
2395         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
2396         changed GLib without fixing GTK
2397
2398         * gtk/gtkrange.h: Rename all the stupid implementation detail 
2399         functions to have an underscore in front. Most of them should 
2400         probably just go away, but for starters don't export them.
2401         Bug #50482
2402
2403 2001-02-19  Havoc Pennington  <hp@redhat.com>
2404
2405         * gdk/gdkcolor.h: test was backward, so deprecated functions were
2406         excluded by default
2407
2408         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
2409         clean up the old code a bit
2410
2411         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
2412         inconsistent state
2413
2414         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
2415         draw inconsistent state
2416
2417         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
2418         (create_menu): add inconsistent test
2419
2420         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
2421         new function
2422         (gtk_check_menu_item_get_inconsistent): new function
2423         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
2424         state (using etched in for now)
2425
2426         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
2427         draw inconsistent state
2428
2429         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
2430         function, used when the user has selected a range of stuff in
2431         different states
2432         (gtk_toggle_button_get_inconsistent): accessor for that
2433         (gtk_toggle_button_paint): draw inconsistent state (etched in?
2434         don't know what else to do)
2435
2436 2001-02-19  Hans Breuer <hans@breuer.org>
2437
2438         * gtk/gtk.def : updated exported symbols
2439
2440         * gtk/makefile.msc.in : updated
2441
2442         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
2443         a colormap, when invoked from testgtk::entry. I'm not sure where
2444         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
2445         avoids immediate crashing ...
2446
2447         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
2448         any objections ?
2449
2450         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
2451         0 parameter. At least msvc doesn't like macros with var args. 
2452         I simply removed the extra 0, was it a feature or a typo ?
2453
2454         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
2455         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
2456         because the value assignment to the internal struct wasn't working.
2457         I'm not absolutely sure. The problem could have been resolved by
2458         changing the "func" declartion in the struct, but was the pointer
2459         to the function pointer intended ?
2460
2461         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
2462
2463         * gdk/gdk.def : updated exported symbols
2464
2465         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
2466         only use SetDIBitsToDevice if there is a palette at the drawable
2467         and the image is GDK_VISUAL_PSEUDO_COLOR
2468
2469         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
2470
2471         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
2472
2473         * gdk/*/makefile.msc : updated
2474
2475 2001-02-19  Havoc Pennington  <hp@redhat.com>
2476
2477         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
2478         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
2479
2480         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
2481         (gdk_key_repeat_restore): nuke
2482
2483         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
2484         (gdk_init_check): no atexit func
2485
2486         * gdk/gdkrgb.h: mark some stuff deprecated
2487
2488         * gdk/gdkcolor.h: mark some stuff deprecated
2489         
2490         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
2491
2492         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
2493
2494 2001-02-16  Havoc Pennington  <hp@redhat.com>
2495
2496         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
2497         scroll steps.
2498
2499         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
2500         steps, and add Ctrl-arrow shortcuts for paging visually as with
2501         HScale, since Page Up and Page Down move logically.
2502
2503         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
2504         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
2505         
2506         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
2507         steps
2508         (gtk_range_scroll): handle the visual steps
2509
2510         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
2511         scroll steps
2512
2513         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
2514         steps, not the logical ones.
2515
2516         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
2517         (scroll_vertical): handle up/down steps
2518
2519 2001-02-19 Alexander Larsson  <alexl@redhat.com>
2520
2521         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
2522         Copy data and free data with free().
2523
2524         * gdk-pixbuf/gdk-pixbuf.c:
2525         * gdk-pixbuf/io-jpeg.c:
2526         * gdk-pixbuf/io-png.c:
2527         Use g_try_malloc/g_free instead malloc/free.
2528         
2529         * gdk-pixbuf/test-gdk-pixbuf.c:
2530         Must... initialize... gobject...
2531         
2532         * gdk-pixbuf/pixops/timescale.c:
2533         * gtk/gtkcalendar.c:
2534         Use g_malloc instead of malloc.
2535         
2536 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
2537
2538         * gtk/testgtkrc:
2539         Comment out property assignments, these don't work yet.
2540
2541 2001-02-17  Havoc Pennington  <hp@pobox.com>
2542
2543         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
2544         bit.
2545
2546 2001-02-17  Havoc Pennington  <hp@pobox.com>
2547
2548         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
2549         shadowed variables that had broken size request in some cases,
2550         leading to bogus tooltips (#50996)
2551
2552 2001-02-06  Jon K Hellan  <hellan@acm.org>
2553
2554         Implement fast browsing of tooltips, bug #50619
2555         
2556         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
2557         and last_popdown
2558         
2559         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
2560         use_sticky_delay and last_popdown.
2561         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
2562         time of popdown.
2563         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
2564         is NULL.
2565         (gtk_tooltips_recently_shown): New static function.  Return true
2566         if < sticky_delay has elapsed since last popdown.
2567         (gtk_tooltips_event_handler): Display window after sticky_delay
2568         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
2569         since last popdown.
2570         
2571 2001-02-17  Havoc Pennington  <hp@pobox.com>
2572
2573         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
2574         instead of (). #6394
2575
2576         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
2577         G_CONST_RETURN, make it return by reference, #50473
2578         
2579 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
2580
2581         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
2582         generated ENTER_NOTIFY event with 0, otherwise not explicitely
2583         setup fields contain garbage (e.g. subwindow, breaking
2584         gdk_drawable_ref() upon event copy).
2585         (gtk_menu_stop_navigating_submenu_cb): same here.
2586
2587         * gtk/gtklist.c (gtk_list_vertical_timeout): 
2588         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
2589         * gtk/gtkclist.c (vertical_timeout): 
2590         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
2591         default-zero-intialization for unions to memset(,0,), as unions are
2592         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
2593         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
2594
2595         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
2596         g_closure_sink() warning.
2597
2598         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
2599         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
2600         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
2601         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
2602         
2603 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
2604
2605         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
2606         gtk_*_store_get, and moved to GtkTreeModel.
2607
2608         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
2609
2610         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
2611
2612         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
2613
2614         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
2615         set the func.
2616
2617         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
2618         freeze/thaw notify between setting all the properties for a cell.
2619
2620         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
2621
2622 2001-02-15  Havoc Pennington  <hp@redhat.com>
2623
2624         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
2625         the X coordinates so they're with respect to the line, rather than 
2626         with respect to the layout.
2627
2628         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
2629         Mallabone
2630
2631         * gtk/testgtk.c (create_range_controls): add vscale tests, 
2632         and inverted test
2633
2634         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
2635         #50806
2636
2637         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
2638
2639         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
2640         gtk_text_iter_is_end
2641
2642         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
2643         rename gtk_text_buffer_get_end_iter
2644
2645         * gtk/testgtk.c (create_labels): Add test for selectable
2646
2647         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
2648         the selection stuff. This code is kind of broken since it doesn't 
2649         use the theme engine.
2650
2651         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
2652         fix infinite loop and y offset problem
2653         (gdk_draw_layout_line_with_colors): fix foreground color handling
2654
2655         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
2656         that makes the label selectable.
2657         
2658         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
2659         layout when the style is set, since fonts etc. could have changed.      
2660
2661 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
2662
2663         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
2664
2665         * gtk/gtktreemodelsimple.[ch]: removed.
2666
2667 2001-02-16  Alexander Larsson  <alexl@redhat.com>
2668
2669         * gtk/gtktreemodelmapping.[ch]:
2670         New files. Implement GtkTreeModelMapping.
2671         
2672         * gtk/Makefile.am:
2673         Add gtktreemodelmapping.[ch].
2674         
2675         * gtk/gtk.h:
2676         Add gtktreemodelmapping.h
2677
2678         * gtk/treestoretest.c:
2679         Test the GtkTreeModelMapping
2680
2681 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
2682
2683         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
2684         have a demo, we might as well pass in real values.  Thanks to
2685         clahey for pointing this out.
2686
2687 2001-02-14  Havoc Pennington  <hp@pobox.com>
2688
2689         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
2690         "static" to a private function
2691         (gtk_image_menu_item_class_init): remove destroy handler,
2692         add "image" object property
2693
2694 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
2695
2696         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
2697         Add a shortcut if the window and the current clip_region doesn't
2698         overlap. This is needed when there are a lot of windows in a
2699         window. The layout test in testgtk is a good test.
2700
2701         * gdk/linux-fb/gdkwindow-fb.c:
2702         Whitespace fix.
2703
2704 2001-02-13  Sven Neumann  <sven@convergence.de>
2705
2706         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
2707
2708 2001-02-13  Alexander Larsson  <alexl@redhat.com>
2709
2710         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
2711         Don't reference last_cursor if it is null. Fixes crash when rotating
2712         the screen before having moved the mouse.
2713
2714         * gdk/linux-fb/gdkcc-fb.c: Zapp!
2715
2716         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
2717
2718         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
2719         when using 90 or 270 degrees rotation.
2720
2721 2001-02-12  Havoc Pennington  <hp@pobox.com>
2722
2723         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
2724         it always set the foreground, even if we were only using
2725         a stipple.
2726         (gdk_draw_layout_line_with_colors): new function, allow
2727         override colors
2728         (gdk_draw_layout_with_colors): new function, allow override
2729         colors
2730         (gdk_pango_layout_line_get_clip_region): function to get the clip
2731         region for a logical text range
2732         (gdk_pango_layout_get_clip_region): get the clip region for a
2733         logical text range
2734
2735         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
2736         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
2737         the right number of arguments.
2738
2739         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
2740         enhance the function to check that node data corresponds to a 
2741         view still belonging to the tree.
2742
2743         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
2744         GtkTreePath
2745         (gtk_tree_view_inserted): ditto
2746         (gtk_tree_view_child_toggled): ditto
2747
2748         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
2749         simplify this code.
2750
2751         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
2752         a PangoAttrList
2753
2754         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
2755
2756         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
2757
2758         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
2759         size in the size request 
2760         (gtk_menu_bar_size_allocate): consider toggle size here
2761
2762         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
2763         that displays a widget in the toggle slot
2764
2765         * gtk/testgtk.c: test GtkImageMenuItem
2766
2767         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
2768         
2769         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
2770         request and allocation
2771
2772         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
2773
2774         * gtk/gtkcheckmenuitem.c
2775         (gtk_check_menu_item_toggle_size_request): ditto
2776         
2777 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
2778
2779         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
2780         reference.
2781
2782         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
2783         and refuse to initialize GTK+ if they fail.
2784
2785 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
2786
2787         * configure.in: Add check for gtk-doc version.
2788
2789 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
2790
2791         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
2792         where the xpad/ypad was only being used on one side!
2793
2794 2001-02-11  Tor Lillqvist  <tml@iki.fi>
2795
2796         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
2797         function, copied from X11 version.
2798
2799         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
2800         DestroyCursor failures. The reason for the problem (despite the
2801         inconsistent messages from GetLastError()) was that
2802         DestroyCursor() cannot be called while a cursor is set in a
2803         window. Set the new cursor first and then destroy the old one.
2804         Thanks to jpe@archaeopteryx.com.
2805
2806         * gdk/win32/gdkcc-win32.c: Remove.
2807
2808         * gdk/win32/Makefile.am: Remove from here, too.
2809         
2810         * gdk/gdk.def
2811         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
2812
2813         * gtk/gtk.def
2814         * gtk/makefile.mingw.in: Updates.
2815
2816 2001-02-08  Havoc Pennington  <hp@redhat.com>
2817
2818         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
2819         add a widget to a bin that already has a child.
2820
2821         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
2822
2823         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
2824         
2825         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
2826
2827         * gdk/gdk.h: remove gdkcc.h
2828
2829         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
2830
2831         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
2832         GdkPixbuf, since the previous implementation was GdkColorContext
2833         dependent.
2834
2835         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
2836         
2837 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
2838
2839         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
2840         a sane value!
2841
2842 2001-02-08  Havoc Pennington  <hp@redhat.com>
2843
2844         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
2845         lighten them.
2846
2847 2001-02-08  Havoc Pennington  <hp@redhat.com>
2848
2849         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
2850         validation idle
2851
2852         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
2853         cell renderer
2854
2855         * demos/pixbuf-demo.c (timeout): remove deprecated
2856         gtk_widget_draw
2857
2858         * demos/testpixbuf-save.c (main): remove deprecated
2859         gtk_drawing_area_size
2860
2861         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
2862         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
2863         at the start of the allocation.
2864         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
2865         unsetup or NULL model.
2866
2867         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
2868         even/odd/sorted cells in the tree view.
2869
2870         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
2871         bugfixes
2872
2873         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
2874         backgrounds with draw_flat_box using different detail for even/odd
2875         rows.
2876
2877         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
2878         row, so we can draw the alternating colors thing
2879
2880         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
2881         property from a synonym property, notify for the synonym.
2882         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
2883         (gtk_text_tag_get_property): Always return the font, even if
2884         all its fields aren't set
2885
2886         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
2887         store the attr list; it leaves us with no way to change attributes
2888         in _render according to the render flags, and no way to implement
2889         get_property. Instead store all the specific text attributes. 
2890         Separate whether an attribute is enabled from its value. Sync all
2891         properties with GtkTextTag, make them all consistent, etc.
2892
2893         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
2894         renderers can highlight the sort row/column     
2895
2896         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
2897         accessor functions to get values; this has the side effect of
2898         showing up which accessor functions were missing. Added those.
2899
2900         * gtk/gtktreeviewcolumn.h: Replace set_justification with
2901         set_alignment, to be consistent with GtkLabel, GtkMisc
2902
2903         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
2904         arrow.
2905
2906         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
2907
2908         * gtk/gtktreesortable.h: updates in here
2909
2910 2001-02-07  Sven Neumann  <sven@convergence.de>
2911
2912         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
2913         pango dimensions after painting the background. We used to draw
2914         gigantic flat boxes here.
2915
2916 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
2917
2918         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
2919         error introduced with earlier commit) (pointed out by
2920         Ollie Lho)
2921
2922 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
2923
2924         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
2925         which are no longer necessary.
2926
2927 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
2928
2929         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
2930
2931 2001-02-04  Tor Lillqvist  <tml@iki.fi>
2932
2933         * gdk/gdk.def
2934         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
2935         Provide dummy implementations.
2936
2937 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
2938
2939         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
2940
2941         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
2942         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
2943         deprecated this function.
2944
2945         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
2946         argument.
2947
2948 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
2949
2950         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
2951
2952 2001-02-03  Havoc Pennington  <hp@pobox.com>
2953
2954         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
2955         Mikael Hermansson with patch from Mikael (if there was a toggle
2956         start one after the first character in the range, this function
2957         was broken). Bug #50380
2958
2959 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
2960
2961         * configure.in: Remove confusing comment about X11.
2962
2963 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
2964
2965         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
2966         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
2967         
2968 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
2969
2970         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
2971         it breaks things on BSD. If you want to compile GTK+ with
2972         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
2973         when configuring, since GTK+ simply can't be "pure ANSI" 
2974         in the header files it uses. (#8170, Greg Hudson)
2975
2976 2001-02-02  Havoc Pennington  <hp@redhat.com>
2977
2978         * gtk/gtkwindow.c: docs
2979
2980         * gtk/gtkwidget.c: docs
2981         (gtk_widget_set_colormap): add a reference to the colormap
2982         (gtk_widget_get_default_colormap): add a reference to the colormap
2983
2984         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
2985
2986         * gtk/gtktextiter.c: docs
2987
2988         * gtk/gtkmain.c (gtk_propagate_event): docs
2989
2990         * gtk/gtkpaned.c (gtk_paned_get_position): docs
2991         (gtk_paned_set_position): docs
2992
2993         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
2994         sort interface, no implementation yet.
2995
2996         * demos/testpixbuf.c (new_testrgb_window): replace
2997         gtk_drawing_area_size() with gtk_widget_set_usize()
2998
2999         * demos/testpixbuf-drawable.c (main): ditto
3000         
3001         * gtk/testgtk.c: remove use of GtkStatusbarMsg
3002
3003         * gtk/gtktextbuffer.c: docs
3004
3005         * gtk/gtkstock.c: docs
3006
3007         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
3008
3009         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
3010
3011         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
3012         
3013         * gtk/gtkimage.c: add some docs in here
3014         (gtk_image_size_request): change name of
3015         gtk_widget_render_stock_icon
3016         (gtk_image_get_icon_set): don't dup returned string
3017         (gtk_image_get_icon_set): don't dup returned string
3018
3019         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
3020         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
3021         and gtkiconfactory.h functions
3022
3023         * gtk/gtkiconfactory.c: add some docs in here
3024
3025         * gtk/gtkmain.c (gtk_get_default_language): document
3026         (gtk_get_current_event): document
3027         (gtk_get_current_event_state): document
3028         (gtk_get_event_widget): document
3029
3030         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
3031
3032         * gtk/gtkcontainer.c: Add some documentation
3033         (gtk_container_add): give a more explanatory warning on adding an
3034         already-parented widget, this is kind of a FAQ and also a common
3035         typo that's easier to debug with a nice warning 
3036
3037         * gtk/gtkcellrenderertoggle.c
3038         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
3039         adding this, it's useless
3040         (gtk_cell_renderer_toggle_set_active): remove
3041         (gtk_cell_renderer_toggle_get_radio): add
3042
3043         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
3044         the NULL cell renderer, that doesn't make any sense to me. 
3045
3046         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
3047         demo code should never use deprecated features.
3048
3049         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
3050         code should never use deprecated features.
3051
3052         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
3053         gtk_widget_queue_clear_area deprecated
3054
3055         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
3056         deprecated
3057
3058         * gtk/gtklabel.h: mark gtk_label_get() deprecated
3059
3060         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
3061         a GdkImage deprecated, replaced by new consistently-named
3062         functions       
3063
3064         * gtk/gtkmain.h: Mark gtk_exit() deprecated
3065
3066         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
3067
3068         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
3069         deprecated
3070
3071         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
3072         so it won't appear in docs and confuse people.
3073
3074         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
3075
3076         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
3077         macros deprecated. (can't mark the type itself deprecated, since
3078         GtkProgressBar is not deprecated and we need the type decl to use
3079         GtkProgressBar)
3080
3081         * gtk/gtkpixmap.h: Mark deprecated
3082
3083         * gtk/gtkoldeditable.h: Mark deprecated
3084
3085         * gtk/gtklist.h: Mark deprecated
3086
3087         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
3088         for anything anymore.
3089
3090         * gtk/gtkctree.h: Mark deprecated
3091
3092         * gtk/gtkclist.h: Mark deprecated
3093
3094         * gtk/gtkpreview.h: Mark deprecated
3095
3096         * gtk/gtkpacker.h: Mark deprecated
3097
3098         * gtk/gtktipsquery.h: Mark deprecated
3099
3100         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
3101
3102         * gtk/gtkvruler.h: Add comment that it will move out of GTK
3103
3104         * gtk/gtkhruler.h: Add comment that it will move out of GTK
3105
3106         * gtk/gtkruler.h: Add comment that it will move out of GTK
3107
3108         * gtk/gtkgamma.h: Add comment that it will move out of GTK
3109
3110         * gtk/gtkcurve.h: Add comment that it will move out of GTK
3111
3112 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
3113
3114         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
3115         gdk_colormap_sync private since it was never exported
3116         in a header file.
3117
3118         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
3119         colormap->colors[] for StaticGray, StaticColor colormaps.
3120
3121         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
3122         was being used as if it was image->bits_per_pixel.
3123
3124         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
3125         for the image in the GdkImage structure since it isn't
3126         reconstructable, and we need it to handle packed types
3127
3128         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
3129         the assumption that on Win32 image->bits_per_pixel == image->depth,
3130         always.
3131
3132         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
3133
3134         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
3135         warning message if no converter can be found. 
3136
3137 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
3138
3139         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
3140         chars to isupper() / tolower(). (#567)
3141
3142         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
3143         to clear up 64-bit warnings. (#567)
3144
3145 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
3146
3147         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
3148         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
3149
3150         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
3151         since some people set $(libdir) separately. (#1290, David Kaelbling)
3152
3153 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
3154
3155         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
3156         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
3157         MAXPATHLEN, but the code here depends on a fixed value.)
3158         (#4524)
3159
3160 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
3161
3162         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
3163         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
3164
3165 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
3166
3167         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
3168         viewable there is no way that moving the node will cause the 
3169         focus row to become not viewable, so omit check on the visibility
3170         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
3171
3172 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
3173
3174         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
3175         selection before inserting new text.
3176
3177 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
3178
3179         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
3180         Make the sensitivity of the reparented child track that of
3181         the original parent menu item. (#34218, David Hodson)
3182
3183         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
3184         the case where the current item is destroyed properly.
3185
3186         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
3187         some edge cases with child-less menuitems.
3188         
3189 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
3190
3191         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
3192         key pop down window. (#12074, Jon K Hellan)
3193
3194 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
3195
3196         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
3197         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
3198         The solution here isn't perfect - you get an extraneous
3199         emission of "toggle", which could conceivably confuse an app,
3200         but better than the current situation. LXR search seems to
3201         indicate that no apps in GNOME CVS connect to "toggle".
3202
3203 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
3204
3205         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
3206         gtk_public_h_sources to directly here to avoid warning when
3207         building srcdir != builddir. (#9656)
3208
3209 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
3210
3211         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
3212         handlers in gtkrange.c return the proper values (TRUE == handled)
3213         (#10316).
3214
3215         This is just the tip of the iceberg, but gtkrange.c is the
3216         most common place where the propagation is problematical,
3217         and also a place where it is almost certainly safe to change
3218         this in the stable branch.
3219
3220         (You don't want right click popups on a range control or anything...)
3221
3222 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
3223
3224         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
3225         area on focus out, even if a background pixmap isn't set.
3226         (#13941)
3227         
3228 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
3229
3230         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
3231         to deal with setting the shape properly when scrolling arrows are
3232         turned on, but not visible because there is sufficient space.
3233         (#13432)
3234
3235 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
3236
3237         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
3238         items with submenus, destroy the item along with the submenu.
3239         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
3240         properly.
3241
3242         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
3243         later.
3244
3245 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
3246
3247         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
3248         the focus widget sometimes wasn't drawn with the default if there
3249         was no default widget.
3250
3251         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
3252         unreference pixmaps. 
3253
3254         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
3255         for some extra safety.
3256
3257 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
3258
3259         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
3260         the text of a cell to the old pointer value better, by
3261         copying the new text before freeing the old text. Some code
3262         cleanup. (#8079, Karl Nelson)
3263
3264 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
3265
3266         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
3267         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
3268
3269 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
3270
3271         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
3272         item from a menu, check to see if it matches 
3273         menu->old_active_menu_item, and if so, unref and clear
3274         old_active_menu_item (Patch from Pavel Cisler)
3275
3276         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
3277         menu_shell->active_menu_item, if it is the child being
3278         removed. (Patch based on that of Gene Ragan, #50337)
3279
3280 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
3281
3282         * gdk/linux-fb/gdkselection-fb.c: 
3283         * gdk/linux-fb/gdkcolor-fb.c: 
3284         * gdk/linux-fb/gdkdrawable-fb2.c: 
3285         * gdk/linux-fb/gdkfont-fb.c: 
3286         * gdk/linux-fb/gdkim-fb.c: 
3287         * gdk/linux-fb/gdkinput.c: 
3288         * gdk/linux-fb/gdkkeyboard-fb.c: 
3289         * gdk/linux-fb/gdkmain-fb.c: 
3290         * gdk/linux-fb/gdkrender-fb.c: 
3291         A bunch of whitespace cleanup.
3292         
3293 2001-01-30  Havoc Pennington  <hp@pobox.com>
3294
3295         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
3296         #ifdef GTK_ENABLE_BROKEN.
3297
3298         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
3299         GTK_ENABLE_BROKEN just before including the broken headers.
3300         
3301         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
3302         deprecated types registered.
3303
3304         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
3305         we have to test the broken stuff.
3306
3307         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
3308         
3309 2001-01-30  Havoc Pennington  <hp@redhat.com>
3310
3311         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
3312         here where prev pointer was set to the wrong thing
3313
3314         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
3315         (gtk_tree_path_is_descendant): new function
3316
3317         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
3318         cached length
3319         (gtk_list_store_get_iter): don't modify iter if we can't get the
3320         path.
3321
3322         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
3323         
3324         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
3325         GtkTreeDragDest
3326
3327         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
3328         was causing segfault
3329
3330         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
3331         pointer to NULL
3332
3333         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
3334
3335         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
3336         on returning FALSE
3337         (gtk_list_store_iter_children): ditto
3338         (gtk_list_store_iter_nth_child): ditto
3339         (gtk_list_store_iter_nth_child): ditto
3340         (gtk_list_store_iter_parent): ditto
3341
3342         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
3343         on iter->user_data != NULL instead of silently accepting it.
3344         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
3345         we are returning TRUE.
3346         (gtk_tree_store_iter_children): ditto
3347         (gtk_tree_store_iter_nth_child): ditto
3348         (gtk_tree_store_iter_parent): ditto
3349         (gtk_tree_store_insert): remove handling of parent->user_data ==
3350         NULL, replace with parent == NULL       
3351
3352         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
3353         and a comment explaining things
3354
3355         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
3356         interface support to GtkTreeStore.
3357
3358         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
3359         FALSE if no prev, fix
3360
3361         * gtk/gtktreeview.c (set_source_row): use a row reference
3362         (set_dest_row): use a row reference
3363
3364 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
3365
3366         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
3367         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
3368         (gtk_tree_selection_select_iter): The same as above.
3369
3370 2001-01-26  Havoc Pennington  <hp@redhat.com>
3371
3372         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
3373         which holds a handle to a specific row (particular set of values
3374         in the model, i.e. pointer-identity row).
3375
3376         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
3377         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
3378         Still need to use it for the src/dest row saved on the drag context.
3379
3380 2001-01-26  Havoc Pennington  <hp@redhat.com>
3381
3382         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
3383
3384         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
3385         not offset by TREE_VIEW_HEADER_HEIGHT
3386         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
3387         TREE_VIEW_HEADER_HEIGHT
3388
3389         * configure.in (included_loaders): for me, --with-included-loaders
3390         generates the error "the specified loader yes does not exist",
3391         i.e. the arg defaults to "yes", so change test for value ""
3392         to test for value "yes", and include all loaders in that case.
3393
3394         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
3395
3396         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
3397         handle TREE_VIEW_VERTICAL_SEPARATOR
3398         (gtk_tree_view_bin_expose): fix to consider the row offset as
3399         pointing halfway into vertical separator.       
3400         (gtk_tree_view_draw_node_focus_rect): ditto
3401
3402         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
3403         --gtk-debug=updates, which causes gdk_window_set_debug_updates
3404         (TRUE) to be called.
3405
3406         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
3407         debug mode where the invalid region is colored in on invalidate,
3408         so you can see the flicker and know whether your redraw code is 
3409         doing a good job.
3410
3411         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
3412         tree window coordinates (clip rect is in tree window coords)
3413
3414         * gtk/Makefile.am: add gtktreednd.[hc]
3415
3416         * gtk/gtkliststore.c: implement gtktreednd interfaces.
3417
3418         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
3419         drag-and-drop data operations on a model (so we can set up tree
3420         drag-and-drop automatically)
3421
3422         * gtk/testgtk.c: Add a window to change sensitivity in the
3423         GtkLabel test; add a way to change the entry frame in GtkEntry
3424         test
3425
3426         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
3427         (gtk_entry_get_has_frame): new functions to remove the frame
3428         around an entry
3429         (gtk_entry_size_request): shrink requisition if no frame
3430         (gtk_entry_draw_focus): don't draw frame if no frame
3431
3432         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
3433         checks inside a cell renderer
3434         (gtk_default_draw_option): ditto for options
3435
3436         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
3437         children from the alignment, not the button
3438         (gtk_tree_view_column_init): ref/sink the column, to emulate
3439         GObject refcounting.
3440
3441         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
3442         
3443         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
3444         Use theme functions to draw the toggles 
3445
3446         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
3447
3448         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
3449         GdkPangoAttrEmbossed to use in rendering insensitive text
3450
3451         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
3452
3453         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
3454         using new GDK features
3455         
3456 2001-01-24  Alexander Larsson  <alexl@redhat.com>
3457
3458         * gtk/gtkimage.c:
3459         Splitted gtk_image_clear into gtk_image_clear() and
3460         gtk_image_reset(). Call gtk_image_clear() in ::destroy
3461         to avoid leaks.
3462
3463         * gtk/gtklabel.c (set_markup):
3464         Don't leak text.
3465
3466         * gtk/gtktextlayout.c:
3467         Always free display->shaped_objects.
3468
3469         * gtk/testgtk.c (create_clist):
3470         Don't leak custom style.
3471
3472 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3473
3474         * gtk/gtkcolorsel.c (grab_color_at_mouse):
3475         Don't leak image. Simplify using gdk_colormap_query_color().
3476         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
3477
3478         * linux-fb/gdkcolor-fb.c:
3479         Implemented gdk_colormap_query_color.
3480
3481 2001-01-23  Alexander Larsson  <alexl@redhat.com>
3482
3483         * linux-fb/gdkcursor-fb.c:
3484         Don't leak built-in cursors.
3485
3486         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
3487         Don't leak tmp_points.
3488
3489         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
3490         Don't modify desc. Don't leak font if the PangoFont
3491         isn't found.
3492         
3493         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
3494         Free dash_list.
3495
3496         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
3497         Don't leak string.
3498         
3499 2001-01-20  Havoc Pennington  <hp@pobox.com>
3500
3501         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
3502         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
3503         me, matches Pango
3504
3505 2001-01-22  Havoc Pennington  <hp@redhat.com>
3506
3507         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
3508
3509         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
3510
3511         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
3512         Remove, move back to gdk-pixbuf
3513
3514         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
3515         to all the word functions
3516
3517         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
3518         before doing anything on NULL layout or if we don't have the focus
3519
3520         * gtk/testtext.c (fill_example_buffer): "justification"
3521
3522         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
3523         to be called "justification" not "justify"
3524
3525         * demos/gtk-demo/textview.c (create_tags): "justification"
3526         
3527         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
3528
3529 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3530
3531         * gdk/gdkwindow.c (gdk_window_invalidate_region):
3532         Don't leak visible_region. Use visible_region instead of region.
3533         
3534         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
3535         Don't do extra gdk_drawable_ref(). This is not X.
3536         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
3537         gdk_fb_focused_window is ref:ed.
3538         (gdk_fb_window_send_crossing_events): Watch out for destroyed
3539         windows.
3540
3541 2001-01-22  Alexander Larsson  <alexl@redhat.com>
3542
3543         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
3544         Don't leak the PangoFontDescriptor.
3545
3546 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
3547
3548         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
3549         when not realized.
3550         (gtk_tree_view_scroll_to_cell): Make work when not realized.
3551         (gtk_tree_view_realize): add scroll_to support
3552         (gtk_tree_view_finalize): add a finalize method.  Populate.
3553         (gtk_tree_view_insert_column): ref and sink the column.
3554         (gtk_tree_view_append_column): ref and sink the column.
3555         (gtk_tree_view_queue_draw_node): New function to handle redrawing
3556         individual nodes.  Should make the code much more efficient, if
3557         actually used.
3558
3559 2001-01-19  Havoc Pennington  <hp@redhat.com>
3560
3561         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
3562         byte_offset variable was being used to mean both "offset into
3563         layout" and "offset into buffer line" which was no longer true
3564         with addition of preedit string; fix
3565
3566 2001-01-19  Havoc Pennington  <hp@redhat.com>
3567
3568         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
3569
3570         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
3571         function
3572
3573         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
3574         implement
3575
3576         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
3577         scroll_to_cell, matches TextView scroll functions better
3578         (gtk_tree_view_tree_to_widget_coords): new function
3579         (gtk_tree_view_widget_to_tree_coords): new function
3580         (gtk_tree_view_get_visible_rect): new function
3581         (gtk_tree_view_get_path_at_pos): accept negative coordinates
3582         (gtk_tree_view_draw_node_focus_rect): new function moved from
3583         draw_focus, also, use width of bin_window as width of the focus
3584         rect
3585         (gtk_tree_view_expand_row): fix bug where it didn't recognize
3586         already-expanded rows
3587         (gtk_tree_view_get_cell_rect): new function
3588         (gtk_tree_view_get_path_at_pos): return the click position
3589         relative to the passed-in cell
3590         (gtk_tree_view_set_expander_column): new function
3591
3592         * configure.in: remove gtk-config-2.0 chmod
3593
3594         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
3595         and properly handle drags with targets we don't understand
3596         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
3597         scrolling anyway
3598         (gtk_text_view_drag_drop): stop scrolling here though, and set the
3599         mark invisible
3600
3601         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
3602         function
3603         (gtk_drag_dest_get_target_list): new function
3604         (gtk_drag_dest_set_target_list): new function
3605         
3606         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
3607
3608         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
3609         related to drag-and-drop
3610
3611 2001-01-19  Alexander Larsson  <alexl@redhat.com>
3612
3613         * gdk/linux-fb/gdkprivate-fb.h:
3614         Define EMULATE_GDKFONT.
3615         Add extra pango_font stuff to GfkFontPrivate.
3616         
3617         * gdk/linux-fb/gdkdrawable-fb2.c:
3618         * gdk/linux-fb/gdkfont-fb.c:
3619         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
3620         emulation using PangoFont.
3621
3622 2001-01-17  Havoc Pennington  <hp@pobox.com>
3623
3624         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
3625         all the non-deprecated set_foo functions. Added missing object
3626         properties, and added g_object_notify() to setters. 
3627         Wrote docs.
3628         
3629 2001-01-18  Tor Lillqvist  <tml@iki.fi>
3630
3631         * gtk/gtkmain.c
3632         * gtk/gtkrc.c: (Win32) Use the new
3633         g_win32_get_package_installation_(sub)directory() functions.
3634
3635         * config.h.win32.in: New file.
3636         
3637         * config.h.win32: Removed.
3638
3639         * configure.in: Output config.h.win32.
3640
3641         * Makefile.am: Add it to EXTRA_DIST.
3642
3643         * gtk/gtk.def: Update.
3644
3645 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
3646
3647         * gtk/gtklabel.c (gtk_label_size_request): Set the
3648         attributes onto the PangoLayout even if they are newly
3649         created from label->pattern.
3650
3651 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
3652
3653         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
3654
3655         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
3656         structures in functions. Fixes bug where gtk_dataset_*
3657         was accidentally still being used in one place, causing
3658         every dest side event to be treated independently.
3659
3660         * gtk/gtkdnd.c: Remove last vestages of handling
3661         ::draw (fixes warning)
3662         
3663         * gtk/gtkentry.[ch]: Add drag and drop support.
3664
3665         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
3666         new function gtk_check_drag_threshhold() for checking
3667         to check if (dx,dy) has exceeded the threshhold for starting
3668         a drag and use it everywhere.
3669
3670 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
3671
3672         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
3673         add -I{includedir}/gtk-2.0.
3674
3675         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
3676         gdk/gdk-pixbuf.h: Doc fixups.
3677         
3678         * gtk/gtkobject.h: Remove trailing , from enum
3679
3680 2001-01-17 Alexander Larsson <alexl@redhat.com> 
3681
3682         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
3683         Doh! Mixed up x and y.
3684
3685         * gdk/linux-fb/gdkglobals-fb.c:
3686         Removed gdk_fb_pointer_grab_window_events,
3687         added _gdk_fb_pointer_grab_owner_events and
3688         _gdk_fb_keyboard_grab_owner_events.
3689
3690         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
3691         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
3692         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
3693         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
3694         Send crossing events after ungrab finished.
3695         (gdk_keyboard_grab): Set ..._owner_events
3696         (type_masks): Move out of function.
3697         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
3698         gdk_fb_keyboard_event_window): New functions, return the
3699         window an event should be targeted at. Handles grabs and
3700         event propagation. Can return NULL.
3701         (gdk_event_make): Remove event_mask checking. Now always
3702         returns an event.
3703                 
3704         * gdk/linux-fb/gdkkeyboard-fb.c:
3705         * gdk/linux-fb/gdkproperty-fb.c:
3706         * gdk/linux-fb/gdkselection-fb.c:
3707         Use new event_window/gdk_event_make() behaviour.
3708         
3709         * gdk/linux-fb/gdkmouse-fb.c:
3710         Use new event_window/gdk_event_make() behaviour.
3711         Only send motion events if in the same window.
3712         If grabbed, use cursor from window if sibling of grabbed
3713         window, and cursor from grabbed window otherwise.
3714
3715         * gdk/linux-fb/gdkprivate-fb.h:
3716         Update gdk_fb_window_send_crossing_events, gdk_event_make
3717         and grab varaible declarations. Add gdk_fb_*_event_window().
3718
3719         * gdk/linux-fb/gdkwindow-fb.c:
3720         Use new event_window/gdk_event_make() behaviour.
3721         Keep correct track of focus window.
3722         (gdk_window_set_events): Set all specific button motion masks
3723         if GDK_BUTTON_MOTION_MASK set.
3724
3725         * gtk/gtkdnd.c (gtk_drag_update):
3726         Free info->last_event if gdk_drag_motion returned FALSE.
3727
3728 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3729
3730         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
3731         Eliminate redraws when input-only windows are shown or
3732         hidden. Thanks to jpe@archaeopteryx.com.
3733
3734 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
3735
3736         * docs/faq/gtk-faq.sgml: FAQ update:
3737           - Update to bugzilla
3738           - Add GTK+ and security/SUID/SGID
3739           - Add DnD question
3740
3741 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
3742
3743         * gdk/linux-fb/gdkdnd-fb.c:
3744         Some cleanups.
3745         
3746 2001-01-15  Havoc Pennington  <hp@pobox.com>
3747
3748         * tests/testtreeview.c: add test stuff for CellRendererToggle
3749
3750         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
3751         accessor
3752
3753         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
3754         only toggle on button press (would do release like GtkButton, but
3755         we'd need implicit grab code for treeview cells)
3756
3757 2001-01-16  Tor Lillqvist  <tml@iki.fi>
3758
3759         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
3760
3761         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
3762         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
3763
3764         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
3765         to g_{locale,filename}_{to,from}_utf8 to match current API.
3766
3767         * gtk/makefile.msc.in (gtk_OBJECTS)
3768         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
3769
3770         * gtk/gtk.def: Update.
3771
3772 2001-01-15  Tor Lillqvist  <tml@iki.fi>
3773
3774         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
3775         implementaion that more closely mimics the events that an X server
3776         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
3777         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
3778         with nested preview widgets, for instance, more responsive when
3779         you move the mouse quickly into them.
3780         (find_window_for_pointer_event): Make it actually compile.
3781         (gdk_event_translate): Set send_event to the value of
3782         InSendMessage (). This doesn't really mean the same as X11's
3783         send_event flag, but is close enough, says jpe@archaeopteryx.com
3784
3785 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3786
3787         * gdk/linux-fb/gdkdnd-fb.c:
3788         Implemented drag and drop.
3789         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
3790         when it tries to free and then copy the same event (info->last_event).
3791         I am not sure about why this happens, but will continue looking.
3792
3793 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3794
3795         * gdk/linux-fb/gdkwindow-fb.c:
3796         Use gdk_window_invalidate_rect instead of
3797         gdk_window_invalidate_rect_clear to minimise flashing.
3798         When hiding windows you need to clear the root window though.
3799
3800 2001-01-15  Alexander Larsson  <alexl@redhat.com>
3801
3802         * gdk/linux-fb/gdkdrawable-fb2.c:
3803         For optization, add an full_shapes argument to gdk_fb_clip_region.
3804         If this is false, only the cliprects of the shapes are used.
3805
3806         * gdk/linux-fb/gdkprivate-fb.h:
3807         Export gdk_fb_window_peek_shape.
3808         Add full_shapes to gdk_fb_clip_region.
3809
3810         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3811         When moving a window, don't clear everything under the it, just the
3812         root window. Makes stuff faster and flash less.
3813         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
3814         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
3815         offset of the shape.
3816         
3817
3818 2001-01-12  Havoc Pennington  <hp@redhat.com>
3819
3820         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
3821         current invalid region, fixes redraw bug while scrolling the 
3822         text widget
3823
3824         * gtk/gtktextview.c, gtk/gtktextview.h:
3825         Rearrange the scrolling/validation/etc. code in a major way, 
3826         so it seems to make sense to me. Probably isn't genuinely that
3827         much better, but...
3828
3829         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
3830         notifies
3831
3832         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
3833
3834 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
3835
3836         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
3837         Hide mouse pointer while rotation. Show it afterwards.
3838
3839 2001-01-12  Alexander Larsson  <alexl@redhat.com>
3840
3841         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
3842         windows in consideration when generating clip region.
3843
3844         * gdk/linux-fb/gdkfb.h:
3845         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
3846
3847         * gdk/linux-fb/gdkprivate-fb.h:
3848         Add shape to GdkWindowFBDatat.
3849         exported gdk_fb_window_get_abs_shape().
3850         removed gdk_fb_draw_lines declaration.
3851
3852         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
3853         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
3854         send focus changes when there is a grabbed window.
3855         (gdk_window_get_pointer): Handle shaped windows.
3856         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
3857         (gdk_fb_window_peek_shape): Returns the shape for a window,
3858         handles GDK_FB_USE_CHILD_SHAPE.
3859         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
3860         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
3861         (gdk_window_shape_combine_mask): Implement.
3862
3863         * gtk/gtkwindow-decorate.c:
3864         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
3865         setting the shape of a window makes the window transparent.
3866
3867 2001-01-11  Havoc Pennington  <hp@redhat.com>
3868
3869         * gtk/gtktreemodelsimple.h: Oops, broke some macros
3870
3871 2001-01-10  Havoc Pennington  <hp@redhat.com>
3872
3873         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
3874         add this function, bug 40251
3875
3876         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
3877         of type macro   
3878
3879 2001-01-11  Alexander Larsson  <alexl@redhat.com>
3880
3881         * acconfig.h:
3882         Added ENABLE_SHADOW_FB
3883
3884         * configure.in:
3885         Added --disable-shadowfb
3886
3887         * gdk/linux-fb/gdkcursor-fb.c:
3888         Update shadowfb when updating cursor
3889
3890         * gdk/linux-fb/gdkdrawable-fb2.c:
3891         Added wrappers for shadowfb that calls  the normal drawable
3892         methods, but calls gdk_shadow_fb_update(bounding box) when
3893         GdkWindows are drawed to.
3894         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
3895         which also returns the bounding box.
3896
3897         * gdk/linux-fb/gdkfb.h:
3898         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
3899
3900         * gdk/linux-fb/gdkgeometry-fb.c:
3901         Update shadowfb when scrolling window.
3902
3903         * gdk/linux-fb/gdkglobals-fb.c:
3904         Add _gdk_fb_screen_angle.
3905         
3906         * gdk/linux-fb/gdkkeyboard-fb.c:
3907         Test code for screen rotation. Shift-F2 in the xlate driver
3908         rotates the screen.
3909
3910         * gdk/linux-fb/gdkmain-fb.c:
3911         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
3912
3913         * gdk/linux-fb/gdkmouse-fb.c:
3914         Use fb_width/height instead of modeinfo.xres/yres.
3915
3916         * gdk/linux-fb/gdkprivate-fb.h:
3917         Added fb_men, fb_width, fb_height & fb_stride. When using
3918         shadow fb these can differ from the framebuffer stuff.
3919         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
3920         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
3921         _gdk_fb_screen_angle. Removed CM, RP.
3922
3923         * gdk/linux-fb/gdkrender-fb.c:
3924         Added code for shadowfb handling and screen rotation using
3925         shadowfb.
3926
3927         * gdk/linux-fb/gdkwindow-fb.c:
3928         Use fb_mem, fb_stride, fb_width, fb_height.
3929         Added recompute_rowstride to reset the rowstride of all windows.
3930         Added gdk_fb_recompute_all() which recomputes rootwindow size,
3931         window abs positions and window rowstrides. Usefull when the
3932         rotation has changed.
3933
3934 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
3935
3936         * docs/faq/gtk-faq.sgml: update to make web site updating easier
3937
3938 2001-01-10  Havoc Pennington  <hp@redhat.com>
3939
3940         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
3941         where sibling == iter
3942         (gtk_tree_store_insert_after): handle sibling == iter
3943         (gtk_tree_store_prepend): remove stamp checks
3944         (gtk_tree_store_insert_before): ditto
3945         (gtk_tree_store_append): ditto
3946         (gtk_tree_store_get_path): ditto
3947         (gtk_tree_store_get_value): ditto
3948         (gtk_tree_store_iter_has_child): ditto
3949         (gtk_tree_store_iter_n_children): ditto
3950         (gtk_tree_store_iter_nth_child): ditto
3951         (gtk_tree_store_insert_after): ditto
3952         (gtk_tree_store_is_ancestor): ditto
3953         (gtk_tree_store_iter_depth): ditto
3954         (gtk_tree_store_insert_before): assert that sibling's parent is
3955         the same as the passed-in parent
3956         (gtk_tree_store_insert_after): assert that sibling's parent is
3957         the same as the passed-in parent
3958
3959         
3960         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
3961         function to get the first iterator in a model
3962         
3963         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
3964         conventionally the "root" in this sense is just NULL afaict.
3965
3966         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
3967         where sibling == iter
3968         (gtk_list_store_insert_after): handle case where sibling == iter
3969
3970         * tests/testtreeview.c (run_automated_tests): fairly lame basic
3971         automated tests for ListStore, TreeStore
3972
3973         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
3974         (gtk_list_store_insert): update tail pointer, and fix it to work
3975         (gtk_list_store_insert_before): update tail pointer, and fix it to work
3976         (gtk_list_store_append): use tail to be faster
3977         (gtk_list_store_prepend): fix it, update tail pointer
3978         (gtk_list_store_insert_after): fix it, update tail pointer
3979
3980         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
3981         the list
3982
3983 2001-01-09  Havoc Pennington  <hp@redhat.com>
3984
3985         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
3986         is NULL due to a pending resize
3987
3988         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
3989         column width to values less than 1
3990
3991         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
3992         width to be between min/max width, and still set the width 
3993         even if autosize is turned on, so the tree view can use this 
3994         function in order to autosize.
3995         (gtk_tree_view_column_init): set initial width to 1 not 0
3996
3997         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
3998         setter function to modify column width, so we get notification
3999         (gtk_tree_view_insert_iter_height): ditto
4000         (gtk_tree_view_calc_size): ditto
4001         (gtk_tree_view_check_dirty): ditto
4002
4003         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
4004         properties to change all the interesting attributes of the tree
4005         view column.
4006         (gtk_tree_view_column_set_header_clickable): rename set_clickable
4007         (gtk_tree_view_column_get_clickable): add
4008         (gtk_tree_view_column_set_cell_renderer): don't unset the current
4009         attributes; assume a cell renderer with equivalent object
4010         properties has been swapped in. Do g_object_notify().
4011         (gtk_tree_view_column_set_visible): g_object_notify
4012         (gtk_tree_view_column_get_sizing): rename from get_col_type
4013         (gtk_tree_view_column_set_sizing): g_object_notify
4014         (gtk_tree_view_column_set_width): add g_object_notify
4015         (gtk_tree_view_column_set_min_width): ditto
4016         (gtk_tree_view_column_set_max_width): ditto
4017         (gtk_tree_view_column_set_title): ditto
4018         (gtk_tree_view_column_set_clickable): ditto
4019         (gtk_tree_view_column_set_widget): ditto
4020         (gtk_tree_view_column_set_justification): ditto
4021
4022 2001-01-09  Havoc Pennington  <hp@redhat.com>
4023
4024         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
4025         there are no rows in the model
4026
4027         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
4028         NULL, then return the start of the list
4029
4030         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
4031         if we can't get any rows from an empty model 
4032
4033         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
4034         extraneous * after function pointer typedef usage
4035
4036         * Makefile.am: don't specify full path to cp and rm
4037
4038         * gtk/gtkcellrenderertextpixbuf.c
4039         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
4040         NULL before dereferencing, fixes a segfault that happened from
4041         time to time
4042
4043         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
4044         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
4045         and reindent the function
4046         (gtk_cell_renderer_pixbuf_get_size): indentation
4047
4048         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
4049         we quit it
4050         (gtk_dialog_add_buttons_valist): add g_return_if_fail
4051         (gtk_dialog_set_default_response): New function, to set default
4052         button
4053         (gtk_dialog_set_response_sensitive): New function, to set 
4054         sensitivity of buttons
4055
4056         * gtk/gtkcellrendererpixbuf.c
4057         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
4058         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
4059
4060         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
4061         handle any G_TYPE_OBJECT subclass, not just the base class, and 
4062         also boxed types.
4063         (_gtk_tree_data_list_value_to_node): ditto
4064
4065         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
4066         --gtk-debug=tree
4067
4068         * gtk/gtkmain.c: add GTK_DEBUG_TREE
4069
4070         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
4071
4072 2001-01-09  Tor Lillqvist  <tml@iki.fi>
4073
4074         * gdk/win32/gdkevents-win32.c: Implement better mouse
4075         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
4076         (find_window_for_pointer_event): New function.
4077         (gdk_event_translate): Use it when handling mouse events.
4078
4079 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
4080
4081         * configure.in:
4082         Added --with-included-loaders option
4083
4084         * gdk-pixbuf/Makefile.am:
4085         * gdk-pixbuf/gdk-pixbuf-io.c:
4086         Add support for including selected gdk-pixbuf loaders only.
4087
4088         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
4089         gtk_window_set_has_frame):
4090         Added inline documentation.
4091
4092         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
4093         * docs/reference/gdk/tmpl/windows.sgml:
4094         Added inline documentation.
4095
4096 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
4097
4098         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
4099         realizing buttons that have already been realized.
4100
4101 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
4102
4103         * tests/testtreeview.c (main): Show menu items before adding to
4104         option menu.
4105
4106         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
4107         around if we kill them.
4108
4109         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
4110         Return if we pass in a NULL model.
4111
4112 2001-01-08  Havoc Pennington  <hp@redhat.com>
4113
4114         * tests/testtreeview.c: hack on this some
4115
4116         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
4117         gtk_tree_store_set_valist, v is for arrays, valist for varargs
4118         list
4119         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
4120
4121         * gtk/gtkliststore.h: Add varargs set() and get() convenience
4122         functions
4123
4124 2001-01-08  Alexander Larsson  <alexl@redhat.com>
4125
4126         * gtk/gtkwindow-decorate.[hc]:
4127         * gtk/Makefile.am:
4128         New files. Contains an implementation of a minimal WM for
4129         linux-fb.
4130
4131         * gtk/gtkwindow.h:
4132         Add the possibility for GtkWindows to specify a frame. This
4133         is used for the window decoration code, but could concievably
4134         be used for X programs too (xmms style windows).
4135         GtkWindow->frame is the toplevel window if the window is framed.
4136         The signal frame_event gets all events that are targeted to
4137         GtkWindow->frame.
4138         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
4139         
4140         * gtk/gtkwindow.c:
4141         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
4142         Call out to gtkwindow-decorate.c for WM support in linx-fb.
4143
4144 2001-01-08  Alexander Larsson  <alexl@redhat.com>
4145
4146         * docs/README.linux-fb:
4147         Correct filename ~/.pangoft2_aliases
4148
4149         * gdk/gdkwindow.h:
4150         Added new function gdk_window_get_decorations.
4151
4152         * gdk/linux-fb/gdkfb.h:
4153         Removed _gdk_window_get_decorations declaration.
4154         Renamed _gdk_window_set_child_handler to
4155         gdk_fb_window_set_child_handler.
4156
4157         * gdk/linux-fb/gdkwindow-fb.c:
4158         Renamed _gdk_window_set_child_handler to
4159         gdk_fb_window_set_child_handler.
4160
4161         * gdk/x11/gdkwindow-x11.c:
4162         New function gdk_window_get_mwm_hints().
4163         Implemented gdk_window_get_decorations.
4164
4165         * docs/reference/gdk/tmpl/windows.sgml:
4166         * docs/reference/gdk/gdk-sections.txt:
4167         Added gdk_window_get_decorations docs.
4168         
4169 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
4170
4171         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
4172         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
4173         gdk_fb_window_send_crossing_events):
4174         Possibly send focus events when the mouse moves from one
4175         window to another.
4176
4177 2001-01-07  Tor Lillqvist  <tml@iki.fi>
4178
4179         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
4180         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
4181         to match current API.
4182
4183         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
4184         environment variable is set, don't call g_error when on a
4185         palettized (PseudoColor) display. Some people want to use GTK+ 
4186         in 256-colour mode even though works only partially.
4187
4188         * gdk/gdk.def
4189         * gtk/gtk.def
4190         * gtk/makefile.mingw.in: Update.
4191
4192 2001-01-05  Havoc Pennington  <hp@redhat.com>
4193
4194         * tests/testtreeview.c: hack on this a bit
4195
4196         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
4197         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
4198
4199         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
4200         was spelled incorrectly
4201         (GTK_IS_TREE_MODEL_SIMPLE): ditto
4202
4203         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
4204         from gtk_tree_view_set_headers_active   
4205
4206         * gtk/gtktexttag.c:
4207         (gtk_text_tag_get_property): handle PROP_DIRECTION
4208         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
4209         properties, bug 40235
4210
4211         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
4212         forward_to_line_end
4213
4214 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
4215
4216         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
4217         modules/input/gtkimcontextxim.c: Adapt to new prototypes
4218         for unicode,locale,filename conversion functions.
4219
4220 2001-01-05  Havoc Pennington  <hp@redhat.com>
4221
4222         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
4223         broken if called on the first position in the buffer.
4224
4225         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
4226         forward_to_delimiters to be called only if we aren't already at
4227         the delimiters.
4228
4229 2001-01-05  Havoc Pennington  <hp@redhat.com>
4230
4231         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
4232
4233 2001-01-05  Alexander Larsson  <alexl@redhat.com>
4234
4235         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
4236         colormap in here. Sync from X port.
4237         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
4238         Sync from X port.
4239         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
4240         This happens now and then, and i don't think it is a bug.
4241         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
4242         != endpoint.
4243         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
4244         GDK_LINE_SOLID.
4245
4246         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
4247         some of the fields filled in at least.
4248
4249         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
4250         miLineArcD is no more, remove it from the function definition.
4251
4252 2001-01-04  Havoc Pennington  <hp@redhat.com>
4253
4254         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
4255         this
4256
4257         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
4258         user_data instead of tree_node
4259
4260         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
4261         TREE_VIEW_COLUMN_SIZE
4262
4263         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
4264         "size" field to "width" finishes bug 40061
4265
4266         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
4267         for bitfields, bug 40268
4268
4269 2001-01-04  Havoc Pennington  <hp@redhat.com>
4270
4271         Rename some stuff:
4272         
4273         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
4274
4275         s/GtkModelSimple/GtkTreeModelSimple/g;
4276         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
4277         s/gtk_model_simple/gtk_tree_model_simple/g;
4278         s/gtkmodelsimple/gtktreemodelsimple/g;
4279
4280         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
4281
4282         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
4283         s/column_set_col_type/column_set_sizing/g;
4284
4285         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
4286         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
4287
4288         s/GtkCellRendererType/GtkCellRendererState/g;
4289         
4290         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
4291         (gtk_cell_renderer_toggle_class_init): change "state" property to
4292         "active", to match GtkToggleButton
4293         (gtk_cell_renderer_toggle_get_active): new function, bug
4294         40269
4295         (gtk_cell_renderer_toggle_set_active): new function
4296         (gtk_cell_renderer_toggle_set_property): route changes to toggle
4297         state through gtk_cell_renderer_set_active
4298
4299 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
4300
4301         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
4302         temporarily until they work again.  Brought up to date with
4303         changes in the model.
4304         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
4305         model.
4306
4307 2001-01-04  Havoc Pennington  <hp@redhat.com>
4308
4309         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
4310         equal to the line length, then position iterator before paragraph 
4311         separators. Fixes crash reported by Mikael Hermansson when
4312         pressing left arrow from the start of a line.   
4313
4314         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
4315         about byte indexes off the end
4316         (iter_set_from_char_offset): add g_error about char offsets
4317         off the end
4318
4319 2001-01-03  Havoc Pennington  <hp@redhat.com>
4320
4321         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
4322
4323         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
4324         of private functions; remove inclusion of private headers.
4325
4326         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
4327         function, so we don't need private functions in gtktextdisplay.c
4328
4329         * gtk/gtktextiterprivate.h: underscore-ification
4330
4331         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
4332         to instead say "only useful to implement widgets"
4333
4334         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
4335         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
4336         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
4337
4338         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
4339         This function was completely broken
4340
4341         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
4342
4343         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
4344
4345         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
4346
4347         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
4348
4349         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
4350
4351         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
4352
4353         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
4354         gtk_paint_layout
4355
4356         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
4357         gtk_paint_layout
4358
4359         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
4360         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
4361         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
4362         which were not implemented.     
4363
4364         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
4365         insert_pixbuf signal. Rename delete_text to delete_range since it
4366         also deletes pixbufs and child anchors. This almost closes bug
4367         40245 (still need to deal with child anchors)
4368
4369         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
4370         insert_pixbuf, change signal names as appropriate, change types of
4371         signals taking marks/tags to have the specific type, not just
4372         G_TYPE_OBJECT
4373         
4374         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
4375         closes bug 40051
4376
4377         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
4378         unnecessary remove_contents() call
4379         (gtk_option_menu_class_init): add a "changed" signal, closes
4380         bug 40039
4381         (gtk_option_menu_update_contents): emit "changed" if the 
4382         active menu item changes
4383
4384         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
4385         cast to GtkObject, reported by Jonas Borgstrom
4386         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
4387         we can't do stuff with side effects in finalize. Instead, spew a
4388         warning if the loader isn't closed.
4389
4390         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
4391         colormap in here, non-X ports probably need to sync to this change
4392
4393         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
4394         assertion that colormap != NULL, you can set the colormap to NULL
4395         if you like.
4396         
4397         * Makefile.am: remove gtk-config-2.0
4398
4399         * configure.in: Use pkg-config to locate GLib. Remove
4400         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
4401         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
4402         Use pkg-config to locate Pango. Output correct Pango libs to
4403         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
4404
4405         * Makefile.am (pkgconfig_DATA): install only target-specific pc
4406         files
4407         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
4408         X11 pc files
4409
4410         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
4411         unref from here
4412
4413 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
4414
4415         * configure.in:
4416         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
4417
4418 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
4419
4420         * gtk/gtktextlayout.c
4421         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
4422         variable when moving back onto a single line.
4423
4424 2001-01-01  Havoc Pennington  <hp@redhat.com>
4425
4426         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4427
4428         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
4429
4430         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
4431         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
4432
4433 2001-01-01  Havoc Pennington  <hp@redhat.com>
4434
4435         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
4436
4437         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
4438         GtkTextAttributes
4439
4440         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
4441         #40246
4442         (gtk_text_attributes_copy_values): rename from 
4443         gtk_text_attributes_copy
4444         (gtk_text_attributes_copy): a more standard GTK copy function, 
4445         which returns a new object
4446
4447 2001-01-01  Havoc Pennington  <hp@redhat.com>
4448
4449         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
4450         
4451         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
4452         don't fill in tree_view->priv->selection, kind of an unexpected
4453         side effect
4454
4455         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
4456         gtkintl.h
4457         
4458         * gtk/gtkcellrenderer.c: Remove definition of _ and include
4459         gtkintl.h
4460         (gtk_cell_renderer_get_property): remove calls to g_value_init
4461
4462         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
4463         gtkintl.h
4464
4465         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
4466         and include gtkintl.h
4467         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
4468         property names
4469
4470         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
4471         GtkTreeSelection
4472         (_gtk_tree_selection_new_from_with_view): rename, return
4473         GtkTreeSelection
4474         (_gtk_tree_selection_set_tree_view): rename with uscore
4475         (gtk_tree_selection_get_selected): fill in the "model" out param
4476         first, so it gets filled in even if we return at the top of the 
4477         function
4478         (gtk_tree_selection_real_select_all): add a comment and an else{}
4479         to clarify this a bit
4480         (gtk_tree_selection_real_unselect_all): add the same else{}
4481
4482         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
4483         set_tree_view to have underscore prefixes, move them to the
4484         private header, fix return type of new_with_tree_view
4485         (struct _GtkTreeSelection): mark struct
4486         fields private  
4487
4488         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
4489         GtkTreeModelFlags, not a guint
4490         (gtk_tree_path_prev): return gboolean not gint
4491         (gtk_tree_path_up): return gboolean not gint
4492
4493         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
4494         return GtkTreeModelFlags, not a guint
4495
4496         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
4497         that child model is non-null before unrefing it
4498         (g_value_int_compare_func): make this a qsort compare func, not 
4499         a boolean predicate
4500
4501         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
4502         (add -umn to the end), and mark it unimplemented
4503         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
4504         I don't see what it's for - doesn't the model always sort itself?
4505         (gtk_tree_model_sort_set_compare): this had the wrong signature
4506
4507         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
4508         Fix the docs to say that it destructively replaces existing
4509         attributes (previously said that it added attributes).
4510         (gtk_tree_view_column_set_visible): canonicalize bool before
4511         equality testing. Also, check for realization before
4512         hiding/showing the tree_column->window; if this window could exist
4513         before realization, then it's busted and needs fixing, we can't 
4514         create GDK resources pre-realization. Also, remove
4515         superfluous queue_resize(), since set_size() does that for us.
4516         (gtk_tree_view_column_set_col_type): check realization before 
4517         using tree_column->window
4518
4519         * gtk/gtktreedatalist.c: fix filename in copyright notice
4520
4521 2000-12-31  Havoc Pennington  <hp@pobox.com>
4522
4523         * gtk/gtktextview.c: Rearrange all the
4524         scroll-while-dragging-or-selecting code to be different, not
4525         necessarily better. ;-)
4526         (gtk_text_view_scroll_to_mark): Change this
4527         function to take within_margin as a fraction instead of a pixel
4528         value, and to take alignment arguments (indicating where to align 
4529         the mark inside the visible area)
4530         
4531         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
4532         to GtkObject
4533
4534         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
4535         behavior so that offsets past the end of the line are not 
4536         allowed, and an offset equal to the line length moves the iterator
4537         to the next line
4538         (gtk_text_iter_set_line_index): make parallel change
4539         (gtk_text_iter_get_bytes_in_line): add this function
4540         
4541         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
4542         of byte indexes off the end of the line; byte index at the end of
4543         the line now returns FALSE and doesn't fill in the requested
4544         values, byte index past the end of the line is an error.  Also,
4545         don't allow -1 offset anymore, since its meaning is unclear.
4546
4547         This change exposes some bug in visual cursor motion, where we
4548         end up with a huge invalid byte index; needs fixing. Symptom of 
4549         bug is a crash when you hit up arrow.
4550         
4551         (_gtk_text_line_char_locate): match the change to byte_locate
4552
4553         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
4554         from start of line properly. fixes bug reported by Mikael
4555         Hermansson where backspace would delete all text before the
4556         cursor.
4557
4558 2000-12-30  Tor Lillqvist  <tml@iki.fi>
4559
4560         * gdk/win32/gdkwindow-win32.c
4561         (gdk_window_impl_win32_get_visible_region): New function, as in
4562         the X11 backend.
4563         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
4564         instead of duplicating the same code here.
4565
4566         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
4567         GDK_COLORMAP macro.
4568
4569         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
4570         destroy function.
4571         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
4572         access that.
4573
4574         * gtk/gtk.def: Update.
4575
4576         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
4577
4578 2000-12-30  Havoc Pennington  <hp@pobox.com>
4579
4580         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
4581         colormap on input only windows, to avoid special cases all over
4582         the code for these windows.
4583
4584 2000-12-26  Tor Lillqvist  <tml@iki.fi>
4585
4586         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
4587         we are on a palettized display ("PseudoColor" in X11), as the code
4588         for that doesn't work anyway, and never has.
4589
4590 2000-12-22  Alexander Larsson  <alexl@redhat.com>
4591
4592         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
4593         Don't use isprint() for chars > 255.
4594
4595 2000-12-21  Havoc Pennington  <hp@redhat.com>
4596
4597         * tests/testtreeview.c: more work
4598
4599 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4600
4601         * docs/README.linux-fb:
4602         Update the docs to the new pangoft2 way.
4603
4604 2000-12-21  Alexander Larsson  <alexl@redhat.com>
4605
4606         * configure.in:
4607         For linux-fb get the pangoft2 cflags and libs. This needs a recent
4608         pango version.
4609         Remove modules/linux-fb/Makefile.
4610
4611         * gdk/linux-fb/gdkdrawable-fb2.c:
4612         Render glyphs using freetype.
4613
4614         * gdk/linux-fb/gdkfb.h:
4615         Add new fb-specific functions needed for managing windows.
4616
4617         * gdk/linux-fb/gdkmain-fb.c:
4618         Remove gdk_font_init/fini() calls.
4619
4620         * gdk/linux-fb/gdkpango-fb.c:
4621         Remove old implementation. Use pangoft2 instead.
4622
4623         * gdk/linux-fb/gdkprivate-fb.h:
4624         Remove PangoFBFont and related stuff.
4625
4626         * gdk/linux-fb/gdkwindow-fb.c:
4627         Implement drawable->get_visible_region.
4628         Implement support for _gdk_window_set_child_handler () and
4629         _gdk_window_get_decorations().
4630
4631         * modules/Makefile.am:
4632         Remove linux-fb subdir.
4633
4634         * modules/linux-fb/*:
4635         Removed all.
4636         
4637 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
4638
4639         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
4640         calls, as they are no longer needed.
4641
4642         * gtk/gtktreemodelsort.c: Fix up the comparison code.
4643         
4644         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
4645         figure out how to emit a signal on an interface.
4646
4647 2000-12-20  Havoc Pennington  <hp@redhat.com>
4648
4649         * tests: new directory to contain tests, gtk/test* should move
4650         here sometime (with appropriate on-cvs-server hackery)
4651
4652         * tests/testtreeview.c, tests/Makefile.am: a test
4653         
4654         * configure.in (AC_OUTPUT): add tests/Makefile
4655
4656         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
4657         and "invisible_set" which were missing
4658
4659         * gtk/gtkrbtree.h: some cheesy indentation fix
4660         
4661 2000-12-20  Alexander Larsson  <alexl@redhat.com>
4662
4663         * gtk/gtkinvisible.c (gtk_invisible_realize):
4664         Attach the style to the window so that the style it is not
4665         leaked when unrealizing the window.
4666
4667 2000-12-18  Havoc Pennington  <hp@redhat.com>
4668
4669         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
4670         begin/end user action where appropriate
4671         (gtk_text_view_commit_handler): add begin/end user action
4672
4673         * gtk/gtktextbuffer.c: add begin/end user action signals, and
4674         bracket interactive operations with begin/end user action pair.
4675         
4676         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
4677         "interactive" arg from insert_text and delete_text signals.
4678         Add begin_user_action, end_user_action signals
4679         (gtk_text_buffer_begin_user_action): 
4680         (gtk_text_buffer_end_user_action): New functions to delimit 
4681         a user-visible action
4682
4683         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
4684         signals.
4685         
4686 2000-12-18  Havoc Pennington  <hp@redhat.com>
4687
4688         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
4689         was pretty non-working.
4690
4691         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
4692         by passing the length to g_utf8_validate().
4693
4694 2000-12-16  Havoc Pennington  <hp@pobox.com>
4695
4696         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
4697         Port to GObject, can go back in gdk-pixbuf after setting up 
4698         a gdk-pixbuf-marshal.h header over there.
4699
4700         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
4701         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
4702         args
4703         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
4704         set
4705         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
4706         here, do it when we create the buttons later
4707         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
4708         (gtk_tree_view_map): paranoia checks that column->button is shown 
4709         and unmapped
4710         (gtk_tree_view_size_request): only request visible children.
4711         Move header size calculation in here, for cleanliness, and 
4712         to maintain invariants for child widgets if we eventually 
4713         let users set different children inside the buttons
4714         (gtk_tree_view_map_buttons): factor out code to map buttons,
4715         since it was being called several times
4716         (gtk_tree_view_size_allocate_buttons): move_resize the drag
4717         windows instead of just moving them; their height may change 
4718         if we allow random widgets in there, or the theme changes.
4719         (gtk_tree_view_size_allocate): move button size allocation 
4720         above emitting the scroll signals, to ensure a sane state when we
4721         hit user code
4722         (gtk_tree_view_button_release): remove queue_resize after
4723         tree_view_set_size(), set_size() will handle any resize queuing
4724         that's needed
4725         (gtk_tree_view_focus_in): just queue a draw, don't fool with
4726         draw_focus goo
4727         (gtk_tree_view_focus): use gtk_get_current_event() and
4728         gdk_event_get_state()
4729         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
4730         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
4731         semicolon
4732         (gtk_tree_view_create_button): show the button here
4733         (gtk_tree_view_button_clicked): actually emit the clicked signal
4734         on the column
4735         (_gtk_tree_view_set_size): return right away if the size is
4736         unchanged, as a cheesy optimization
4737         (gtk_tree_view_setup_model): rename set_model_realized to 
4738         setup_model to match the flag that indicates whether we've 
4739         called it
4740         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
4741         exist, because set_scroll_adjustment does that and it shouldn't
4742         matter what order you call these in
4743         (gtk_tree_view_get_vadjustment): ditto
4744         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
4745         for paranoia
4746         (gtk_tree_view_set_headers_visible): call
4747         gtk_tree_view_map_buttons() instead of using cut-and-paste code
4748         (gtk_tree_view_append_column): clarify whether the return value
4749         is the count of columns before or after, and do the increment 
4750         separately from the return statement so you can tell from the code.
4751         (gtk_tree_view_remove_column): ditto
4752         (gtk_tree_view_insert_column): ditto
4753         (gtk_tree_view_get_column): remove g_return_if_fail for columns
4754         outside the existing range, the docs say that outside-range
4755         columns are allowed, so we handle them as documented. (Presumably
4756         this allows a nice loop with column != NULL as test.)
4757         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
4758         mean (left/right/center etc.).
4759         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
4760         (gtk_tree_view_expand_row): add docs
4761         (gtk_tree_view_collapse_row): add docs
4762
4763         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
4764         function to emit the clicked signal on a column
4765         
4766         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
4767         state of an event
4768         (gdk_event_get_time): don't treat GDK_SCROLL 
4769         as a button event, remove default case from switch so gcc 
4770         will whine if we don't explicitly handle all event types
4771
4772         * gtk/gtktreeselection.h: added some FIXME 
4773         
4774         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
4775         "columns" to "n_columns" and "column" to "columns" for clarity
4776
4777 2000-12-16  Havoc Pennington  <hp@pobox.com>
4778         
4779         * gtk/gtktextiter.c: General cleanup of the log attr iteration
4780         stuff. This should make e.g. the delete key work again in the
4781         text widget...
4782         (gtk_text_iter_forward_cursor_positions): handle negative count
4783         (gtk_text_iter_backward_cursor_positions): handle negative count
4784         (gtk_text_iter_forward_word_ends): handle negative count
4785         (gtk_text_iter_backward_word_starts): handle negative count
4786
4787         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
4788         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
4789         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
4790         GObject. No doubt will cause breakage.
4791
4792         * demos/gtk-demo/textview.c: remove hacks around
4793         non-GObject-ification of the text objects
4794
4795         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
4796         the text tag
4797         
4798 2000-12-14  Havoc Pennington  <hp@pobox.com>
4799
4800         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
4801         that we have Xrender
4802
4803 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
4804
4805         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
4806         Add two virtualized functions gdk_drawable_get_clip_region - to
4807         get the clip region when drawing.
4808         
4809         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
4810         use invalidate_region.
4811
4812         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
4813         region.
4814
4815         * acconfig.h configure.in: Check for Xft. For now, assume
4816         that if Xft is found, Pango was compiled with Xft support
4817         as well.
4818
4819         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
4820         gdk_colormap_query_color().
4821         
4822         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
4823         with Xft if appropriate.
4824
4825         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
4826         a pangoxft context if we have XFT and the environment
4827         variable GD_USE_XFT is set.
4828         
4829         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
4830         and also possibly an XftDraw structure.
4831
4832         * gtk/gtkfontsel.c: Handle the case where the font from the
4833         style doesn't match any of the fonts a bit better.
4834         
4835         * gtk/testgtk.c: Add tabs between directional segments for
4836         hebrew/arabic test. (Not really necessary, just a little
4837         prettier.)
4838
4839 2000-12-14  Havoc Pennington  <hp@redhat.com>
4840
4841         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
4842         reading a file
4843
4844 2000-12-14  Havoc Pennington  <hp@redhat.com>
4845
4846         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
4847         unused call to get_last_line()
4848
4849         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
4850         here until boxed is working (and maybe after that - we should
4851         really not gratuitously break old code)
4852
4853         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
4854         specific types for font_desc and tabs args, move them to
4855         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
4856         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
4857
4858         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
4859         use GTK_TYPE_POINTER for signal signatures as a hack-around
4860
4861         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
4862         PangoTabArray
4863
4864         * gtk/gtktextlayout.c (line_display_iter_to_index): 
4865         make static
4866         (line_display_index_to_iter): make static
4867
4868         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
4869         to marshal a string not a boxed
4870
4871         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
4872
4873         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
4874         since the UTF-8 isn't validated yet
4875
4876         * gtk/gtktextsegment.c (char_segment_check_func): don't require
4877         lines to end in '\n'
4878         
4879         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
4880         forward_to_delimiters, and grapheme boundaries
4881         (gtk_text_view_delete_from_cursor): properly handle non-newline
4882         delimiters, and grapheme boundaries
4883
4884         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
4885         to gtk_text_iter_forward_to_delimiters, and make it work properly
4886         if empty lines end with a character other than '\n'
4887
4888         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
4889         position
4890
4891 2000-12-15  Tor Lillqvist  <tml@iki.fi>
4892
4893         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
4894
4895         * gtk/gtk.def
4896         * gdk/gdk.def: Update.
4897
4898         * gdk/win32/gdkmain-win32.c
4899         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
4900         gdkmain-win32.c here.
4901
4902         * gdk/win32/makefile.mingw.in (all): No need to make
4903         gdk-win32res.o here, the makefile one step up will call us to make
4904         it.
4905
4906         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
4907         gdkkeys-win32.
4908
4909         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
4910
4911         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
4912         call to g_source_add().
4913
4914         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
4915         leak. Thanks to Andreas Kemnade.
4916
4917 2000-12-13  Havoc Pennington  <hp@pobox.com>
4918
4919         * gtk/gtktextbtree.h: Remove double _ in front of some functions
4920
4921         * gtk/gtktext*.[hc]: update accordingly
4922         
4923 2000-12-13  Havoc Pennington  <hp@pobox.com>
4924
4925         * gtk/gtktextbtree.h: Put _ in front of every function in this 
4926         header file
4927
4928         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
4929
4930 2000-12-13  Alex Larsson  <alexl@redhat.com>
4931
4932         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
4933         Add support for ps2 intellimouse.
4934
4935         * gdkkeyboard-fb.c:
4936         Move shift-F1 repaint handling to xlate handler only.
4937         
4938         * docs/README.linux-fb:
4939         Add imps2 to docs.
4940         Document the new refresh keys.
4941         
4942 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
4943
4944         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
4945
4946         * gtk/gtkbox.c: change property types from (u)long to (u)int for
4947         ::position and ::padding.
4948
4949         * gtk/gtkcontainer.c: make ::border_width an INT property.
4950
4951         * gtk/gtkpacker.c: make ::position an INT property.
4952
4953         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
4954         guard against NULL h/v scrollbars, since this is used at construction
4955         time.
4956
4957         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
4958         internal gtk_clist_constructor().
4959
4960         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
4961         gtk_ctree_constructor().
4962
4963         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
4964         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
4965
4966         * docs/reference/Makefile.am: fun stuff, disabled docs generation
4967         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
4968
4969         * gtk/gtkwidget.[hc]:
4970         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
4971         and gtk_widget_get().
4972         (gtk_widget_new): use g_object_new_valist().
4973         (gtk_widget_set): use g_object_set_valist().
4974
4975         * gtk/gtkobject.[hc]:
4976         removed gtk_object_arg_get_info(), gtk_object_getv(),
4977         gtk_object_query_args(), gtk_object_newv(),
4978         gtk_object_class_add_signals(),
4979         gtk_object_class_user_signal_new(),
4980         gtk_object_class_user_signal_newv(),
4981         gtk_object_arg_set(), gtk_object_arg_get(),
4982         gtk_object_args_collect(),
4983         gtk_object_default_construct(),
4984         gtk_object_constructed(),
4985         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
4986         removed nsignals, signals and n_args members from GtkObjectClass.
4987         (gtk_object_new): use g_object_new_valist().
4988         (gtk_object_set): use g_object_set_valist().
4989         (gtk_object_get): use g_object_get_valist().
4990         
4991         * gtk/gtkcompat.h: define gtk_object_default_construct().
4992         
4993         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
4994         g_object_new().
4995
4996         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
4997         fucntions, cleaned up method assignments (make sure your structures
4998         are setup properly before calling out). removed all GTK_CONSTRUCTED
4999         hacks ;)
5000
5001 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
5002
5003         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
5004         off-by-one error in checks. (Dave Lambert)
5005
5006 2000-12-12  Alexander Larsson  <alexl@redhat.com>
5007
5008         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
5009         Don't free gdk_fb_keyboard twice.
5010
5011 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
5012
5013         * gtk/testgtk.c:
5014         (create_tooltips): 
5015         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
5016         use GObject swapped_signal:: properties instead.
5017
5018         * gtk/gtkcellrenderertoggle.c: 
5019         * gtk/gtkcellrenderertextpixbuf.c: 
5020         * gtk/gtkcellrenderertext.c: 
5021         * gtk/gtkcellrendererpixbuf.c: 
5022         * gtk/gtkcellrenderer.c:
5023         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
5024         missing warnings for invalid property ids, install properties
5025         with g_object_class_install_property() now.
5026         
5027         * gtk/gtksignal.c:
5028         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
5029         
5030 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
5031         
5032         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
5033         to determine if a window is the focus widget within
5034         its toplevel.
5035
5036         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
5037         to be boolean.
5038
5039         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
5040         of the case where the container CAN_FOCUS to here instead
5041         of having it in each individual move-the-focus place.
5042
5043         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
5044         focusing to be geometric in a much more obvious sense. Arrowing
5045         around is still non-intuitive because it isn't perfect and
5046         because entries, etc, grab the arrow keys, but it at least
5047         usually will do what you expect now.
5048         
5049         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
5050         file.
5051
5052         * gtk/gtknotebook.c: Change tabs to be a single item in
5053         the focus chain. Make movement of focus on tabs with arrow
5054         keys wrap around.
5055         
5056         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
5057         CHECK_FIND_CHILD macro to give informative error messages
5058         instead of silent returns.
5059
5060         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
5061         flag since we handle GdkReturn on the tabs.
5062
5063         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
5064         windows rather than sending expose events directly.
5065
5066         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
5067         definition for GtkNotebookPage into .c file, since it is private.
5068
5069         * gtk/testgtk.c (create_notebook): Add option for 
5070         testing borderless notebook.
5071
5072         * gtk/testgtk.c (page_switch): Removed egregious poking
5073         around in GTK+ internals.
5074
5075         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
5076
5077         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
5078         properly through gtk_clist_focus. Make the title headers a
5079         single item in the tab-focus chain, and make left-right wrap
5080         around.
5081
5082         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
5083         focus method so that wrapping around works properly.
5084
5085         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
5086         that is handled for the widget now. 
5087
5088 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
5089
5090         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
5091         widgets as TOPLEVEL.
5092
5093         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
5094         TOPLEVEL widgets are containers.
5095
5096         * gtk/gtkinvisible.h: Remove useless include.
5097
5098 2000-12-11  Havoc Pennington  <hp@redhat.com>
5099
5100         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
5101         Handle chopping off \r\n and 0x2029 in addition to \n before
5102         passing to PangoLayout
5103
5104         * gtk/gtkimcontextsimple.c
5105         (gtk_im_context_simple_get_preedit_string): 
5106         return an empty string if no match is pending
5107
5108         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
5109         assertion that the returned preedit string was sane
5110
5111         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
5112         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
5113         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
5114
5115 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
5116
5117         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
5118         Fix up finalizer to chain to its parent.
5119
5120 2000-12-11  Alexander Larsson  <alexl@redhat.com>
5121
5122         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
5123         Clearified the difference between the keyboard types. Wrote a note
5124         about the magic sysrq key to get out of raw mode.
5125
5126 2000-12-09  James Henstridge  <james@daa.com.au>
5127
5128         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
5129         member to hold masks for detecting the start of a protocol packet.
5130         (mouse_devs): add packet start masks for ps2 and ms device types.
5131         Left the mask for fidmour blank, as I have no idea what it should
5132         be.
5133         (handle_mouse_io): skip bytes until we get to the start of a
5134         packet.  My Logitech mouse seems to be passing an extra NULL pad
5135         byte, and GPM does a similar thing here.
5136         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
5137         this is the ms mouse driver.
5138         (gdk_fb_mouse_ms_packet): fix up button handling, which was
5139         completely broken except for button1.  It was checking the wrong
5140         bit in the packet for the status of the right mouse button, and
5141         wrongly assuming right == button2 rather than 3.  I fixed that and
5142         also added support for middle button (button2).
5143
5144 2000-12-08  Havoc Pennington  <hp@redhat.com>
5145
5146         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
5147         that cause a segfault on text insertion
5148
5149         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
5150         warning
5151
5152         * gtk/gtktextiter.c (test_log_attrs): use
5153         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
5154
5155         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
5156         Get log attrs for a line, using a cache stored on the buffer
5157         
5158         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
5159         reported by Jeff Franks
5160
5161 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5162
5163         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
5164         /dev/ttyS0 -> /dev/mouse
5165
5166 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5167
5168         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
5169         Added dummy gdk_fontset_load.
5170
5171 2000-12-08  Alexander Larsson  <alexl@redhat.com>
5172
5173         * docs/README.linux-fb:
5174         * docs/Makefile.am:
5175         Initial GtkFB docs.
5176         
5177         * gdk/linux-fb/Makefile.am:
5178         Define GDK_DATA_PREFIX.
5179
5180         * gdk/linux-fb/gdkmain-fb.c:
5181         Fix typo.
5182         Change default display to /dev/fb0.
5183
5184         * gdk/linux-fb/gdkpango-fb.c:
5185         Add $(prefix)/share/fonts/ to font path.
5186         
5187 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
5188
5189         * gdk/linux-fb/gdkkeyboard-fb.c:
5190         New file containing the abstracted keyboard driver. Most code
5191         taken from gdkinput-ps2.c
5192
5193         * gdk/linux-fb/gdkinput-ps2.c:
5194         Removed file.
5195         
5196         * gdk/linux-fb/Makefile.am:
5197         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
5198
5199         * gdk/linux-fb/gdkcolor-fb.c:
5200         display->fb was renamed to display->fb_fd.
5201
5202         * gdk/linux-fb/gdkcursor-fb.c:
5203         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5204
5205         * gdk/linux-fb/gdkinput.c:
5206         Moved gdk_input_init here from gdkinput-ps2.c
5207
5208         * gdk/linux-fb/gdkmain-fb.c:
5209         display->fb was renamed to display->fb_fd.
5210         Now the tty and the console is opened here instead
5211         of in the keyboard driver. Also check GDK_VT to see what
5212         tty to open.
5213         Move gdk_beep () here from gdkinput-ps2.c
5214         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5215
5216         * gdk/linux-fb/gdkmouse-fb.c:
5217         Add header.
5218         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5219         Return correct keyboard modifiers.
5220         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
5221
5222         * gdk/linux-fb/gdkprivate-fb.h:
5223         Add tty and vt info to display.
5224         Add orignal modeinfo storage to display
5225         Update global functions
5226
5227         * gdk/linux-fb/gdkwindow-fb.c:
5228         Added gdk_fb_window_find_focus().
5229         gdk_mouse_get_info -> gdk_fb_mouse_get_info
5230
5231 2000-12-07  Havoc Pennington  <hp@pobox.com>
5232
5233         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
5234         function, noticed by Alex
5235
5236 2000-12-06  Elliot Lee  <sopwith@redhat.com>
5237
5238         * configure.in: Detect freetype properly
5239
5240         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
5241         above.
5242
5243 2000-12-06  Alexander Larsson  <alexl@redhat.com>
5244
5245         * gdk/linux-fb/Makefile.am:
5246         Add gdkmouse-fb.c
5247         
5248         * gdk/linux-fb/gdkmouse-fb.c:
5249         New file. Abstracted the mouse drivers a bit.
5250
5251         * gdk/linux-fb/gdkcursor-fb.c:
5252         The cursor hide/show functions was moved here from gdkinput-ps2.c.
5253
5254         * gdk/linux-fb/gdkinput-ps2.c:
5255         Removed old mouse handling code. Moved cursor handling code
5256         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
5257         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
5258         gdk_mouse_get_info.
5259
5260         * gdk/linux-fb/gdkmain-fb.c:
5261         Pass NULL pointers for x,y in gdk_mouse_get_info call.
5262
5263         * gdk/linux-fb/gdkprivate-fb.h:
5264         Removed public gdk_fb_find_common_ancestor, added and renamed
5265         functions for the new mouse handling code.
5266
5267         * gdk/linux-fb/gdkwindow-fb.c:
5268         Moved gdk_fb_window_send_crossing_events here. added global
5269         variable gdk_fb_window_containing_pointer. made
5270         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
5271         renamed to gdk_mouse_get_info.
5272
5273 2000-12-06  Alexander Larsson  <alexl@redhat.com>
5274
5275         * gdk/linux-fb/gdkevents-fb.c:
5276         Update to match latest gmain/gsource changes.
5277
5278         * gdk/linux-fb/gdkinput-ps2.c:
5279         Bogus gdk_keymap_get_entries_for_keycode implementation so that
5280         it links. Will be implemented later.
5281
5282 2000-12-03  Havoc Pennington  <hp@pobox.com>
5283
5284         * gdk/Makefile.am: add gdkkeys.[hc]
5285
5286         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
5287         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
5288
5289         * acconfig.h, configure.in: add checks and command line options
5290         for XKB
5291
5292         * gdk/x11/gdkkeys-x11.c: Implement the above functions
5293         
5294         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
5295         and group in the key event
5296
5297         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
5298         field with the low-level hardware key code, and a group
5299         field with the keyboard group
5300
5301         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
5302         and declare a couple globals used for keymap handling
5303         
5304         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
5305         hold down Shift-Control and type a hex number to get a Unicode 
5306         character corresponding to the hex number
5307         (gtk_im_context_simple_get_preedit_string): Fix cursor position
5308         (return bytes not chars)
5309
5310 2000-12-05  Elliot Lee  <sopwith@redhat.com>
5311
5312         * gdk/gdkcolor.h: Make GdkColor specify element sizes
5313         to avoid waste on 64-bit platforms.
5314
5315 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
5316
5317         * INSTALL: Fix link to PNG home, remove reference
5318         to fribidi.
5319
5320         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
5321         
5322         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
5323         tested.)
5324
5325         * gtk/gtkcheckmenuitem.c: Permanently turn on
5326         always_show_toggle.
5327
5328         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
5329         be NULL. (Vladimir Klebanov, #26545)
5330
5331         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
5332         some signed/unsigned comparison problems. (#6510,
5333         David Kaelbling)
5334
5335         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
5336         return type to boolean (Oskar Liljeblad, #18648)
5337
5338 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5339
5340         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
5341         Remove bogus colormap setting.
5342
5343 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5344
5345         * gdk/linux-fb/gdkcolor-fb.c:
5346         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
5347
5348         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
5349         Must set colormap.
5350         
5351 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
5352
5353         * docs/tutorial/gtk-tut.sgml: DND updates
5354
5355 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
5356
5357         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5358         Remove old debug g_warning().
5359         (gdk_fb_draw_drawable): The src argument can be either a wrapper
5360         or an implementation, just pass the implementation to draw_drawable_2.
5361         
5362         * gdk/linux-fb/gdkprivate-fb.h:
5363         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
5364
5365         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5366         clear and invalidate area when window is destroyed.
5367         (send_map_events): Remove old commented out code.
5368
5369 2000-12-05  Alexander Larsson  <alexl@redhat.com>
5370
5371         * gdk/linux-fb/gdkpango-fb.c:
5372         Use italic instead of oblique in font aliases.
5373         
5374         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
5375         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
5376         other unsupported functions.
5377
5378 2000-12-04  Havoc Pennington  <hp@redhat.com>
5379
5380         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
5381
5382         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
5383
5384         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
5385
5386         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
5387         hack to avoid infinite loops (synthetic expose event) - 
5388         Owen has more appropriate fixes in a branch he'll check in later.
5389
5390         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
5391         separator, CR, and CRLF as line ends
5392
5393         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
5394         into lines using pango_find_paragraph_boundary(); other bits of
5395         the widget are still going to be broken if the boundary isn't '\n'
5396         though
5397
5398 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5399
5400         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
5401         multiply.
5402
5403         * gdk/linux-fb/gdkpango-fb.c:
5404         Copied some 26.6 scaling macros from pango to clean up the rounding.
5405         (pango_fb_font_get_glyph_info): Correct sign on x value.
5406
5407         * gdk/linux-fb/gdkprivate-fb.h:
5408         Removed unreferenced external functions.
5409
5410         * modules/linux-fb/Makefile.am: Use ` instead of '.
5411
5412         * modules/linux-fb/basic.c:
5413         Remove dead code. In particular the dummy lang engine which broke all
5414         pango layouts in GtkFB. Don't include tables-big.i anymore.
5415
5416         * modules/linux-fb/tables-big.i:
5417         Upgrade to latest version from pango. Left for reference, basic_ranges
5418         moved to basic.c.
5419         
5420 2000-12-04  Havoc Pennington  <hp@redhat.com>
5421
5422         Fix bugs Alex found:
5423         
5424         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
5425         to "draw"
5426
5427         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
5428
5429         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
5430
5431         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
5432         implementation in here, apparently the expose() implementation was
5433         dead code.
5434
5435 2000-12-04  Alexander Larsson  <alexl@redhat.com>
5436
5437         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5438         Return positive descent.
5439
5440 2000-12-02  Havoc Pennington  <hp@pobox.com>
5441
5442         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
5443         method and signal
5444         
5445         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
5446         calls gdk_window_process_updates() to push the exposes through
5447         (gtk_widget_class_init): No more draw signal, no
5448         gtk_widget_real_draw()  
5449         
5450         * gtk/gtkbin.c (gtk_bin_draw): remove
5451
5452         * gtk/gtkbox.c (gtk_box_draw): remove
5453
5454         * gtk/gtkbutton.c (gtk_button_draw): remove
5455
5456         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
5457
5458         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
5459
5460         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
5461
5462         * gtk/gtkclist.c (gtk_clist_draw): remove
5463
5464         * gtk/gtkentry.c (gtk_entry_draw): remove
5465
5466         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
5467
5468         * gtk/gtkfixed.c (gtk_fixed_draw): remove
5469
5470         * gtk/gtkframe.c (gtk_frame_draw): remove
5471
5472         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
5473
5474         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
5475
5476         * gtk/gtklayout.c (gtk_layout_draw): remove
5477
5478         * gtk/gtklist.c (gtk_list_draw): remove
5479
5480         * gtk/gtklistitem.c (gtk_list_item_draw): remove
5481
5482         * gtk/gtkmenu.c (gtk_menu_draw): remove
5483
5484         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
5485
5486         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
5487
5488         * gtk/gtknotebook.c (gtk_notebook_draw): remove
5489
5490         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
5491
5492         * gtk/gtkpacker.c (gtk_packer_draw): remove
5493
5494         * gtk/gtkrange.c (gtk_range_draw): remove
5495
5496         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
5497
5498         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
5499
5500         * gtk/gtktable.c (gtk_table_draw): remove
5501
5502         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
5503
5504         * gtk/gtktext.c (gtk_text_draw): remove
5505
5506         * gtk/gtktextview.c (gtk_text_view_draw): remove
5507
5508         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
5509
5510         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
5511
5512         * gtk/gtktree.c (gtk_tree_draw): remove
5513
5514         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
5515
5516         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
5517
5518         * gtk/gtkviewport.c (gtk_viewport_draw): remove
5519
5520         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
5521
5522         * gtk/gtkvscale.c (gtk_vscale_draw): remove
5523
5524         * gtk/gtkwindow.c (gtk_window_draw): remove
5525
5526 2000-20-01  Anders Carlsson  <andersca@gnu.org>
5527
5528         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
5529         a GtkToggleButton is both insensitive and active, it was being
5530         drawn by the GtkButton draw handler which doesn't check the
5531         state. Now it's calling gtk_toggle_button_paint instead.
5532         
5533 2000-12-01  Havoc Pennington  <hp@redhat.com>
5534
5535         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
5536         dangling pointers to the appearance attributes from the 
5537         line display
5538
5539         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
5540         width/height to mean "full width/height of drawable"
5541
5542         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
5543         click to select word/line
5544         
5545         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
5546         when getting log attrs. Get a slice, so that pixmaps and stuff
5547         are properly handled.
5548
5549         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
5550         paste into the selection (replaces selection now, previously
5551         crashed or added to selection). Reveals longstanding btree bug -
5552         select multiple lines, middle-click on the selection, boom. This
5553         isn't related to my changes though.
5554
5555         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
5556         PangoLogAttrs changes
5557         (gtk_entry_move_backward_word): ditto
5558
5559         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
5560         functions return bool whether the iter moved onto a
5561         dereferenceable position.
5562  
5563         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
5564         functions for motion in terms of display lines.
5565
5566         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
5567         get the buffer a mark is inside
5568         
5569 2000-12-01  Alexander Larsson  <alexl@redhat.com>
5570
5571         * gdk/linux-fb/Makefile.am:
5572         * modules/linux-fb/Makefile.am:
5573         Freetype 2 final uses freetype-config
5574
5575         * gdk/linux-fb/gdkpango-fb.c:
5576         Upgrade to use Freetype 2 final.
5577         More flexible support for font aliases, this also fixes a bug with
5578         GtkFontSelector, as the aliases must be visible in the font/family list,
5579         or GtkFontSelector reads uninitialized memory.
5580
5581 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
5582
5583         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
5584         XGetIMValues to properly terminate variable argument list, and do
5585         NULL return check for ic_values and xim_styles.
5586
5587         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
5588         Restore preedit state after XmbResetIC().
5589         
5590         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
5591         XvaCreateNestedList() should take XvaNestedList, but not
5592         XvaNestedList*.
5593
5594         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
5595         preedit_draw_callback, preedit_caret_callback): Match
5596         "preedit-changed" signal name to "preedit_changed" to be
5597         consistent to the spec.
5598
5599         * gtk/gtkimcontextsimple.c (check_table):
5600         Match "preedit-changed" to "preedit_changed" to be consistent
5601         to the spec.
5602
5603 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
5604
5605         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
5606         gc->clip_region == NULL>
5607
5608 2000-11-30  Tor Lillqvist  <tml@iki.fi>
5609
5610         Changes by Hans Breuer:
5611         
5612         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
5613         Dont't use negative width and height as max_hints. This fixes
5614         Owen's recent testgtk changes for win32.
5615
5616         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
5617         gdk_win32_hdc_release): These are exported and may be called with
5618         other drawable types than our GdkDrawableImplWin32 (?).
5619
5620         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
5621         so always #define USE_BACKING_STORE.
5622
5623         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
5624         of printf for debugging output.
5625
5626         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
5627         
5628         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
5629
5630         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
5631         declaration.
5632
5633         * gtk/gtktexttypes.h: Ditto.
5634
5635         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
5636         (GDK_VoidSymbol) also if in case of arg check failure.
5637
5638         * gtk/gtkimcontextsimple.c
5639         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
5640         position to the pointer, but to the variable it points to.
5641
5642         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
5643
5644         * gtk/gtk.def: Updates.
5645
5646 2000-11-29  Elliot Lee  <sopwith@redhat.com>
5647
5648         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
5649         GTK_TYPE_TREE_MODEL.
5650
5651 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5652
5653         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
5654         Set the size of the font from the description.
5655         (gdk_text_width): Gross hack that calculates the width
5656         of text by text_length * size/2. This is necessary because
5657         GtkLabel does some ugly gtk_string_width call to calculate
5658         an good size.
5659         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
5660
5661 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
5662
5663         * docs/tutorial/gtk-tut.sgml: DND updates
5664
5665 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5666
5667         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
5668         If you pass width or height == 0 to gdk_window_clear_area they
5669         should be calculated from the window size.
5670
5671 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5672
5673         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
5674         a grab, but no grab-cursor, use the cursor from the grabbed
5675         window. (gdk_fb_window_send_crossing_events): Send normal
5676         enter/leave notifications if grab and owner_events == TRUE.
5677
5678 2000-11-29  Alexander Larsson  <alexl@redhat.com>
5679
5680         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5681         Do implicit button grabs, even if the window doesn't
5682         want the event.
5683         (gdk_fb_window_send_crossing_events): If there is a
5684         grab, only the grabbed window gets normal enter/leave
5685         notifications. On ungrab go from grabbed window to current.
5686         Don't send any notification to b when propagating from c -> b.
5687         If setting a grab on window, don't set prev_window.
5688         (handle_mouse_input): Send enter/leave events to the window the
5689         mouse is over, not the grabbed one.
5690         
5691 2000-11-28  Elliot Lee  <sopwith@redhat.com>
5692
5693         * gdk/gdkregion-generic.c: Zap warning.
5694         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
5695         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
5696
5697 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
5698
5699         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
5700         The cursor should be hidden if it is part of either the
5701         source or destination region. Not only if it is in both.
5702         (gdk_window_set_transient_for): Silence warnings.
5703
5704 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5705
5706         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
5707         The default mode in X is Pie Arcs, therefore that is
5708         what Gtk+ uses.
5709
5710 2000-11-28  Alexander Larsson  <alexl@redhat.com>
5711
5712         * gdk/linux-fb/gdkinput-ps2.c:
5713         Implement correct EnterNotify/LeaveNotify:
5714         (gdk_fb_window_send_crossing_events): New function that sends
5715         all GdkCrossingEvents from the last mouse-window to the specified
5716         destination.
5717         (gdk_fb_window_visibility_crossing): Removed function.
5718         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
5719         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
5720         instead of gdk_window_get_pointer() for better readability.
5721
5722         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
5723         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
5724
5725         * gdk/linux-fb/gdkprivate-fb.h:
5726         removed gdk_fb_window_visibility_crossing, added
5727         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
5728
5729         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
5730         New function that finds the least common ancestor of two windows.
5731         (gdk_window_show, gdk_window_hide):
5732         Use gdk_fb_window_send_crossing_events.
5733         (gdk_fb_window_move_resize): Send configure events to toplevel
5734         windows. Use gdk_fb_window_send_crossing_events.
5735
5736 2000-11-27  Havoc Pennington  <hp@redhat.com>
5737
5738         * gtk/gtkprivate.h (enum): Remove a trailing comma
5739
5740 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
5741
5742         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
5743         the "changed" callback of the adjustment.  We need to redraw the
5744         spin button's arrows when the adjustment's range changes.
5745         (adjustment_changed_cb): Draw the arrows.
5746         (gtk_spin_button_value_changed): Draw the arrows.
5747
5748 2000-11-23  Alexander Larsson  <alexl@redhat.com>
5749
5750         * gdk/linux-fb/gdkselection-fb.c:
5751         Initial selection implementation.
5752
5753         * gtk/gtkselection.c:
5754         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
5755         requestor in gtk_selection_request.
5756         
5757         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
5758         Added gdk_selection_property atom.
5759
5760         * gdk/linux-fb/gdkprivate-fb.h:
5761         Export _gdk_selection_window_destroyed.
5762         Removed mask_off_x/y from GdkCursorPrivateFB.
5763         Removed hbearing, added top, left to PangoFBGlyphInfo.
5764
5765         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
5766         Call _gdk_selection_window_destroyed
5767         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
5768         the root window has been created.
5769         (static_dx_hack, static_dy_hack, compare_draw_rects,
5770         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
5771         in region. They are already sorted. Instead just traverse them in
5772         reverse if draw_direction < 0.
5773         
5774         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
5775         Double-clicks must be sent after the normal button_press.
5776         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
5777         
5778         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
5779         Pass _gdk_fb_screen_gc instead of NULL.
5780
5781         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
5782         Initialize gdk_selection_property.
5783         (gdk_event_make): Remove unused code.
5784
5785         * gdk/linux-fb/gdkcursor-fb.c:
5786         Make the pixmap for the cursor the same size as the mask. Also remove
5787         the mask_off_x/y fields in GdkCursorPrivateFB and combine
5788         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
5789         Now the whole cursor is visible.
5790
5791         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
5792         Fix bug where xdest+height instead of ydest+height was used
5793         to calculate if the source and dest overlapped. This fixes the
5794         redraw bug when the main window in testgtk was scrolled when
5795         partially covered by a tall window.
5796         Copy rectangles in region in order depending on draw_direction.
5797         Also moved the draw_direction flipping of start_y and end_y into
5798         the gc functions, as this might not be what all of them want.
5799         (gdk_fb_draw_lines): Support dashed lines.
5800         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
5801         so that the text is positioned correctly (was 1 pixel high).
5802
5803         gdk/linux-fb/gdkgc-fb.c:
5804         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
5805         all lines were drawn a pixel to short. Also checked the default of
5806         the rest of the values, and they're the same as X now.
5807
5808         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
5809         Clean up pixel positioning of the glyphs. Just use bgy->top and
5810         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
5811         to all divisions to get correct rounding behaviour.
5812
5813         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
5814         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
5815         Moved start_y/end_y flip into draw_drawable implementations.
5816         Flip also x rendering when draw_direction < 0.
5817         Remove unneccesary multiply with draw_direction.
5818
5819 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
5820
5821         * docs/tutorial/gtk-tut.sgml:
5822           - get rid of gtk_toggle_button_toggled FUD
5823           - start DND section - needs work - based on:
5824                 http://wolfpack.twu.net/docs/gtkdnd/
5825
5826 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5827
5828         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
5829         Correct calculation of font metrics. Now GtkEntrys have sane
5830         size.
5831
5832 2000-11-22  Alexander Larsson  <alexl@redhat.com>
5833
5834         * gdk/gdktypes.h:
5835         Add new type GdkSpan
5836         
5837         * docs/reference/gdk/gdk-sections.txt,
5838         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
5839         gdk/gdkregion.h:
5840         Implement and document gdk_region_spans_intersect_foreach.
5841
5842         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
5843         Add new file gdkrender-fb.c which contains all core
5844         rendering code.
5845         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
5846         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
5847         (optimized rectangle fillers).
5848
5849         * gdk/linux-fb/gdkdrawable-fb2.c:
5850         Move all rendering code to gdkrender-fb.c.
5851         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
5852         Use the new span intersection functions in gdk_fb_fill_spans.
5853         gdk_fb_draw_rectangle() clips filled rectangles and calls
5854         gc->fill_rectangle with the result.
5855         gdk_fb_fill_spans() gets extra argument "sorted".
5856
5857         * gdk/linux-fb/gdkevents-fb.c:
5858         Remove unused includes and defines.
5859         New function gdk_fb_get_time() to get correct time for events.
5860
5861         * gdk/linux-fb/gdkinput-ps2.c:
5862         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
5863         Make sure to set the time of all events.
5864
5865         * gdk/linux-fb/gdkmain-fb.c:
5866         Use gdk_fb_get_time ().
5867
5868         * gdk/linux-fb/gdkprivate-fb.h:
5869         New virtual GC calls: fill_span & fill_rectangle.
5870         Export gdk_fb_get_time().
5871         gdk_fb_fill_spans() gets extra argument "sorted".
5872
5873         * gdk/linux-fb/mi*.c:
5874         Use GdkSpan instead of GdkRectangle.
5875         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
5876         from XFree 4 source)
5877         
5878 2000-11-22    <jrb@redhat.com>
5879
5880         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
5881         reversing the order in an if statement will do.  Doing so managed
5882         to make the treemodelsort half work.  Other half will follow after
5883         I get the insert function fully fixed.
5884
5885 2000-11-21  Elliot Lee  <sopwith@redhat.com>
5886         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
5887         more than 2 bits. Besides, I need to implement an evil hack. :)
5888
5889 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
5890
5891         * docs/tutorial/gtk-tut.sgml: minor corrections
5892
5893 2000-11-20  Jonathan Blandford <jrb@redhat.com>
5894         * gtk/gtktreemodelsort.h: Add convertion functions to let you
5895           convert to and from relative path's and iters.
5896
5897         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
5898           testing sorting functions a bit better.  Currently broken -- will
5899           fix in morning.
5900
5901 2000-11-20  Havoc Pennington  <hp@redhat.com>
5902
5903         * gtk/gtkwidget.c: Documented a bunch of functions in here
5904         (gtk_widget_realize): Warn if you try to realize
5905         a widget with no parent that isn't a toplevel
5906         (gtk_widget_intersect): return a gboolean
5907
5908 2000-11-20  Havoc Pennington  <hp@redhat.com>
5909
5910         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
5911         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
5912         scrolling to be implemented in GDK to finish. Also, right now
5913         we just size_allocate all children on every layout change,
5914         which is pretty lame. Test commented out of testtext.c, 
5915         until it works better.
5916
5917 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
5918
5919         * gdk/linux-fb/gdkdrawable-fb2.c:
5920         Removed unused arguments from gdk_fb_drawable_get_pixel().
5921
5922         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
5923         Renamed fidur specific mouse packet data in MouseDevice to
5924         generic. Used it in ps2 mouse handling code to avoid blocking
5925         reads.
5926
5927 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
5928
5929         * demos/gtk-demo/main.c: Changed to have the list become
5930         non-italic when the demo window is destroyed through an external
5931         event (like a close button).  Doing so found three bugs in the
5932         widget.
5933
5934         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
5935
5936         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
5937         we actually set the cell.
5938
5939         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
5940
5941         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
5942         free a leaked path.  Thanks memprof.
5943
5944 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
5945
5946         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
5947         off-by-one error when destroying allocated segments
5948         on failure. (Elliot)
5949
5950 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
5951
5952         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
5953         memleaks found by Evan Martin.
5954
5955 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
5956
5957         * Released 1.3.2
5958         
5959         * NEWS: Updates for 1.3.2
5960
5961 2000-11-17  Tor Lillqvist  <tml@iki.fi>
5962
5963         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
5964         but in general for window system specific events.
5965
5966         * gtk/gtk.def
5967         * gtk/makefile.mingw.in
5968         * gtk/makefile.msc.in: Update.
5969         
5970         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
5971
5972 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
5973
5974         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
5975         distribute gtk.immodules.
5976
5977         * gtk/Makefile.am (install-data-local): Don't install the
5978         gtk.immodules file created for the uninstalled modules;
5979         instead run gtk-query-immodules after install
5980
5981 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
5982
5983         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
5984         -rpath to the right install location.
5985
5986         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
5987         -export-dynamic.
5988
5989         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
5990         properly.
5991
5992 2000-11-15  Havoc Pennington  <hp@pobox.com>
5993
5994         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
5995         patch from Mikael Hermansson to temporarily stop blinking while
5996         the user is using the keyboard to type or navigate. 
5997
5998         Also, when blinking, stay on for longer than we stay off. Also,
5999         return from start_cursor_blink if !cursor_visible, to save
6000         checking that flag all over the place before we call
6001         start_cursor_blink.
6002
6003 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
6004
6005         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
6006         only contain a "fontset" line, which is now ignored.
6007
6008         * gtk/gtkentry.c (gtk_entry_button_release): Make 
6009         double-click-to-select-word work.
6010         
6011 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
6012
6013         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
6014         Don't move back one char when we are actually at the end of the 
6015         paragraph.
6016
6017 2000-11-15  Robert Brady  <robert@suse.co.uk>
6018
6019         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
6020         'o' < 'p'.
6021         
6022         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
6023         bind_textdomain_codeset.
6024
6025         (gtk_init_check): Make the warning about translating default:LTR
6026         sterner.
6027         
6028 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
6029
6030         * **/Makefile.am : remove unecessary rules for win32-specific
6031         config-substituted targets. If you want these rules, use
6032         --enable-maintainer-mode (called automatically by autogen.sh).
6033         Stops a lot of unneccessary make-time warnings.
6034
6035         * gtk/gtktext{layout,display}.c: Factor in total width as
6036         well as screen when figuring alignment for word-wrap as well as
6037         no wrap; this is necessary to handle lines that cannot be wrapped
6038         at all.
6039
6040 2000-11-15  Havoc Pennington  <hp@redhat.com>
6041
6042         * gtk/testtext.c: Implement essential color cycling feature
6043
6044 2000-11-15  Havoc Pennington  <hp@redhat.com>
6045
6046         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
6047         when we invalidate the main window.
6048
6049         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
6050         GtkTextView will now invalidate the side windows for us when text
6051         changes.
6052
6053 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
6054
6055         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
6056         unconditionally, since we may need to update the horizontal
6057         scrollbars even if the height didn't change.
6058
6059         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
6060         the extra attrs, since some of them affect size.
6061
6062         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
6063         x_offset correctly.
6064
6065 2000-11-15  Havoc Pennington  <hp@redhat.com>
6066
6067         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
6068         don't move the first line out into the margin, instead move the
6069         whole paragraph in order to make space for the first line within 
6070         the margin
6071
6072 2000-11-15  Havoc Pennington  <hp@redhat.com>
6073
6074         * gtk/gtktextview.c (changed_handler): offset redraw rect by
6075         xoffset in addition to yoffset, so horizontal scrolling doesn't
6076         break redraws
6077
6078 2000-11-15  Havoc Pennington  <hp@redhat.com>
6079
6080         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
6081         from the cursor
6082         (render_layout_line): fix reversed test that caused weird
6083         underlines to get drawn
6084
6085 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
6086
6087         * gdk/linux-fb/gdkprivate-fb.h:
6088         Fix debug macros.
6089         
6090 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
6091
6092         * gdk/linux-fb/gdkprivate-fb.h:
6093         Added virtual functions set_pixel, get_color,
6094         fill_span and draw_drawable to the GC.
6095         Added global _gdk_fb_screen_gc to use instead of
6096         NULL when drawing to the screen.
6097         Added _gdk_fb_gc_calc_state() prototype.
6098
6099         * gdk/linux-fb/gdkgc-fb.c:
6100         Call _gdk_fb_gc_calc_state() on any gc state change.
6101
6102         * gdk/linux-fb/gdkglobals-fb.c:
6103         Add _gdk_fb_screen_gc
6104                 
6105         * gdk/linux-fb/gdkdrawable-fb2.c:
6106         _gdk_fb_gc_calc_state() calculates best functions
6107         for the GC state and depth.
6108         Moved bpp specialized code to separate functions.
6109         Added optimized 24 bpp AA draw_drawable.
6110
6111         * gdk/linux-fb/gdkevents-fb.c:
6112         Silence gcc warning.
6113
6114         * gdk/linux-fb/gdkimage-fb.c:
6115         Use _gdk_fb_screen_gc
6116
6117         * gdk/linux-fb/gdkwindow-fb.c:
6118         Init and use _gdk_fb_screen_gc
6119
6120         * gdk/linux-fb/mitypes.h:
6121         Remove unused types.
6122
6123 2000-11-14  Havoc Pennington  <hp@pobox.com>
6124
6125         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
6126         to pixels
6127
6128 2000-11-14  Havoc Pennington  <hp@pobox.com>
6129
6130         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
6131
6132         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
6133         unknown char, no real reason we were using a variable. 
6134         Remove gtk_text_unknown_char variable. Fix all the text widget
6135         files accordingly.
6136
6137         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
6138         since the Unicode spec seems to prefer that character for our
6139         purposes.
6140
6141 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
6142
6143         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
6144         value of g_getenv() isn't freeable, so g_strdup it.
6145
6146         * modules/input/inuktitut.c: Inuktitut input method.
6147
6148         * modules/input/Makefile.am: Build this.
6149         
6150 2000-11-14  Elliot Lee  <sopwith@redhat.com>
6151
6152         * gtk/Makefile.am: Install gtk.immodules, needed for operation
6153         of gtk programs.
6154
6155 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
6156
6157         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
6158         reversed > that was causing Home to go to end of previous line.
6159
6160         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
6161         modified-keypresses (leave for bindings.)
6162
6163         * modules/input/Makefile.am: Remove useless -export-dynamic
6164         from module LDFLAGS.
6165
6166 2000-11-14  Havoc Pennington  <hp@redhat.com>
6167
6168         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
6169         higher.
6170
6171         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
6172         account. Also, render rise, underline, background, etc. for
6173         pixbufs as well as text. Also, draw underlines one pixel higher.
6174
6175         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
6176         PangoAttribute for the rise, so it gets drawn properly. Also,
6177         add the GtkTextAppearance attribute for pixbuf/widget segments
6178         as well; we should go ahead and have rise, underline, background,
6179         stipple work for those
6180
6181         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
6182         Pango
6183
6184 2000-11-15  Tor Lillqvist  <tml@iki.fi>
6185
6186         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
6187
6188         * gtk/gtk.def: Update.
6189
6190         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
6191         included.
6192         (gtk_rc_get_im_module_file): Use run-time installation directory
6193         on Win32.
6194
6195         * gdk/win32/rc/gdk.rc: Remove.
6196         * gdk/win32/rc/gdk.rc.in: New file.
6197         * gdk/win32/rc/Makefile.am: New file
6198         * gdk/win32/Makefile.am: Corresponding changes.
6199
6200         * gtk/gtk.rc: Remove.
6201         * gtk/gtk-win32.rc.in: New file.
6202         * gtk/Makefile.am: Corresponding changes.
6203
6204         * configure.in: Corresponding changes.
6205
6206         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
6207         has a built gtkcompat.h. Developers using CVS code on Win32 can
6208         hand-edit it from gtkcompat.h.in.
6209
6210         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
6211         gtkcompat.h from gtkcompat.h.win32.
6212
6213 2000-11-14  Havoc Pennington  <hp@redhat.com>
6214
6215         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
6216         to default to GDK_ACTION_MOVE if the drag is within a single
6217         widget. Defaults to GDK_ACTION_COPY between widgets.
6218
6219 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
6220
6221         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
6222
6223         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
6224
6225         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
6226         srcdir != builddir
6227
6228         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
6229
6230         * configure.in (GTK_VERSION): Up to 1.3.2
6231
6232         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
6233         gtkimcontextxim.h
6234
6235         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
6236         missing doc comment.
6237
6238 2000-11-14  Alexander Larsson  <alexl@redhat.com>
6239
6240         * modules/linux-fb/basic.c:
6241         Use the glib iconv wrappers.
6242
6243 2000-11-13  Havoc Pennington  <hp@pobox.com>
6244
6245         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
6246         still more bugs.
6247
6248         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
6249         scroll the GdkWindows before realization.
6250
6251 2000-11-13  Havoc Pennington  <hp@redhat.com>
6252
6253         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
6254         where GC didn't always get updated properly
6255
6256         * demos/gtk-demo/textview.c (create_tags): Use subattributes
6257         of fonts instead of setting the entire font
6258
6259         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
6260         setting entire font
6261
6262         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
6263
6264         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
6265         a bunch of individually-settable font attributes. You can still 
6266         use the "font" and "font_desc" args, they just set all the font
6267         attributes at once.
6268
6269 2000-11-13 Elliot Lee <sopwith@redhat.com>
6270
6271         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
6272
6273 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
6274
6275         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
6276         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
6277
6278         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
6279         work better.
6280
6281 2000-11-13  Havoc Pennington  <hp@redhat.com>
6282
6283         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
6284         the module file.
6285
6286         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
6287         dest->language
6288
6289         * gtk/testtext.c: Test pixels above/below/inside paragraphs
6290         settings
6291
6292         * gtk/gtktextview.c: Implement object args and setters/getters for
6293         all the aspects of the GtkTextAttributes that are not set from
6294         GtkWidget attributes. This is spacing, justification, margins,
6295         etc.
6296
6297         (gtk_text_view_set_arg)
6298         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
6299         args
6300         (gtk_text_view_class_init): Add args for justify, left_margin,
6301         right_margin, indent, and tabs
6302         
6303
6304         * gtk/gtktextlayout.c (set_para_values): fix to display indent
6305         attribute properly
6306
6307         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
6308         replace with indent attribute
6309
6310         * gtk/gtktextlayout.c (set_para_values): multiply indent by
6311         PANGO_SCALE
6312
6313         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
6314         rearranging code to do that
6315         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
6316         i.e. don't subtract the top_margin first, just to keep
6317         all margin-futzing in one place.
6318
6319         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
6320
6321         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
6322         special case of last line, Pango now handles this itself.
6323         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
6324         Y coordinate
6325         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
6326         (find_display_line_above): wasn't moving the byte index as it
6327         iterated over lines, so always returned byte 0. Also, port to use
6328         PangoLayoutIter.
6329         (find_display_line_below): same problem as
6330         find_display_line_above. Also, port to use PangoLayoutIter.
6331
6332 2000-11-13  Alexander Larsson  <alexl@redhat.com>
6333
6334         * gdk/linux-fb/*.[ch]:
6335         Massive reindent to gtk+ standard. My hands hurt.
6336
6337         * gdk/linux-fb/gdkcolor-fb.c:
6338         Move GdkColorPrivateFB from inherited to windowing_data
6339
6340         * gdk/linux-fb/gdkcursor-fb.c:
6341         _gdk_cursor_new_from_pixmap made static
6342
6343         * gdk/linux-fb/gdkdnd-fb.c:
6344         GdkDragContextPrivate moved to windowing_data
6345
6346         * gdk/linux-fb/gdkdrawable-fb2.c:
6347         Removed endian.h, use glib endianness macros instead
6348         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
6349         and GDK_DRAWABLE_IMPL_FBDATA
6350
6351         * gdk/linux-fb/gdkfont-fb.c:
6352         Add empty gdk_font_load(). Needed for linking of Gtk+.
6353
6354         * gdk/linux-fb/gdkimage-fb.c:
6355         Removed endian.h, use glib endianness macros instead
6356         Moved GdkImagePrivateFB to windowing_data
6357         gdk_image_new_bitmap didn't always allocate enough
6358         memory.
6359
6360         * gdk/linux-fb/gdkinput-ps2.c:
6361         Added semi-working support for MS serial mice.
6362
6363         * gdk/linux-fb/gdkprivate-fb.h:
6364         s/GdkWindowPrivate/GdkWindowObject/
6365         Removed GdkWindowPrivate typedef
6366         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
6367         Removed GDK_DRAWABLE_P
6368         Move GdkColorPrivateFB from inherited to windowing_data
6369         Moved GdkImagePrivateFB to windowing_data
6370
6371         * gdk/linux-fb/gdkvisual-fb.c:
6372         Removed some unused debug code.
6373
6374         * gdk/linux-fb/gdkwindow-fb.c:
6375         Use stock cursors instead of including X headers.
6376         s/GdkWindowPrivate/GdkWindowObject/
6377
6378         * gdk/linux-fb/mitypes.h:
6379         Removed unused types.
6380
6381         * modules/linux-fb/basic.c:
6382         Use the pango fribidi wrappers.
6383
6384 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6385
6386         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
6387         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
6388         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
6389         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
6390         GEqualFunc where applicable.
6391         
6392         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
6393         pango_font_description_equal as changed in pango.
6394         
6395         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
6396
6397         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
6398
6399         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
6400
6401         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
6402
6403         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
6404
6405         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
6406
6407         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
6408         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
6409
6410         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
6411         gtk_rc_styles_compare -> gtk_rc_styles_equal.
6412
6413 2000-11-12  Havoc Pennington  <hp@pobox.com>
6414
6415         * demos/gtk-demo/Makefile.am (democodedir): change demo install
6416         dir to datadir/gtk+-2.0/demo
6417
6418         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
6419         sorts of text widget and Pango font bugs. Urgh.
6420
6421         * demos/gtk-demo/Makefile.am (demos): Add textview.c
6422
6423         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
6424         tree that you should double click to see the demo. Fix 
6425         types of variables to reflect changed return values from 
6426         GtkTreeStore and GtkTreeViewColumn constructors.
6427
6428         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
6429         newly-created buffer to prepare for GObject semantics
6430
6431         * gtk/testtext.c: don't leak the buffer with GObject semantics
6432
6433         * gtk/testtextbuffer.c: ditto
6434         
6435 2000-11-12  Havoc Pennington  <hp@pobox.com>
6436
6437         Rename this testgtk to gtk-demo to avoid confusion, and 
6438         install it so people can use it as a supplement to 
6439         the documentation.
6440         
6441         * demos/gtk-demo: Moved from demos/testgtk
6442
6443         * demos/testgtk: Removed
6444
6445         * configure.in: make Makefile in gtk-demo
6446         
6447         * demos/gtk-demo/Makefile.am: Install sample source to 
6448         datadir/gtk-demo (maybe there's a better place?), and 
6449         rename the binary to gtk-demo
6450         
6451         * demos/gtk-demo/main.c (load_file): Load installed sample
6452         source if source isn't found in pwd.
6453
6454 2000-11-09  Havoc Pennington  <hp@pobox.com>
6455
6456         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
6457         argument to set the char displayed when visibility == FALSE
6458         (gtk_entry_create_layout): If !entry->visible, replace 
6459         all chars with the "invisible char"
6460
6461         * gtk/testgtk.c: Test the invisible_char deal
6462         
6463 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
6464
6465         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
6466         can't get a native font in the right encoding.
6467
6468 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
6469
6470         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
6471         respectively.
6472
6473 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
6474
6475         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
6476         Fix warning when moving between paragraphs.
6477
6478         * gtk/gtkentry.[ch]: Change move => move_cursor, 
6479         delete => delete_from_cursor, insert => insert_at_cursor
6480
6481 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
6482
6483         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
6484
6485         * modules/input/imthai-broken.c: A Thai input method for use if
6486         Thai keys are really generating Latin1 keysyms.
6487
6488         * modules/input/Makefile.am: Build these.
6489
6490 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
6491
6492         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
6493         g_filename_{to,from}_utf8 now takes an extra parameter.
6494
6495         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
6496         strftime into UTF-8.
6497
6498         (column_from_x, gtk_calendar_paint_day_names): Support RTL
6499         calendars.
6500
6501         (gtk_calendar_paint_day_names): Draw day names in the right 
6502         place.
6503         
6504 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
6505
6506         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
6507         problem with using result of g_get_charset() backwards -
6508         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
6509
6510         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
6511         negative min_width/height and max_width/height to
6512         mean "requisition"; this allows setting a window
6513         to be user-resizable in only one direction easily.
6514
6515         * gtk/testgtk.c (create_main_window): Remove hard-coded
6516         usize - set a default size in the vertical direction.
6517
6518 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
6519
6520         * gtk/gtkrange.c: Add some missing casts. Support 
6521         2 and 3 button clicks on the arrows to mean 
6522         "move by pages" and "jump to end". (Like gtkspinbutton)
6523
6524 2000-11-12 Hans Breuer <Hans@Breuer.Org>
6525
6526         * gdk/win32/makefile.msc : reflect build module changes
6527
6528         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
6529         from GdkPixmap*, cast implementation member instead.
6530
6531         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
6532         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
6533         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
6534         more Gdi functions return value checking. 
6535         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
6536         GdkImagePrivateWin32 *.
6537
6538         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
6539         menus useable again. Add #pragma message to keep reminded on this issue.
6540         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
6541         windows. This allows to enable backing store on Win32!
6542
6543         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
6544         in drawable is of impl type. Correct specific type checks appropriate.
6545  
6546         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
6547         GDK_WINDOW_DESTROYED before allocating new resources.
6548
6549         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
6550
6551         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
6552         (gdk_window_foreign_new) initialize parent handle.
6553         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
6554
6555         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
6556         Let the GDI invalidate the window on MoveWindow call to fix scrolling
6557         problems (e.g. main buttons in testgtk). 
6558
6559 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
6560
6561         * gtk/gtkentry.c (gtk_entry_key_press): Call 
6562         gtk_widget_activate for GDK_Return.
6563
6564         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
6565         of preedit cursor position.
6566
6567 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
6568
6569         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
6570         static.
6571
6572 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
6573
6574         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
6575         out support for multiple locales; that simple doesn't
6576         work reliably with current Xlib
6577
6578         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
6579         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
6580         Add support for positioning the cursor within the preedit string.
6581
6582 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
6583
6584         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
6585         at XIM input method module.
6586
6587         * gtk/gtktextview.c: Check for bindings after passing
6588         events to im context filter.
6589
6590 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
6591
6592         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
6593         empty attribute lists properly.
6594
6595 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
6596
6597         * gtk/queryimmodules.c (main): Return non-zero exit
6598         status if errors were encountered querying any
6599         modules.
6600
6601         * modules/input/Makefile.am (moduledir): remove
6602         leftover bin program target.
6603
6604         * docs/make-todo: Fix typo in error message.
6605
6606 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
6607
6608         * configure.in: Add modules/input/Makefile
6609
6610 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
6611
6612         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
6613         don't include gtkthemes.h.
6614
6615         * gtk/testgtk.c gtk/testtext.c: Set environment variables
6616         to point
6617
6618         * gtk/Makefile.am: Add new .c and .h files, build 
6619         gtk-query-immodules and use it to create a gtk.immodules
6620         file for use of test programs.
6621
6622         * gtk/gtkpreview.c: remove extra blank line.
6623
6624 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
6625
6626         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
6627         Add the ability to add extra tables beyond the default
6628         one, and also the ability to have compose sequences 
6629         that are prefixes of other compose sequences. 
6630
6631         * gtk/gtkimcontextsimple.c: Export a preedit string which
6632         consists of possible candidates for keystrokes that have
6633         been entered but not yet committed.
6634
6635         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
6636         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
6637
6638         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
6639         Add a function to add input-method switching menu items
6640         to a menu.
6641
6642         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
6643         when switching input methods.
6644
6645         * gtk/gtkimcontextsimple.[ch]: Change the format of
6646         the compose table to allow compose tables of different
6647         lengths / sequence.
6648
6649 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
6650
6651         * gtk/gtkimmodule.[ch]: Support routines for loading
6652         GtkIMContext implementations dynamically at runtime.
6653
6654         * modules/input/imcyrillic-translit.c: A sample input
6655         method (based on GtkIMContextSimple with an extra table),
6656         which demonstrates preedit strings and the module
6657         system for input modules
6658
6659         * gtk/queryimmodules.c: Program to query the available
6660         input modules and write the results into a file.
6661          
6662         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
6663         extra config options "im_module_file" (cache file for
6664         input method modules), and "im_module_path" - path
6665         to look for modules when generating cache file.
6666
6667         This doesn't scale.
6668
6669 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
6670
6671         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
6672         generic code from gtkthemes into a new abstraction
6673         GtkModule which has the logic for implementing
6674         a loadable module which implements a number of 
6675         GObject types.
6676
6677 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
6678
6679         * gtk/gtkeditable.[ch]: Convert GtkEditable from
6680         a class into an interface  
6681         
6682         * gtk/gtkoldeditable.[ch]: Move the old editable
6683         implementation into here, so legacy widgets can
6684         still rely on the implemenation. GtkOldEditable
6685         exports GtkEditable. Make selection handling
6686         code use new text conversion functions (and
6687         handle UTF-8 as a side-effect). Use GtkClipboard
6688         for CLIPBOARD.
6689
6690         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
6691         Adopt to match above changes.
6692
6693         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
6694         avoid GtkOldEditable implementation. Restructure
6695         to reduce number of places that modify state directly.
6696         Move to GtkBindingSet. Display the preedit string.
6697         Queue recomputation of PangoLayout and scroll position
6698         to improve effiency of doing complex changes naively.
6699         Add a menu with cut/copy/paste and input method selection.
6700
6701 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
6702
6703         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
6704         to set preedit string and attributes; display preedit string by
6705         inserting string and attributes at cursor when creating the
6706         GtkTextLineDisplay.
6707
6708         * gtk/gtktextlayout.c: Move all conversions between byte
6709         positions in PangoLayout and GtkTextIter into new functions
6710         line_display_iter_to_index/index_to_iter that properly
6711         handle the preedit string.
6712
6713         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
6714         it to return const char * (eventually will end up
6715         as GCONST char *, most likely.)
6716
6717         * gtk/gtktextview.[ch]: Handle the preedit string, call
6718         gtk_im_context_reset() as necessary, add a menu to switch
6719         input methods.
6720         
6721         * gtk/gtktextlayout.[ch]: Remove useless
6722         gtk_text_layout_get_log_attrs() function.
6723
6724 2000-11-11  Tor Lillqvist  <tml@iki.fi>
6725
6726         * gdk/gdk.def
6727         * gtk/gtk.def: Update.
6728
6729         * gdk/win32/*.c: Add last argument to g_type_register_static()
6730         calls.
6731
6732         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
6733
6734         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
6735         generated by older wheel mouse drivers. Get the correct y
6736         coordinate from WM_MOUSEWHEEL messages.
6737
6738         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
6739         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
6740         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
6741         Debugging functions.
6742
6743         * gdk/win32/gdkprivate-win32.h: Declare them.
6744
6745         * gdk/win32/gdkinput-win32.h: Add declaration for
6746         gdk_input_window_destroy().
6747
6748         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
6749
6750 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
6751
6752         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
6753         function to help handle keeping things in sync.
6754
6755 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
6756
6757         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
6758         BOXED marshallers.
6759
6760         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
6761         (gtk_list_store_class_init): use the new BOXED marshallers.
6762
6763         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
6764         new_with_values to new_with_types.
6765         (gtk_tree_store_get_column_type): add this.
6766         (gtk_tree_store_class_init): use the new BOXED marshallers.
6767
6768         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
6769         mirror some POINTER marshallers.
6770
6771 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
6772
6773         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
6774         allow more interesting iterators.  Also, made the lifecycle of
6775         iterators more explicit.
6776
6777         * gtk/gtktreemodelsort.[ch]: New model for sorting.
6778
6779         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
6780         types.
6781
6782 2000-11-09  Alexander Larsson  <alexl@redhat.com>
6783
6784         * demos/testgtk/menus.c:
6785         Changes to make the new testgtk compile after
6786         gtk_menu_append was removed.
6787
6788         * gdk/linux-fb/gdkdrawable-fb2.c
6789         (gdk_fb_get_depth, gdk_fb_get_visual,
6790         gdk_drawable_impl_fb_class_init): Implement
6791         these drawable functions. Now GtkImages work again.
6792
6793         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
6794
6795         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
6796         
6797         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
6798         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
6799         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
6800         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
6801
6802 2000-11-08  Havoc Pennington  <hp@pobox.com>
6803
6804         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
6805         visible_set args, don't know where these had gone, I thought they
6806         used to be there
6807
6808         * gtk/testtext.c: Add a menu item to apply invisibility tag;
6809         now we can test the feature and see that it's totally broken.
6810
6811 2000-11-08  Havoc Pennington  <hp@pobox.com>
6812
6813         Make DND copy pixbufs and tags when source and target share a 
6814         tag table.
6815         
6816         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
6817         in-process GTK_TEXT_BUFFER_CONTENTS target
6818         (gtk_text_view_drag_data_received): Paste from
6819         GTK_TEXT_BUFFER_CONTENTS if we receive it.
6820
6821 2000-11-08  Alexander Larsson  <alexl@redhat.com>
6822
6823         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
6824         API changes.
6825
6826         * gtk/gtkmenu.c: Add support for scrolling menus.
6827         Remove gtk_menu_append/prepend/insert, these have been moved to
6828         gtkcompat.h as #defines.
6829
6830         * gtk/gtkcompat.h.in:
6831         Add compatibility #defines for gtk_menu_append/prepend/insert
6832
6833         * gtk/gtkmenu.h: Add data needed for scrolling menus.
6834         GtkMenuPositionFunc gets an extra argument push_in.
6835         gtk_menu_append/prepend/insert removed.
6836         
6837         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
6838         positioning behaviour to fit to scrolling menus.
6839
6840         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
6841         into menuitem->submeny. That is wrong, and broke torn
6842         off submenus of torn off menus, since they were unrealized
6843         when the first menu was unrealized.
6844
6845         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
6846         gtk_menu_shell_select_item() since these need to be overridden in
6847         GtkMenu.
6848
6849         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
6850         positioning behaviour to fit to scrolling menus.
6851         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
6852         the current item so that it is prelighted when the menu pops up.
6853         This is a workaround to the fact that the menu doesn't get the
6854         initial enter event (due to grabs).
6855
6856         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
6857         s/gtk_menu_append/gtk_menu_shell_append/
6858
6859         * gtk/gtknotebook.c:
6860         s/gtk_menu_insert/gtk_menu_shell_insert/
6861
6862         * gtk/testgtk.c (create_menu, create_menus):
6863         Create the first menu with 50 items so that menu scrolling
6864         can be tested.
6865         
6866         
6867         Patch from Jonathan Blandford  <jrb@redhat.com>
6868
6869         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
6870         system to handle size requests.  First, we ask what the size of
6871         the toggle is.  Then, when allocating the size, we allocate the
6872         toggle_size first.  This way we can have multiple menu-item
6873         classes w/o needing a seperate class for each.
6874
6875         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
6876         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
6877
6878         * gtk/gtkcheckmenuitem.c
6879         (gtk_check_menu_item_toggle_size_request): New function to handle
6880         the toggle size-request.
6881
6882 2000-11-07  Havoc Pennington  <hp@redhat.com>
6883
6884         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
6885         Half-ass somewhat fix this function, so that scrolling to the
6886         insertion point works. Pango hacking is in the future to really
6887         fix it.
6888
6889         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
6890         length of data, no longer used.
6891
6892         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
6893         method contents in here, get rid of destroy method
6894         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
6895         that were backward. Remove debug spew.
6896         (cut_or_copy): Make the clipboard work with insert_range to
6897         preserve tags and pixbufs, not just the primary selection.
6898
6899 2000-11-07  Havoc Pennington  <hp@redhat.com>
6900
6901         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
6902         to gtk_text_mark_get_visible
6903
6904         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
6905         bug that was generating an invalid iterator
6906
6907         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
6908         ensure_char_offsets() in front of code placing the iter in an
6909         invalid state.
6910
6911         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
6912         make override_location arg const
6913         (paste): Replace the selection if we paste into the 
6914         current selection
6915
6916         * gtk/gtkselection.h: Remove "GtkSelectioData"
6917         (struct _GtkSelectionData): move the definition here.
6918
6919         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
6920         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
6921
6922         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
6923
6924         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
6925         (gtk_text_buffer_insert_range_interactive): implement
6926         (gtk_text_buffer_get_tags): Remove, replaced by
6927         gtk_text_iter_get_tags()
6928
6929         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
6930         limit parameter, to avoid infinite linear scan.
6931         (gtk_text_iter_backward_search): Add search limit
6932         (gtk_text_iter_forward_find_char): Add search limit
6933         (gtk_text_iter_backward_find_char): Add search limit
6934
6935 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
6936
6937         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
6938         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
6939         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
6940         gdk/linux-fb/gdkwindow-fb.c:
6941         use g_object_new() instead of g_type_create_instance() which
6942         is a private function for fundamental type implementations.
6943
6944         * gdk/linux-fb/gdkinput-ps2.c:
6945         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
6946         instead just store the current modifier state. Add a (somewhat broken)
6947         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
6948         Rename exported function gdk_input_ps2_get_mouseinfo to
6949         gdk_input_get_mouseinfo.
6950
6951         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
6952         gdk/linux-fb/gdkwindow-fb.c:
6953         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
6954         
6955
6956 2000-11-02  Havoc Pennington  <hp@redhat.com>
6957
6958         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
6959         use stock buttons. Should be 100% source compatible, appropriate
6960         filesel fields now point to dialog->vbox and dialog->action_area.
6961         On the bizarre side, dialog->action_area and filesel->action_area
6962         are not the same widget.
6963         (gtk_file_selection_init): Put some padding around the selection
6964         entry, so it isn't touching the GtkDialog separator.    
6965
6966         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
6967         use stock buttons, etc. Should also be source compatible.
6968         Set the dialog default title in _init not _new().
6969         
6970         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
6971         Use stock buttons; don't put a button box inside the existing
6972         dialog button box. Don't bother with push/pop colormap anymore.
6973
6974         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
6975         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
6976         for message dialog, and necessary for the font selection and color
6977         selection with help and apply buttons.
6978         
6979         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
6980         to the created button widget. Set GTK_CAN_DEFAULT on the button.
6981         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
6982         between buttons, put less padding around the action area.
6983         (gtk_dialog_run): Exit on unmap rather than on destroy. 
6984         This will also exit the loop if the widget is hidden.
6985         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
6986         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
6987         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
6988         special-case delete event.
6989
6990         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
6991         formatting
6992         
6993 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
6994
6995         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
6996         button to temporarily disable position recording in the
6997         "saved position" test.
6998
6999 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
7000
7001         * gtk/gtkthemes.c: added compat code that temporarily implements
7002         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
7003         going to be revamped by owen's upcoming GtkModule patches, but
7004         untill then people want gtk to build, right? ;)
7005
7006 2000-11-04  Havoc Pennington  <hp@pobox.com>
7007
7008         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
7009         list
7010
7011         * docs/Changes-2.0.txt: Add note about
7012         gtk_container_get_toplevels()
7013
7014         * gtk/gtktextview.h: formatting
7015         
7016         * gtk/gtktextview.c: don't start descriptions with "Returns",
7017         confuses gtk-doc
7018
7019 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
7020
7021         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
7022         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
7023
7024 2000-11-03  Havoc Pennington  <hp@redhat.com>
7025
7026         * gtk/gtktexttagtable.c: Docs
7027         (gtk_text_tag_table_size): return a signed int
7028
7029         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
7030         (gtk_text_tag_event): make the event_object a GObject
7031
7032         * gtk/gtktextview.c: Write API docs for all functions.
7033
7034         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
7035         for gtk_text_view_get_window_type() called on one of the private
7036         windows.
7037
7038         * gtk/gtktextview.c: Instead of accessing text_view->buffer
7039         directly, call get_buffer() which demand-creates a default
7040         buffer. So gtk_text_view_new() can be used to create a view with a
7041         default buffer in it, if you just want an empty text box users can
7042         put data in. Useful for GUI builders also.
7043
7044 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
7045
7046         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
7047         the charset encodign portion MUST be in lowercase.
7048         * gtk/gtkrc.az: added file for Azeri language
7049
7050 2000-11-03  Havoc Pennington  <hp@redhat.com>
7051
7052         Get widgets working on the btree/buffer side. Display of them 
7053         still doesn't work.
7054         
7055         * gtk/gtktextview.c: start implementing child widget stuff
7056
7057         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
7058
7059         * gtk/gtktextlayout.c: handle embedded widgets
7060
7061         * gtk/gtktextdisplay.c: handle embedded widgets
7062
7063         * gtk/gtktextchild.c: Implement all the child anchor goo
7064
7065         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
7066         function
7067
7068         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
7069         (insert_pixbuf_or_widget_segment): abstract out common portions of 
7070         creating a child anchor or a pixbuf segment.
7071         (gtk_text_btree_create_child_anchor): new function
7072         (gtk_text_btree_unregister_child_anchor): new function
7073
7074         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
7075         allocate_child signal on GtkTextLayout
7076
7077         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
7078         values
7079         (gtk_text_iter_get_child_anchor): new function
7080
7081         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
7082         default handler for the changed signal, which calls
7083         gtk_text_buffer_set_modified(), instead of just always emitting
7084         changed then calling set_modified() manually. I guess this is
7085         maybe more flexible. It seems logical.
7086
7087 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
7088
7089         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
7090         now.
7091
7092         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
7093
7094 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
7095
7096         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
7097         been marked static.
7098
7099 2000-11-02  Havoc Pennington  <hp@redhat.com>
7100
7101         * gtk/testgtk.c (create_labels): had a test backward
7102
7103         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
7104         fields, so the dest GC ends up with the correct clip origin, 
7105         etc. Fixes a bug where colored labels didn't redraw 
7106         properly.
7107
7108 2000-11-02  Alexander Larsson  <alexl@redhat.com>
7109
7110         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
7111         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
7112         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
7113         Add last argument to t_type_register_static call.
7114         
7115         * gdk/linux-fb/gdkdrawable-fb2.c:
7116         Add last argument to t_type_register_static call.
7117         export the get_image drawable virtual function.
7118
7119         * gdk/linux-fb/gdkimage-fb.c:
7120         Add last argument to t_type_register_static call.
7121         rename gtk_image_get to _gdk_fb_get_image and
7122         export it for use by gdkdrawable-fb2.
7123
7124         * gdk/linux-fb/gdkprivate-fb.h:
7125         export _gdk_fb_get_image.
7126
7127         * gdk/linux-fb/gdkselection-fb.c:
7128         Add new api call stubs.
7129
7130         * gtk/Makefile.am:
7131         Missing ( in linux-fb part.
7132
7133         * modules/linux-fb/Makefile.am:
7134         Must link with gdk_pixbuf or get unresolved symbol.
7135
7136 2000-11-01  Havoc Pennington  <hp@pobox.com>
7137
7138         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
7139         GTK_TYPE_TEXT_ITER and BOXED marshallers
7140
7141         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
7142
7143         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
7144         
7145         * gtk/gtk-boxed.defs: add GtkTextIter
7146
7147         * gtk/gtkmarshal.list: Add marshallers for text widget that 
7148         properly use OBJECT and BOXED
7149
7150 2000-11-01  Havoc Pennington  <hp@redhat.com>
7151
7152         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
7153
7154         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
7155         before returning it. 
7156         
7157 2000-11-01  Havoc Pennington  <hp@redhat.com>
7158
7159         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
7160         Clip the rectangle to be rendered to the drawable, since
7161         get_from_drawable() requires a region within the drawable
7162
7163 2000-11-01  Havoc Pennington  <hp@redhat.com>
7164
7165         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
7166         from coordinates.
7167
7168 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
7169
7170         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
7171         it isn't NULL.
7172
7173 2000-11-01  Havoc Pennington  <hp@pobox.com>
7174
7175         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
7176         on a label
7177         (gtk_label_finalize): unref the attr list if any.
7178
7179         * gtk/testgtk.c (create_get_image): close test on second click
7180         (make_message_dialog): close dialog if it exists
7181
7182         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
7183
7184         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
7185         gdk-pixbuf
7186
7187         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
7188         from Pango markup format
7189         (gtk_label_set_markup_with_accel): ditto but with accelerator
7190         parsing
7191
7192         * gtk/gtkimage.c (gtk_image_expose): reformatting.
7193
7194         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
7195         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
7196         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
7197         call gdk_window_get_origin().
7198
7199         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
7200         implement GDK_PIXBUF_ALPHA_FULL
7201         
7202 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
7203
7204         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
7205         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
7206         g_signal_handlers_disconnect_matched to block/unblock and disconnect
7207         multiple handlers respectively, instead of only treating the
7208         first handler found (bug reported by owen).
7209
7210 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
7211
7212         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
7213
7214         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
7215
7216         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
7217         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
7218         gtk/gtktreeviewcolumn.h: Fixed inline docs.
7219
7220         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
7221         widget.  Needs writing someday.
7222
7223         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
7224         the docs.
7225
7226 2000-10-30  Havoc Pennington  <hp@redhat.com>
7227
7228         * gtk/gtktextview.h, gtk/gtktextview.c:
7229         Rename delete_at_cursor delete_from_cursor, and 
7230         move to move_cursor.
7231
7232 2000-10-30  Havoc Pennington  <hp@redhat.com>
7233
7234         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
7235         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
7236         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
7237         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
7238         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
7239         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
7240         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
7241         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
7242         gtktexttypes.h, gtktextview.c, gtktextview.h:
7243
7244         Massive reindentation and reformatting. Arg alignment and comments
7245         still need fixing in various places.
7246
7247 2000-10-30  Havoc Pennington  <hp@redhat.com>
7248
7249         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
7250         to be named insert_at_cursor and delete_at_cursor so C++ can
7251         handle them.
7252
7253 2000-10-28  Tor Lillqvist  <tml@iki.fi>
7254
7255         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
7256         to get a double directory separator in case the home directory
7257         ends with one. This would cause trouble especially on Windows,
7258         where the path will be confused with the syntax for an an UNC
7259         (network share) path \\server\share\path.
7260         (gtk_rc_add_initial_default_files): Ditto.
7261
7262 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
7263
7264         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
7265
7266         * gtk/gtktextview.c: Use correct marshallers.
7267
7268 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
7269
7270         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
7271         use new iter stuff, and added all the appropriate signals et al.
7272
7273         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
7274         code is internal to gtk only.
7275
7276 2000-10-28  Tor Lillqvist  <tml@iki.fi>
7277
7278         * gtk/gtk.def
7279         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
7280         glib-genmarshal etc.
7281
7282 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
7283
7284         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
7285         parallel builds.
7286
7287 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
7288
7289         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
7290
7291 2000-10-27  Robert Brady  <robert@suse.co.uk>
7292
7293         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
7294         en_GB (British), ia (Interlingua).
7295
7296 2000-10-26  Havoc Pennington  <hp@redhat.com>
7297
7298         * gtk/gtktextiter.c (my_strrstr): fix constness warning
7299
7300         Fixed output of:
7301         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
7302         
7303         * gtk/gtktextsegment.c (char_segment_new): rename
7304         (_char_segment_new_from_two_strings): rename
7305         (_toggle_segment_new): rename
7306         
7307         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
7308         (make_clipboard_widget): make it static
7309         (text_get_func): static
7310         (text_clear_func): static
7311
7312         * gtk/gtkcolorsel.c (adjustment_changed): make this function
7313         static
7314         (hex_changed): make it static
7315         (hsv_changed): make it static
7316         (opacity_entry_changed): make it static
7317
7318         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
7319         (toggle_segment_check_func): rename with _gtk
7320
7321         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
7322         (_widget_segment_new): rename
7323         (_widget_segment_add): rename
7324         (_widget_segment_remove): rename
7325         (_widget_segment_ref): rename
7326         (_widget_segment_unref): rename
7327
7328         * gtk/gtktextmark.c (_mark_segment_new): Rename
7329         _gtk_mark_segment_new   
7330
7331 2000-10-26  Havoc Pennington  <hp@redhat.com>
7332
7333         * gtk/gtkmarshal.list: add new marshallers used by the text widget
7334         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
7335         types
7336
7337         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
7338         marshaller types
7339
7340         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
7341         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
7342         license on these files.
7343
7344         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
7345         work.
7346
7347         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
7348         runtime random number different for each tree, instead of 
7349         a constant I made up.
7350
7351 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
7352
7353         * gtk/Makefile.am: buncha cleanups, kludged build sources
7354         dependencies with a Makefile: oldest-source-stamp dependancy
7355         for the moment. automake is really fighting us here, with
7356         intentionally not allowing user-defined rules or dependancies
7357         prior to it's -include $(DEP_FILES) statement. sucks rocks!
7358
7359         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
7360         to public headers. tehy have a comment stating that they are
7361         "semi-public" aren't included by gtk.h and if enums popup there,
7362         they can be /*< skip >*/-ed.
7363
7364         * gtk/gtktextlayout.h: 
7365         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
7366         added LGPL... <SIGH>
7367
7368 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
7369
7370         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
7371         GtkTreeIter.  Added iterators everywhere.
7372
7373         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
7374
7375         * gtk/gtktreeviewselection.c: Changed to use the iterators.
7376
7377         * gtk/gtktreestore.c: Changed to use the iterators.
7378
7379         * gtk/gtkliststore.c: Commented out the code.  Will convert to
7380         iterators tomorrow.
7381
7382         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
7383         iterators tomorrow.
7384
7385         * gtk/treestoretest.c: Changed to use iterators.
7386
7387         * demos/testgtk/main.c: Moved to use the new iterator system.
7388
7389 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
7390
7391         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
7392         localization misbehaviour.
7393
7394         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
7395         a useless type without copy/free.
7396
7397         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
7398         of GTK_TYPE_CTREE_NODE.
7399
7400 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
7401
7402         * gtk/gtksignal.c:
7403         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
7404         applicable.
7405
7406         * gtk/gtk-boxed.defs (GtkSelectionData): specify
7407         gtk_selection_data_copy and gtk_selection_data_free
7408         do GtkSelectionData work as params in signals.
7409
7410 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
7411
7412         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
7413         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
7414         couldn't they at least give it a non-standard name?
7415         
7416         * gtk/gtktextlayout.c: arg! yet another implementation of
7417         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
7418
7419         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
7420         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
7421         home. now i know this _is_ a conspiracy.
7422
7423         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
7424         ::state-changed.
7425
7426         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
7427         (gtk_accel_group_create_add): marshaller signature fixups.
7428
7429         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
7430         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
7431
7432         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
7433         anymore.
7434
7435 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
7436
7437         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
7438         due to the signal system changes, it wouldn't build currently. to
7439         be fixed soon.
7440
7441         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
7442
7443         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
7444         so it needs gtk_marshal_VOID__ENUM() instead of
7445         gtk_marshal_NONE__UINT().
7446
7447         * gdk/gdk*.c: adapted type registration functions.
7448
7449         * gtk/gtkbindings.c:
7450         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
7451         gone.
7452
7453         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
7454
7455         * gtk/gtkobject.c:
7456         (gtk_object_destroy):
7457         (gtk_object_shutdown): fixed recursion guards. basically we have to
7458         catch the case where any of GObject.shutdown() or gtk_object_destroy()
7459         is called during ::destroy, and avoid recursion there.
7460
7461         * gtk/gtktypeutils.c:
7462         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
7463         boxed_copy/boxed_free. this needs a more general solution based on a
7464         publically installed code-generator utility.
7465
7466         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
7467         glib's gobject has support for that now.
7468         define GtkSignalMarshaller in terms of GSignalCMarshaller.
7469
7470 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
7471
7472         * gtk/gtksignal.[hc]:
7473         * gtk/gtkmarshal.[hc]:
7474         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
7475         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
7476         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
7477         care of that.
7478
7479         * *.c: marshaller name fixups.
7480
7481         * gtk/gtkmarshal.list: added a comment briefing the format.
7482
7483 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
7484
7485         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
7486         compatibility macros here now. more specifically, most of
7487         the API is preserved (yes, _most_, nonwithstanding the
7488         following exceptions listed, the API is stil lHUGE ;)
7489         things that got removed completely:
7490         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
7491         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
7492         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
7493         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
7494         gtk_signal_remove_emission_hook().
7495         non-functional functions variants:
7496         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
7497         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
7498         not supported anymore.
7499         (gtk_signal_compat_matched): new internal function to aid
7500         implementation of the compatibility macros, it  provides
7501         functionality to block/unblock/disconnect handlers based
7502         on func/data.
7503
7504         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
7505
7506         * *.c: adaptions to new type registration API signatures.
7507
7508 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
7509
7510         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
7511
7512 2000-10-25  Robert Brady  <robert@suse.co.uk>
7513
7514         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
7515         gdk_property_delete): If window == NULL, assume the root window.
7516         (restoring the behaviour that was in 1.2).
7517         
7518         * gtk/testtext.c (save_buffer): Allow creation of new files when
7519         saving.
7520
7521         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
7522         calls to read().
7523
7524 2000-10-25  Tor Lillqvist  <tml@iki.fi>
7525
7526         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
7527
7528         * gdk/win32/gdkdrawable-win32.c
7529         * gdk/win32/gdkimage-win32.c
7530         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
7531         X11 backend.
7532
7533         * gdk/win32/gdkcc-win32.c
7534         * gdk/win32/gdkcolor-win32.c
7535         * gdk/win32/gdkfont-win32.c
7536         * gdk/win32/gdkinput-win32.c
7537         * gdk/win32/gdkmain-win32.c
7538         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
7539
7540 2000-10-24  Havoc Pennington  <hp@redhat.com>
7541
7542         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
7543         it a static function
7544
7545         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
7546         redraw text when a tag is applied to it.
7547
7548         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
7549         (gtk_text_tag_affects_nonsize_appearance): private functions to
7550         see if a tag requires various kinds of redraw/layout to be queued
7551         up.
7552
7553         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
7554
7555         * gtk/testtext.c (fill_example_buffer): Put the cursor 
7556         at the start of the buffer, so search works by default
7557
7558         * gtk/gtktextiter.c (lines_match): init match_start always
7559
7560         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
7561         function, get iter at a line + a byte index
7562
7563         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
7564         to set byte position within a line
7565         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
7566
7567 2000-10-23  Havoc Pennington  <hp@redhat.com>
7568
7569         * gtk/testtext.c: Re-enable the "find" dialog
7570
7571         * gtk/testgtk.c: Add test for gdk_drawable_get_image
7572         
7573         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
7574         the arguments to gdk_draw_drawable were in the wrong order
7575         (gdk_window_paint_init_bg): This function was ignoring the
7576         init_region, instead of clipping to it, so the entire backing
7577         pixmap was cleared on every begin_paint()
7578         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
7579         was in here again, the loop kept using the same GtkWindowPaint
7580         over and over.
7581         (gdk_window_begin_paint_region): Fix a bug where we had two
7582         x_offset instead of x_offset and y_offset
7583
7584         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
7585         before we get the image.
7586         (gdk_draw_drawable): get the composite before we draw the drawable.
7587         (gdk_drawable_real_get_composite_drawable): default
7588         get_composite_drawable implementation that returns the drawable 
7589         itself
7590
7591         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
7592         get_composite_drawable virtual function
7593
7594         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
7595         list-walking bug
7596
7597         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
7598         make this work if the source drawable is a GdkDrawableImplX11
7599         instead of a public drawable type. This is really broken; the
7600         problem is that GdkDrawable needs a virtual method get_xid(), but
7601         of course that doesn't work in practice. Enter RTTI.
7602
7603         Also, improve mismatched depth message.
7604
7605         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
7606         GdkPixmap
7607
7608         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
7609         install _gdk_x11_get_image as our implementation of get_image
7610         
7611         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
7612         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
7613
7614         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
7615         gdk_drawable_get_image
7616
7617         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
7618
7619         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
7620         get_image
7621
7622         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
7623         trailing semicolon after for loop
7624
7625 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
7626
7627         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
7628         where font_desc for widget's context lagged widget's font_desc by
7629         one step.
7630
7631 2000-10-22  Tor Lillqvist  <tml@iki.fi>
7632
7633         * gdk/win32/gdkgc-win32.c
7634         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
7635
7636         * gtk/makefile.mingw.in
7637         * gtk/gtk.def: Updates.
7638
7639         * gtk/testgtk.c: sleep() is called _sleep in MS's C
7640         library.
7641
7642         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
7643
7644         * gtk/makefile.msc: Remove
7645
7646         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
7647
7648         * gtk/Makefile.am: Add it.
7649
7650         * configure.in: Generate it.
7651
7652         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
7653         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
7654         something even if not implemented, to satisfy picky MSVC.
7655
7656         Patches by Hans Breuer:
7657         
7658         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
7659         SetBkMode() and SetTextAlign() before calling
7660         pango_win32_render().
7661
7662         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
7663         Set hcliprgn to NULL after destroying it.
7664         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
7665
7666         * gdk/win32/gdkgeometry-win32.c
7667         (_gdk_windowing_window_queue_antiexpose): More effective
7668         implementation.
7669
7670         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
7671         depth as default, not the visual's.
7672
7673         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
7674         against empty title.
7675
7676         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
7677         IMAGE_PRIVATE_DATA.
7678
7679         * gdk/win32/gdkimage-win32.c: Use it.
7680
7681 2000-10-22  Robert Brady  <robert@suse.co.uk>
7682
7683         * configure.in: Check for bind_textdomain_codeset
7684
7685         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
7686         present, make use of it.
7687
7688         Add a translatable string "default:LTR" which, if translated
7689         to "default:RTL", will cause the default direction to be
7690         Right-to-Left.
7691
7692         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
7693         direction if marked as flippable.
7694
7695         * gtk/gtkhscale.c: Mark widget as flippable.
7696         
7697 2000-10-04  Havoc Pennington  <hp@redhat.com>
7698
7699         * gtk/testgtk.c (create_buttons): create some stock buttons
7700         with the default accel group
7701         (create_image): test some new GtkImage features
7702         (make_message_dialog): test GtkMessageDialog
7703         (create_modal_window): fix someone's bizzarro indentation
7704
7705         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
7706         GTK_WIN_POS_CENTER_ON_PARENT. 
7707         Add "destroy with parent" setting, which means the window goes
7708         away with its transient parent.
7709         (gtk_window_get_default_accel_group): get the default accel group
7710         for the window.
7711         (gtk_window_set_destroy_with_parent): set/unset destroy with
7712         parent flag
7713         (gtk_window_read_rcfiles): invalidate icon set caches
7714         after reloading rcfiles 
7715
7716         * gtk/gtkenums.h (GtkWindowPosition): add
7717         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
7718         on its parent window when the dialog is mapped for the first time.
7719
7720         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
7721         a simple message dialog class
7722         
7723         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
7724         handler to emit response signal, and maybe later it would
7725         honor a hide_on_delete flag - though that isn't there yet.
7726         Set border width on the vbox to 2, so we get some padding.      
7727         Use a button box for the action area.
7728         (gtk_dialog_key_press): synthesize a delete event if Esc
7729         is pressed and the GtkWidget key press handler didn't 
7730         handle the escape key.
7731         (gtk_dialog_new_with_buttons): new function creates a dialog
7732         with some default buttons in it.
7733         (gtk_dialog_add_action_widget): add an activatable widget
7734         as a button in the dialog - you can also add a non-activatable
7735         widget by accessing the action area directly.
7736         (gtk_dialog_add_button): add a simple button - stock ID or 
7737         label - to the action area
7738         (gtk_dialog_response): emit response signal
7739         (gtk_dialog_run): block waiting for the dialog, return 
7740         the response. Override normal delete_event behavior, so that 
7741         delete_event does nothing inside gtk_dialog_run().
7742
7743         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
7744         emitted when an action widget is clicked or the dialog gets
7745         delete_event
7746
7747         * gtk/gtk.h: add gtkmessagedialog.h
7748
7749         * gtk/Makefile.am: add gtkmessagedialog.[hc]
7750
7751 2000-10-18  Havoc Pennington  <hp@redhat.com>
7752
7753         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
7754         where any number of empty lines would get skipped
7755
7756         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
7757         edge.
7758
7759         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
7760         warning about invalid iterators (explain more thoroughly)
7761         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
7762
7763         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
7764         big
7765
7766         * demos/*.c: Add error handling
7767
7768         * gtk/gtktextbuffer.c: don't modify const iterators
7769
7770         * gtk/gdk-pixbuf-loader.c: Add full error handling here
7771
7772         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
7773         on file load
7774
7775         * gtk/gtkiconfactory.c: Update to reflect addition of error
7776         handling to gdk-pixbuf loaders
7777
7778 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
7779
7780         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
7781         move to new modularized testgtk.
7782
7783 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
7784
7785         * gtk/gtktreeview.c: Draw the arrows correctly.
7786
7787         * gtk/gtktreemodel.c: Added user docs.
7788
7789         * gtk/gtk.h: remove gtktreedatalist.h.
7790
7791         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
7792         parent when generating my type.
7793
7794         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
7795         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
7796
7797 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7798
7799         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
7800         GtkTreeModel from object to interface.
7801
7802 2000-10-16  Havoc Pennington  <hp@redhat.com>
7803
7804         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
7805         compilation
7806
7807 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
7808
7809         * gtk/gtktreeselection.c: Add API documentation to all public
7810         functions.
7811
7812         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
7813         functions.
7814
7815 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
7816
7817         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
7818         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
7819         docs to all public functions.
7820
7821         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
7822         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
7823         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
7824         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
7825         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
7826         issue.
7827
7828 2000-10-14  Robert Brady  <robert@suse.co.uk>
7829
7830         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
7831
7832 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
7833
7834         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
7835         values other then G_TYPE_STRING.
7836         * gtk/gtktreeselection.c: Minor commenting updates.
7837         * gtk/gtktreeview.c: Format updates.
7838
7839 2000-10-09  Tor Lillqvist  <tml@iki.fi>
7840
7841         * README.win32: Update.
7842
7843         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
7844         lines that had been deleted by mistake (?).
7845
7846         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
7847         also the case fg==white and bg==black (but still not randomly
7848         coloured cursors). Thanks to Wolfgang Sourdeau.
7849
7850         * gdk/win32/*.c: Silence gcc -Wall.
7851
7852         * gtk/gtk.def: Add missing entry points.
7853
7854         Fixes by Hans Breuer:
7855
7856         * gdk/makefile.msc
7857         * gdk/win32/makefile.msc: Update.
7858
7859         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
7860         some MSVC thing, presumably), cause breakpoint on failures. Add
7861         GDK_NOR case. Call g_log_set_always_fatal.
7862
7863         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
7864         should be pased by reference.
7865         
7866         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
7867         
7868         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
7869
7870         * gdk/win32/gdkevents-win32.c
7871         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
7872
7873         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
7874         implementation object.
7875
7876         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
7877         not just windows.
7878         
7879         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
7880         Use the wrapper object.
7881         
7882 2000-10-06  Havoc Pennington  <hp@redhat.com>
7883
7884         * Makefile.am (SRC_SUBDIRS): contrib subdir
7885
7886         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
7887         so it can be used in Xlib version
7888
7889         * demos/testpixbuf.c (update_timeout): error checking from 1.0
7890         tree
7891
7892         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
7893         change from 1.0 tree that returns first frame of animation
7894         if the loaded file is an animation.
7895
7896         * contrib: add new directory to hold stuff that comes with GTK+
7897         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
7898         
7899         * configure.in: add contrib/*
7900
7901 2000-10-05  Havoc Pennington  <hp@redhat.com>
7902
7903         * demos/testpixbuf-save.c: add pixbuf save test
7904
7905         * demos/Makefile.am: add testpixbuf-save.c
7906
7907 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
7908
7909         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
7910         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
7911         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
7912         * gtk/gtktreeselection.[ch]: Replaced
7913         "node_selected"/"node_unselected" signal with "selection_changed"
7914         signal.
7915
7916 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7917
7918         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
7919         tree widget.
7920
7921 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
7922
7923         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
7924         drawing.
7925
7926 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
7927
7928         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
7929         Move list pointer forwards before removing item from
7930         list. (Crash reported by Salmaso Raffaele)
7931
7932         * gdk/gdkwindow.h: Remove spurious trailing ,
7933
7934         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
7935         dependencies on uninstalled libraries, sorry folks.
7936
7937 2000-10-04  Havoc Pennington  <hp@redhat.com>
7938
7939         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
7940         gtk/gtkiconfactory.c: Fix copyrights    
7941
7942         * demos/testpixbuf.c: add inline pixbuf test
7943         
7944 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
7945
7946         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
7947         Add gdk_window_iconify.
7948
7949         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
7950         (gdk_window_set_geometry_hints): Add win_gravity
7951         to geometry structure.
7952
7953         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
7954         Implement _NET_WM_PING.
7955
7956         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
7957         Set _NET_WM_PID on the client leader.
7958
7959         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
7960         Handle UTF-8 better.
7961
7962         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
7963         UTF-8 better, set _NET_WM_NAME as well. Only set
7964         icon name if it hasn't previously been explicitely 
7965         set.
7966
7967 2000-10-03  Havoc Pennington  <hp@redhat.com>
7968
7969         * gtk/testtextbuffer.c: clean up trailing whitespace,
7970         add extensive tests for tag toggle iteration.
7971         
7972         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
7973         distance
7974
7975         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
7976         optimize case where the tag root is on level 1
7977         (gtk_text_line_previous_could_contain_tag): attempt to implement
7978         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
7979         functionality
7980
7981         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
7982         Implement this, though not very efficiently.
7983
7984         * gtk/gtktextiterprivate.h: reformat
7985
7986         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
7987         iterator
7988
7989         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
7990         this to properly revalidate the iterators.
7991
7992         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
7993         properly at the end of the line (and therefore on empty lines)
7994
7995         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
7996         maybe we should return a value...
7997
7998 2000-10-03  Tor Lillqvist  <tml@iki.fi>
7999
8000         * config.h.win32: Guard definition of alloca(). glib.h now handles
8001         that.
8002
8003         * gdk/gdk.def
8004         * gtk/gtk.def: Add new entry points.
8005
8006         Changes just to make GTK+ build without errors on Win32. No hope
8007         of it working in its current state, though...:
8008         
8009         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
8010         some functions from the X11 backend, just to make GTK+ build.
8011
8012         * gdk/makefile.mingw.in
8013         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
8014         number. Add new object files.
8015
8016         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
8017         GetMessageTime to get timestamp (where on X11 uses
8018         gdk_x11_get_server_time()).
8019
8020 2000-10-02  Havoc Pennington  <hp@pobox.com>
8021
8022         * gtk/gtktextview.c: text_window_* weren't static and should have
8023         been.
8024         Start work on child widgets; not yet complete, syncing to 
8025         office computer.
8026
8027         * gtk/gtktextchild.h: change this to contain a public interface,
8028         starting work on child interfaces.
8029         * gtk/gtktextchildprivate.h: move private interfaces here
8030
8031         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
8032
8033         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
8034         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
8035         gtk/gtktextmark.c: copyright notices
8036
8037         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
8038         internal functions      
8039
8040         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
8041         internal function
8042
8043         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
8044         Reformatting    
8045
8046 2000-09-30  Havoc Pennington  <hp@pobox.com>
8047
8048         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
8049         NULL start/end pointers
8050
8051         * gtk/gtktextbuffer.c: Write some docs
8052         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
8053         NULL, so you can just check whether there's a selection.        
8054
8055         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
8056         cleanup_line or segments_changed ourselves, it gets done 
8057         in unlink_segment
8058
8059         * gtk/gtktextmark.h:
8060         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
8061         
8062         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
8063
8064         * gtk/gtktextmark.c: delete some more old Tk cruft
8065
8066         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
8067         mark before removing it, so we can emit MARK_DELETED with a valid
8068         pointer.
8069         (gtk_text_buffer_mark_set): hold ref across signal emission
8070
8071         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
8072         whining about attempts to delete special marks
8073
8074         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
8075         underscore, since it's internal.
8076
8077         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
8078         now implemented in terms of iterators in gtktextiter.h
8079
8080         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
8081         New function, destructively sets contents of buffer. Also 
8082         a convenient way to clear the buffer by setting text to ""
8083
8084         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
8085         multiline string literal
8086
8087         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
8088         text changes.
8089
8090         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
8091         is not dereferenceable
8092         (gtk_text_iter_forward_lines): fix return value
8093
8094 2000-09-29  Havoc Pennington  <hp@redhat.com>
8095
8096         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
8097
8098         * gtk/gtktextview.c: Implement drag thresholding; change functions 
8099         that set border window size to have nicer name
8100         (gtk_text_view_mark_set_handler):  Fix this to have the 
8101         right signature.
8102
8103         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
8104
8105         * gtk/testtext.c: Update with API changes, put line numbers on 
8106         both sides.
8107         
8108         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
8109         with this
8110
8111         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
8112         pixbuf; delete a big block of #if 0 Tk code
8113
8114         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
8115         insert_pixmap with insert_pixbuf
8116
8117 2000-09-29  Martin Baulig  <baulig@suse.de>
8118
8119         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
8120         confusion with the GdkPixbuf of the GNOME 1.x platform.
8121
8122 2000-09-29  Havoc Pennington  <hp@pobox.com>
8123
8124         * gtk/gtktextview.c: Implement the side windows.
8125
8126         * gtk/testtext.c: Implement simple line numbering in the 
8127         left side window; seems to make scrolling sloooow. Oops.
8128         Also, cursor blink is for some reason causing redraws
8129         of the line numbers. Should investigate...
8130
8131 2000-09-28  Havoc Pennington  <hp@redhat.com>
8132
8133         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
8134         scrolling child windows, and draw focus rectangle properly.
8135         
8136         (gtk_text_view_buffer_to_window_coords):
8137         Coordinate transformation to deal with all these freaking windows
8138         and offsets
8139         (gtk_text_view_window_to_buffer_coords): transform the other way
8140
8141         * gtk/testtext.c (create_buffer): Update to match Pango API change
8142
8143         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
8144         anonymous tags
8145         (foreach_unref): don't emit remove signal from finalize, just
8146         set tag's parent to NULL
8147
8148 2000-09-26  Havoc Pennington  <hp@redhat.com>
8149
8150         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
8151         Fix some warnings       
8152
8153 2000-09-26  Havoc Pennington  <hp@redhat.com>
8154
8155         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
8156         headers into the private header list
8157
8158         * Makefile.am (pkgconfig_DATA): install pkg-config files
8159
8160         * configure.in: add pkg-config files
8161
8162         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
8163
8164         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
8165         outstanding icon caches on theme change.
8166
8167         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
8168         important types:
8169
8170         (GtkIconSource): Specification for creating a pixbuf 
8171         appropriate for a direction/state/size triplet from 
8172         a source pixbuf or filename
8173
8174         (GtkIconSet): List of GtkIconSource objects that are used to
8175         create the "same" icon (e.g. an OK button icon), and cache for
8176         rendered icons
8177
8178         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
8179         up the icon set for a given stock ID.  GTK maintains a stack of
8180         GtkIconFactory to search, and applications or libraries can add
8181         additional icon factories on top of the stack
8182         
8183         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
8184         the set of GtkIconSource specified for a given stock ID into 
8185         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
8186         RcStyle, under the specified stock ID.
8187
8188         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
8189         render_icon used to derive a GdkPixbuf from a GtkIconSource.
8190         This allows people to theme how prelight, insensitive, etc. are
8191         done.
8192
8193         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
8194         icon factories for a style, and return the resulting 
8195         icon set if any.
8196
8197         (gtk_style_render_icon): Render an icon using the render_icon 
8198         method in the GtkStyleClass.
8199
8200         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
8201         Use the style for a given widget to look up a stock ID, get the
8202         icon set, and render an icon using the render_icon method 
8203         of the style
8204
8205         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
8206         (contains information about a stock item), the built-in stock item
8207         IDs, and functions to add/lookup stock items.
8208
8209         * gtk/stock-icons/*: Stock icons that come with GTK
8210
8211         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
8212         a button based on a GtkStockItem
8213         (gtk_button_new_accel): Takes a uline string and accel group, and
8214         installs the accelerator.
8215
8216         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
8217         image-display widget.
8218
8219 2000-09-25  Havoc Pennington  <hp@redhat.com>
8220
8221         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
8222
8223         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
8224         Fix a bug when removing node data, we didn't properly 
8225         re-splice the linked list after removing the data.
8226
8227         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
8228         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
8229
8230         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
8231
8232         * gtk/gtktextlayout.c (set_para_values): Set tab array 
8233         for the layout from the GtkTextTag.
8234
8235         * gtk/gtktexttypes.h: delete tab and search cruft, 
8236         remove g_convert() in favor of GLib version
8237
8238         * gtk/gtktexttypes.c: remove tab implementation from here,
8239         move to Pango
8240
8241         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
8242         tab stuff using new PangoTabArray from Pango
8243
8244         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
8245         unused border_width stuff
8246
8247 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
8248
8249         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
8250         glib) and now useless utf_to_latin1() latin1_to_utf()
8251
8252         * gtk/gtktextview.[ch]: Change ::move_insert and
8253         ::delete_text action signals to ::move and ::delete;
8254         create the signals with the right enumeration type,
8255         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
8256         C-v bindings, change Home, End to move to beginning/end
8257         of line, Add C-Home C-End to move to beginning/end
8258         of buffer. Change ::cut_text to ::cut_clipboard, etc;
8259         combine ::scroll_text into ::move; use new GtkSelectionData
8260         functions to simplify DND text handling.
8261         
8262         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
8263         deletion enumerations here, rename enumeration values to 
8264         be consistently plural.
8265
8266         * gtk/gtktextbuffer.c: Use new clipboard interfaces
8267         for cut/copy/paste and primary selection.
8268
8269         * gtk/gtktextbuffer.[ch]: Remove excess time and
8270         'interactive' arguments from cut/copy/paste;
8271         rename cut to cut_clipboard, etc; remove
8272         gtk_text_buffer_get_clipboard_contents().
8273
8274         * gtk/gtktextlayout.[ch]: Add 
8275         gtk_text_layout_move_iter_to_line_end() to move the iter to 
8276         line ends.
8277
8278         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
8279         Functions to set or get a UTF-8 string on the selection
8280         data.
8281
8282         * gtk/gtkclipboard.[ch]: New, simplified selection handling
8283         interfaces.
8284
8285         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
8286         created widgets - one of these is useless if we don't.
8287
8288         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
8289         a public function clear all targets registered for the
8290         widget.
8291
8292         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
8293         Never call gtk_widget_realize() - that was just asking
8294         for bizarre side-effects.
8295
8296         * gtk/gtkselection.c (gtk_selection_owner_set): Call
8297         gdk_selection_owner_set even if the widget is the
8298         same so that we reliably update the timestamp on
8299         the server.
8300
8301         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
8302         gdk_x11_get_server_time() function.
8303         
8304         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
8305         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
8306         Add some tricky filtering on serial numbers for
8307         selection clear events to fix up long-standard
8308         race condition FIXME's in gtkselection.c.
8309
8310         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
8311         routines to convert from utf8 to compound text or
8312         STRING and from a text property to UTF-8.
8313
8314         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
8315         a convenience function gdk_get_current_event_time().
8316
8317         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
8318         and free selection_data->data properly
8319
8320 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
8321
8322         * gtk/gtkthemes.c: Remove some unecessary includes.
8323
8324 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
8325
8326         * gtk/gtktextdisplay.c
8327         * gtk/gtktextlayout.c
8328         * gtk/gtktexttag.c
8329         * gtk/gtktexttag.h
8330         * gtk/testtext.c: Change the overstrike property to strikethrough,
8331         to closer match pango.
8332
8333 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
8334
8335         * gtk/gtktextview.c: Fix up visibility so that focus,
8336         cursor_visible and blink interact properly.  Reenable cursor blink
8337         which had been roughly disabled. Make blink and focus
8338         properly per-view.
8339
8340         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
8341         Add a flag for whether to display insertion cursor and
8342         a function to set the flag.
8343
8344         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
8345         get_line_y() to get_line_yrange(), to be a bit more generally
8346         useful.
8347
8348 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
8349
8350         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
8351           do stop_navigating_submenu, to clear last timeout properly.
8352           Also in gtk_menu_motion_notify move ignore_enter above
8353           the conditional to make it always happen as suggested by Owen
8354
8355 2000-09-07  Tor Lillqvist  <tml@iki.fi>
8356
8357         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
8358
8359         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
8360         w32api headers.
8361
8362         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
8363         declarations.
8364
8365         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
8366         (gdk_win32_get_colormap): A line had been deleted by mistake.
8367
8368         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
8369         (gdk_event_translate): Handle more virtual keycodes to be able to
8370         generate GDK events for Control-comma, Control-period, etc.
8371
8372         * gtk/gtk.def: Add some missing entry points.
8373
8374 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
8375
8376         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
8377         Doc comment fixing. (Mostly non-matching parameter names.)
8378
8379         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
8380         comments a little to avoid looking like a doc comment.
8381
8382         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
8383         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
8384         conversions be changed to GError?)
8385
8386         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
8387         Move private #defines into .c file.
8388
8389         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
8390         order of argument addition, remove duplicates.
8391
8392         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
8393         parent class is FrameClass, not BinClass.
8394
8395         * gtk/gtk.h: Add gtkinvisible, which was missing.
8396         (It's occasionalyl useful for client apps, if seldom.)
8397
8398         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
8399         #define.
8400
8401 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
8402
8403         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
8404         coordinates when creating window, instead of GDK-space
8405         coordinates. (Avoid BadValue on too large windows.)
8406
8407 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8408
8409         * configure.in (use_mmx_asm): Remove conftest* after use along the
8410         lines of AC_TRY_COMPILE.        
8411         
8412         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
8413         of g_dirname, which is deprecated.
8414         (gtk_rc_parse_any): Removed calls to
8415         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
8416
8417         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
8418         Removed calls to g_hash_table_{freeze,thaw}, as they are
8419         deprecated now.
8420
8421         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
8422         instead of g_basename.
8423         
8424 2000-09-04 Elliot Lee <sopwith@redhat.com>
8425         
8426         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
8427         ANSI warning.
8428
8429 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
8430
8431         * gtk/gtkwidget.h:  Add some documenting comments about 
8432           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
8433           just as owen said on irc.
8434
8435         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
8436           set HAS_DEFAULT.  Only set it if there isn't another window
8437           holding it (a focus window which RECEIVES_DEFAULT) and only unset
8438           it if the widget is not the focused window with RECEIVES_DEFAULT.
8439           This fixes weird double default bugs in dialogs which has things
8440           call gtk_window_set_default at times.
8441
8442 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
8443
8444         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
8445         Nils Barth and David Santiago to improve submenu
8446         navigation. The patch does this by creating a triangular
8447         region from the point where the pointer leaves the
8448         menu to the submenu.  While the pointer is in
8449         that region and a timeout has not expired, events 
8450         that would cause the active submenu to change are
8451         ignored.
8452
8453 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
8454
8455         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
8456         moving a toplevel window immediately after sizing it would
8457         result in it being sized back to the old size since 
8458         impl->width, impl->height aren't updated until we hear
8459         back from the server. There is still a (longstanding) bug
8460         here that gdk_window_get_size() will give the wrong size
8461         until we do hear back.
8462
8463 2000-08-31  Havoc Pennington  <hp@redhat.com>
8464
8465         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
8466         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
8467         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
8468         Rename GtkTextStyleValues to GtkTextAttributes
8469
8470 2000-08-31  Havoc Pennington  <hp@pobox.com>
8471
8472         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
8473         for rapid testing whether an iterator is the end iterator
8474         (gtk_text_btree_new): init end line cache
8475         (gtk_text_line_is_last): use fast cached line to 
8476         see if we're the last line.
8477         (get_last_line): use cached line here too, should 
8478         speed up some random unrelated code.
8479         
8480 2000-08-30  Havoc Pennington  <hp@pobox.com>
8481
8482         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
8483         signals.
8484
8485         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
8486         delete_text signals. This allows the signals to be used for
8487         implementing undo.
8488
8489         * gtk/gtktextbuffer.c: Change signal handler signatures; 
8490         provide "interactive" argument when emitting insert_text or
8491         delete_text signal.
8492         
8493 2000-08-30  Havoc Pennington  <hp@pobox.com>
8494
8495         * gtk/gtktextbuffer.c: Docs
8496
8497 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
8498
8499         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
8500         from switch statements, since Tor removed the enumeration
8501         value.
8502         
8503         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
8504         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
8505
8506 2000-08-29 Elliot Lee <sopwith@redhat.com>
8507         * */*.h: Use G_GNUC_CONST.
8508
8509 2000-08-27  Havoc Pennington  <hp@pobox.com>
8510
8511         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
8512         minor indentation fixes, inserted some FIXME about stuff I
8513         realized was broken while documenting it.
8514         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
8515         GTK convention  
8516
8517 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
8518
8519         * gtk/testgtk.c (create_styles): Fix double free of
8520         font desc.
8521
8522 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8523
8524         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
8525         
8526         * gtk/testgtk.c (create_styles): Add a test for modifying
8527         the style through gtk_widget_modify_*.
8528
8529         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
8530         a function to get the current modifier style.
8531
8532         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
8533         of the passed in GtkRcStyle instead of ref'ing it.
8534
8535         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
8536
8537 2000-08-20  Tor Lillqvist  <tml@iki.fi>
8538
8539         * gdk/gdkimage.h
8540         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
8541         shared memory image+pixmap GdkImage type, or
8542         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
8543         I am dropping that.
8544
8545         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
8546         actually call gtk_init_abi_check(), passing also
8547         sizeof(GtkWindow). Ditto for gtk_init_check(). 
8548
8549         * gtk/gtk.def
8550         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
8551         New functions, used to check that the GTK+-using code has been
8552         compiled using the correct compiler and switches. In particular,
8553         with gcc one has to use the -fnative-struct switch as GTK+ is
8554         compiled with that.
8555
8556 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
8557
8558         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
8559         ->prev fields when merging lists. (Found simultaneously
8560         by Pawel Salek and Jakub Jelinek)
8561
8562 2000-08-12  Tor Lillqvist  <tml@iki.fi>
8563
8564         * gdk/gdk.def
8565         * gtk/gtk.def: Add missing entries.
8566
8567         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
8568         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
8569
8570         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
8571         function. Dummy implementation at this point.
8572
8573         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
8574         rules. Undefine GTK_COMPILATION when compiling the test programs.
8575         
8576         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
8577
8578 2000-08-11  Tor Lillqvist  <tml@iki.fi>
8579
8580         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
8581         to convert back and forth from UTF-8 and the "system" (or "current
8582         locale") charset when necessary. Indentation/spacing cleanup.
8583
8584 2000-08-10  Havoc Pennington  <hp@redhat.com>
8585
8586         * Makefile.am (snapshot): Change the format of the snapshot
8587         version to match glib
8588
8589         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
8590         from EXTRA_DIST since it doesn't seem to exist
8591
8592 2000-08-10  Tor Lillqvist  <tml@iki.fi>
8593
8594         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
8595         version of the directory name (not the UTF-8 one) when building
8596         the path name to stat().
8597
8598 2000-08-03  Elliot Lee  <sopwith@redhat.com>
8599
8600         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
8601         PANGO_ATTR_SHAPE set.
8602
8603 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
8604
8605         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
8606         Peter Osterlund to simplify the code while keeping the
8607         functionality the same.
8608
8609 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
8610
8611         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
8612         is_viewable() test further inside the function, since removing the 
8613         window from the redraw list without clearing ->update_area
8614         was also very broken.
8615
8616 2000-08-02  Tor Lillqvist  <tml@iki.fi>
8617
8618         * configure.in: Check for <unistd.h>.
8619
8620 2000-08-01  Martin Baulig  <baulig@suse.de>
8621
8622         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
8623         to display the message that this is a development version of GTK+.
8624
8625 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
8626
8627         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
8628         was depending on widget->allocation instead of the width of text_area,
8629         which was incorrect for subclasses like GtkSpinButton.
8630
8631         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
8632         with width == 1 tests that should be width == -1.
8633
8634 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
8635
8636         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
8637         (broken, Elliot, every single window blank on X) custom code with call
8638         to gdk_window_is_viewable() which a) prevents code duplicate and
8639         b) works. 
8640
8641 2000-07-31  Elliot Lee  <sopwith@redhat.com>
8642
8643         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
8644         to get the GDK_PARENT_ROOT() macro to work.
8645         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
8646         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
8647         of, windows that aren't shown.
8648         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
8649         pointer grab stuff.
8650
8651 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
8652
8653         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
8654           s/gtk_main_iteration/g_main_iteration/
8655
8656           Did this already in change:
8657                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
8658           don't know how it got reverted.
8659
8660 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
8661
8662         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
8663         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
8664
8665         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
8666         not gdk_pixbuf.
8667
8668 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
8669
8670         * configure.in,po/{sp,sr}.po: Added Serbian files
8671
8672 2000-07-30  Tor Lillqvist  <tml@iki.fi>
8673
8674         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
8675
8676         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
8677         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
8678         GIOChannel implementation.
8679
8680         * gdk/win32/gdkinput.c
8681         * gdk/win32/gdkpango-win32.c: Update license name here, too.
8682
8683         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
8684         definition to match prototype.
8685
8686         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
8687
8688 2000-07-27  Elliot Lee  <sopwith@redhat.com>
8689
8690         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
8691         function, to allow handling image formats that cannot be detected
8692         by looking at content alone.
8693
8694 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
8695
8696         * docs/tutorial/*.gif *.jpg *.eps
8697           Update these to the same look-n-feel.
8698           Why does including images in DocBook suck so badly?
8699
8700 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
8701
8702         * gtk/gtktable.c: applied patch from Phil Thompson
8703         <phil@river-bank.demon.co.uk> that enables space settings for
8704         the last row/columns as well.
8705
8706 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
8707
8708         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
8709         updates the license headers to the GNU Lesser General Public License,
8710         as well as updating the copyright year to 2000.
8711
8712 2000-07-26  Robert Brady  <rwb197@zepler.org>
8713
8714         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
8715           and po/Makefile, was installing and looking for them under gtk20
8716           and gtk2 respectively.
8717
8718 2000-07-25  Havoc Pennington  <hp@redhat.com>
8719
8720         * gtk/testtext.c: Comment out some stuff that depends on the rest
8721         of my patches.
8722
8723 2000-07-25  Havoc Pennington  <hp@redhat.com>
8724
8725         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
8726         buffer
8727
8728 2000-07-25  Havoc Pennington  <hp@redhat.com>
8729
8730         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
8731         widget changes.
8732
8733         * gtk/gtktextview.h: To be consistent with usage of "line"
8734         throughout the API to mean "newline-terminated thingy", change
8735         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
8736         to MOVEMENT_LINE.
8737
8738         (GtkTextView): Add flags for default editability, and whether to
8739         show the cursor. Add functions to get/set that. Add 
8740
8741         (gtk_text_view_get_iter_location): new function
8742
8743         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
8744         gtktextlayout.h
8745         (g_convert): Add g_convert temporarily, will go in glib in a bit
8746         
8747         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
8748         GtkTextTagTableForeach instead of brokenly using GHFunc.
8749         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
8750
8751         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
8752         moved to public header.
8753
8754         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
8755         "invisible", since "elide" was a bad name.
8756         (gtk_text_tag_get_priority): Added
8757
8758         (GtkTextStyleValues): put this in public header, along with
8759         functions to use it.
8760
8761         * gtk/gtktextmarkprivate.h: Include more headers, since we no
8762         longer include gtktextbtree.h.
8763
8764         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
8765         gtk_text_mark_deleted
8766
8767         * gtk/gtktextlayout.h: Don't include the "really private" headers,
8768         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
8769         to make this possible. Now we only need to install
8770         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
8771         (However the Makefile.am isn't changed yet because of the
8772         logistics of merging gtk-hp-patches piecemeal)
8773
8774         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
8775         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
8776         gtk_text_iter_get_line is now used in the public API for a
8777         different purpose.
8778
8779         * gtk/gtktextiter.h: Clean up function names to be more
8780         consistent. Always call char offset "offset" and byte index
8781         "index". A "line" is always a line number. 
8782
8783         (gtk_text_iter_is_last): new function, more efficient than 
8784         the existing way to check
8785         (gtk_text_iter_is_first): new function, also more efficient
8786
8787         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
8788
8789         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
8790         gtk_text_iter_forward_char, etc.
8791
8792         (gtk_text_iter_forward_to_tag_toggle): Renamed from
8793         forward_find_tag_toggle, since this isn't a linear search
8794
8795         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
8796
8797         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
8798         New functions, search for a buffer substring.
8799
8800         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
8801         interactive and default editable (since we need to store that info
8802         until we receive the selection data).
8803
8804         Remove all the _at_char and at_line etc. versions of functions;
8805         only have iterator versions.
8806
8807         Add _interactive() versions of functions, that consider the
8808         editability of text. (FIXME add interactive flag to the 
8809         insert/delete signals per Darin's suggestion)
8810
8811         (gtk_text_buffer_get_tag_table): new function, demand-creates the
8812         tag table if necessary
8813
8814         Remove declaration of gtk_text_buffer_get_iter_from_string
8815
8816         (_gtk_text_buffer_get_btree): private/internal function, added.
8817         
8818
8819         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
8820         (gtk_text_line_is_last): new function
8821
8822 2000-07-25  Havoc Pennington  <hp@redhat.com>
8823
8824         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
8825         using GtkProgressBar. See Changes-2.0.txt for details.
8826
8827         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
8828         "pulse_step" which are the equivalent of
8829         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
8830         Implement new API.
8831         
8832         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
8833         (use_text_format) to mark whether text set on the progress bar is
8834         a format string. Deprecate entire GtkProgress interface.
8835
8836         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
8837         (gtk_progress_build_string): make this a no-op if use_text_format
8838         is FALSE
8839
8840         * docs/Changes-2.0.txt: Describe progress bar changes.
8841
8842 2000-07-25  Tor Lillqvist  <tml@iki.fi>
8843
8844         * Makefile.am: Include the build directory.
8845
8846         * configure.in: Generate build/Makefile, build/win32/Makefile,
8847         gdk/, gdk/win32/, and gtk/makefile.mingw.
8848
8849         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
8850         Add GETTEXT_PACKAGE.
8851         
8852         * gdk/gdk.def
8853         * gtk/gtk.def: Updates.
8854
8855         * gdk/gdkfont.h
8856         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
8857         need them any longer.
8858
8859         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
8860
8861         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
8862         PANGOWIN32_LIBS and gdk_pixbuf.
8863
8864         * gdk/win32: Compiles, but no doubt doesn't work at all.
8865
8866         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
8867
8868         * gdk/win32/gdkinput.c: New file, temporarily.
8869         
8870         * gdk/win32/gdkinput-win32.h: New file
8871
8872         * gdk/win32/gdkinputprivate.h: Remove.
8873
8874         * gdk/win32/gdkpango-win32.c: New file.
8875
8876         * gtk/makefile.mingw.in: New file
8877
8878         * gtk/makefile.cygwin: Removed
8879         
8880         * gtk/Makefile.am: Update accordingly.
8881
8882         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
8883         made externally visible.
8884
8885         * gtk/gtkmain.c: Use it.
8886         
8887         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
8888         is enough.
8889
8890         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
8891
8892 2000-07-24 Elliot Lee <sopwith@redhat.com>
8893         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
8894         individual backends already.
8895         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
8896         again. Yes, there really is a good reason for this, if you are using the gdkregion
8897         internals, and if you're not, why do you care?
8898         * gdk/gdkwindow.c: Fix inverted condition
8899         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
8900         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
8901         * gtk/gtkrange.c: Redraw trough when moving.
8902         * gtk/gtktypeutils.c: Fix warning by adding const cast.
8903         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
8904
8905 2000-07-23  Tor Lillqvist  <tml@iki.fi>
8906
8907         * configure.in: Check for mkstemp and sigsetjmp. Output
8908         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
8909
8910         More work on GDK for Win32. Still in an intermediate state.
8911
8912         * gdk/makefile.cygwin
8913         * gdk/win32/makefile.cygwin: Removed.
8914         
8915         * gdk/makefile.mingw.in
8916         * gdk/win32/makefile.mingw.in: New files.
8917
8918         * gdk/Makefile.am
8919         * gdk/win32/Makefile.am: Generate and distribute them.
8920
8921         * gdk/win32/gdkwindow-win32.h
8922         * gdk/win32/gdkdrawable-win32.h
8923         * gdk/win32/gdkpixmap-win32.h: New files.
8924
8925         * gdk/win32/gdkcolor-win32.c
8926         * gdk/win32/gdkcursor-win32.c
8927         * gdk/win32/gdkdrawable-win32.c
8928         * gdk/win32/gdkgc-win32.c
8929         * gdk/win32/gdkimage-win32.c
8930         * gdk/win32/gdkprivate-win32.h
8931         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
8932         Rename fields and variables called xcursor, xid, etc (these names
8933         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
8934
8935 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
8936
8937         * gtk/gtkentry.[ch]: Fix some problems with vertical
8938         alignment.
8939
8940         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
8941         char/byte confusion.
8942
8943 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
8944
8945         * gtk/gtktextview.c (changed_handler): Fix bug where
8946         redraw wasn't being done properly when height of
8947         dirty region changed.
8948
8949         * demos/Makefile.am: Remove various references to
8950         -lgmodule
8951
8952 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
8953
8954         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
8955         PangoAttrShape to reserve space for pixmaps, add 
8956         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
8957         in the display functions.
8958         
8959         * gtk/testgtk.c (create_layout): Set some more exotic
8960         scrolled window options
8961
8962         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
8963         Add function to set the shadow type of a window, to allow
8964         putting a shadow around widgets such as GtkLayout or GnomeCanvas
8965         which don't draw their own frame.
8966
8967 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
8968
8969         * docs/tutorial/package-db-tutorial.sh: New file for
8970           packaging DocBook format tutorial
8971
8972 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
8973
8974         * docs/tutorial/gtk-tut.sgml: Minor updates
8975
8976         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
8977
8978 2000-07-19  Tor Lillqvist  <tml@iki.fi>
8979
8980         * gtk/gtksignal.c: Fix C++ comment.
8981
8982         * gtk/gtkimmulticontext.c
8983         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
8984         don't return value from void functions.
8985
8986         * gtk/gtk.def: Add gtk_rc_style_unref.
8987
8988 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
8989
8990         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
8991         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
8992         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
8993         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
8994         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
8995         gtk/gtktypeutils.h: Include files outside of the extern "C"
8996         block. Makes some C++ compiler happy. Reported by Denis Vakatov
8997         <vakatov@peony.nlm.nih.gov>.
8998
8999 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
9000
9001         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
9002           Completes first pass. Hurrah!
9003
9004 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
9005
9006         * docs/tutorial/gtk-tut.sgml: More clean ups.
9007
9008 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
9009
9010         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
9011         paint the background of the text area which was accidentally
9012         removed at some point.
9013
9014         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
9015           
9016          - Move most of the functionality from the theme vtable
9017            into GtkRcStyleClass and GtkStyleClass. The moved
9018            vtable functions were changed a bit in the move to
9019            work better in their new home.
9020
9021          - Get rid of the engine and engine_data fields from
9022            GtkRcStyle and GtkStyle; instead the theme
9023            engine derives theme-specific subclasses of GtkRcStyle
9024            and GtkStyle
9025
9026          - Add extra dlsym() found entry point to themes,
9027            theme_create_rc_style().
9028
9029         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
9030         in gtk_style_real_copy.
9031
9032         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
9033         to register a type associated with an engine. (The engine
9034         won't be unloaded as there is an instance of the type.)
9035
9036
9037 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
9038
9039         * docs/tutorial/gtk-tut.sgml: Clean ups.
9040
9041 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
9042
9043         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
9044           of cleaning up to do.
9045
9046 2000-07-15  Tor Lillqvist  <tml@iki.fi>
9047
9048         * gdk/testgdk.c: New file, quick hack to test backends for
9049         pixel-by-pixel correctness of the most simple graphic operations.
9050
9051 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
9052
9053         * Really release 1.3.1
9054         
9055         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
9056         include structure.
9057
9058 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
9059
9060         * Released 1.3.1
9061
9062 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
9063
9064         * gtk/gtktextlayout.c: use FALSE for size_only most
9065         of the time when calling gtk_text_layout_get_line_display()
9066         to avoid causing double reshapes when a redraw follows
9067         immediately after.
9068
9069 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
9070
9071         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
9072         appropriate region and gdk_window_process_updates() so trough
9073         updating doesn't lag behind the window being scrolled.
9074
9075         * gdk/gdkgc.c: Make parent_class pointer static.
9076          
9077 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
9078
9079         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
9080         include <string.h>.
9081          
9082         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
9083         cut-and-paste error in computing memory offset for 4 channels.
9084
9085 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
9086
9087         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
9088         gtk_rc_append_default_pixmap_path(), since it wasn't
9089         adding an interesting path and we don't have a meaningful
9090         default for this value.
9091
9092 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
9093
9094         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
9095         gtk-config to gtk-config-2.0 move gtk_.m4 to
9096         gtk-2.0.m4
9097
9098         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
9099         gdk/Makefile.am demos/Makefile.am: Change 
9100         library names to libgtk-1.3.la, etc, so that we
9101         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
9102
9103         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
9104         gdk/Makefile.am gdk/x11/Makfile.am
9105         Move include files into /usr/include/gtk-2.0, 
9106         /usr/lib/gtk-2.0/include/
9107          
9108         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
9109         gtk/gtkintl.h: Change package for gettext from 
9110         gtk+ to gtk20. Put hack in autogen.sh to modify
9111         po/Makefile.in.in after gettextize to make this
9112         possible.
9113
9114         * gtk+.spec: Some updates, not tested.
9115
9116         * gdk-pixbuf/Makefile.am: Move loaders into
9117         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
9118
9119         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
9120         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
9121         to THEMENAME/gtk-2.0/. Move engine directory  to
9122         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
9123         
9124 2000-07-12  Tor Lillqvist  <tml@iki.fi>
9125
9126         Win32 changes, still doesn't build though.
9127
9128         * gdk/makefile.cygwin
9129         * gdk/win32/makefile.cygwin
9130         * gtk/makefile.cygwin: Updates.
9131
9132         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
9133         default values for fg and bg pixel as X11 does (0 and 1), not
9134         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
9135         Use 0 for pen width by default (treated as 1 anyway later, but for
9136         apps that might check the value in the GdkGC).
9137         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
9138         interface to gdk_gc_predraw and _postdraw.
9139
9140         * gdk/win32/gdkwin32.h
9141         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
9142
9143         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
9144         extraneous semicolon.
9145
9146         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
9147
9148         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
9149         not the Win32 bitspixel value.
9150
9151         * gdk/win32/gdkcc-win32.c:
9152         * gdk/win32/gdkcolor-win32.c 
9153         * gdk/win32/gdkprivate-win32.h
9154         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
9155         GDK object structure.
9156
9157 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
9158
9159         * docs/tutorial/gtk_tut_12.es.sgml (name): 
9160         * docs/tutorial/gtk_tut_it.sgml (name): 
9161         * docs/tutorial/gtk_tut_fr.sgml (name): 
9162         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
9163         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
9164
9165 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
9166
9167         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
9168           small changes.
9169
9170 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
9171
9172         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
9173         a bug here, never been here and never fixed anything ;(
9174         (don't segfault if tree->root_tree is NULL, which happens prior
9175         to widget realization, but puke instead).
9176
9177 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
9178
9179         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
9180         add the necessary tokens.
9181
9182         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
9183         (gtk_rc_style_to_style): copy thicknesses.
9184         (gtk_rc_init_style): apply thicknesses.
9185         (gtk_rc_parse_style): parse xthickness and ythickness.
9186
9187         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
9188
9189         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
9190         (gdk_window_new): 
9191         (_gdk_windowing_window_init): 
9192         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
9193         (gdk_pixmap_create_from_data): 
9194         (gdk_bitmap_create_from_data): 
9195         (gdk_pixmap_new): 
9196         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
9197         (gdk_image_new): 
9198         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
9199         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
9200         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
9201         (gdk_colormap_get_system): 
9202         (gdk_colormap_new): 
9203         * gdk/gdkwindow.c (gdk_window_init): 
9204         * gtk/gtkstyle.c (gtk_style_new):
9205         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
9206         * gdk/gdkpixmap.c (gdk_pixmap_init): 
9207         * gtk/gtkrc.c (gtk_rc_style_new):
9208         use g_object_new() instead of g_type_create_instance() which
9209         is a private function for fundamental type implementations.
9210
9211 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
9212
9213         * configure.in: Add check for db2html
9214
9215 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
9216
9217         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
9218         hack to set glib_debug_objects based on gtk_debug_flags.
9219
9220 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
9221
9222         * INSTALL.in: Update the Prerequisites section.
9223
9224         * Makefile.am demos/Makefile.am docs/Makefile.am
9225         docs/tutorial/Makefile.am gdk/x11/Makefile.am
9226         gdk/linux-fb/Makefile.am: Dist fixes
9227
9228 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
9229
9230         * NEWS: 10,000 foot view of 1.3.1 changes.
9231
9232 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
9233
9234         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
9235         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
9236         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
9237         gdk/x11/gdkmain-x11.c: 
9238
9239         Patch from George Lebl to add a GdkGrabStatus enumeration to use
9240         as a return value of gdk_*_grab(). Previously, we just
9241         returned the X11 values directly.
9242
9243 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
9244
9245         * gdk/x11/Makefile.am: Patch from George Lebl to 
9246         install all the headers in the right place.
9247
9248 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
9249
9250         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
9251           initial conversion to DocBook.
9252
9253 2000-07-04  Tor Lillqvist  <tml@iki.fi>
9254
9255         * README.win32: Improve a bit.
9256
9257         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
9258         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
9259         Alt+0nnn on the numpad (used to enter characters by numeric code
9260         from current DOS or ANSI codepage) working correctly, as in other
9261         Windows apps.
9262
9263         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
9264         same argument validity tests as in X11 version.
9265         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
9266
9267         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
9268         definitions in case missing from headers.
9269
9270         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
9271         destroy the window-specific cursor.
9272         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
9273         calling GetModuleHandle(NULL).
9274         (gdk_window_set_cursor): Reworked to always copy the passed cursor
9275         with CopyCursor before setting it as the window-specific
9276         cursor. It is OK for the caller to destroy the GdkCursor (and thus
9277         also its Windows cursor) after calling this function. Destroy any
9278         previous window-specific cursor.
9279
9280 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
9281
9282         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
9283         font charset is iso8859-1, not iso-8859-1.
9284
9285 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
9286
9287         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
9288         Use g_get_charset() instead of g_get_codeset().
9289
9290         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
9291         Comment out some strdup'ing functions to keep timj
9292         happy until we finish fighting this out.
9293
9294 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
9295
9296         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
9297         <= width or height.
9298
9299         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
9300         from 1.2 for parent/child states.
9301
9302         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
9303         of typos.
9304
9305         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
9306         event structures, replace with a generic axes field. Replace 
9307         deviceid/sourec with GdkDevice *device.
9308
9309         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
9310         to extract particular axis use value from event. (Also
9311         can be used for normal X/Y.)
9312
9313         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
9314         allow for arbitrary number of axes, namespace everything
9315         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
9316         everywhere.
9317
9318         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
9319         Get rid of the gdk_input_vtable setup if favor of simply
9320         defining the functions in gdkinput-none/gxi/xfree.c in
9321         a similar fashion to the way that the port structure is 
9322         done.
9323
9324         * gtk/gtkdnd.c: Fix fields of synthesized button press event
9325         for new event structures. 
9326
9327         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
9328         new device interfaces.
9329
9330 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
9331
9332         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
9333         set the initial text.
9334
9335         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
9336         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
9337         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
9338         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
9339
9340         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9341         pango_layout_set_font_description to simplify.
9342
9343 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
9344
9345         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
9346         pango_layout_set_font_description to simplify.
9347
9348 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
9349
9350         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
9351         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
9352         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
9353
9354         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
9355         PANGO_PIXELS() macro.
9356
9357 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
9358
9359         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
9360         that returns a PangoContext owned by the widget and updated to
9361         match future changes in the widget. Also, make 
9362         gtk_widget_create_pango_layout() use this context. If we ever
9363         add a ::changed signal to PangoContext, this will make things
9364         much more convenient. 
9365
9366         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
9367         in the appropriate places instead of destroying the layouts and
9368         creating new ones.
9369
9370         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
9371         in a few strategic places.
9372
9373 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
9374
9375         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
9376         gtk_widget_size_request() on reparented child, if one. Otherwise,
9377         queue_resize() on the child never results in it getting size-requested
9378         at all.
9379
9380         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
9381         in option menus, so that (with luck) people won't copy it into
9382         their apps in the future.
9383
9384         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
9385         to gtk_option_menu_calc_size. This isn't perfect, but should fix
9386         a lot of problems with changing the size of the menu's menu
9387         items after adding it to the option menu.
9388
9389         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
9390
9391         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
9392         the text direction for a widget changes.
9393
9394         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
9395         ::direction_changed to get rid of various hacks.
9396
9397 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
9398
9399         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
9400         name.
9401
9402 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
9403
9404         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
9405         flag to the structure. Do not call XFreePixmap on pixmaps created
9406         by gdk_pixmap_foreign_new().
9407
9408 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
9409
9410         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
9411         value using GdkRGB functionality given GdkColormap and GdkColor.
9412         (name not final, waiting for inspiration.)
9413         
9414         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
9415         set the foreground/background of a GC using the GC's colormap
9416         and GdkRGB. (name not final, waiting for inspiration.)
9417
9418         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
9419         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
9420
9421         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
9422         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
9423         purely a function of the corresponding colormap. Make
9424         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
9425
9426         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
9427         gdk_pixbuf_*create_from_xpm_* in terms of
9428         gdk_pixbuf_new_from_xpm_data(), move into platform independent
9429         code.
9430
9431         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
9432         advantage of the new draw_rgb_32_image_dithalign.
9433
9434         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
9435
9436         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
9437         on each created GC.
9438
9439         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
9440
9441         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
9442         which we initialize from the drawable when the GC is created,
9443         if the drawable has a colormap.
9444
9445         * gdk/x11/gdkgc-x11.c: include string.h for memset.
9446
9447         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
9448
9449         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
9450
9451 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
9452
9453         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
9454         actually returning expose events, make sure to set
9455         the count field properly.
9456
9457         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
9458         accidentally reintroced bug which always cleared
9459         the graphics_exposures value. 
9460
9461 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
9462
9463         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
9464
9465 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
9466
9467         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
9468
9469 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
9470
9471         * docs/faq/gtk-faq.sgml: Start of Section 6.
9472
9473 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
9474
9475         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
9476         
9477         (Fixes problem with drawing childless frames. Pointed out
9478         by and a first patch from Anders)
9479         
9480         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
9481         compute a child_allocation, even if we don't have a child.
9482
9483         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
9484         Always chain to the parent's impl, even if we don't have a child.
9485
9486 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9487
9488         * gdk/gdkrgb.c: If possible, create only a single shm segment and
9489         use multiple parts of it instead of creating a bunch of separate
9490         segments, since the maximum number of segments per system is not
9491         large. (This might be worth backporting to GTK+-1.2.x if we make a
9492         new release )
9493
9494         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
9495         structure in preparation for per-colormap GdkRGB.
9496
9497         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
9498         to False when we get EINVAL from shmget so that the caller of
9499         gdk_image_new can retry with a smaller segment size.
9500
9501 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
9502
9503         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
9504
9505 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
9506
9507         * configure.in: make the current version number 1.3.1 (binary age 0,
9508         interface age 0).
9509         
9510         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
9511         gtkcompat.h is all we want.
9512
9513         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
9514         GLib primitive types. fixed g_type_register_fundamental() argument
9515         ordering.
9516
9517         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
9518         compiles.
9519
9520         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
9521         object code cleanup, comment trigraph fixes, etc...
9522
9523 2000-06-23  Havoc Pennington  <hp@redhat.com>
9524
9525         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
9526         instead of making up a bogus name for first_para_mark
9527
9528         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
9529         0 as a context ID
9530
9531 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
9532
9533         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
9534
9535 2000-06-21  Havoc Pennington  <hp@pobox.com>
9536
9537         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
9538         we didn't check window->bg_pixmap != GDK_NO_BG.
9539
9540         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
9541         gdk-pixbuf
9542
9543 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
9544
9545         * docs/faq/gtk-faq.sgm: Move file to here.
9546           TODO: Update Makfile.am 
9547
9548 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
9549
9550         * docs/gtk-faq.sgm: Add Section 2
9551
9552 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
9553
9554         * docs/gtk-faq.sgm: New file. Start of DocBook
9555           version of the FAQ.
9556
9557 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
9558
9559         * configure.in (GDK_PIXBUF_MAJOR): Define version
9560         numbers for GDK_PIXBUF_*, as they get substituted
9561         into a header file. Need to consider versioning
9562         for gdk-pixbuf more carefully later.
9563
9564 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
9565
9566         Work with srcdir != builddir.   
9567         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
9568         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
9569         * demos/testpixbuf.c: Likewise.
9570         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
9571         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
9572         <gdk/x11/gdkx.h>.
9573         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
9574         "gdk-pixbuf.h".
9575         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
9576
9577 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
9578
9579         * TODO.xml: Change 1.4 version numbers to 2.0.
9580
9581 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
9582
9583         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
9584         fixups to GTK+ standard.
9585
9586 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
9587
9588         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
9589         gdk-pixbuf.
9590
9591         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
9592         fixups for GObject.
9593
9594         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
9595         gdk-pixbuf with GDK dependencies moved into GDK.
9596         
9597         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
9598         move gdk-pixbuf-loader here until GObject has signals.
9599
9600         * demos/: New directory of demos. Move demos from
9601         gdk-pixbuf here.
9602
9603         * demos/pixbuf-init.c: Small bit of code to check for
9604         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
9605         set GDK_PIXBUF_MODULEDIR appropriately.
9606
9607         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
9608         define which no longer makes sense.
9609
9610 2000-06-21  Havoc Pennington  <hp@redhat.com>
9611
9612         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
9613         gtk_get_default_language
9614
9615         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
9616         new function to get the default language
9617
9618         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
9619         s/gtk_text_view_style_values/gtk_text_style_values/
9620
9621         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
9622         Add a "language" field to tags.
9623
9624         (gtk_text_tag_set_arg): Fix bug in setting
9625         "bg_full_height_set" tag.
9626
9627 2000-06-21  Havoc Pennington  <hp@redhat.com>
9628
9629         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
9630         in the interfaces
9631
9632         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
9633         stuff instead when possible.
9634
9635         * gtk/gtktexttypes.h: Delete some unused constants
9636
9637         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
9638         testtextbuffer.c: use glib instead of custom unicode routines
9639
9640 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
9641
9642         * docs/es/: Removed mistakenly added generated sgml
9643
9644         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
9645         Remove outdated info files.
9646
9647         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
9648         Moved tutorial files into subdir
9649
9650         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
9651         subdir.
9652
9653         * docs/man/gtk_button.pod: Remove. (contents will be
9654         integrated into gtk-reference button page.)
9655
9656         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
9657         docs/faq/Makefile.am: Adjust for new organization
9658
9659 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
9660
9661         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
9662         not $(MKINSTALLDIRS)
9663
9664 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
9665
9666         * gtk/testgtk.c (create_text): Finish the job Elliot started
9667         of removing font setting test for text widget. (Since text widget
9668         and GdkFont are not deprecated, and cause portability problems.)
9669
9670 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
9671
9672         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
9673         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
9674         Remove use of libunicode in favor of new GLib functions.
9675
9676         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
9677         nano-x, framebuffer. The X11 include is just a hack until we get
9678         the necessary functions in gdkcolor.h, so there is no reason to
9679         add other includes of platforms.
9680
9681         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
9682         window bigger than the screen change.
9683
9684         * gtk/testgtk.c: Revert some random changes from Elliot
9685         that had no particular point and were causing testgtkrc
9686         not to function correctly.
9687         
9688         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
9689         because GdkSegment and GdkRegionBox have the same fields,
9690         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
9691         results in clearer code.
9692
9693         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
9694         gdk_input_translate_coordinates): Fix missed GdkObjectification
9695
9696 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9697
9698         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
9699         * gtk/gtk{plug,socket}.h: Missed commits from previous.
9700
9701 2000-06-20  Havoc Pennington  <hp@redhat.com>
9702
9703         * modules/linux-fb/Makefile.am: Make this compile
9704         without framebuffer enabled
9705
9706         * gdk/linux-fb/Makefile.am: Add conditional to not build
9707         framebuffer unless specified in configure
9708
9709         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
9710         the size of the target instead of source if -1 was passed for
9711         width/height
9712
9713         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
9714         width/height confusion.
9715
9716 2000-06-19  Havoc Pennington  <hp@redhat.com>
9717
9718         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
9719         GDK_DRAWABLE_XID. In the future, we probably want to make it
9720         faster with G_DISABLE_CHECKS turned on.
9721
9722 2000-06-14  Havoc Pennington  <hp@redhat.com>
9723
9724         * gdk/Makefile.am: add gdkpixmap.c
9725
9726         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
9727         s/gdk_image_init/_gdk_windowing_image_init
9728
9729         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
9730         ref/unref
9731
9732         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
9733
9734         * gdk/gdkcompat.h: remove GdkWindowType compat, since
9735         GdkWindowType is now non-deprecated; 
9736         change gdk_window_get_type() compat to be
9737         gdk_window_get_window_type().
9738
9739         * gdk/gdkdnd.h: make GdkDragContext a GObject.
9740
9741         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
9742         virtual GObject. Make all functions call into the vtable.
9743         Move gdk_image_put() guts in here. Remove GdkDrawableType
9744         and gdk_drawable_get_type(), these are now GdkWindow-specific.
9745         draw_image, get_depth, get_size, set_colormap, get_colormap,
9746         get_visual added to the vtable.
9747         
9748         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
9749         GObject. Virtualize everything. 
9750         (gdk_gc_new_with_values): remove check for destroyed window,
9751         because now GdkWindow::create_gc will check this.
9752         (gdk_gc_set_values): New function to set GC values, this 
9753         was already implemented but wasn't in the header
9754
9755         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
9756
9757         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
9758         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
9759         remove _gdk_window_class; add _gdk_window_impl_get_type() and
9760         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
9761         _gdk_windowing_window_init, rename gdk_image_init to
9762         _gdk_windowing_image_init.
9763         
9764         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
9765         (gdk_draw_layout): Remove check for destroyed window, 
9766         because all the drawable methods already check it.
9767         
9768         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
9769         Add gdkpixmap.c which contains implementation of GdkDrawable
9770         virtual table (by chaining to a platform-specific implementation
9771         object).
9772         
9773         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
9774         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
9775         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
9776         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
9777         GdkColormapPrivate. 
9778
9779         * gdk/gdktypes.h: #include <glib-object.h>
9780
9781         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
9782         Move most functionality to platform-specific implementation
9783         object. GdkWindow itself now handles the backing store, then
9784         chains to the platform-specific implementation.
9785         (gdk_window_get_window_type): return GdkWindowType of the window.
9786         (gdk_window_peek_children): New routine, returns the children of 
9787         a GdkWindow
9788         (gdk_window_get_children): Was in X11-specific code and did 
9789         XQueryTree. Changed to simply return a copy of window->children; 
9790         so it can go in cross-platform code.
9791         
9792         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
9793
9794         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
9795         GdkColormap; just changed to use the new private data instead
9796         of casting to GdkColormapPrivate.
9797
9798         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
9799         gdk_cursor_new().
9800
9801         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
9802         (private data member in the GObject). 
9803         (xdnd_manager_source_filter): Function had broken 
9804         error handling, fix it (use gdk_error_trap_push).
9805
9806         * gdk/x11/gdkdrawable-x11.c: This file now implements
9807         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
9808         base class is purely for the convenience of the X port,
9809         and not part of the interface to cross-platform GDK.
9810
9811         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
9812         
9813         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
9814         specific to X, and returned by the create_gc virtual method
9815         of GdkDrawableImplX11. 
9816         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
9817         rather than gchar, this was also changed in the GdkGC vtable.
9818         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
9819         mask is 0, return immediately, instead of checking every flag.
9820         This is faster, and keeps us from segfaulting if values is NULL
9821         and the mask contains some nonzero flags.
9822
9823         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
9824         GdkWindow.
9825
9826         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
9827         GdkWindowPrivate is gone.
9828
9829         * gdk/x11/gdkim-x11.c: rename things that got renamed.
9830
9831         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
9832         remove the image_put stuff that got transferred to GdkDrawable.
9833         
9834         * gdk/x11/gdkinput.c: renamings
9835
9836         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
9837
9838         * gdk/x11/gdkpixmap-x11.c: GObject conversion
9839
9840         * gdk/x11/gdkprivate-x11.h: indentation fixes
9841
9842         * gdk/x11/gdkproperty-x11.c: renamings
9843
9844         * gdk/x11/gdkselection-x11.c: renamings
9845
9846         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
9847         implements the platform-specific "impl" object.
9848         Moved gdk_window_get_children to gdk/gdkwindow.c
9849
9850         * gdk/x11/gdkx.h: Remove all the private structs and private datas
9851         that no longer exist. Add declaration of GdkGCX11 object here.
9852         Fix all the macros to still work. 
9853
9854         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
9855         GdkDragContext from the boxed types since they are now GObjects.
9856
9857         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
9858         moved xthickness/ythickness into the instance. GtkStyleClass
9859         functions are now in the standard vtable for GtkStyle, so you have
9860         to create a GObject subclass to write a theme engine.
9861         (gtk_style_copy): fixed a leaked PangoFontDescription
9862         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
9863         can be the standard GObject function.
9864         
9865         * Throughout GTK:
9866         s/style->klass->[xy]thickness/style->[xy]thickness
9867         s/pango_layout_unref/g_object_unref/
9868
9869         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
9870         
9871         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
9872         accessing GDK internals.
9873
9874         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
9875         accessing GDK internals.
9876
9877 2000-06-18  Elliot Lee  <sopwith@redhat.com>
9878
9879         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
9880
9881         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
9882         problem by calculating event position relative to the trough
9883         rather than the slider.
9884         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
9885
9886         * gdk/gdkgc.h: Add GDK_NOR.
9887
9888         * configure.in, Makefile.am: Add modules top level dir
9889         * configure.in: Only use pangox library if building x11 target.
9890         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
9891
9892 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9893
9894         * gtk/gtkcolorsel.c: Change private class member to be named
9895         private_data throughout the file.
9896
9897         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
9898         private_data to avoid clashing with keyword.
9899
9900 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
9901
9902         * gdk/gdkdnd.h: Add comment to remove warning.
9903
9904 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
9905
9906         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
9907         Byelorussian language; changed the Makefile and file names 
9908         to reflect that.
9909
9910 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
9911
9912         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
9913         rather than gdk_window_hide; this makes things work
9914         correctly if the window is programmatically hidden while
9915         iconified.
9916
9917 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
9918
9919         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
9920         cut and paste typo where wrong pixmap was being
9921         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
9922
9923 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
9924
9925         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
9926         Add helper function to compute format / bytes 
9927         relationship. Use in a couple places to fix up
9928         errors which assume 8 * format.
9929
9930         * gtk/gtkselection.c (gtk_selection_request): Use 32
9931         rather than 8 * sizeof (GdkAtom), to work correctly
9932         on Alpha.
9933
9934 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
9935
9936         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
9937         libgtk.la
9938         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
9939         versions
9940
9941         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
9942         checking macros return NULL since the function has a return value.
9943
9944 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
9945
9946         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
9947         GTK+ from building at all.
9948
9949         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
9950
9951 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
9952
9953         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
9954         gtk/Makefile.am: make it possible to configure gtk for different
9955         targets on the same platform. The library name is now 
9956         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
9957         flag. Only the x11 target compiles right now.
9958         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
9959         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
9960         * gdk/nanox/gdk*generic*: delete generic region code.
9961         * gdk/linux-fb/gdk*generic*: delete generic region code.
9962         * README.nanox: update information.
9963         
9964 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
9965
9966         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
9967         prepend not append. (Pointed out by Brett Hall.)
9968
9969 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
9970
9971         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
9972
9973 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
9974
9975         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
9976         need this later, and this makes sure that the atexit for
9977         glib gets called after that for GDK, so atexits are
9978         properly ordered for object leak checking.
9979
9980         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
9981
9982         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
9983         pango_x_shutdown_display()
9984
9985         * gtk/simple.c (main): Close window on destroy.
9986
9987 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
9988
9989         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
9990         to treat initial creation different from setting with 
9991         regards to the graphics-exposures parameter, so add a parameter
9992         indicating whether this is initial or not.
9993
9994 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
9995
9996         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
9997         to sort of work by adding an extra return_exposes arg
9998         to gdk_event_translate() - it might be better to simply
9999         deprecate the function altogether and force people to rewrite
10000         without it. gdk_window_scroll() handles most of it, and where
10001         gdk_window_scroll() doesn't work, simply redrawing more does.
10002
10003         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
10004         assertion.
10005
10006         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
10007
10008         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
10009         bunch of pretty much useless /* Print debugging info */ comments 
10010         which had drifted away from the code they were commenting.
10011
10012 2000-06-02  Havoc Pennington  <hp@pobox.com>
10013
10014         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
10015         is in working order.
10016         
10017         * gtk/testtext.c: Change to reflect anonymous mark API
10018
10019         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
10020
10021         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
10022         field, which was unused.
10023
10024         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
10025         saves some typing.
10026
10027         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
10028
10029         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
10030         flag on the insertion point and selection bound
10031
10032         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
10033         make mark-manipulation functions take a GtkTextMark* instead of a
10034         mark name.
10035         
10036         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
10037         GtkTextMarkBody; will be used to detect attempts to delete
10038         the permanent marks (insert and selection bound)
10039
10040         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
10041
10042 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
10043
10044         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
10045         flag to on.
10046
10047         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
10048         Honor DOUBLE_BUFFRED_FLAG
10049
10050         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
10051         function to set the DOUBLE_BUFFERED flag.
10052
10053         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
10054         or not exposes done on the widget should be double-buffered.
10055
10056         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
10057         to be what would be expected. (Fixes problem with a
10058         g_return_if_fail() validating a TextDirection enumeration)
10059
10060 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
10061
10062         * gtk/gtkwidget.c: Remove all references to 
10063         offscreen flag which was no longer used.
10064
10065         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
10066
10067         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
10068         for non-null label_widget->parent.
10069
10070         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
10071         which no longer was used.
10072
10073         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
10074
10075         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
10076         for null arguments.
10077
10078         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
10079         check for destroyed windows.
10080
10081 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
10082
10083         * gtk/gtkimmulticontext.c: Add a finalize method and unref
10084         the slave context there.
10085
10086         * gtk/gtkinvisible.[ch]: Make reference counting behavior
10087         identical to GtkWindow.
10088
10089 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
10090
10091         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
10092         pangox to here, so we can write them independent of rendering
10093         system, using GDK primitives.
10094
10095         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
10096         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
10097         since we have a rendering-system independent implementation in
10098         terms of draw_glyphs().
10099         
10100         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
10101         function to render a single line.
10102
10103         * gdk/x11/gdkpango.c: Move the guts of this file mostly
10104         into ../gdkpango.c, which simplifies things, since we
10105         don't have to deal with raw X gc's.
10106
10107 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
10108
10109         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
10110         get the logical attributes for a given GtkTextLine.
10111
10112 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
10113
10114         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
10115         g_locale_get_codeset() to g_get_codeset() change.
10116
10117 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
10118
10119         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
10120         descriptions.
10121
10122         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
10123         the entry.
10124
10125         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
10126         redoing (vastly simplifying) for Pango. Still needs quite
10127         a bit of work. (Size selection is currently poor. List of 
10128         predefined sizes is not a good idea, since all of these
10129         sizes won't necessarily be distinct.)
10130
10131 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
10132
10133         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
10134         CODESET results for LANG=C.
10135
10136 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
10137
10138         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
10139         which takes a stringized pango font description;
10140         ignore the older 'font' and 'fontset' declarations.
10141
10142         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
10143         field with a GdkFont derived via gdk_font_from_description(),
10144         for compatibility. (Should we just remove it entirely?
10145         Probably too much compatibility breakage, but people
10146         should be migrating to the new Pango stuff as quickly
10147         as possible.)
10148
10149 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
10150
10151         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
10152
10153 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
10154
10155         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
10156         redoing; there are some bugs in size allocation right
10157         now, the semi-existant distinction between header / day
10158         fonts was removed, but, with Pango, could actually
10159         be made functional in a nice way.
10160         
10161         * gtk/testcalender: Move calender from examples into this
10162         directory as a test program. (We really need to restrcture
10163         testgtk into a whole directory full of tests for every
10164         widget or functionality group, separated into multiple .c
10165         files.)
10166
10167 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
10168
10169         * gtk/testgtk.c (file_exists): Fix stupid typo that
10170         was keeping RC file from being loaded.
10171
10172         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
10173         RC file font code.
10174
10175 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
10176
10177         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
10178         Add function to load a GdkFont from a PangoFontDescription.
10179
10180 2000-05-29  Tor Lillqvist  <tml@iki.fi>
10181
10182         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
10183         variable should be of type GdkEventPrivate.
10184
10185 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
10186
10187         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
10188         to have any widget for the label, use a GtkLabel widget
10189         to display the text. (Based partially on a patch from
10190         Anders Carlson.)
10191
10192         (Quite a bit of code reorganization - strip 90% of the
10193         guts out of gtkaspectframe and add a single virtual
10194         func to GtkFrameClass - compute_child_allocation.)
10195
10196 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
10197
10198         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
10199         (Removed clist->row_center_offset field because caching
10200         it wasn't saving time or code, added private function
10201         _gtk_clist_create_cell_layout()).
10202
10203 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
10204
10205         * gtk/gtkaccellabel.c: Pangoized.
10206
10207         * gtk/[hv]ruler.c: Pangoized
10208
10209 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
10210
10211         * gtk/gtkfilesel.c (gtk_file_selection_init):
10212         Use gtk_clist_set_column_auto_resize() to remove need
10213         need for manual column width computations.
10214
10215 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
10216
10217         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
10218         ensuring Pango correctness, and considerably simplifying the
10219         code.
10220         
10221         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
10222
10223         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
10224         getting of numbers of lines.
10225
10226         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
10227         to the actual requested width of the lable, not to the wrap
10228         width we set.
10229
10230         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
10231
10232         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
10233           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
10234
10235         * gtk/gtktextview.c: Fix structure inheritance.
10236
10237         * gtk/gtkprogressbar.c: Pangoize.
10238
10239 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
10240
10241         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
10242         in a function.
10243
10244         * gtk/gtktextlayout.c (find_display_line_above): Fixed
10245         bug with computing line tops.
10246
10247         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
10248
10249 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
10250
10251         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
10252         and y_offset coordinates to do what we need now. (The offset between
10253         buffer and layout coordinates has been reintroduced, but is a 
10254         bit different than before.)
10255
10256         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
10257         handle the adjustments ourselves, and scroll as necessary using
10258         the new gdk_window_scroll().
10259         
10260         The advantage of this is that when we are incrementally revalidating,
10261         we are essentially rearranging things around the visible portion
10262         of the screen. With the old setup, the visible portion of the
10263         screen was moved around in the layout, so scrolling and redrawing
10264         to track that caused jumping of the display. Since we now
10265         control the scrolling ourselves, we can suppress this and
10266         only redraw when things actually change.
10267
10268 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
10269
10270         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
10271         the region not just redisplay it after-all, since we store the
10272         cursors in the LineDisplay. (Ugly interactions here between
10273         GtkLayout and GtkTextBTree here.)
10274         
10275         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
10276
10277 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10278
10279         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
10280         Added function to scroll contents of a window while keeping the
10281         window constant. Works by XCopyArea or guffaw-scrolling depending
10282         on the details of how the window is set up. (guffaw-scrolling
10283         still needs to be filled in.)
10284
10285 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
10286
10287         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
10288         move the debugging that was tied to a global variable
10289         to that.
10290
10291         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
10292
10293         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
10294         validated flag, in line data instead of setting height/width to
10295         -1. This allows us to perform operations with partially invalid
10296         buffer (using the old size for invalid lines) and thus to do
10297         incremental vaidation. Keep height/width aggregates up to date
10298         when deleting text and rebalancing the tree.
10299
10300         * gtk/gtktextbtree.[ch]: Add functions validate a line
10301         (gtk_text_btree_validate_line), and to validate up
10302         to a number of pixels (gtk_text_btree_validate).
10303
10304         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
10305         that indicates that something is changed and a revalidation
10306         pass is needed. Change ::need_repaint to ::changed, and
10307         make it take old and new yranges instead of a rectangle.
10308
10309         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
10310         the line_data_destroy() function from 
10311         gtk_text_btree_add_view() to a virtual function in 
10312         GtkTextLayout
10313
10314         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
10315         since we are handling partial repaints in a different fashion
10316         now.
10317
10318         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
10319         of the selection instead of queueing a repaint on the
10320         entire widget.
10321
10322         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
10323         get_selection_bounds() down to btree, make the function
10324         in buffer a wrapper around the btree function.
10325
10326         * gtk/gtktextlayout.[ch]: Add functions to check if the
10327         layout is valid and to recompute either a range of pixels
10328         aroudn a line or a certain total number of pixels.
10329
10330         * gtk/gtktextlayout.[ch]: Cache a single line display;
10331         now that we only redraw the needed portions, the hit rate
10332         for this cache is quite high.
10333         
10334         * gtk/gtktextview.[ch]: Keep track of the first paragraph
10335         on the screen so that when re-laying-out the buffer, we can
10336         keep the same place. This requires connecting to ::value_changed
10337         on the adjustments
10338
10339         * gtk/gtktextview.[ch]: Add idle functions to revalidate
10340         the buffer after we receive an ::invalidated signal.
10341         
10342 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
10343
10344         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
10345         to max of allocation and layout size, not just to the
10346         layout size.
10347
10348         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
10349         Invalidate window so it gets redrawn properly.
10350
10351         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
10352         to mean the entire window.
10353
10354         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
10355         into public header.
10356
10357 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
10358
10359         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
10360         to get the name of a mark.
10361
10362         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
10363         to find the paragraph from a y position.
10364
10365 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
10366
10367         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
10368         nodes have width/height >= 0, not > 0.
10369
10370 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
10371
10372         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
10373         Add a size_only flag, so when we only need the size, we don't create
10374         useless appearance attributes.
10375
10376         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
10377         duplicate setting of font description.
10378
10379         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
10380
10381 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
10382
10383         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
10384         EXTRA_DIST. It does not work well when the file that
10385         everything depends on is not in the tarball.
10386
10387 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
10388
10389         * gtk/testgtk.c: Some hacks and fixes so that it basically
10390         works when not sitting in the GTK+ build tree.
10391
10392 2000-05-03  Havoc Pennington  <hp@redhat.com>
10393
10394         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
10395         Properly determine the ordering of the tag root and the current
10396         line within the tree. Previous algorithm only worked if the tag
10397         root's immediate parent was the common root of both the current
10398         line and the tag root.
10399
10400 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
10401
10402         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
10403         alignment.
10404
10405         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
10406         the widget text directional dynamically.
10407
10408         * gtk/gtktextview.[ch]: Added functions to get and set default
10409         wrap mode.
10410
10411 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
10412
10413         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
10414         in cursor location computation.
10415
10416 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
10417
10418         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
10419         vadjusment values properly when layout gets smaller.
10420
10421         * gtk/gtktextview.c (need_repaint_handler): Areas being
10422         passed in are far completely inaccurate, and sometimes
10423         too small, so, for now, just queue a redraw on the
10424         whole visible region.
10425
10426 2000-04-25  Havoc Pennington  <hp@redhat.com>
10427
10428         * gtk/gtktextbtree.c (summary_destroy): new function to 
10429         destroy tag summary nodes
10430         (gtk_text_line_next_could_contain_tag): this function was 
10431         totally broken if the line passed in wasn't below the tag
10432         root. Fix it.
10433         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
10434         "wildcard" case, we have to do a linear scan. Blah.
10435         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
10436         we have to do the linear scan
10437         (tag_removed_cb): When a tag is removed from the tag table, 
10438         remove the GtkTextTagInfo node from the btree.
10439         (gtk_text_btree_spew): Implement the spew function, for 
10440         our debugging pleasure.
10441
10442 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
10443
10444         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
10445         a problem with referring to the wrong buffer.
10446
10447         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
10448
10449         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
10450         font description to gtk_style_new() - otherwise things
10451         don't work without a .gtkrc file.
10452
10453         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
10454         tags table if we create it ourself, too.
10455
10456         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
10457         it was conflicting with XKB modifiers.
10458
10459         * gtk/gtktextview.[ch]: Add simple support for 
10460         GtkIMContext.
10461
10462 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
10463
10464         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
10465         with deletion from last commit.
10466
10467 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
10468
10469         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
10470         in the context from the current locale.
10471         
10472         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
10473         context, not hardcoded value.
10474
10475         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
10476         not logical.
10477
10478 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
10479
10480         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
10481         attributes - that doesn't handle partial-glyph selection
10482         properly. Instead use new pango_layout_line_get_x_ranges()
10483         functionality to draw the selection.
10484
10485         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
10486         now properly handles out-of-range coordinates.
10487
10488         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
10489
10490         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
10491         public.
10492
10493         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
10494         for paragraphs opposite to the base direction of the widget.
10495
10496         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
10497
10498         * gtk/gtktextlayout.c: Don't split segments on marks, since that
10499         causes Arabic words to reshape as you cursor through.
10500
10501         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
10502         cursor position when moving vertically with the arrow keys and
10503         scrolling with page-up/page-down. (Arrow keys save only the X,
10504         scrolling saves both X and Y.)
10505
10506         This means you can line-up / line-down or page-up / page-down
10507         without losing your place, and also that moving vertically
10508         with the cursor keys keeps the same X position, not the same
10509         character count:
10510
10511         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
10512         arrow keys move by display lines, not paragraphs.
10513
10514 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
10515
10516         * gtk/gtklayout.c: Make sure that the bin window is at least
10517         as big as the allocation. (Should we also make sure that the
10518         bin window is big enough to completely cover widget->window?)
10519
10520         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
10521         function to get the onscreen rectangle.
10522
10523         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
10524         for offsets in window coordinates.
10525
10526 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
10527
10528         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
10529         confusion.
10530
10531         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
10532         from the widget direction.
10533
10534         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
10535         Add a "direction" attribute.
10536
10537         * gtk/gtktextview.c: global s/tkxt/text_view/.
10538
10539         * gtk/testtext.c: Added long block of text in Arabic, to test out
10540         the direction attributes. (Some problems with the shaping system
10541         for arabic become obvious - like the fact the cursor splits words
10542         into unjoined pieces.)
10543
10544 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
10545
10546         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
10547
10548         * gtk/gtktextlayout.c: Fix up alignment.
10549
10550         * gtk/testtext.c: Add some tests for centering, wrapping.
10551
10552 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
10553
10554         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10555         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
10556         If we wrote GTK+-specific layout-render function this could just replace
10557         the draw_layout() operation in the vtable.
10558
10559         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
10560         pango_layout_get_cursor_pos() and use that function.
10561
10562         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
10563         is a non-static symbol.
10564
10565         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
10566         with gtk_text_btree_find_line_by_y()
10567
10568         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
10569         renderer that handles GtkTextAppearance attributes.
10570
10571         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
10572
10573           - Move the values in the style that don't affect geometry into a
10574             GtkTextAppearance structure.
10575           - Change underline to take a PangoUnderline and "font" a string
10576             representation of a font description
10577           - Add a "font_desc" attribute which takes a FontDescription structure.
10578
10579         * gtk/gtktextlayout.[ch]:
10580
10581           - Get rid of the display-line list per each line. Instead, we
10582             generate, on demand, a GtkTextLineDisplay structure which]
10583             contains a PangoLayout * and other necesary information
10584             (offsets, cursor locations) for displaying a paragraph.
10585           - Get rid of the code to wrap lines, create display chunks,
10586             etc. Instead, we just go through a paragraph and convert
10587             it into the necessary inputs to a PangoLayout.
10588           - Implement a new attribute type, GtkTextAttrAppearance. This
10589             holds a GtkTextAppearance, and is used to pass colors, 
10590             stipple, etc, through from the layout to the display without
10591             having to use lots and lots of individual attributes.
10592           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
10593             in terms of PangoLayout functions.
10594         
10595         * gtk/gtktextview.c: 
10596          
10597           - Handle passing the necessary PangoContext to the layout
10598           - Some fixups in painting to deal with the automatic backing store
10599             and offsetting of GTK+-1.4
10600           - Add a style_set handler so that the default style reacts
10601             properly to theme changes.
10602         
10603         * gtk/gtktext?*.[ch]: Random code-style fixes.
10604
10605         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
10606
10607 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
10608
10609         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
10610         in original form preparatory to Pango-ization and gdkimcontext-ization.
10611
10612 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
10613
10614         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
10615         so that we can derive from gtkimcontext in language bindings properly.
10616
10617 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
10618
10619         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
10620         Add a compose table including (almost) all the compose combinations
10621         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
10622         data in the XIM implementation.
10623
10624         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
10625         Moved functions to convert keyvalues from and to unicode here from
10626         the win32 port and made them public.
10627
10628 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
10629
10630         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
10631
10632 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
10633
10634         * gtk/gtkimcontext.[ch]: Base class for new input context system
10635
10636         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
10637         the real input context implementation to be loaded from modules
10638         and switched on the fly.
10639
10640         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
10641         context that just does direct keysymbol => unicode translation.
10642
10643         * gtk/gtkentry.[ch]: Start switching editing over to using
10644         GtkInputContext. (No handling of preedit yet.)
10645
10646 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
10647
10648         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
10649         many substitutions. (klass should not be subsituted.)
10650
10651 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
10652
10653         * configure.in: Add checks for Pango
10654
10655         * configure.in docs/Makefile.am: Add test for sgml2html
10656         and allow 'make dist' without building html, but print out
10657         warnings in that case. (For making snapshots)
10658
10659         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
10660         Add Pango libraries and C flags
10661
10662         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
10663         Add function (gdk_draw_layout) to draw a pango layout.
10664
10665         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
10666         for getting Pango contexts for GDK.
10667
10668         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
10669
10670         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
10671         editing.
10672
10673         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
10674         keysym => unicode translations. More languages can be added
10675         here, but real input-method support is needed.
10676
10677         * docs/Changes-1.4.txt: Added note about entry behavior.
10678         
10679         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
10680         to set the reading direction for a widget and the global direction.
10681         Add test which allows toggling the global direction. Two private
10682         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
10683
10684         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
10685           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
10686
10687         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
10688
10689         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
10690         underlining now handled by Pango.
10691
10692         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
10693         to RCStyle and Style. (Having both this and the old font name and GdkFont 
10694         is temporary.)
10695
10696         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
10697         convenience functions for creating contexts and layouts for widgets.
10698
10699         * gtk/testgtk.c: Enhance label tests with multilingual labels.
10700
10701 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
10702
10703         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
10704         titles to be active, even if they aren't visible.
10705         (gtk_clist_column_titles_passive):  Ditto.
10706
10707 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
10708
10709         * gtkmenu.c:
10710         * gtkmenu.h:
10711         * gtktypeutils.h: Spelling/grammar fixes in comments.
10712
10713 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
10714
10715         * gdk/nanox/*.h: add missing header files.
10716
10717 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
10718
10719         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
10720         send_event to TRUE.
10721         (gtk_drawing_area_size): queue a resize.
10722
10723 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
10724
10725         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
10726         the handlers, also invalidate them. bug nailed down by Karl Nelson
10727         <kenelson@ece.ucdavis.edu>.
10728
10729 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
10730
10731         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
10732         "(nil)" foundries, patch from Grigorios Magklis.
10733
10734         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
10735         on non-available fonts, based on a patch by Grigorios Magklis
10736         <maglis@cs.rochester.edu>.
10737
10738 2000-05-18  Elliot Lee  <sopwith@redhat.com>
10739
10740         * gdk/x11/gdkregion-generic.c: If a region does not have any
10741         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
10742         instead of GDK_OVERLAP_RECTANGLE_IN.
10743
10744 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
10745
10746         * gtk/gtklayout.c (gtk_layout_map): Remove references to
10747         OFFSCREEN, as it is no longer necessary.
10748
10749 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
10750
10751         * gtk/gtkcolorsel.c: Patch from David Santiago
10752         <mrcooger@cyberverse.com> to change things so that the 
10753         indicator of the active palette entry is done independently,
10754         not via the focus, since it should always be visible.
10755
10756 2000-05-17  Tor Lillqvist  <tml@iki.fi>
10757
10758         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
10759         refcount leaks as in the X11 backend.
10760
10761         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
10762         cosmetics.
10763
10764         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
10765         backend. Add _gdk_windowing_window_destroy().
10766
10767         * gtk/gtkcolorsel.c: Include correct backend-specific header.
10768         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
10769         either, but these probably do exist on nanox?)
10770         
10771         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
10772         which isn't necessarily defined by <math.h>.
10773
10774         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
10775         ancestry past GtkObject.
10776
10777         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
10778         from DLL on Win32.
10779
10780         * gtk/gtk.def: Update corresponding to recent changes.
10781
10782         * gtk/makefile.{cygwin,msc}: Updates.
10783
10784 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
10785
10786         * docs/Changes-1.4.txt: A bit of editing.
10787
10788         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
10789         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
10790         to clear the update area for the window, and clear it
10791         when hiding a window.
10792
10793         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
10794         if window destroyed.
10795
10796         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
10797
10798         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
10799         gdk_window_destroy() to the generic code, since there was a lot of 
10800         window-system-independent logic it in. Add a function:
10801         
10802          _gdk_window_destroy() 
10803
10804         to the internal API to destroy a window without unreferencing it.
10805         Add a function:
10806
10807          _gdk_windowing_window_destroy()
10808
10809         That does the windowing-system-dependent part of destroying 
10810         the window.
10811
10812 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
10813
10814         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
10815
10816 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
10817
10818         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
10819         Make gtk_widget_shape_combine_mask() keep a reference count on
10820         the pixmap since it keeps it around.
10821
10822 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
10823
10824         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
10825         leak.
10826
10827         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
10828         leak with event filters.
10829
10830 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
10831
10832         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
10833         signal handlers with the right data arguments. (Fixes
10834         some warnings when a widget was repeatedly set as a drag
10835         destination.)
10836
10837         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
10838         window so we can avoid avoid setting the DND properties on the
10839         toplevel window repeatedly.
10840
10841 2000-05-13  Tor Lillqvist  <tml@iki.fi>
10842
10843         * gdk/win32/gdkwin32.h: Define more message types missing from
10844         mingw headers.
10845
10846         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
10847         call gdk_window_destroy_notify(). It was never called. This
10848         probably meant that the GdkWindow was never freed. Thanks Owen for
10849         noticing (!).
10850
10851         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
10852         window as destroyed before calling DestroyWindow(). DestroyWindow()
10853         causes a call to the window procedure (gdk_WindowProc), which
10854         calls gdk_event_translate(), which calls
10855         gdk_window_destroy_notify(), which gets confused unless the window
10856         is set as destroyed.
10857
10858         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
10859         this function to indicate it's win32 only. Put inside #ifdef
10860         G_ENABLE_DEBUG.
10861
10862         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
10863         debugging function. (gdk_event_translate:) Add a default branch
10864         that uses the above function to print debug messages with all
10865         Windows messages symbolically.
10866
10867         * gdk/win32/gdkprivate-win32.h: Declare it, and
10868         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
10869
10870 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
10871
10872         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
10873         public header file.
10874
10875 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
10876
10877         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
10878
10879         * gtk/gtktext.c: made the adjustments no-construct args, simply
10880         provide default adjustments.
10881         (gtk_text_destroy): release adjustments.
10882
10883         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
10884         adjustment argument non-construct.
10885
10886         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
10887         instead of in finalize.
10888         (gtk_progress_get_text_from_value): 
10889         (gtk_progress_get_current_text): 
10890         (gtk_progress_set_value): 
10891         (gtk_progress_get_percentage_from_value): 
10892         (gtk_progress_get_current_percentage): 
10893         (gtk_progress_set_percentage): 
10894         (gtk_progress_configure): ensure an adjustment is present.
10895
10896 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
10897
10898         * gtk/gtkcolorsel.[hc]:
10899         * gtk/gtkcolorseldialog.[hc]:
10900         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
10901         their parent implementation, use bit fields for boolean values, don't
10902         create unused widgets, usage of glib types, braces go on their own
10903         lines, function argument alignment, #include directives etc. etc. etc..
10904
10905         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
10906
10907 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
10908
10909         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
10910
10911         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
10912         of NULL.
10913
10914         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
10915         to freed data.
10916         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
10917
10918         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
10919         to NULL when the toplevel is getting destroyed.
10920         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
10921         (gtk_menu_destroy): 
10922         (gtk_menu_init): store the information of whether we have to
10923         readd the initial child ref_count during destruction in a new
10924         GtkMenu field needs_destruction_ref_count.
10925
10926         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
10927         here, those reading: learn from my mistake! ;)
10928         in order for set_?adjustment to support a default adjustemnt if
10929         invoked with an adjustment pointer of NULL, the code read (pseudo):
10930         if (v->adjustment) unref (v->adjustment);
10931         if (!adjustment) adjustment = adjustment_new ();
10932         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
10933         now imagine the first unref to actually free the old adjustment and
10934         adjustment_new() creating a new adjustment from the very same memory
10935         portion. here, the latter comparision will unintendedly fail, and
10936         all hell breaks loose.
10937         (gtk_viewport_set_hadjustment):
10938         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
10939         after unreferencing it.
10940
10941         * gtk/gtkcontainer.[hc]: removed toplevel registration
10942         functions: gtk_container_register_toplevel(),
10943         gtk_container_unregister_toplevel() and
10944         gtk_container_get_toplevels() which had wrong semantics
10945         anyways: it didn't reference and copy the list.
10946
10947         * gtk/gtkwindow.c: we take over the container toplevel registration
10948         bussiness now. windows are registered across multiple destructions,
10949         untill they are finalized. the initial implicit reference count
10950         users are holding on windows is removed with the first destruction
10951         though.
10952         (gtk_window_init): ref & sink and set has_user_ref_count, got
10953         rid of gtk_container_register_toplevel() call. add window to
10954         toplevel_list.
10955         (gtk_window_destroy): unref the window if has_user_ref_count
10956         is still set, got rid of call to
10957         gtk_container_unregister_toplevel().
10958         (gtk_window_finalize): remove window from toplevel list.
10959         (gtk_window_list_toplevels): new function to return a newly
10960         created list with referenced toplevels.
10961         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
10962
10963         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
10964         adjustment a non-construct arg.
10965         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
10966         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
10967         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
10968
10969         * gtk/gtkrange.c: added some realized checks.
10970         (gtk_range_destroy): get rid of the h/v adjustments in the
10971         destroy handler instead of finalize. remove timer.
10972         (gtk_range_get_adjustment): demand create adjustment.
10973
10974         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
10975         we simply create them on demand now and get rid of them in
10976         the destroy handler.
10977         (gtk_viewport_destroy): get rid of the h/v adjustments in the
10978         destroy handler instead of finalize.
10979         (gtk_viewport_get_hadjustment): 
10980         (gtk_viewport_get_vadjustment): 
10981         (gtk_viewport_size_allocate): demand create h/v adjustment
10982         if required.
10983
10984         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
10985         gtk_widget_real_destroy () functionality.
10986         (gtk_widget_real_destroy): reinitialize with a new style, instead
10987         of setting widget->style to NULL.
10988
10989 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
10990
10991         * gtk/gtkcalendar.c:
10992         * gtk/gtkbutton.c: ported _get_type() implementation over to
10993         GType, either to preserve memchunks allocation facilities,
10994         or because Gtk+ 1.0 GtkTypeInfo was still being used.
10995
10996         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
10997         over. prepare for ::destroy to be emitted multiple times.
10998         removed reference tracer magic. chain into GObjectClass.shutdown()
10999         to emit ::destroy signal.
11000
11001         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
11002         fundamental.
11003
11004         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
11005         cludge.
11006
11007         * gtk/gtksocket.c:
11008         * gtk/gtkplug.c:
11009         * gtk/gtklayout.c:
11010         * gtk/gtklabel.c:
11011         * gtk/gtkargcollector.c:
11012         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
11013         not being a fundamental anymore, and to work with the new
11014         type system (nuked fundamental type varargs clutter).
11015
11016         * gtk/*.c: install finalize handlers in the GObjectClass
11017         part of the class structure.
11018         changed direct GTK_OBJECT()->klass accesses to
11019         GTK_*_GET_CLASS().
11020         changed direct object_class->type accesses to GTK_CLASS_TYPE().
11021
11022         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
11023         GType. made most of the GTK_*() type macros and Gtk* typedefs
11024         simple wrappers around macros and types provided by GType.
11025         most notably, a significant portion of the old API vanished:
11026         GTK_TYPE_MAKE(),
11027         GTK_TYPE_SEQNO(),
11028         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
11029         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
11030         GTK_TYPE_ARGS,
11031         GTK_TYPE_CALLBACK,
11032         GTK_TYPE_C_CALLBACK,
11033         GTK_TYPE_FOREIGN,
11034         GtkTypeQuery,
11035         gtk_type_query(),
11036         gtk_type_set_varargs_type(),
11037         gtk_type_get_varargs_type(),
11038         gtk_type_check_object_cast(),
11039         gtk_type_check_class_cast(),
11040         gtk_type_describe_tree(),
11041         gtk_type_describe_heritage(),
11042         gtk_type_free(),
11043         gtk_type_children_types(),
11044         gtk_type_set_chunk_alloc(),
11045         gtk_type_register_enum(),
11046         gtk_type_register_flags(),
11047         gtk_type_parent_class().
11048         replacements, where available are described in ../docs/Changes-1.4.txt.
11049         implemented compatibility functions for the remaining API.
11050
11051         * configure.in: depend on glib 1.3.1, use gobject module.
11052
11053 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
11054
11055         * TODO.xml: Various updates to current status.
11056
11057 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
11058
11059         * gtk.m4: Print out version when test succeeds.
11060
11061 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
11062
11063         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
11064         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
11065         
11066         (Original triangle color selector from Simon Budig
11067         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
11068         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
11069         Santiago <mrcooger@cyberverse.com>)
11070
11071         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
11072         out into a separate widget.
11073
11074         * gtk/testgtk.c: Add some checkbuttons for toggling palette
11075         and opacity controls.
11076
11077 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
11078
11079         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
11080         snuck in prematurely.
11081
11082 2000-05-07  Tor Lillqvist  <tml@iki.fi>
11083
11084         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
11085         had deleted a ! operator by mistake, which caused
11086         GDK_SELECTION_CLEAR events never to be generated, which caused
11087         only the first copy to the clipboard from an gtkeditable to
11088         actually cause a copy to the Windows clipboard.
11089
11090 2000-05-06  Tor Lillqvist  <tml@iki.fi>
11091
11092         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
11093         compilation, too. Current mingw gcc distributions include the
11094         necessary headers. Also the necessary IIDs are now in mingw
11095         headers/libraries, and own definitions unnecessary.
11096
11097         More hacking on OLE2 DND, still doesn't work though, and thus
11098         ifdeffed out.
11099
11100         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
11101         here, too.
11102
11103 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
11104
11105         * gdk/nanox/*: nano-X port work in progress.
11106         * gdk/simple.c: simple test for Gdk.
11107         * README.nanox: notes about the port: read this first!
11108         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
11109         with nano-X.
11110
11111 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
11112
11113         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
11114         gdk_window_clear() into common code, implement in terms of
11115         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
11116         not redirected to the backing rectangle.
11117
11118 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
11119
11120         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
11121         EXTRA_DIST. It does not work well when the file that
11122         everything depends on is not in the tarball.
11123
11124 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
11125
11126         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
11127         with recursion where process_updates() is called from
11128         an expose handler. (GtkTextView is highly broken in
11129         doing this, but it should work, so it is a nice test
11130         case.)
11131
11132 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
11133
11134         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
11135         handle the case where updates are queued during processing of
11136         updates.
11137
11138 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
11139
11140         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
11141         window is on gdk_display - use that instead of segfaulting.
11142
11143 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
11144
11145         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
11146         broken and require an empty arg, give it to them.
11147
11148 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
11149
11150         * gtk/gtklabel.h: indentation fixes.
11151
11152 2000-05-02  Tor Lillqvist  <tml@iki.fi>
11153
11154         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
11155         draw too narrow or too low arcs, they seem to fail, at least with
11156         some display drivers.
11157
11158         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
11159
11160         Large changes to the Win32 backend, partially made necessary by
11161         the changes to the backend-independent internal
11162         structures. Attempts to implement similar backing store stuff as
11163         on X11. The current (CVS) version of the Win32 backend is *not* as
11164         stable as it was before the no-flicker branch was merged. A
11165         zipfile with that version is available from
11166         http://www.gimp.org/win32/. That should be use by "production"
11167         code until this CVS version is usable. (But note, the Win32
11168         backend has never been claimed to be "production quality".)
11169
11170         * README.win32: Add the above comment about versions.
11171
11172         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
11173
11174         * gdk/gdk.def: Update.
11175
11176         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
11177         presumably be replaced by some more better mechanism as 1.4 gets
11178         closer to release shape.
11179
11180         * gdk/makefile.{cygwin,msc}: Update.
11181
11182         * gdk/win32/*.c: Correct inclusions of the backend-specific and
11183         internal headers. Change code according to changes in these. Use
11184         gdk_drawable_*, not gdk_window_* where necessary.
11185
11186         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
11187         our old DND.
11188
11189         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
11190         to interpret single characters as UTF-8. Thanks to Hans Breuer.
11191         Use correct function name in warning messages.
11192
11193         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
11194         GSourceFuncs gdk_event_prepare and gdk_event_check.
11195         (gdk_event_get_graphics_expose): Do implement, use
11196         PeekMessage. Thanks to Hans Breuer.
11197         (event_mask_string): Debugging function to print an GdkEventMask.
11198         (gdk_pointer_grab): Use it.
11199
11200         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
11201         (old) book I used claimed was Hangul actually is CJK Unified
11202         Ideographs Extension A. Also, Hangul Syllables were missing.
11203         Improve logging.
11204
11205         * gdk/win32/gdkgc-win32.c: Largish changes.
11206
11207         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
11208         g_win32_getlocale() from GLib, and not setlocale() to get current
11209         locale name.
11210
11211         * gdk/win32/gdkprivate-win32.h
11212         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
11213         gdkwin32.h, similarily as in the X11 backend.
11214
11215         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
11216         assignment was used instead of equals in if test. Thanks to Hans
11217         Breuer.
11218
11219         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
11220         the X11 version.
11221
11222         * gdk/win32/makefile.{cygwin,msc}
11223         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
11224         path to the Win32 headers that works also with the mingw compiler.
11225
11226         * gtk/gtkstyle.c: Include <string.h>.
11227
11228 2000-04-26  Havoc Pennington  <hp@redhat.com>
11229
11230         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
11231         replacing the broken gtk_label_get ()
11232
11233 2000-04-15  Havoc Pennington  <hp@pobox.com>
11234
11235         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
11236         this keeps scanner scripts from getting confused.
11237
11238         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
11239         data, rather than void
11240
11241 2000-04-15  Tor Lillqvist  <tml@iki.fi>
11242
11243         * gtk/gtkclist.c (gtk_clist_motion)
11244         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
11245         with is_hint FALSE, get x and y from the event. They used to be
11246         used uninitialised. The Win32 backend never sends motion events
11247         marked as hints. This for instance fixes the annoying file and
11248         font selector behaviour in the Win32 version.
11249
11250 2000-04-14  Tor Lillqvist  <tml@iki.fi>
11251
11252         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
11253         gtk_private_n_signals variables, they are used by some software,
11254         sigh.
11255
11256         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
11257         installation directory from the Registry, where the installer
11258         should have put it.
11259
11260 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
11261
11262         * gdk/x11/Makefile.am: Fix problem with installation directory for
11263         gdkx.h
11264
11265         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
11266         <mrcooger@cyberverse.com> so that when selecting menus with the
11267         mouse, the first item will not be selected, but when selecting
11268         with an accelerator, or navigating left-right on a menubar with
11269         the menus popped up, the first item will be selected.
11270
11271 2000-04-05  Dan Damian  <dand@dnttm.ro>
11272
11273         * configure.in: Added "ro" to ALL_LINGUAS.
11274
11275 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
11276
11277         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
11278         indentation.
11279
11280         * Makefile.am (EXTRA_DIST): Fix typo.
11281
11282         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
11283         to catch gdkconfig.h
11284
11285         * gtk/gtkitemfactory.c: Added FIXME.
11286
11287 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
11288
11289         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
11290         s/return_if_fail/return_val_if_fail/g and add a return value.
11291
11292 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
11293
11294         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
11295         merge slipup.
11296
11297         * gdk/gdkinput.h: Fix missing line from merge.
11298
11299 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
11300
11301         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
11302         instead of gdkprivate.h.
11303
11304 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
11305
11306         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
11307         parent class to correctly be GtkDialogClass.
11308
11309 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
11310
11311         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
11312         toplevel windows and their immediate children by their parents,
11313         since the size of toplevel windows is out of our immediate
11314         control and we don't get any real benefit from trying to track
11315         this size for clipping.
11316
11317         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
11318         for input_only windows.
11319
11320         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
11321         to fix some hacks and make sure that we don't try to set the
11322         background of input only windows.
11323
11324 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
11325
11326         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
11327         the _really_ internal stuff, and leave gdkprivate.h for the fake private
11328         stuff that we've traditionally exposed.
11329
11330         * gdk/**.c: Use gdkinternals.h where appropriate.
11331
11332         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
11333         not include gdkprivate-x11.h, move all stuff of conceivable public
11334         interest into gdkx.h; keep all really private stuff in
11335         uninstalled header gdkprivate-x11.h.
11336
11337         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
11338         image->image_put on windows through a new function _gdk_window_draw_image()
11339         to allow us to do backing store for images. (Sort of ugly)
11340
11341         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
11342         contexts locally so that we can offset them properly when drawing 
11343         onto backing pixmaps.
11344
11345         * gdk/gdkinput.h: Reindented
11346
11347         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
11348         pixmap or color for the window, so we can properly initialize
11349         our double-buffer pixmaps, and also so that we temporarily set
11350         a background of None while scrolling.
11351
11352         * gdk/gdkregion.h: Revise region boolean operators to have an
11353         interface that is actually convenient - switch from creating new
11354         regions on every op, to "methods" that modify existing regions
11355         (A = A OP B). 3 argument forms which allow dest == src, would also
11356         be possible, but the current interfaces seem to map nicely
11357         onto what needs to be done. (There is quite a lot of region
11358         code in GDK now.)
11359
11360         * gdk/gdkregion.h: Add constructor from rectangle and a copy
11361         operator.
11362
11363         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
11364         gdkpoly-generic.h: Copy region code from Xlib, switch it over
11365         to 32 bit coordinates, modify it to be mostly GTK+ style
11366         and to have interfaces that match gdkregion.h.
11367
11368         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
11369         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
11370         create a backing pixmap and redirect all drawing to
11371         that backing pixmap until a matching gdk_window_end_paint().
11372
11373         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
11374         Create a special drawable class for GtkWindow's that 
11375         redirects the drawing to the backing pixmap as necessary
11376         and then calls the real operations in _gdk_windowing_window_class.
11377
11378         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
11379         Store invalid region for each window. Generate expose events for invalid
11380         region in an idle. This replaces both the expose compression
11381         and the redrawing queuing in GTK+. It is both more efficient and
11382         simpler than either one individually and far more so then the
11383         combination.
11384
11385         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
11386         Emulate 32 bit coordinates for windows with 16 bit coordinates
11387         by offsetting drawing, guffaw scrolling techniques and
11388         mapping/unmapping child windows as necessary.
11389
11390         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
11391         where, when invalid regions are processed, the region is stored,
11392         and if expose events come in that are detectably duplicate
11393         the processed exposes (by comparison of event serial numbers),
11394         the stored region is subtracted out of those exposes.
11395
11396         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
11397         regions newly exposed when scrolling or resizing windows.
11398         This, combined with forcing processesing of queued invalidated
11399         regions, gives nice flicker-free scrolling.
11400
11401         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
11402         invalidated regions after every scroll.
11403
11404         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
11405         emulation in GDK. Its, for all practical purposes just a
11406         GtkViewport/GtkFixed hybrid now.
11407
11408         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
11409         (16-bit) structures as necessary instead of just casting.
11410
11411         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
11412         in terms of the structures from gdkregion-generic.c, using appropriate
11413         offsets from GDK to X11 coordinates. Cache clip mask and
11414         origin and ts origin locally and only flush to the server
11415         when drawing, to avoid constantly setting and resetting these
11416         values when offsetting GC's for scrolling and backing pixmaps.
11417
11418         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
11419
11420         * gtk/gtkcontainer.c: Call process_all_updates at end
11421         of resizing to reduce flicker. (Avoids having redraw
11422         lag arbitrarily behind resize under some circumstances)
11423
11424         * gtk/gtkentry.c: Remove old backing store code, and simply take
11425         advantage of the new backing store capabilities of GDK.
11426
11427         * gtk/gtkmain.c: Simple implementation of widget backing
11428         store - simply push a paint while handling each expose.
11429         (Should really be configurable widget for widget.)
11430         
11431         * gtk/gtkwidget.c: Remove all the old complicated redraw
11432         code, and simply invalidate the GDK windows from
11433         gdk_window_queue_clear(), etc. (Sigh, so much carefully
11434         debugged complexity ... gone to the winds.)
11435
11436         Remove all the code for suppressing expose events while
11437         resizes are pending; this isn't needed since the invalid
11438         areas won't be processed until after the resizes are
11439         processed, since they are in a lower priority idle.
11440
11441 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
11442
11443         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
11444         and height of dest rectangle for non-intersecting rectangles.
11445
11446 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
11447
11448         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
11449         for GdkRectangle.
11450
11451 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
11452
11453         * gdk/gdk{events,image,private,types,window}.h
11454          gdk/x11/gdkinputprivate.h: Change all coordinates
11455          from int16 to int. Also, Change width and height from
11456          unsigned to signed to avoid all the stupid C 
11457          signedness bugs.
11458
11459 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
11460
11461         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
11462         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
11463         Add some more detailed checking.
11464
11465         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
11466         New function to retrieve the depth of a drawable.
11467
11468         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
11469         field, reorder fields to save memory. 
11470
11471 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
11472
11473         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
11474         of the background image instead of scaling the background down to
11475         a line.
11476
11477         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
11478         which temporarily set slider to wrong size.
11479
11480         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
11481         queue_clear().
11482
11483 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
11484
11485 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
11486
11487         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
11488
11489 2000-03-17  Tor Lillqvist  <tml@iki.fi>
11490
11491         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
11492         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
11493
11494         * gdk/win32/gdkfont-win32.c
11495         * gdk/win32/gdkproperty-win32.c
11496         * gdk/win32/gdkselection-win32.c
11497         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
11498         now declared such.
11499
11500 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
11501
11502         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
11503
11504 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
11505
11506         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
11507         is called without trapping X errors.
11508
11509 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
11510
11511         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
11512         way into the fontset lists.
11513
11514 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
11515
11516         * gtk/gtkthemes.h: add extern "C" scope.
11517
11518 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
11519
11520         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
11521         to make appends to the list constant. (gtk-guy-990901-0.patch)
11522
11523 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
11524
11525         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
11526         for the typename hash table.
11527
11528 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
11529
11530         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
11531         to make sure we never divide by zero. 
11532         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
11533
11534 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
11535
11536         * gtk/gtkfontsel.c: Apply patch from
11537         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
11538         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
11539
11540         Also, some cleanups in atom handling.
11541
11542 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
11543
11544         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
11545         not GtkWidget.
11546
11547 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
11548
11549         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
11550         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
11551         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
11552         more guint wrap-around bugs before going to bed.
11553
11554 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
11555
11556         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
11557         guint wrap arounds in allocation.width.
11558
11559         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
11560         process untill we fit the allocation given.
11561
11562 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
11563
11564         * gtk/gtkwidget.c:
11565         (gtk_widget_unrealize): guard widget access with ref/unref
11566         around signal emission.
11567         (gtk_widget_hide): same here, but also check its destroyed
11568         state before queueing a resize.
11569
11570 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
11571
11572         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
11573         of gtk_default_insensitive_bg as insensitive base color.
11574
11575         * gtk/gtktext.c (gtk_text_style_set): set the background color according
11576         to the widget's state.
11577         (gtk_text_realize): same here.
11578         (gtk_text_state_changed): same here.
11579         (draw_bg_rect): compare background color against base[] from
11580         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
11581
11582 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
11583
11584         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
11585         grabs are active, unless a delete event is send to the toplevel
11586         of the currently grab holding widget.
11587
11588 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
11589
11590         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
11591         debugging g_print's.
11592
11593 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
11594
11595         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
11596         ever make the scrolled-window requisition ever depend on the 
11597         visibility state of the scrollbars for the AUTOMATIC policy. 
11598         This breaks the GTK+ requisition model, and causes loops.
11599
11600 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
11601
11602         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
11603         the default font to avoid problems with XFree86-4.0 where the
11604         default charset is iso10646-1, not iso8859-1.
11605
11606 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
11607
11608         * acinclude.m4
11609         * config.guess
11610         * config.sub
11611         * ltconfig
11612         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
11613
11614         * gtk/Makefile.am: minor cosmetic consistency tweak
11615
11616 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
11617
11618         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
11619         the activate_time to 0, so that we handle a quick
11620         press/release press/release properly and don't suppress
11621         the second release. (Red Hat bug #7545)
11622
11623 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
11624
11625         * gtk/gtkctree.c (row_delete):
11626         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
11627         bugs with destruction notifier, *always* update internal
11628         structures *before* calling user code.
11629
11630 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
11631
11632         A few more fixes for bug #5487, #2051, #2677.
11633         * gtk/gtkclist.c : 
11634         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
11635         not GDK_BUTTON_PRESS.
11636         (resync_selection): resync only if selection_mode is
11637         GTK_SELECTION_EXTENDED
11638         * gtk/gtkctree.c (resync_selection): same here
11639
11640 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
11641
11642         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
11643         gdk_drag_get_selection() and gtk_menu_detach().
11644
11645         [ From Jeroen Ruigrok/Asmodai ]
11646
11647 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
11648
11649         * gtk/gtknotebook.c (gtk_notebook_size_request): 
11650         page->tab_label can be NULL.
11651
11652 2000-01-25  Havoc Pennington  <hp@pobox.com>
11653         
11654         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
11655         arg is boolean
11656
11657         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
11658
11659         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
11660
11661         * gdk/gdkproperty.c (gdk_property_get): return boolean
11662
11663         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
11664
11665         * gdk/gdkim.c (gdk_im_ready): return boolean
11666
11667         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
11668
11669         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
11670         glib clash, should fix glib)
11671
11672         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
11673         (gdk_get_show_events): return gboolean, and canonicalize 
11674         to TRUE/FALSE
11675
11676         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
11677         colormap is private
11678         (gdk_colors_alloc): gboolean whether to be contiguous
11679         (gdk_color_equal): return gboolean since we are a predicate
11680         and not a qsort() (this looks semi-wrong due to glib breakage,
11681         IMO glib should be fixed)
11682         
11683         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
11684         (gdk_get_use_xshm): return gboolean
11685         (gdk_pointer_is_grabbed): return gboolean
11686
11687         * gdk/gdk.h: Change prototypes to match all the above changes,
11688         and re-run egtk-format-protos as required.
11689
11690 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
11691
11692         * gtk/gtkctree.c (resync_selection): 
11693         * gtk/gtkclist.c (resync_selection):
11694
11695         Return immediately if clist->drag_pos < 0. This is a workaround
11696         for the corrupt state that the clist gets into when a
11697         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
11698
11699         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
11700         
11701         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
11702         variable from recent commit.
11703
11704 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
11705
11706         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
11707
11708 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
11709
11710         * gtk/Makefile.am: prefix all autogenerated source that get build in
11711         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
11712         in builddir. since we subsequently cd into srcdir for autogeneration,
11713         the paths have to be stripped from the target file names, thusly we
11714         use $(@F) as target names now.
11715         put a comment about configure.in's --disable-rebuilds option,
11716         which can be used for non-writable source directories, for development
11717         setups though, srcdir has to be *writable*.
11718
11719 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
11720
11721         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
11722           Finish the job of allowing event to be NULL.
11723           (Fixes bug #4283, reported by Chris Blizzard)
11724
11725         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
11726           things so that the cursor appears on screen, properly
11727           take into account INNER_BORDER.
11728           (Fixes bug #4754, reported by Antonio Campos)
11729
11730 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
11731
11732         * gtk/gtknotebook.c (gtk_notebook_map): Don't
11733           show the tab_label unless it itself is visible.
11734
11735           gtk/gtknotebook.c (gtk_notebook_size_request):
11736           Do a better job of making sure that the visibility
11737           of the tab label corresponds to whether it should
11738           be mapped or not.
11739
11740 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
11741
11742         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
11743           Use the requisition, not the allocation, since the
11744           allocation has not necessarily been computed yet.
11745           (Pointed out by Eugene Osintsev)
11746
11747 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
11748
11749         * gtk/gtkstyle.c (gtk_style_new): Dont' set
11750           style/base[GTK_STATE_INSENSITIVE] both to
11751           gtk_default_insensitive_bg!
11752           (Bug #2187, reported by Jonathan Blandford)
11753
11754         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
11755           Add Alt_L, Alt_R to list of invalid accelerators.
11756           (Bug #3736, reported by Vlad Harchev)
11757
11758 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
11759
11760         * gtk/gtkfilesel.c (open_ref_dir): Fix several
11761         bugs which occured after an attempt to open 
11762         invalid home directory left cmpl_state->reference_dir == NULL.
11763
11764          - completion on files in home directory didn't work
11765          - completion on an empty string caused  segfault
11766
11767          (Bug #3678, reported by Steve Ratcliffe)
11768
11769         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
11770         cut and paste error that was causing scales to
11771         be incorrectly positioned.
11772         (Bug #2956,
11773          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
11774
11775 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
11776
11777         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
11778         when checking for dcgettext, if we've found we needed
11779         it for dgettext.
11780 +
11781 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
11782
11783         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
11784         queue_clear on NO_WINDOW widgets during a reparent,
11785         since at that point the window and widget heirarchies
11786         are out of sync. This stops crashing in some cases
11787         (the scrolled window reparent test, for instance), and
11788         _probably_ won't cause drawing errors.
11789
11790         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
11791         test do what it was supposed to do and be robust against
11792         window closings, etc. (Bug #2443)
11793
11794 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
11795
11796         * gtk/gtkentry.c: Fix return values on mouse events.
11797         (Bug #2686, Sky <seb_sky@yahoo.com>)
11798
11799         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
11800         (pointed out by George Lebl)
11801
11802         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
11803         (From Ettore Perazzoli  <ettore@helixcode.com>)
11804  
11805 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
11806
11807         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
11808         clicks between rows or outside calender area correctly.
11809         (Patch from Damon Chaplin)
11810
11811         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
11812         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
11813           Call destroy function when overwriting existing data. 
11814           (Pointed out by Damon Chaplin)
11815
11816 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
11817
11818         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
11819           which was causing problems on various systems with Xmu.
11820           This hasn't been needed for a very long time.
11821           (Fixes #1185 3167)
11822
11823 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
11824
11825         * gdk/gdki18n.h: Include <ctype.h> when defining
11826           gdk_isw* in terms of is* as a fallback.
11827           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
11828
11829 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
11830
11831         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
11832           realize the widget when it is size allocated!
11833           (old, old bug)
11834
11835         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
11836           Removed unused call to gdk_window_get_size() that
11837           showed up when the above was fixed.
11838
11839 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
11840
11841         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
11842           fix up widget->window when the widget is a
11843           NO_WINDOW container widget.
11844
11845 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
11846
11847         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
11848           to account for the fact that feof() does _not_ 
11849           return TRUE on errors, and thus avoid infinite loops
11850           when trying to use gdk_pixmap_create_from_xpm()
11851           on unreadable values.
11852
11853 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
11854
11855         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
11856
11857 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
11858
11859         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
11860           gdk_gc_set_dashes to take gint8 instead of gchar to
11861           make it clearer that it is _not_ a NULL terminated string.
11862
11863         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
11864           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
11865           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
11866           arguments.
11867
11868 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
11869
11870         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
11871         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
11872         background size relative to our allocation, guard against small
11873         allocations, we may have not yet been size allocated.
11874
11875 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
11876
11877         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
11878         not just version == 3. We implement all 3 + most of 4 - 
11879         (we don't support matching text/plain;charset=iso-8859-1
11880         to a dest that expects text/plain). We'll still advertise
11881         3 to be safe, but any client implementing version >= 3
11882         must interoperate with 3.
11883         
11884 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
11885
11886         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
11887         background and gc members, add a warning in gtk_tooltips_set_color()
11888         indicating that this function is deprecated.
11889
11890 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
11891
11892         * docs/gtkfaq.sgml: FAQ Update:
11893           - Minor cleanups (Emmanuel, me)
11894           - New questions:
11895                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
11896                 How can I retrieve the text from a GtkMenuItem? (timj)
11897                 How do I validate/limit/filter the input to a GtkEntry? (me)
11898                 Memory does not seem to be released when I free the list
11899                         nodes I've allocated (timj)
11900
11901 2000-03-07  Tor Lillqvist  <tml@iki.fi>
11902
11903         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
11904         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
11905         for which it is no use to call GetLastError onWin9x.
11906         (gdk_other_api_failed) New function, for general error
11907         reporting without calling GetLastError.
11908         (gdk_win32_api_failed) OTOH, this function always calls
11909         GetLastError. (gdk_win32_last_error_string) Remove this function,
11910         GLib has the equivalent now.
11911
11912         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
11913         call them with function name, file name and line number in the
11914         arguments.
11915
11916         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
11917         functions.
11918         
11919         * gtk/gtk.def: Add some missing entry points.
11920
11921         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11922         gtk_paned_set_gutter_size, which don't exist any longer, as void.
11923         
11924         Fixes by Hans Breuer:
11925
11926         * gdk/makefile.msc: Update for debugging.
11927
11928         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
11929         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
11930         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
11931         in the dash_list.
11932
11933         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
11934         the x11 backend.
11935
11936         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
11937
11938         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
11939
11940 2000-03-04  Tor Lillqvist  <tml@iki.fi>
11941
11942         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
11943         just pixel value of background colour.
11944
11945         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
11946         containing code snippet previously duplicated in a couple of
11947         places.
11948         
11949         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
11950         gdk_colormap_color.
11951
11952         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
11953         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
11954         events for autorepeated Shift, Control and Alt keys. Use
11955         gdk_colormap_color.
11956
11957         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
11958         pointer is inside the window the cursor of which we are setting,
11959         call SetCursor immediately.
11960
11961         * gdk/win32/makefile.cygwin
11962         * gtk/makefile.cygwin: If we don't have the build number stamp
11963         file, use zero.
11964
11965         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
11966         gtk_paned_set_gutter_size as empty.
11967
11968         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
11969         
11970 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
11971
11972         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
11973           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
11974           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
11975           docs/gtk_tut.sgml docs/gtk.texi TODO:
11976
11977           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
11978
11979 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
11980
11981         * gtk/gtkcalendar.c: Implement num_marked_dates,
11982           and don't emit mutiple day_selected signals on
11983           month_prev.
11984
11985 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
11986
11987         * docs/make-todo (lineno): let title and logo be configurable so
11988         that GNOME can use this script too.
11989
11990         * TODO.xml: added logourl and a title
11991
11992 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
11993
11994         * TODO.xml: Added some UI items, and an explanatory
11995         comment at the top of the file.
11996
11997 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
11998
11999         * TODO.xml: some updates, added abunch of new entries.
12000         a note for those fiddeling with this file, when done
12001         with it, invoke:
12002         $ ./docs/make-todo TODO.xml >/dev/null
12003         and correct output errors before comitting changes.
12004
12005 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
12006
12007         * TODO.xml: Added XML-structured TODO file.
12008         * docs/make-todo: python script to turn TODO.xml into
12009           pretty XML output. 
12010
12011 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
12012
12013         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
12014         the function to let it draw the seven dots, instead of the old,
12015         much maligned, method.
12016         (draw_dot): New function to draw a dot.
12017
12018         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
12019         to draw the handle inside the border width as opposed to outside.
12020         Use paint function instead of gdk_draw_point.
12021
12022         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
12023         to draw the handle inside the border width as opposed to outside.
12024         Use paint function instead of gdk_draw_point.
12025
12026         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
12027         Change indenting to be more GTK like.
12028
12029 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
12030
12031         * docs/gtk_tut.sgml: New section on GtkCalendar
12032         * examples/calendar: Update example code
12033
12034 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
12035
12036         * docs/gtkfaq.sgml: FAQ Update
12037
12038 2000-02-19  Anders Carlsson  <andersca@gnu.org>
12039
12040         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
12041         to prevent the scroll event to be propagated upwards.
12042
12043 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
12044
12045         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
12046         OwnerGrabButtonMask from button entries for
12047         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
12048
12049         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
12050         to the event mask (which will result in button/press release
12051         being added to the event mask on Unix) so scrolling works
12052         for layouts in scroll windows.
12053
12054         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
12055
12056         Patch from Anders Carlsson  <andersca@gnu.org> to add
12057         a scroll event.
12058
12059         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
12060         scrolling to the "Test Scrolling" part of testgtk.
12061  
12062         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
12063  
12064         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
12065         it against GDK_SCROLL.
12066  
12067         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
12068         way of mouse wheel scrolling.
12069  
12070         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
12071  
12072         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
12073  
12074         * gtk/gtkmain.c: Removed previous mouse wheel hack.
12075  
12076         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
12077         gdk_event_mask_table.
12078  
12079         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
12080         GdkEventScroll handler.
12081  
12082         * gdk/gdkevents.h: Added GdkEventScroll structure.
12083  
12084 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
12085
12086         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
12087         and Anders Carlsson to change the Paned widgets so that they
12088         can be dragged from anywhere along the length. Also change
12089         the way that this is drawn to make this apparent.
12090
12091         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
12092         from George Lebl to check that option_menu->menu is present
12093         before getting history.
12094
12095 2000-02-14  Tor Lillqvist  <tml@iki.fi>
12096
12097         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
12098         before the assertion for non-NULL segment list.
12099
12100         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
12101         Seems that pattern brushes *must* be 8x8 pixels! At least on my
12102         machine, but it might be display driver dependent. Sigh, so make
12103         sure the stipple is that size. Does Windows suck or what?
12104
12105         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
12106         places.
12107
12108 2000-02-13  Havoc Pennington  <hp@pobox.com>
12109
12110         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
12111         refcount to 1
12112         (gdk_cursor_new): init refcount to 1
12113
12114         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
12115
12116 2000-02-13  Tor Lillqvist  <tml@iki.fi>
12117
12118         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
12119         so that we don't have to do unnecessary settings to the HDC.
12120
12121         * gdk/win32/gdkdrawable-win32.c
12122         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
12123         gdk_gc_predraw.
12124
12125         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
12126         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
12127         GDI paths, call WidenPath to get the outline of the stroken path,
12128         and then fill the outline (with the brush that was built from the
12129         stipple).
12130
12131         * gdk/win32/gdkgc-win32.c: Factor out common code from
12132         _gdk_win32_gc_new and gdk_win32_gc_set_values into
12133         gdk_win32_gc_values_to_win32values. Use correct colour for
12134         SetBkColor() (Until now the code actually used a random colour in
12135         the call to SetBkColor()... but that didn't show up as not many
12136         GDI APIs use the background colour. Pattern (opaque stippled)
12137         brushes do.)
12138
12139         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
12140         gdk_win32_api_failed): New functions for error logging.
12141
12142         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
12143         WIN32_API_FAILED to call them, passing function or file name and
12144         line number.
12145
12146         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
12147
12148         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
12149         GdkColor for foreground and background in GdkGCWin32Data.
12150
12151         * gdk/makefile.cygwin: Link in the resource object separately.
12152
12153         * gdk/win32/rc/gdk.rc
12154         * gtk/gtk.rc (New file)
12155         * gdk/win32/makefile.cygwin
12156         * gtk/makefile.cygwin: Update build number in DLLs automatically,
12157         as in GLib.
12158
12159 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
12160
12161         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
12162         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
12163         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
12164         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
12165         parameters given and cursor->ref_count. coding style fixups.
12166
12167         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
12168         not GtkWidget.
12169         
12170         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
12171         fix up widget macros and add _GET_CLASS() variant.
12172         
12173         * gtk/*.c: some GtkType fixups.
12174
12175 2000-02-09  Tor Lillqvist  <tml@iki.fi>
12176
12177         * gdk/win32/gdkproperty-win32.c
12178         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
12179         were reversed.
12180
12181 2000-02-04  Tor Lillqvist  <tml@iki.fi>
12182
12183         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
12184         g_filename_to_utf8 to convert the font names Windows gives us from
12185         whatever is the default codepage to UTF-8.
12186         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
12187         in the other direction.
12188
12189         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
12190         error in debugging output.
12191
12192 2000-02-02  Tor Lillqvist  <tml@iki.fi>
12193
12194         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
12195         and height parameters to gdk_window_clear_area(). Not minus one.
12196
12197 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
12198
12199         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
12200         checks if the widget passed to gtk_drag_get_data() was not the
12201         dest widget.
12202
12203 2000-02-01  Tor Lillqvist  <tml@iki.fi>
12204
12205         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
12206         g_filename_from_utf8 functions (which were added a moment ago to
12207         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
12208         size buffers.
12209
12210         gtk_file_selection_get_filename returns the filename in the C
12211         runtime encoding. It calls g_filename_from_utf8, but copies the
12212         returned string to a static buffer, which is returned. I think
12213         this is better than returning the result from g_filename_from_utf8
12214         directly, which would mean all apps that use it would have to free
12215         the return value. Or should this function care about this issue at
12216         all? Maybe a new function with clearly defined semantics.
12217
12218         * gtk/gtkfilesel.h: Add comment about
12219         gtk_file_selection_get_filename returning the filename in the C
12220         runtime's encoding.
12221
12222         * README.win32
12223         * gdk/gdk.def
12224         * gdk/makefile.{cygwin,msc}
12225         * gtk/gtk.def: Updates.
12226
12227         * gdk/gdkcursor-win32.c: Initialise refcount.
12228
12229 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
12230
12231         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
12232
12233 2000-01-30  Havoc Pennington  <hp@pobox.com>
12234
12235         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
12236         destroy
12237
12238         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
12239
12240         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
12241         implemented in platform-specific code
12242
12243         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
12244
12245         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
12246         underscore in front
12247
12248         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
12249         put an underscore in front
12250
12251         * gdk/gdkcursor.c: new file, implements
12252         gdk_cursor_ref/gdk_cursor_unref
12253
12254         * gdk/gdkcursor.h: Refcount GdkCursor
12255
12256         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
12257
12258 2000-01-29  Tor Lillqvist  <tml@iki.fi>
12259
12260         * gdk/gdkwindow.h
12261         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
12262
12263 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
12264
12265         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
12266         structures to properly inherit from GtkWidget not GtkBin.
12267
12268 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
12269
12270         * gtk+.spec.in: Added lib/gtk+/include/* to %files
12271         (bug #5178 - Peter Wainright)
12272         
12273         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
12274         so that it will be installed.
12275         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
12276
12277 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
12278
12279         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
12280         for the GtkStyleClass vtable const.
12281
12282         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
12283         take a const string argument like GtkTranslateFunc. This will
12284         require changes in use code.
12285
12286 2000-01-19  Tor Lillqvist  <tml@iki.fi>
12287
12288         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
12289         semantics (to mimic the X11 backend, which just calls XClearArea)
12290         is to check for zero width (and height), and in that case use the
12291         window's width minus x (height minus y). This fixes for instance
12292         some redraw problems with gtkclist, which were easily noticeable
12293         in the gtk file selection widget.
12294
12295         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
12296         windows.
12297
12298 2000-01-13  Tor Lillqvist  <tml@iki.fi>
12299
12300         * configure.in
12301         * gdk/Makefile.am
12302         * gdk/x11/Makefile.am
12303         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
12304         (bug #5177).
12305         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
12306         out later.
12307
12308 2000-01-09  Tor Lillqvist  <tml@iki.fi>
12309
12310         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
12311         WM_MOVE for iconified or invisible windows. This fixes various
12312         problems when minimising windows. Thanks to Bernd Herd.
12313
12314 2000-01-05  Tor Lillqvist  <tml@iki.fi>
12315
12316         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
12317         backend's draw_lines method, not draw_points.
12318
12319 2000-01-02  Tor Lillqvist  <tml@iki.fi>
12320
12321         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
12322         before Owen's reorganisation: Don't have queued_events and
12323         queued_tail statics in this file, but use gdk_queued_events and
12324         gdk_queued_tail. This makes exposure event compression work again.
12325
12326         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
12327         seem to be needed?
12328
12329 1999-12-30  Tor Lillqvist  <tml@iki.fi>
12330
12331         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
12332         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
12333         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
12334         doesn't do anything.
12335
12336         * gdk/gdk.def: Add gdk_xid_table_insert.
12337
12338         * gdk/win32/gdkprivate-win32.h
12339         * gdk/win32/gdkevents-win32.c
12340         * gdk/win32/gdkinput-win32.c
12341         
12342         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
12343         extension_events field in the GdkWindowWin32Data struct. Use only
12344         the extension_events field in GdkWindowPrivate. Previously one was
12345         set, and the other one tested, which broke tablet
12346         functionality. Thanks to Keishi Suenaga for pointing this out.
12347
12348 1999-12-18  Tor Lillqvist  <tml@iki.fi>
12349
12350         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
12351         When handling a single character (text length == 1), don't handle
12352         it as if it was UTF-8.
12353
12354 1999-12-11  Tor Lillqvist  <tml@iki.fi>
12355
12356         * Makefile.am: Distribute README.win32.
12357         
12358         * gdk/Makefile.am
12359         * gdk/win32/Makefile.am: Distribute Win32 files.
12360
12361         * gdk/makefile.msc: New file.
12362
12363         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
12364         after label).
12365
12366         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
12367         gdk_error_code as GDKVAR, as they are referred outside GDK.
12368
12369         * gdk/win32/makefile.msc: Update.
12370
12371         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
12372         tweaks. Check only if at least one of those Unicode subrange bits
12373         we care for is set. If no code page bits are set, guess (wildly)
12374         based on the charset.
12375
12376         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
12377
12378         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
12379         non-NULL.
12380
12381         * gtk/gtkdnd.c
12382         * gtk/gtklayout.c
12383         * gtk/gtkplug.c
12384         * gtk/gtkselection.c
12385         * gtk/gtksocket.c
12386         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
12387         appropriate. There must be a cleaner way to handle this?
12388
12389         * gtk/gtkrc.c: Must include windows.h on Win32.
12390
12391         * gtk/testgtk.c: No need to include gdkx.h.
12392
12393         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
12394
12395 1999-12-07  Tor Lillqvist  <tml@iki.fi>
12396
12397         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
12398         the rbearing is set to the same as the width, but this should be
12399         fixed.
12400
12401 1999-12-06  Tor Lillqvist  <tml@iki.fi>
12402
12403         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
12404         function. If Windows doesn't tell us what Unicode subranges a font
12405         covers, guesstimate based on the codepages it covers. This will
12406         hopefully help those Windows versions or fonts that don't give us
12407         any useful Unicode subrange information with GetTextCharsetInfo.
12408         Call this function in gdk_font_load_internal.
12409
12410         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
12411         minor changes.
12412
12413 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
12414
12415         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
12416         New function, long needed.
12417
12418 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
12419
12420         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
12421         only_if_exists argument of gdk_atom_intern to
12422         bool.
12423
12424 1999-11-25  Tor Lillqvist  <tml@iki.fi>
12425
12426         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
12427         Fix two copy&paste errors.
12428
12429         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
12430         win32 has changed.
12431
12432         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
12433         GdkWin32SingleFont struct.
12434
12435         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
12436         subranges of loaded fonts. Clear font signature first, in case
12437         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
12438         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
12439
12440         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
12441         Unoffset clip region.
12442
12443 1999-11-23  Tor Lillqvist  <tml@iki.fi>
12444
12445         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
12446         event->any.window before calling filter functions.
12447
12448 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
12449
12450         * gtk/gtkgamma.h: Adapt cast macros to standard.
12451
12452 [ Merges from 1.2 ]
12453
12454 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
12455
12456         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
12457         If translation does not include a '/', use entire
12458         translation instead of crashing.
12459
12460 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
12461
12462         * docs/gtk_tut.sgml:
12463         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
12464
12465 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
12466
12467         * gtk/gtkselection.c (gtk_target_list_remove): Use
12468         g_list_remove_link, not g_list_remove.
12469
12470         [ From Geert Bevin <gbevin@thunderstorms.org> ]
12471         
12472 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
12473
12474         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
12475         statement upon unselection (how the heck did that slip in?).
12476
12477 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
12478
12479         * gtk/gtktext.c (gtk_text_freeze): 
12480         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
12481         in frozen state (and aparently crashes). patch provided by Anders
12482         Melchiorsen <and@kampsax.dtu.dk>.
12483
12484 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
12485
12486         * fix insensitive default/focus widget activation,
12487         reported by Matt Goodall <mgg@isotek.co.uk>.
12488
12489         * gtk/gtkwindow.c (gtk_window_key_press_event): 
12490         (gtk_window_activate_default):
12491         (gtk_window_activate_focus):
12492         return handled=FALSE for actiavtion of insensitive default
12493         widgets. return handled=TRUE for activation of insensitive
12494         focus widgets. don't activate in either case.
12495
12496 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
12497
12498         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
12499         and $glib_cflags to match library order and in the
12500         theory that an old version of GLib is more likely to
12501         be in the include directory for X then vice-versa.
12502         (Bug #2776)
12503
12504 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12505
12506         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
12507         to determine the locale for fontsets, not LC_MESSAGES;
12508         the user may want English messages with a handling
12509         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
12510         will still be broken) (Bug #2891)
12511
12512 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
12513
12514         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
12515
12516 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
12517
12518         * gtk/gtkrc.ko: Changed the Korean default fontset.
12519
12520 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
12521
12522         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
12523         where when scrolling to the left or top double exposes
12524         were done, causing major slowdowns.
12525
12526 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
12527
12528         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
12529         names to lowercase and alphanumeric, before looking
12530         them up.
12531
12532         * gtk/Makefile.am: Install codeset variant gtkrc files
12533         with normalized names.
12534
12535 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
12536
12537         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
12538         popup menus when the menu is already visible, but its parent
12539         is still hidden, (happens after tornoff window got hidden).
12540
12541 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
12542
12543         * gtk/Makefile.am (install-data-local): Fix
12544         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
12545         deleted, causing error messages on install.
12546
12547 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
12548
12549         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
12550         the handle as well, since we now sometimes ignore
12551         exposes on the handle while resizing.
12552
12553 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
12554
12555         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
12556         extra g_free introduced in one of the last one or two 
12557         commits.
12558
12559 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
12560
12561         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
12562         consistent, put each style that a gtkrc.* file creates
12563         in a unique namespace, remove old files before installing.
12564
12565 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
12566
12567         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
12568         gtk_rc_init is called multiple times. (Yes, people who
12569         do that have bugs in their code.)
12570
12571 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
12572
12573         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
12574         Remove it since it's generated by the Makefile anyway
12575
12576 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
12577
12578         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
12579         device->info.axes for core pointer.
12580
12581 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
12582
12583         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
12584         idle_id, to deal with obsolete, broken C libraries.
12585
12586 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
12587
12588         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
12589         allocation->x/y twice!
12590
12591         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
12592         consistent with gtk_vscale_pos_trough().
12593
12594 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
12595
12596         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
12597         be queueing a resize on a toplevel container between
12598         the time we show it and when we map it. So, we need
12599         to test GTK_WIDGET_VISIBLE() for toplevels, and only
12600         use GTK_WIDGET_DRAWABLE() for child windows.
12601
12602 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
12603
12604         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
12605         (fixes bug #2144)
12606
12607 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
12608
12609         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
12610         container DRAWABLE (instead of VISIBLE), so we don't queue
12611         resizes on non-toplevel containers.
12612
12613 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
12614
12615         * gtk/gtkselection.[ch]: Make the data argument
12616         const guchar *.
12617
12618 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
12619
12620         * gtk/gtkwindow.c: Try to behave sensibly if 
12621         the focus widget is the window itself. (Should
12622         we allow this at all?)
12623
12624 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12625
12626         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
12627         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
12628         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
12629         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
12630         in prototypes and implementations consistent (Tomas Ogren).
12631
12632         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
12633         before the widget is unparented (reported by damon).
12634
12635         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
12636         since we provide unsigned data anyways.
12637
12638 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
12639
12640         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
12641         the call to gtk_tooltips_layout_text() until later.
12642
12643         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
12644         Call gtk_widget_ensure_style() before using the style.
12645
12646 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
12647
12648         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
12649         for old widgets that don't propagate draws to all
12650         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
12651
12652 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
12653
12654         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
12655         for a redraw but just the widget that requested the resize.
12656
12657 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
12658
12659         * gtk/gtkcontainer.c: added new widget level method
12660         gtk_container_set_reallocate_redraws() and a GtkContainer flag
12661         reallocate_redraws : 1 to reflect the setting, exported this through
12662         the argument system as a boolean ::reallocate_redraws.
12663
12664         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
12665         on the widget because the allocation changes, do so as well for
12666         widget->parent if the parent has reallocate_redraws set to TRUE.
12667         with that containers requesting reallocation redraws get automatically
12668         redrawn if their children changed allocation (this unfortunately
12669         affects also other children that didn't change allocation, but we
12670         cannot work around that before 1.3).
12671
12672 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12673
12674         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
12675         _and_ height are >0 (not _or_).
12676
12677         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
12678         instead of gtk_container_queue_resize(), which is a core gtk internal
12679         function (must have been on crack when i queued that).
12680
12681         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
12682         we can check more reliably if we want to discard expose events.
12683         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
12684         flag.
12685         
12686         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
12687         we simply trust these events. for deciding whether to discard exposes,
12688         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
12689         
12690 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
12691
12692         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
12693         queues of areas that are completely off screen.
12694
12695         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
12696         logic for handleboxes.
12697
12698         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
12699         check on width/height.
12700
12701 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
12702
12703         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
12704         we are fine with using $@ the way we do (if we actually encounter
12705         brokeness with $@ in VPATH builds because of additional path prefixes,
12706         we need to use $(@F) actually).
12707
12708 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
12709
12710         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
12711         short lived bugs, that would allow language bindings to do surgeries
12712         to our guts.
12713
12714 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
12715
12716         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
12717         where comparison was being done against an uninitialized
12718         value causing intermittant results depending on
12719         compiler flags. Also make it clearer that we aren't
12720         ever initializing the child as 0x0 (though this will
12721         be caught in gtk_widget_size_allocate())
12722
12723 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
12724
12725         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
12726         gtk_window_unset_transient_for() call after we do checks
12727         involving the old transient parent.
12728         [ From Lance Capser <lmc@cyberhighway.net> ]
12729
12730 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
12731
12732         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
12733         an empty file.
12734
12735 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
12736
12737         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
12738         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
12739
12740 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
12741
12742         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
12743         `$@' is valid only in the build dir, not after we've done 
12744         `cd $srcdir'.  Also use `test -f' instead of less portable
12745         `test -e'.
12746
12747 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
12748
12749         * gtk/gtktext.c (correct_cache_insert): Rewrite
12750          for simplicity, and hopefully correctness.
12751          (Fixes bug #1322, which was a segfault when
12752           on some insertions with the properties around
12753           the insertion set up just wrong.)
12754
12755         * gtk/gtktext.c (gtk_text_adjustment): When we receive
12756          a "changed" signal, clamp the new value to the adjustment
12757          bounds to avoid segfaulting if someone tries to change
12758          the adjustment to a bogus value. (Bug #1795)
12759
12760 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12761
12762         * gtk/gtkmain.c: Ignore unexpected destroy notifies
12763         for children, for toplevel windows handle them
12764         like delete_event.
12765
12766         * gtk/gtkplug.c: Add an unrealize handler so that
12767         we unref plug->socket_window when we are done
12768         with it.
12769
12770 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
12771
12772         * gtk/gtktext.c (clear_area): Fix stupid signedness
12773          problem that was causing background to sometimes
12774          be misaligned.
12775
12776 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
12777
12778         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
12779         
12780         * gtk/gtkmenu.c (gtk_menu_position): Make
12781          sure we never position menus with negative x, y,
12782          since gtk_widget_set_uposition() can't handle that.
12783
12784         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
12785          Modify the positioning code a bit so that we always
12786          put the top-left corner onscreen. (This is for
12787          UI reasons, gtk_menu_position() now takes care of
12788          gtk_widet_set_uposition() brokeness.)
12789
12790 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
12791
12792         * gtk/Makefile.am: fixed up things for -jx, x > 1.
12793
12794 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
12795
12796         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
12797           RC style that is passed in. The lack of the ref
12798           before was a bug. If people worked around this
12799           bug, this will introduce a slight memory leak
12800           in their code. The code should typically look like:
12801
12802             rc_style = gtk_rc_style_new ();
12803             [...]
12804             gtk_widget_modify_style (widget, rc_style);
12805             gtk_rc_style_unref (rc_style);
12806
12807         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
12808           the style if it was already set.
12809
12810         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
12811           style if it was set before.
12812
12813 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12814
12815         * gtk/testgtk.c (main): Add a check to see if we
12816           are being run from the correct directory and
12817           to quit nicely if we are not.
12818
12819         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
12820           static.
12821
12822 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
12823
12824         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
12825
12826         * gtk/gtkwindow.c:
12827         queue resizes unconditionally (gtk_widget_queue_resize will figure
12828         what to do if the window is not realized).
12829         (gtk_window_move_resize): only recenter the window
12830         for GTK_WIN_POS_CENTER_ALWAYS.
12831         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
12832         the same way as GTK_WIN_POS_CENTER.
12833
12834 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
12835
12836         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
12837         with (!(info->last_flags & GDK_HINT_POS)) instead of
12838         (!info->last_flags & GDK_HINT_POS).
12839
12840         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
12841         new_height unconditionally, because we use these values even if
12842         !default_size_changed && !hints_changed.
12843         comented the (default_size_changed || hints_changed) case with
12844         respect to resize rejects from the window manager.
12845
12846         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
12847         in the zvt condition hack, since this includes the window hints, set
12848         the hints after the handling_resize case.
12849
12850         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
12851         window is initially shown with to the geometry.
12852
12853 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
12854
12855         * gtk/gtkwindow.c (gtk_window_move_resize):
12856         s/size_changed/default_size_changed/g so i know what's
12857         really going on (frying brain on smaller flame now).
12858
12859 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
12860
12861         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
12862         we have size_changed upon handling_resize. this is a gross
12863         workaround for the broken zvt widget and should be removed in
12864         1.3 again (search for FIXME).
12865         Owen provided an accurate comment for this:
12866
12867         /* We could be here for two reasons
12868          *  1) We coincidentally got a resize while handling
12869          *     another resize.
12870          *  2) Our computation of size_changed was completely
12871          *     screwed up, probably because one of our children
12872          *     is broken. It's probably a zvt widget.
12873          *
12874          * For 1), we could just go ahead and ask for the
12875          * new size right now, but doing that for 2)
12876          * might well be fighting the user (and can even
12877          * trigger a loop). Since we really don't want to
12878          * do that, we requeue a resize in hopes that
12879          * by the time it gets handled, the child has seen
12880          * the light and is willing to go along with the
12881          * new size. (this happens for the zvt widget, since
12882          * the size_allocate() above will have stored the
12883          * requisition corresponding to the new size in the
12884          * zvt widget)
12885          *
12886          * This doesn't buy us anything for 1), but it shouldn't
12887          * hurt us too badly, since it is what would have
12888          * happened if we had gotten the configure event before
12889          * the new size had been set.
12890          */
12891
12892 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
12893
12894         * gtk/gtkrc.c: deal properly with the fact that RC
12895           style lists may include rc styles more than once.
12896
12897         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
12898           unused static function.
12899
12900         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
12901           stack of directories of RC files currently being
12902           parsed and implicitely add them to pixmap path.
12903           
12904           This fixes a bug where the directory would get
12905           appended then overwritten by pixmap_path declarations.
12906
12907           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
12908
12909         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
12910           theme's exit function. (Patch from Peter Wainwright,
12911           bug #1454)
12912
12913         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
12914           Add a destroy() handler to take care of removing
12915           group for menu item. (Fixes bug #1197)
12916
12917         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
12918           in warning message.
12919
12920 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
12921
12922         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
12923         roundtrip to figure window's width and height, since we know that
12924         anyways from widget->allocation.
12925
12926 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
12927
12928         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
12929           the hints after we request the new size.
12930
12931 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
12932
12933         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
12934           GTK_WIDGET_REALIZED() assertion - we can compute the
12935           hints before we are realized.
12936
12937         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
12938           hint changing so that we have a value of hints_changed
12939           when we decide whether to constrain the window size.
12940
12941         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
12942
12943         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
12944         change back to G_MAXINT.
12945
12946 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
12947
12948         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
12949         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
12950         contain uncluttered values.
12951         (gtk_window_compute_hints): simply assert that window is realized
12952         and that geometry_info is valid, since we rely on this anyways.
12953         (gtk_window_constrain_size): major cleanups to the code.
12954         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
12955         for the base size, instead of the minimums. use 32767 as max width
12956         and height (like in gtkwindow.c) instead of G_MAXINT.
12957
12958 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
12959
12960         * cleaned up the GtkContainer.need_resize flag handling mess, we
12961         only need to force resize requests when we were prematurely
12962         realized, or our widget tree was modified when we were temporarily
12963         hidden. handling these cases directly upon showing the window (i.e.
12964         while the GdkWindow is still unmapped) avoids the need to wait for
12965         a configure event response and therefore makes the GUI more snappier
12966         and avoids blank windows during the roundtrip.
12967
12968         * gtk/gtkwidget.c:
12969         (gtk_widget_hide): 
12970         (gtk_widget_show): don't queue resizes on toplevels, they know how
12971         to deal with matters.
12972
12973         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
12974         flag directly for not visible resize containers and spare us unecessary
12975         signal emissions.
12976
12977         * gtk/gtkwindow.c:
12978         (gtk_window_realize): if we need to enforce premature size allocation,
12979         queue a container resize so we are correctly resized later on.
12980         (gtk_window_init):
12981         (gtk_window_size_request):
12982         don't freak around with the ->need_resize flag,
12983         gtk_container_queue_resize() will care about that.
12984         (gtk_window_show):
12985         handle initial resizing issues here, we can handle matters better in
12986         this place, especially since we know that our GdkWindow is still
12987         unmapped.
12988         (gtk_window_move_resize):
12989         don't care about ->need_resize at all.
12990         handle size changes properly that occoured while we waited for a
12991         configure event.
12992
12993 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
12994
12995         * gtk/gtkwidget.c (gtk_widget_set_uposition):
12996         * gtk/gtkwindow.[hc] (gtk_window_reposition):
12997         Move the hint setting code from gtk_widget_set_uposition
12998         to here; set the hints so that we respect any previously
12999         set geometry hints.
13000
13001         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
13002         change the window hints here or move the window here,
13003         let that happen in gtk_window_move_resize().
13004
13005 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
13006
13007         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
13008         to already queued resizes (and therefore redraws) on a widget, check
13009         its anchestry as well.
13010
13011         * gtk/gtkcontainer.c:
13012         (gtk_container_queue_resize): clear resize widgets for resize
13013         containers before aborting prematurely. this is especially important
13014         for toplevels which may need imemdiate processing or their resize
13015         handler to be queued.
13016         (gtk_container_dequeue_resize_handler): added new internal function for
13017         gtkwindow.c.
13018
13019         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
13020         configure event, take possible changes in window position into account
13021         as well.
13022         if we request a new window size, queue up a resize handler that will
13023         last until the configure event response arrives.
13024         combined the ->need_resize case (initial show) with the general size
13025         (hints) changed case and added even more comments.
13026         if !auto_shrink, only revert to the old allocation if the new size
13027         is smaller than the current allocation.
13028
13029 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
13030
13031         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
13032                            gtk_window_set_geometry_hints
13033                            gtk_window_set_default_size):
13034         When hints are set, queue a resize so that the hints will
13035         be eventually reset on the toplevel.
13036
13037         * gtk/gtkwindow.c (gtk_window_show): Use
13038         gtk_window_compute_default_size(). Clear the need_resize flag
13039         on the initail map so that we don't unnecessarily trigger the
13040         resize code.
13041
13042         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
13043         into separate functions. Compare the hints we are setting
13044         with what we set last time so that we can accurately
13045         tell when we need to reset the hints.
13046
13047         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
13048         function to figure out the size from requisition
13049         and default_size.
13050
13051         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
13052         from fvwm to constrain a size to the geometry hints.
13053
13054         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
13055         to compare two sets of geometry hints.
13056
13057         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
13058         from gtk_window_set_hints(), just compute the hints,
13059         don't set them.
13060
13061         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
13062         code from gtk_window_move_resize() to separate function,
13063         rationalize a bit.
13064
13065 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
13066
13067         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
13068         structure into a new private structure.
13069
13070         * gtkrc.c: Split GtkRcStyle into public/private.
13071         In the private part, add a list of pointers to the
13072         RcStyle lists this RcStyle participates in.
13073
13074         * gtkrc.c: When a RcStyle is free, remove all
13075         lists referencing it from the 
13076         realized_style_ht hash, and free those lists.
13077         
13078         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
13079         gtk_rc_init(), since that adds the default styles
13080         to the list of parsed RC files again.
13081
13082         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
13083         
13084 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
13085
13086         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
13087         checks that ensure that a widget's allocation is at least 1 in width
13088         and height. (GNOME note: this doesn't affect old panel code anymore,
13089         because GtkSocket will request width and height of at least 1 since
13090         Fri Jul 23).
13091
13092         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
13093         allocated yet (happens if the user realizes the window prematurely),
13094         size request and allocate it.
13095         (gtk_window_size_allocate): guard against guint underflows.
13096
13097 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
13098
13099         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
13100         in gtk_built_sources, so gtk.defs gets built prior to all other
13101         sources.
13102
13103 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
13104
13105         * gtk/Makefile.am:
13106         invoke indent on gtkmarshal.*. 
13107         rewrote source generation rules, use COPYING as oldest source tag for
13108         a piggyback rule to generate all sources from (don't touch it ;).
13109         major cleanups, strip spaces on build rules for GNU Make.
13110
13111         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
13112         source and target files from commandline arguments. don't invoke indent.
13113
13114 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
13115
13116         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
13117         notebook after switch to avoid drawing problems.
13118         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
13119         
13120         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
13121         show them instead. 
13122         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
13123
13124 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
13125
13126         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
13127         notebook after switch to avoid drawing problems.
13128         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
13129         
13130         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
13131         show them instead. 
13132         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
13133
13134 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
13135
13136         * gtk/gtkwindow.c:
13137         we use window->need_resize from configure_event now, to indicate that
13138         the gtkwindow should keep its allocation (e.g. because the user resized
13139         the window through window manager handles). resize_count is now reliably
13140         used to figure whether we got the allocation we requested from the
13141         window manager.
13142         configure events get queued as resizes now, the real stuff (size
13143         computation and allocation) now only goes on in gtk_window_move_resize().
13144         GtkWindow's requisition now contains its *real* requisition (like all
13145         other widgets), *not* taking usize into account.
13146         geometry_info->last_{width|height} is now updated from set_hints() only
13147         so it always contains the last hints we set for the window manager.
13148         made some event handlers return TRUE instead of FALSE.
13149         the overall code should be much more straight forward now, and the
13150         significant code portions are accompanied by comments now.
13151         (gtk_window_set_hints):
13152         removed requisition argument and made it
13153         fetch the requisition through gtk_widget_get_child_requisition.
13154         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
13155         does that now.
13156         (gtk_window_show):
13157         ensure that the widget is realized before calling 
13158         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
13159         ensure that we got properly size requested and allocated before
13160         realization.
13161         (gtk_window_configure_event):
13162         ignore plain window moves, or reallocate the widget tree through the
13163         resize queue otherwise.
13164         (gtk_window_move_resize):
13165         mostly rewrote this function to figure window manager hints more
13166         reliably, coalesce window moves and resizes to reduce configure events
13167         and do actuall size allocations.
13168
13169 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
13170
13171         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
13172         that have a resize pending, because a redraw is already queued for them.
13173
13174         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
13175         hack to clear resize_widgets.
13176
13177         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
13178         for resize containers prior to size allocation. (this is also a bit
13179         ugly, but avoids side effects for stopped emissions and is thus more
13180         reliable).
13181         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
13182
13183         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
13184         function from gtk_tooltips_expose, as we connect to ::expose_event
13185         *and* ::draw now.
13186
13187 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
13188
13189         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
13190         checks.
13191         (gtk_target_list_unref): Likewise.
13192
13193         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
13194
13195 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
13196
13197         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
13198         guard against division by zero. (Fixes bug #1339)
13199
13200 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
13201
13202         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
13203         Prevent the trivial leak of information of allowing
13204         word motion when the entry is not visible.
13205
13206 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
13207
13208         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
13209         modality to error dialog as well as confirmation dialogs.
13210         (Bug #1803, reported by Rosanna Wing Sze Yuen)
13211
13212 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
13213
13214         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
13215         tree->view_lines.
13216         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
13217
13218         * gtk/Makefile.am (install-data-local): Solaris apparently
13219         has various troubles with ln -f; use rm first instead.
13220         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
13221
13222 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
13223
13224         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
13225         use `cp' followed by `rm' (the `rm' was already there).
13226
13227 July 30, 1999 Elliot Lee <sopwith@redhat.com>
13228         
13229         * configure.in: Fix autoconf warnings about cross compilation by
13230         trying to provide sane defaults for AC_TRY_RUN.
13231         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
13232         put them into $(srcdir) when generated. Also add a dependency of
13233         gtksignal.h on gtkmarshal.h for -j builds. 
13234         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
13235
13236 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
13237
13238         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
13239         GDK_THREADS_{LEAVE,ENTER} pair.
13240         (From Paul Fisher <pnfisher@redhat.com>)
13241
13242 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
13243
13244         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
13245         width and height are always >0 (owen).
13246
13247 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
13248
13249         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
13250         change that assured that a widget's allocated with and height are
13251         always >1, since this breaks *buggy* panel code. unfortunately this
13252         back-breaks the gimp's color selector.
13253
13254         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
13255         allocation is always >0 in width and height, before sending the
13256         configure event; this is a *gross* hack to get the gimp back to work.
13257         
13258         * marked both cases with TODO-1.3
13259
13260 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
13261
13262         * gtk/gtktext.c: Don't display wrap indicators when
13263         text is not editable and word wrap is on.
13264
13265 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
13266
13267         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
13268         option menus here as they are not derived from menu shell, assure that
13269         the option menu has a menu we can add items to.
13270
13271 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
13272
13273         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
13274         width/height to (gint) before calculations and check against < 0 to
13275         avoid guint wraparounds.
13276
13277 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
13278
13279         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
13280         width and height is never zero. sanity check both dimensions against
13281         32767 and issue a warning if the allocation is greater than that.
13282
13283 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
13284
13285         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
13286         to g_main_pending() as well.
13287
13288 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
13289
13290         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
13291         call to g_main_iteration() - since that will regrab
13292         GTK+ lock to process events.
13293
13294 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
13295
13296         * gtk/gtkwindow.c
13297         - Regularize with the rest of GTK+ by making widget->requisition
13298           not reflect the set_usize()
13299         - Always recompute geometry hints, then check if they
13300           changed before sending them to the X server. The
13301           previous checks for changes would fail in a number
13302           of circumstances. 
13303
13304 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
13305
13306         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
13307
13308 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
13309
13310         * gtk/gtkdnd.c:
13311         - Code cleanups
13312         - Instantaneously update on modifier key presses
13313         - Allow cancellation of the drag with Escape.
13314
13315 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
13316
13317         * gtk/testgtk.c (create_handle_box): Set the policy
13318         to auto_shrink - otherwise the appearance is rather
13319         strange when flipping between horizontal and vertical.
13320
13321 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
13322
13323         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
13324         (gtk_window_set_default_size): don't change a value if it's < 0.
13325         queue a resize.
13326
13327 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
13328
13329         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
13330
13331 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
13332
13333         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
13334         add an extra "/" when concating "/" + filename.
13335         (From Matt Grossman <mattg@oz.net>)
13336
13337 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
13338
13339         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
13340         for fg_gc if we set it for drawing pixmap.
13341
13342 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
13343
13344         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
13345         
13346         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
13347         already set, call old engine's destroy function and
13348         unref the old engine.
13349
13350 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
13351
13352         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
13353
13354 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
13355
13356         * gtk/gtkaccelgroup.h: mark certain functions as internal.
13357
13358 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
13359
13360         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
13361         expand behaviour changed.
13362
13363         * gtk/gtklabel.c (gtk_label_set_pattern):
13364         (gtk_label_set_justify):
13365         (gtk_label_set_line_wrap):
13366         don't bother invoking queue_clear, the reallocation does
13367         that for us, always free_words so the upcoming resize will
13368         relayout the label's contents.
13369
13370 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
13371
13372         * applied argument implementation patches from Elena Devdariani
13373         <elena@cogent.ca>.
13374
13375         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
13376         ::space_style, ::relief
13377         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
13378         * gtk/gtkpreview.c: ::expand
13379         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
13380         * gtk/gtknotebook.c: ::homogeneous
13381         * gtk/gtklabel.c: ::wrap
13382         * gtk/gtklist.c: ::selection_mode
13383         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
13384         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
13385         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
13386         * gtk/gtkclist.c: ::sort_type
13387         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
13388         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
13389
13390 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
13391
13392         * gtk/gtkstyle.c: Removed ill-thought-out part of last
13393         comment.
13394
13395 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
13396
13397         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
13398         counting right when we have to attach a new style
13399         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
13400
13401         * gtk/gtkstyle.c: Documented the refcounting
13402         peculularities of gtk_style_attach.
13403
13404 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13405
13406         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
13407         window types.
13408
13409         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
13410         of GTK_TOPLEVEL for creating the window.
13411
13412 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
13413
13414         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
13415         the last argument (reported by Per Winkvist).
13416         
13417 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
13418
13419         Fixes for invisible XOR lines (Frank Loemker
13420         <floemker@TechFak.Uni-Bielefeld.DE>)
13421         
13422         * gtk/gtkclist.c (gtk_clist_realize): Always use
13423         a non-zero pixel for GDK_XOR.
13424
13425         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
13426         Use GDK_INVERT instead of GDK_XOR.
13427
13428 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
13429
13430         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
13431         signals if h/voffsets differ from adjustment values.
13432         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
13433
13434 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
13435
13436         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
13437         ::selection-done emissions up to the topmost menu shell.
13438
13439 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
13440
13441         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
13442         the user data on the window before destroying it.
13443
13444         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
13445         unrealize handler to take care of destroying 
13446         notebook->panel properly. 
13447         (Bug #1198 - Morten Welinder <terra@diku.dk>)
13448
13449         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
13450         of g_new and g_realloc to stop memory leak. (Actually,
13451         we could just use g_realloc(), but I'm not 100% sure
13452         that is portable).
13453         (Bug #1196 - Morten Welinder <terra@diku.dk>)
13454
13455 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
13456
13457         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
13458
13459         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
13460         for fontsets.
13461
13462         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
13463         with bin/button confusion.
13464
13465 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
13466
13467         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
13468         and show how preselection of radio items is done.
13469
13470 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
13471
13472         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
13473         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
13474         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
13475         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
13476         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
13477         * gtk/gtktable.c (gtk_table_attach): 
13478         * gtk/gtklist.c (gtk_list_insert_items): 
13479         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
13480         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
13481         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
13482         * gtk/gtkbin.c (gtk_bin_add): 
13483         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
13484         * gtk/gtkfixed.c (gtk_fixed_put): 
13485         * gtk/gtklayout.c (gtk_layout_put):
13486         general fixups to container_add logic. always realize child if
13487         child->parent is realized, only map the child and queue a resize
13488         if child and child->parent are both visible.
13489
13490 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
13491
13492         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
13493         instead of gtk_container_foreach to walk and unrealize children, so
13494         composite children get also unrealized.
13495         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
13496         (gtk_widget_map): assert that the widget is visible (basic constrain).
13497         (gtk_widget_real_map): assert that the widget is realized (basic
13498         constrain).
13499
13500 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
13501
13502         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
13503
13504 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
13505
13506         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
13507         file for iso-8859-2 locales.
13508
13509         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
13510
13511 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
13512
13513         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
13514          (Pointed out by andy@rz.uni-karlsruhe.de and others).
13515          Remove some suspicious and useless lines. 
13516
13517 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
13518
13519         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
13520         width,height = 0, 0 to mean - here to edge of window,
13521         instead of -1, -1, since the former is all we support.
13522
13523 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
13524
13525         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
13526         when removing from quit_functions list.
13527
13528 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
13529
13530         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
13531
13532 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
13533
13534         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
13535          When redrawing characters on non-visible entry, use appropriate
13536          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
13537
13538 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
13539
13540         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
13541         from drag coordinates.
13542         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
13543         use drag_dest_cell.
13544
13545         * gtk/gtktree (drag_dest_cell)
13546         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
13547         (Bug #1129)
13548
13549 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
13550
13551         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
13552         translate_* fields.
13553         (gtk_item_factory_finalize): invoke translate_notify independant from
13554         translate_data.
13555         (gtk_item_factory_set_translate_func): likewise.
13556         (gtk_item_factory_destroy): only remove ifactory pointer from those
13557         widgets that belong to us (stupid me).
13558
13559 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
13560
13561         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
13562         rc_style list when lookup succeeeds.
13563
13564 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
13565
13566         * gtk/gtkctree.c (resync_selection): 
13567         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
13568         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
13569         bug.
13570
13571 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
13572
13573         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
13574         Add some missing GDK_THREADS_ENTER()/LEAVE around
13575         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
13576
13577 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
13578
13579         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
13580         rather than emit_by_name.
13581
13582         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
13583         on the widget across multiple signal emissions.
13584         (gtk_editable_delete_text): same here.
13585         (gtk_editable_class_init): set widget_class->activate_signal after
13586         editable_signals[ACTIVATE] has been created.
13587
13588 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
13589
13590         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
13591         position here prematurely -- we might not have the
13592         right ->min_position and ->max_position yet.
13593
13594 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
13595
13596         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
13597         Add error traps so if the other end of the connection
13598         dies, we survive.
13599
13600         * gtk/gtkselection.c (gtk_selection_notify): Clean
13601         up properly when selection property retrieval fails.
13602         
13603         * gtk/gtkselection.c (gtk_selection_request): Correctly
13604         reject SelectionRequest notifies where the handler
13605         returns no data.
13606
13607 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
13608
13609         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
13610         when we've previously highlighted.
13611
13612         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
13613         emit two "drag_leave" signals for Motif drops.
13614
13615         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
13616         back the correct status messages when dropping from
13617         Motif onto a proxy window that is rejecting the
13618         drop.
13619
13620 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
13621
13622         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
13623         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
13624         to compare two argument values. added gtk_arg_to_valueloc() to set a
13625         variable from an arg through its location (pointer).
13626
13627         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
13628         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
13629         as gfloat*, uchars are collected as guchar*, ints are collected as
13630         gint*, etc...
13631
13632 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
13633
13634         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
13635         Include <string.h> instead of <strings.h>.
13636
13637         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
13638         (actually, a lot more duplicate includes occur if
13639          you trace through the sequence of #include's)
13640         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
13641         
13642 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
13643
13644         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
13645         gtk-a-higuti-990322-[0-3]
13646
13647         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
13648         that was causing -DX_LOCALE not to work.
13649
13650         * gtk/gtkrc.c (gtk_rc_init):
13651         X_LOCALE will never have LC_MESSAGES defined
13652
13653 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
13654
13655         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
13656         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
13657
13658         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
13659         left/right as well (gtk-michael-980726-0.patch.gz).
13660
13661         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
13662         for pointer values, use gchar instead of char. fixed uline allocation
13663         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
13664         chunks instead of G_ALLOC_ONLY.
13665         (gtk_label_size_request): always alter requisition as passed and leave
13666         widget->requisition alone.
13667         (gtk_label_set_text): allow NULL strings.
13668         (gtk_label_new): likewise.
13669
13670 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
13671
13672         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
13673
13674 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
13675
13676         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
13677         *and* mapped (i.e. drawable).
13678         (gtk_bin_expose): only send exposes to drawable children.
13679
13680         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
13681         (gtk_box_expose): only send exposes to drawable children.
13682
13683         * gtk/gtkhscale.c (gtk_hscale_draw): 
13684         * gtk/gtkvscale.c (gtk_vscale_draw):
13685         hm, this is an ugly one. we first compute the size of our trough area
13686         here (window relative) and then check intersection with the draw_area
13687         which is parent relative because we're a NO_WINDOW widget, so we need
13688         to offset the trough area by allocation.x and allocation.y before the
13689         check. (this must not be done for the background area though, since
13690         that's already computed parent relative).
13691
13692 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
13693
13694         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
13695         unrealize title buttons.
13696
13697 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
13698
13699         * gtk/gtkclist.c (gtk_clist_column_title_passive)
13700         (gtk_clist_column_title_active): 
13701         only connect/disconnect to GtkWidgetClass::event to block mouse events.
13702
13703         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
13704         zero initialize event, removed superfluous gdk_window_get_pointer call
13705
13706         * gtk/gtklist.c (gtk_list_vertical_timeout)
13707         (gtk_list_horizontal_timeout): removed superfluous
13708         gdk_window_get_pointer call
13709
13710 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
13711
13712         * plugging problems reported by "Bruce Mitchener, Jr."
13713         <bruce@puremagic.com> due to a purify session.
13714
13715         * gtk/gtkstyle.c:
13716         (gtk_style_ref): 
13717         (gtk_style_unref): assert ref_count to be > 0.
13718
13719         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
13720         the requisition.
13721         (gtk_clist_set_shift): likewise.
13722
13723         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
13724         adjustments.
13725
13726         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
13727         event before sending it and set send_event to TRUE (which needs to
13728         be done for *all* synthesized events).
13729         (gtk_list_vertical_timeout): likewise.
13730
13731         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
13732         leaks.
13733
13734         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
13735         to TRUE when synthesizing events.
13736
13737 [ *** end of merges from 1.2 *** ]      
13738         
13739 1999-11-21  Tor Lillqvist  <tml@iki.fi>
13740
13741         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
13742         (or copied from gdkconfig.h.win32 on Win32, sigh).
13743
13744         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
13745
13746         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
13747
13748         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
13749
13750         * gdk/gdkconfig.h.win32: New file.
13751
13752         * gdk/win32/makefile.cygwin: Build just a static archive here.
13753
13754         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
13755         for the DLL from the static archive built above.
13756
13757         * gdk/gdk.def: Moved here from the win32 subdirectory.
13758
13759         * gdk/win32/*: Adapt for the changed private struct organisation.
13760
13761         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
13762
13763 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
13764
13765         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
13766         for wheel mice (buttons 4 and 5).
13767
13768 1999-11-18  Tor Lillqvist  <tml@iki.fi>
13769
13770         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
13771         drawables use just the pixel field in the foreground and
13772         background GdkColor of the GdkGC.
13773
13774         gdk_gc_set_{fore,back}ground() are called in the GIMP with
13775         GdkColors containing uninitialized (red,green,blue) fields, and
13776         just the pixel field filled in, and furthermore in the
13777         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
13778         It thus turns out that we really don't need to have the full
13779         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
13780         it later to have just the pixel values.
13781
13782 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
13783
13784         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
13785
13786 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
13787
13788         * docs/gtkfaq.sgml: threads example from Erik Mouw.
13789         New question on GtkLabel background colors.
13790
13791         * docs/gtk_tut.sgml:
13792           - Correct the example code callback
13793             function definitions.
13794           - Update the gtkdial example code, from Frans van Schaik.
13795           - Update setselection.c to current API.
13796
13797         * examples/Makefile examples/*/*.c: Update to code
13798         listed in tutorial.
13799
13800 1999-11-10  Tor Lillqvist  <tml@iki.fi>
13801
13802         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
13803         subrange table (from the "Developing International Software for
13804         WIndows 95 and Windows NT" book) was missing the Hangul syllable
13805         block... Get the loaded font's charset correctly.
13806
13807         (Note that this, and the other *-win32.c files, still really are
13808         the old ones, the win32 subdirectory is not ready for compilation
13809         yet after the reorg.)
13810
13811 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
13812
13813         * gtk/gtkclist.c: Fix off-by-one bug in parameter
13814         check.
13815
13816 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
13817
13818         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
13819         on results of XQueryDeviceState().
13820
13821 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
13822
13823         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
13824         we need to accesss only ->children. We need an accessor
13825         for the children.
13826
13827         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
13828         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
13829         to get rid of gdkx.h include.
13830         
13831         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
13832         and random references to 'None'.
13833
13834         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
13835         Get rid of unused #include <gdk/gdkx.h>
13836
13837         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
13838         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
13839         gdkconfig.h.
13840
13841 1999-11-08  Tor Lillqvist  <tml@iki.fi>
13842
13843         * gdk/win32/gdkdraw.c
13844         * gdk/win32/gdkfont.c
13845         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
13846         following yesterday's changes. (Unrelated to Owen's reorg.)
13847
13848 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
13849
13850         * gdk/x11/gdkinput-gxi.c: Add missing include,
13851           fix GdkWindowPrivate => GdkDrawablePrivate.
13852
13853         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
13854
13855         * gdk/x11/Makefile.am (xinput_sources): Add missing
13856         backslash to fix building with --with-xinput=none
13857
13858 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
13859
13860         Move all X specific code into the x11/ directory.
13861         Aside from shuffling things around, did the following:
13862
13863        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
13864          gdk_arg_context_* - a simple argument parsing system
13865          in the style of popt.
13866
13867        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
13868          gdk/x11/gdkprivate-x11.h:
13869          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
13870          add ->klass and ->klass_data fields. The klass_data
13871          field points to an auxilliary structure that is
13872          windowing system dependent.
13873
13874        * gdk/gdkfont.c: Make most of the measurement functions
13875          simply wrappers around gdk_text_extents().
13876
13877        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
13878          _gdk_font_strlen() function that hides the weird
13879          behavior in gtk+-1.[02] where a string is interpreted
13880          differently for 8-bit and 16-bit fonts.
13881
13882        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
13883          to store common code for synthesizing double/triple
13884          press events.
13885         
13886        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
13887          Make all the function that modify an existing GC
13888          simply wrappers around gdk_gc_set_values().
13889          
13890        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
13891          for throwing out later.
13892
13893        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
13894          GdkImagePrivate and GdkColormapPrivate to have a
13895          windowing system dependent part (GdkFontPrivateX etc.)
13896          that "derives" from the system-independent part.
13897
13898        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
13899          Got rid of the included-source-files for XInput in
13900          favor of automake conditionals. (Which didn't exist
13901          when XInput support was originally added.)
13902
13903        * gdk/gdkrgb.c: Remove the visual id from the debugging
13904          statements since that is X11 specific; print out
13905          type/depth info instead.
13906          
13907
13908 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
13909
13910         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
13911         loading duplicates of hashed fonts.
13912
13913         * gdk/gdk.c (gdk_keysym_convert_case): rename
13914         gdk_XConvertCase to gdk_keysym_convert_case, allow
13915         results to be NULL in the GTK+ style.
13916
13917         * gdk/gdkcompat.h: Started compatibility header
13918         for renames.
13919
13920 1999-11-07  Tor Lillqvist  <tml@iki.fi>
13921
13922         * gdk/win32/gdkprivate.h: New font private structures, related to
13923         fontsets.
13924
13925         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
13926         gdk_font_list_free(). On X11, will just be wrappers to
13927         XListFonts() and XFreeFontNames(). On Win32, the code previously
13928         in gtkfontsel.c is now here.
13929
13930         New function gdk_font_xlfd_create(). On X11 will get the FONT
13931         property of the font (for GDK_FONT_FONTs), or call
13932         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
13933         builds a XLFD style name from the font information in the LOGFONT
13934         struct(s).
13935
13936         New function gdk_font_xlfd_free(), which correspondingly frees the
13937         string returned by gdk_font_xlfd_create().
13938
13939         Implement fontsets on Win32. Add a function that iterates over a
13940         wide char string and calls a callback function for each substring
13941         of wide chars from the same Unicode subrange (and thus probably
13942         available in the same real font).
13943
13944         Improve the XLFD emulation a bit.
13945
13946         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
13947
13948         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
13949         Beta3, WM_IME_CHAR messages don't seem to contain the composed
13950         multi-byte char as with the Active IMM on Win9x. Oh well, handle
13951         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
13952         ImmGetCompositionStringW() to get the composed Unicode chars.
13953
13954         * gdk/win32/gdkgc.c
13955         * gdk/win32/gdkdraw.c: Changes needed because of the font private
13956         struct changes.
13957
13958         * gdk/win32/gdk.def: Add the new functions.
13959
13960 1999-11-04  Tor Lillqvist  <tml@iki.fi>
13961
13962         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
13963         get the Platform SDK to get <dimm.h>.
13964
13965         * gdk/win32/gdkevents.c: More event handling fixes and
13966         simplification. Never generate motion events with is_hint true. We
13967         used to do that on bogus grounds earlier. Windows sends
13968         WM_MOUSEMOVE messages on button events even if the mouse hasn't
13969         moved, ignore these.
13970
13971         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
13972
13973         * gdk/win32/gdkglobals.c
13974         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
13975         the TrackMouseEvent function, and use it.
13976
13977         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
13978         char before calling WideCharToMultiByte in order to get a string
13979         for the window title.
13980
13981         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
13982
13983         * gdk/win32/gdk.def: Remove obsolete functions.
13984
13985         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
13986         /nodefaultlib and /defaultlib switches.
13987
13988         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
13989
13990 1999-10-31  Tor Lillqvist  <tml@iki.fi>
13991
13992         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
13993         EuroSign).
13994
13995         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
13996         same type as GdkWChar, especially on Win32.
13997
13998         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
13999
14000         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
14001         before passing to Windows GDI for drawing etc. Convert to the
14002         system default codepage before passing to Windows as window
14003         titles.
14004
14005         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
14006         support changing input locale on the fly.
14007
14008         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
14009         on-the-fly changes. Convert incoming characters from the current
14010         codepage to Unicode (and then to a UTF-8 multi-byte string) based
14011         on the current input language. Use keysym<->Unicode mapping tables
14012         and functions borrowed from xterm sources.
14013
14014         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
14015         editions of Win9x, use the ActiveX-based Active IMM (Input Method
14016         Manager) if available. IMEs and the Active IMM are available under
14017         the disguise of Chinese, Korean and Japanese support for IE and
14018         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
14019         support is present in all editions (as long as you install it).
14020
14021         Call DispatchMessage from gdk_events_queue() (and thus
14022         gdk_WindowProc()), instead of duplicating the code in
14023         gdk_WindowProc().
14024
14025         Reworked the grab handling and propagation code, factored out
14026         duplicated code snippets into separate functions. Other cleanups,
14027         too.
14028
14029         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
14030         the <dimm.h> header describing the Active IMM.
14031
14032         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
14033         just do the same as for "single" fonts.
14034
14035         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
14036         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
14037         the new keysyms from gdkkeysyms.h.
14038
14039         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
14040         fontset, so that gtkentry uses wide characters.
14041
14042         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
14043         GTk+'s system directory "gtk+", not "gtk".
14044
14045 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
14046
14047         * docs/gtkfaq.sgml: FAQ update
14048
14049 1999-10-21  Tor Lillqvist  <tml@iki.fi>
14050
14051         * gdk/win32/gdkprivate.h: Add more font private data.
14052
14053         * gdk/win32/gdkfont.c
14054         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
14055         fonts and strings. Now works much better. You still have to
14056         have a correct font selected, though. No fontset emulation yet.
14057
14058 1999-10-19  Tor Lillqvist  <tml@iki.fi>
14059
14060         * gtk/maketypes.awk: Use G_OS_WIN32.
14061
14062         * gtk/gtk.def: Add some missing entry points. Also some non-public
14063         ones, but PyGTK porter claims to need them.
14064
14065         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
14066         built-in type generation.
14067
14068 1999-10-14  Tor Lillqvist  <tml@iki.fi>
14069
14070         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
14071         GDK_FONT_FONT fonts (which is all we have for now, we don't
14072         emulate fontsets). The X11 version uses plain XDrawString in that
14073         case, too. The string passed to gdk_draw_text_wc seems to be in
14074         fact (at least, when used by gtkentry and gtktext) either in a
14075         single-byte charset, or a DBCS. Not Unicode.
14076
14077         This fixes the problem in gtkfontsel, where even if you had
14078         selected a font with a non-Latin1 charset (windows-greek, for
14079         instance), the preview still used Latin-1 glyphs.
14080
14081         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
14082         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
14083         (gdk_font_load): Recognize the demibold etc weights, even if we
14084         don't have the corresponding constants in the headers.
14085         (gdk_font_hash_insert): Use same hash mechanism as in the X11
14086         version. Should save font resources a bit, when we don't have
14087         multiple HFONTs for the same font.
14088
14089         * gdk/win32/gdkprivate.h: Add the names field as in the X11
14090         version.
14091
14092 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
14093
14094         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
14095         X values
14096
14097 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
14098
14099         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
14100         layout support (as mentioned on
14101         http://www.jcinteractive.com/gnome-ui/software/widgets/)
14102
14103 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
14104
14105         * gtk/fnmatch.c
14106         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
14107
14108 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
14109
14110         * configure.in (ALL_LINGUAS): Added Galician (gl)
14111
14112 1999-10-05  Tor Lillqvist  <tml@iki.fi>
14113
14114         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
14115
14116         * gdk/win32/gdkcompat.c: New file, actually provide an
14117         implementation for the deprecated functions. (Just temporarily.)
14118
14119         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
14120
14121         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
14122
14123         * gdk/win32/gdk.def gtk/gtk.def: Updates.
14124
14125 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
14126
14127         * configure.in: Added "uk" to ALL_LINGUAS.
14128         
14129 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
14130
14131         * configure.in: correct checking for BeOS check
14132
14133         * gdk/gdktypes.h
14134         * gtk/fnmatch.c
14135         * gtk/gtkfilesel.c
14136         * gtk/gtkitemfactory.c
14137         * gtk/gtkmain.[ch]
14138         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
14139
14140 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14141
14142         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
14143         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
14144         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
14145         by Bulgarian). 
14146
14147 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
14148
14149         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
14150         Fix a reference to window_private->destroyed.   
14151
14152         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
14153         (ugly) setting of an internal GdkWindow member to use
14154         a _slightly_ cleaner macro.
14155
14156         * gdk/gdkprivate.h: Split GdkWindowPrivate into
14157         GdkDrawablePrivate and GdkWindowPrivate.
14158         Add extra macros for accessing GDK_DRAWABLE_ components.
14159
14160         * *.[ch]: Massive adjustments for the above, use the
14161         new macros in a lot of places.
14162
14163 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
14164
14165         * gdk/gdktypes.h: Make GdkDrawable the base type,
14166         not GdkWindow.
14167
14168 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
14169
14170         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
14171
14172 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
14173
14174         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
14175
14176 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
14177
14178         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
14179         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
14180
14181         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
14182
14183         * docs/gtk-config.1: Now autogenerated.
14184         * docs/Changes-1.4.txt: started
14185         
14186 1999-10-03  Tor Lillqvist  <tml@iki.fi>
14187
14188         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
14189         to #ifdef also here.
14190
14191         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
14192         Owen did to the X11 backend.
14193
14194         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
14195         ScrollWindowEx when blitting inside a window, it can't be correct
14196         in the general case.
14197
14198         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
14199         WM_GETMINMAXINFO is easier.
14200
14201         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
14202         depth equal to the bitspixel value, not the visual's depth.
14203
14204         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
14205         to 24 even if the bitspixel value is 32.
14206
14207         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
14208         need to check for depth==32 when bpp==32, depth will always be 24.
14209
14210 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
14211
14212         * docs/Changes-1.4.txt: Started
14213         
14214         * gtk/Makefile.am (gdk_headers): Include all the new headers.
14215
14216         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
14217         
14218         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
14219         into C file.
14220         
14221         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
14222         header to gdkinputprivate.h.
14223
14224         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
14225         unused since before 1.2.
14226
14227 1999-09-30  Tor Lillqvist  <tml@iki.fi>
14228
14229         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
14230         expand possible hex escapes in the font family (put there by
14231         logfont_to_xlfd if the font name isn't a legal XLFD font family,
14232         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
14233         On Win32, add hex escapes here, too.
14234
14235 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
14236
14237         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
14238         to #ifdef GDK_WINDOWING_X11.
14239
14240 [ Merges from gtk-1-2 ]
14241
14242 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
14243
14244         * configure.in: fixed "GNU Make" check to pass with new make version
14245         3.77.95.
14246
14247 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
14248
14249         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
14250         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
14251         AM_PATH_GTK() macros don't get confused by the -pre1.
14252
14253 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14254
14255         * configure.in (REBUILD): Change check for perl5
14256           to check explicitely for v >= 5.002. (5.001
14257           does not work with our scripts.)
14258
14259 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
14260
14261         * configure.in: evaluate $PERL for the perl version check. added
14262         --disable-rebuilds to give the user an option to completely disable
14263         any source autogeneration rules.
14264
14265 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
14266
14267         * configure.in: evaluate $ac_make when checking for GNU Make.
14268
14269 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14270
14271         * docs/Makefile.am: added generation.txt.
14272
14273         * Makefile.am: require automake 1.4, build README from README.in and
14274         INSTALL from INSTALL.in in dist-hook.
14275         
14276         * README.in:
14277         * INSTALL.in: new files to autogenerate README and INSTALL from.
14278
14279         * configure.in: figure whether we have GNU Make
14280
14281         * docs/generation.txt: minor additions/corrections.
14282
14283 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14284
14285         * docs/gtkfaq.sgml: FAQ Update
14286
14287 July 30, 1999 Elliot Lee <sopwith@redhat.com>
14288         
14289         * configure.in: Fix autoconf warnings about cross compilation by
14290         trying to provide sane defaults for AC_TRY_RUN.
14291
14292 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
14293
14294         * ltconfig
14295         * ltmain.sh: upgrade to libtool 1.3.3
14296
14297 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
14298
14299         * INSTALL: Indicate that the --with-glib= configure
14300         time flag is unsupported.
14301
14302 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
14303
14304         * docs/generation.txt: Added a file that gives
14305         documenation about the autogeneration process for
14306         various autogenerated files.
14307         
14308 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14309
14310         * configure.in (LIBS): Look for libgmodule in the
14311         right location.
14312
14313 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
14314
14315         * docs/gtk_tut.sgml: Removed references to
14316         code examples in my directory on gtk.org as
14317         they should all be in the tutorial now.
14318
14319         * docs/gtk_tut.sgml: Added sources for dial-test
14320         and scribble-xinput programs that were previously
14321         missing.
14322
14323 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
14324
14325         * TODO: Added entry about menu keyboard navigation, removed
14326         some finished items.
14327
14328 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
14329
14330         * acinclude.m4: Standardize on func_dgettext
14331         not func_gettext, so that the checks for dgettext
14332         actually are paid attention to.
14333
14334 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
14335
14336         * configure.in (LIBS): Add $INTLLIBS into $LIBS
14337         directly, rather than repeating the checks for
14338         gettext.
14339
14340         * INSTALL: Added information about gettext and
14341         NLS support.
14342
14343         * acinclude.m4 (LIBM): Check for dgettext, not
14344         just gettext. This should hopefully fix things wrt
14345         systems with old versions of GNU gettext installed.
14346
14347 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
14348
14349         * configure.in (LIBS): Look for libgmodule in the
14350         right location.
14351
14352 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14353
14354         * autogen.sh: add --enable-maintainer-mode
14355
14356         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
14357
14358 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
14359
14360         * docs/gtk-config.1.in:
14361           docs/Makefile.am:
14362           configure.in: gtk-config is now generated.
14363
14364         * docs/gtk-config.1: Removed, now generated.
14365
14366 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
14367
14368         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
14369         handle CreateNotify itself, still put out a debuging message for
14370         --gdk-debug=events. made the ReparentNotify debugging message more
14371         verbose.
14372         wrap xcoords translation for ConfigureEvents into an error trap,
14373         a destroy event may already be pending, and in that case, the
14374         actuall coordinate values are not at all critical.
14375
14376 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
14377
14378         * gdk/gdkcc.c: Stop leaking the color_hash all over
14379         the place. Simplify and improve the logic.
14380
14381 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
14382
14383         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
14384         for prototypes and function implementations consistent (reported
14385         by Tomas Ogren).
14386
14387 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
14388
14389         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
14390         send_event set in debugging output.
14391         (gdk_compress_exposures): default initialize the event so we don't
14392         operate on bogus values (namely send_event).
14393
14394 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
14395
14396         * gdk/gdkwindow.c: When we receive an unexpected
14397         destroy notify on one of our windows, don't just
14398         warn about it, also mark our windows as destroyed.
14399
14400 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
14401
14402         * gdk/gdkfont.c (gdk_font_hash_insert): Add
14403           name => font and name => fontset hashes. The 
14404           name => fontset hash is a _big_ win since we
14405           weren't previously caching fontsets at all and loading
14406           fontsets is expensive. The name => font hash
14407           is less of a win, but it does save us from doing
14408           repeated XQueryFont calls on the same font.
14409
14410         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
14411           list so we can remove font/fontset from hash.
14412
14413 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
14414
14415         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
14416           and slightly confusing test. [ XInternAtom (,,TRUE)
14417           will never return None ].
14418
14419 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
14420
14421         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
14422           gdk/gdkwindow.c (gdk_window_set_hints):
14423
14424         Don't omit setting the properties if flags == 0 -
14425         there may be an existing set of properties there
14426         already. (Very old bug. Would it be better to
14427         delete the property instead?)
14428
14429         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
14430           spelling error in comment.
14431
14432 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
14433
14434         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
14435           to avoid stomping over gdk_error_warnings.
14436
14437         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
14438           as (bits_per_pixel + 7) / 8. This gives the same
14439           result as before for multiples of 8, but actually
14440           a "reasonable" value for 1bit or 4bit displays.
14441
14442 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
14443
14444         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
14445         GNU Make.
14446
14447 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
14448
14449         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
14450         discarding configure events.
14451
14452 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
14453
14454         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
14455         refcount is greater than zero.
14456
14457         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
14458
14459         * gdk/gdkfont.c (gdk_font_unref): Likewise.
14460
14461         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
14462
14463         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
14464
14465 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
14466
14467         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
14468         that format 32 => sizeof(item) == 4. It really is
14469         sizeof(long).
14470
14471 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
14472
14473         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
14474         core dump at all on X IO errors, only core dump
14475         if --enable-debug for X errors.
14476
14477 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
14478
14479         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
14480         unknown window:" message. disabled ConfigureNotify discarding code,
14481         because it led to events being processed out of order.
14482
14483 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
14484
14485         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
14486
14487         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
14488         we export this function, supress error warnings and don't reset the
14489         error code in the first half of this function.
14490
14491         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
14492         code (instead of just -1) so gdk_error_trap_pop() reveals something
14493         actually informative about the error that happened.
14494
14495         * gdk/*.c:
14496         don't rely on gdk_error_code being -1 if an error occoured, but just
14497         gdk_error_code != 0.
14498
14499 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
14500
14501         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
14502         pointer *before* invoking the filter function, so we at least don't
14503         crash if a filter is removed that is currently executed. window filters
14504         *really* need to be made truely reentrant at some point.
14505
14506 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
14507
14508         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
14509         PropertyNotify debug messages.
14510
14511 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
14512         
14513         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
14514         
14515         * gdk/gdkim.c: Fix cut-and-paste errors for 
14516         x/y and PreeditAttributes/StatusAttributes.
14517
14518 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14519
14520         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
14521         G_MAXINT to 2^16 to alleviate overflow problems in
14522         various window managers.
14523
14524 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
14525
14526         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
14527         for fontsets.
14528
14529 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
14530
14531         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
14532         Initialize size_hints.x and size_hints.y because kwm
14533         brokenly pays attention to them.
14534         (Bug #1181 -  Lars Heete <hel@admin.de>)
14535
14536 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
14537
14538         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
14539         return value of gdk_list_visuals(). 
14540         (Bug #1193 - Morten Welinder <terra@diku.dk>)
14541
14542 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
14543
14544         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
14545         XSetIMValues to (void *) when comparing to NULL, to workaround
14546         the problem of some compilers barfing since older X headers don't
14547         have the prototype for it.
14548
14549 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
14550
14551         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
14552         for pseudocolor where colormap->colors was double
14553         allocated.
14554
14555         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
14556         color value in the hash table with the pixel filled
14557         in so when we do later hash table lookups, the color
14558         value is correct.
14559         
14560 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
14561
14562         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
14563         making the call
14564
14565 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
14566
14567         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
14568         pointed out by Morten Welinder <terra@diku.dk>.
14569
14570 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14571
14572         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14573           default filter from the list
14574
14575 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
14576
14577         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
14578           default filter from the list
14579
14580 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
14581
14582         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
14583
14584         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
14585         g_strdup_printf instead of calcing the length separately
14586
14587 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
14588
14589         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
14590         that we don't do in many other places. (Fixing duplicate 
14591         #include of config.h)
14592
14593         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
14594         Otherwise, #ifndef XINPUT_NONE check in the latter
14595         doesn't work. (Bug #546)
14596
14597 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
14598
14599         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
14600         "None" case insensitive.
14601
14602 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
14603
14604         * gdk/gdkselection.c: 
14605         Add error traps so if the other end of the connection
14606         dies, we survive.
14607
14608 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
14609
14610         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
14611         dest_xid field into two fields - one for the window
14612         to send in messages, one to indicate the last looked
14613         up window for caching purposes. This is needed, so
14614         that Leave messages get the correct window.
14615
14616 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
14617
14618         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
14619         Fix warning created by people mucking around
14620         with the gsource API.
14621
14622         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
14623         Change mapping between GIOCondition and GdkInputCondition
14624         to match the way the Linux kernel does it. This should
14625         fix problems where closed pipes were no longer signalling
14626         GDK_INPUT_READ on systems with a native poll().
14627
14628 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
14629
14630         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
14631         explicitly for the string "None" - it is in the XPM
14632         spec and some servers treat unknown colors in odd ways
14633         (like asking the user!)
14634
14635 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
14636
14637         * gdk/gdkevents.c: made "->" into a "." of previous change so
14638         it compiles
14639
14640 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
14641
14642         * gdk/gdkevents.c (gdk_compress_exposures): Set the
14643         window field of the event structure before calling
14644         user filters.
14645
14646 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
14647
14648         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
14649         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
14650
14651 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
14652
14653         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
14654         intermediate text property - prevents major memory
14655         leak when gdk_use_mb.
14656         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
14657
14658 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
14659
14660         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
14661         gtk-a-higuti-990322-[0-3]
14662
14663         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
14664         sizeof(wchar_t) != sizeof (GdkWChar)
14665
14666         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
14667         that was causing -DX_LOCALE not to work.
14668
14669         * gtk/gtkrc.c (gtk_rc_init):
14670         X_LOCALE will never have LC_MESSAGES defined
14671
14672         * gdk/gdk.c (gdk_init_check):
14673         Remove --xim-preedit and --xim-status from argv properly.
14674
14675         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
14676         that the client window is present on the X server
14677         before we pass it to the input method.
14678
14679 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
14680
14681         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
14682         if --display is specified on the command line, than
14683         the drag window will not be created on that display.
14684         
14685 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
14686
14687         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
14688         lookups with only_if_exists == TRUE were inserting
14689         bogus values into the atom cache.
14690
14691 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
14692
14693         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
14694         then reset it to NULL.
14695
14696         * gdk/gdkcolor.c:
14697         (gdk_colors_free): 
14698         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
14699         key for g_hash_table_remove() in both functions, this prevents us
14700         from accessing possibly uninitialized portions of a GdkColor structure
14701         where we are only interested in its pixel value.
14702
14703 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
14704
14705         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
14706         font hash table, if we have a GdkFontPrivate entry for this font
14707         already, simply increment its reference count, provided by Olaf Dietsche
14708         <olaf.dietsche+list.gtk@netcologne.de>.
14709
14710 1999-09-21  Tor Lillqvist  <tml@iki.fi>
14711
14712         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
14713         just to be sure.
14714
14715         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
14716         unused variables, leftovers from the X11 version.
14717
14718         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
14719
14720         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
14721         downcase fields on X11.
14722
14723 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
14724         
14725         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
14726         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
14727
14728 1999-09-17  Tor Lillqvist  <tml@iki.fi>
14729
14730         * gdk/win32/gdk.def: Add gdk_threads_mutex.
14731
14732         * gtk/makefile.msc: Correct path to libintl.
14733
14734         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
14735         use of gint vs. int, and gint vs. gboolean in headers and
14736         definitions. Use GtkType for the *_get_type functions. Note that
14737         these changes preserve binary compatibility.
14738
14739         * gdk/gdk.c
14740         * gdk/win32/gdk.c
14741         * gdk/gdk.h: Fix inconsistencies: gint vs int.
14742
14743         * gtk/gtkmain.c
14744         * gtk/gtkclist.c
14745         * gtk/gtkmenufactory.c
14746         * gtk/gtknotebook.c
14747         * gtk/gtkwidget.c: Fix inconsistencies, also gint
14748         vs. gboolean.
14749
14750         * gtk/gtkcolorsel.[ch]
14751         * gtk/gtkcombo.[ch]
14752         * gtk/gtkdrawingarea.[ch]
14753         * gtk/gtkgamma.[ch]
14754         * gtk/gtkhandlebox.[ch]
14755         * gtk/gtkhpaned.[ch]
14756         * gtk/gtkhruler.[ch]
14757         * gtk/gtkplug.[ch]
14758         * gtk/gtkpreview.[ch]
14759         * gtk/gtkruler.[ch]
14760         * gtk/gtksocket.[ch]
14761         * gtk/gtkstatusbar.[ch]
14762         * gtk/gtktoolbar.[ch]
14763         * gtk/gtkvbbox.[ch]
14764         * gtk/gtkvpaned.[ch]
14765         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
14766         functions.
14767
14768         * gtk/gtkgamma.h: Fix bug, missing () in call of
14769         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
14770
14771 1999-09-14  Tor Lillqvist  <tml@iki.fi>
14772
14773         * gdk/gdkcolor.c (gdk_colormap_new)
14774         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
14775         colormap->colors was allocated twice.
14776
14777         * gdk/win32/gdk.c: Remove some unused stuff.
14778
14779         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
14780         colormap.
14781
14782         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
14783         * gtk/gtklabel.h (gtk_label_get_type)
14784         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
14785         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
14786         in a couple of places, not guint.
14787
14788 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14789
14790         * configure.in,po/et.po: added Estonian language file
14791
14792 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
14793
14794         * configure.in,po/da.po: added Danish file
14795
14796 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
14797
14798         * docs/gtkfaq.sgml: Minor FAQ Update
14799
14800 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
14801
14802         * docs/gtkfaq.sgml: FAQ update
14803
14804 1999-08-27  Tor Lillqvist  <tml@iki.fi>
14805
14806         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
14807         way to get window contents continually refreshed while resizing. I
14808         didn't like the effects myself, so it's not on by default.
14809
14810         * gdk/win32/gdkprivate.h: New flag variable
14811         gdk_event_func_from_window_proc, FALSE by default.
14812
14813         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
14814         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
14815         are passed --gdk-event-func-from-window-proc.
14816
14817         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
14818         and we have am event_func, call it instead of enqueing the event.
14819
14820 1999-08-23  Tor Lillqvist  <tml@iki.fi>
14821
14822         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
14823         Kelley: Set expose_count in GdkEventExposes correctly.
14824
14825         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
14826         MULTIPLE_WINDOW_CLASSES).
14827
14828         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
14829         for bug in NT, apparently NT *does* draw the end pixel, too, in
14830         LineTo with a one-pixel pen, so we don't have to do it ourselves.
14831
14832 1999-08-21  Tor Lillqvist  <tml@iki.fi>
14833
14834         Improvements by Hans Breuer: 
14835
14836         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
14837
14838         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
14839         CS_?REDRAW flags as they cause lots of (late) redraws when "show
14840         window contents while dragging" is turned on. Allocate at least
14841         one unique class for every GdkWindowType. If support for single
14842         window-specific icons is ever needed (eg. Dialog specific), every
14843         such window should get its own class.
14844
14845 1999-08-19  Tor Lillqvist  <tml@iki.fi>
14846
14847         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
14848         error that caused crashes.
14849
14850 1999-08-17  Tor Lillqvist  <tml@iki.fi>
14851
14852         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
14853         window, use ScrollWindowEx, and call UpdateWindow. This prevents
14854         bugs when for instance part of the window was outside the
14855         display. Thanks to Philippe Colantoni for finding and fixing this.
14856
14857 1999-08-16  Tor Lillqvist  <tml@iki.fi>
14858
14859         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
14860         endpoint calculations which were totally wrong. (A little RTFMing
14861         helps a lot ;-)
14862
14863         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
14864         from a separate directory, not from gettext, because of licensing
14865         issues (we want to use the LGPL version).
14866
14867         * README.win32: Mention the intl from glibc vs from gettext issue.
14868
14869 1999-08-13  Tor Lillqvist  <tml@iki.fi>
14870
14871         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
14872         in the key event handling: Now AltGr chars work again. Also,
14873         now Alt-digits are passed up as well as Control-digits.
14874         Pass keypad plus and minus as normal plus and minus.
14875
14876 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
14877
14878         * docs/gtkfaq.sgml: FAQ Update
14879
14880 1999-07-25  Tor Lillqvist  <tml@iki.fi>
14881
14882         * README.win32
14883         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
14884         the Wintab SDK.
14885
14886         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
14887         OK, but getting closer. Guard against bogus tilt data from Wacom
14888         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
14889         enable easier building without Wintab.
14890
14891         * gdk/win32/gdkinput.h
14892         * gdk/win32/gdkevents.c 
14893         * gdk/win32/gdkwindow.c: Minor changes related related to above.
14894         
14895         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
14896         code. As we have just one visual on Win32, no sense to have it in a
14897         table, and no need for the hash table.
14898
14899         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
14900         better on white background.
14901
14902 1999-07-21  Tor Lillqvist  <tml@iki.fi>
14903
14904         * README.win32: Update gcc build instructions. Mention gettext is
14905         GPL.
14906
14907         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
14908         supported cursor size with GetSystemMetrics.
14909
14910         * gdk/win32/gdkfont.c
14911         * gtk/gtkfontsel.c: Guard against some font weight and charset
14912         symbols being undefined (in mingw32 headers).
14913
14914         * gdk/win32/makefile.cygwin
14915         * gtk/makefile.cygwin
14916         * gtk/gtkthemes.c: No longer need to have differently named
14917         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
14918
14919 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
14920
14921         * docs/gtkfaq.sgml: Long awaited FAQ update.
14922
14923 1999-07-15  Tor Lillqvist  <tml@iki.fi>
14924
14925         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
14926         it. Obscure bit manipulation needed.
14927
14928         * gdk/win32/gdkevents.c: Logging.
14929         
14930         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
14931         style (file name include compiler name) for theme engines.
14932
14933 1999-07-13  Tor Lillqvist  <tml@iki.fi>
14934
14935         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
14936
14937         * gdk/win32/gdkevents.c: Fix long-standing bug in key
14938         events. The key.string wasn't zero-terminated, still we strdup'ed
14939         it in gdk_event_copy(). Synthesize crossing events for button
14940         events before possible propagation.
14941
14942         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
14943
14944         * gdk/win32/makefile.cygwin
14945         * gtk/makefile.cygwin: Use new DLL naming style for the
14946         GCC-compiled ones.
14947
14948         * gdk/win32/makefile.msc
14949         * gtk/makefile.msc: Cosmetics mostly.
14950
14951         * gtk/gtk.def: Add missing entry points.
14952
14953         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
14954
14955 1999-07-09  Tor Lillqvist  <tml@iki.fi>
14956
14957         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
14958         or height is zero. Don't print a warning if Pie or Arc fails, they
14959         always fail (?) for very narrow ellipses.
14960
14961         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
14962         the part or the destination window corresponding to source area
14963         outside of the source drawable's boundary.
14964
14965         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
14966         anything if less than two points.
14967
14968         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
14969         return NULL. Gtk cut-and-paste inside a single program works
14970         better this way. (It always gets the clipboard contents from
14971         Windows, not from its own copy, which is cleared anyway. I can't
14972         say I fully understand what happens... Emulating the X selection
14973         and property stuff is a bit of a mess.)
14974
14975         * gdk/win32/gdkevents.c
14976         * gdk/win32/gdkproperty.c: A bit more verbose logging.
14977
14978         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
14979         that never got deleted). Revamp gdk_region_shrink.
14980
14981         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
14982         after use.
14983
14984         * gtk/gtk.def: Add some missing entry points.
14985
14986         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
14987         component.
14988
14989 1999-07-04  Tor Lillqvist  <tml@iki.fi>
14990
14991         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
14992         Control-digits specially.
14993
14994 1999-07-03  Tor Lillqvist  <tml@iki.fi>
14995
14996         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
14997
14998 1999-06-28  Tor Lillqvist  <tml@iki.fi>
14999
15000         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
15001         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
15002         finding this.)
15003
15004 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
15005
15006         * gtk+.spec.in: Corrected some typos in files section.
15007         
15008 1999-06-15  Tor Lillqvist  <tml@iki.fi>
15009
15010         * README.win32: Mention using GNU gettext.
15011         * config.h.win32: Enable NLS stuff.
15012         * gtk/makefile.msc: Use GNU gettext.
15013         * gdk/win32/gdkdnd.c: Minor header reorg.
15014         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
15015         cosmetics.
15016         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
15017         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
15018
15019 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
15020
15021         * acinclude.m4
15022         * config.guess
15023         * config.status
15024         * ltconfig
15025         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
15026
15027 1999-05-30  Tor Lillqvist  <tml@iki.fi>
15028
15029         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
15030         SafeAdjustWindowRectEx. Don't override all calls to
15031         AdjustWindowRectEx by it, but use it only in two places: When
15032         creating a new top-level window and when moving a top-level
15033         window.
15034
15035         Use screen coordinate rectangle, not client rectangle, in
15036         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
15037         when we try to place a window so that the decoration (mainly,
15038         title bar) isn't visible.
15039
15040         These changes fix the bug that showed up for instance as the
15041         GIMP's saved top-level windows moving right and down (by an amount
15042         equal to the window decoration) for each session. This bug showed
15043         up also in testgtk's "Saved Position".
15044
15045         gdk_window_resize also redone a bit.
15046
15047 1999-05-25  Tor Lillqvist  <tml@iki.fi>
15048
15049         * gtk/testgtkrc: Add (commented out) Windows-style theme
15050         include line.
15051
15052         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
15053
15054 1999-05-18  Tor Lillqvist  <tml@iki.fi>
15055
15056         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
15057         gdkx.h to a gdk subdirectory, so that applications can include
15058         these with <gdk/*.h> without trouble.
15059
15060         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
15061         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
15062         have their bitmap destroyed.
15063
15064         * gdk/win32/gdk.def: Add gdk_root_parent.
15065
15066 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
15067
15068         * configure.in
15069           gtk-config.in
15070           ltconfig
15071           ltmain.sh     
15072           gtk/Makefile.am: changes to compile nicely (with xlib) 
15073           on BeOS
15074
15075 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
15076
15077         * acinclude.m4
15078         * config.guess
15079         * config.sub
15080         * ltconfig
15081         * ltmain.sh: upgrade to libtool 1.3
15082
15083 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
15084
15085         * gtk/gtkclist.c:
15086         * gtk/gtkctree.c: merges from gtk-1-2
15087
15088 1999-04-25  Tor Lillqvist  <tml@iki.fi>
15089
15090         Support added for building using a GNU toolchain on Win32,
15091         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
15092
15093         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
15094         * config.h.win32: Changes for gcc.
15095         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
15096         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
15097         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
15098         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
15099         Protect shl stuff unavaiilable with mingw32 headers.
15100         * gdk/win32/gdkevents.c: Fix typo.
15101         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
15102         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
15103         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
15104         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
15105         the mingw32 headers.
15106         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
15107         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
15108         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
15109         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
15110         Test for NATIVE_WIN32, not _MSC_VER.
15111         * gtk/gtkmain.c: No use warning about developer version on Win32,
15112         there aren't any non-developer versions anyhow.
15113         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
15114         * gtk/makefile.msc: Use pthread from another directory. Minor other
15115         changes. 
15116
15117 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
15118
15119         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
15120           default filter from the list
15121
15122 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
15123
15124         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
15125          when gtk_widget_grab_default() is called for a widget that
15126          is not within a GtkWindow.
15127
15128 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
15129
15130         * docs/gtk_tut.sgml, examples/clist.c: use a
15131           scrolled window in the clist example. Minor
15132           tutorial fixes.
15133
15134 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
15135
15136         * docs/gtk_tut.sgml: Style check from David King
15137           <dking@youvegotmail.net>
15138
15139 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
15140
15141         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
15142         compile with unknown value of GDK_WINDOWING
15143
15144 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
15145
15146         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
15147         after the rule is fired.
15148         (install-exec-local): Install gdkconfig.h only if the contents are
15149         different from the currently installed gdkconfig.h.
15150
15151 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
15152
15153         * gdk/Makefile.am (configexecincludedir): Rename from 
15154         configincludedir so that gdkconfig.h will be installed 
15155         as part of `make install-exec'. 
15156
15157 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
15158
15159         * acinclude.m4
15160         * config.guess
15161         * config.sub
15162         * ltconfig
15163         * ltmain.sh: upgrade to libtool 1.2f
15164
15165         * autogen.sh: libtool is not required to autogen gtk+
15166
15167         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
15168         needed)
15169
15170 1999-03-18  Tor Lillqvist  <tml@iki.fi>
15171
15172         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
15173         declaring gdk variables exported/imported from the DLL. New image
15174         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
15175         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
15176         GDK_DRAG_PROTO_OLE2.
15177
15178         * gdk/gdk.h: Merge in Win32 version: Two new functions,
15179         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
15180         declared only for the Win32 version, but could be in the X11
15181         version as well. (Needed for a Xlib-less gdk_imlib.)
15182         gdk_color_hash should have only one parameter. Declare
15183         gdk_threads_mutex with GDKVAR.
15184         
15185         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
15186         just one parameter.
15187
15188         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
15189         per pixel, not bits.
15190
15191         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
15192         Fetch bpp (which means bits-per-pixel here) from another place on
15193         Win32. Accept also depth==32 (which we might get on Win32) with
15194         bpp==32.
15195
15196         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
15197         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
15198         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
15199         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
15200         in the backend-dependent directory, not in the common gdk
15201         directory.
15202
15203         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
15204         headers.
15205
15206 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
15207
15208         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
15209         want to use the Gtk+ devel version (which is true, and yes - even i am
15210         currently working with the 1.2.x branch). so everyone reading this, you
15211         probably want to issue
15212         cvs checkout -r glib-1-2 glib
15213         and
15214         cvs checkout -r gtk-1-2 gtk+
15215         as your next two comands.
15216
15217 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
15218
15219         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
15220         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
15221
15222         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
15223         file. strongly deprecated the GTK_HAVE_* macros, we provide
15224         GTK_CHECK_VERSION() for people that need to check for certain
15225         Gtk+ versions.
15226
15227         * gtk/gtkcompat.h: removed this from CVS.
15228         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
15229         idea right from the start, it just didn't seem like that back then.
15230
15231 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
15232
15233         * merges from gtk-1-2:
15234
15235 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
15236
15237         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
15238         item factory class has been created.
15239         (gtk_item_factory_parse_rc): likewise.
15240
15241         * gtk/gtkmenu.c:
15242         keep proper references for old_active_menu_item.
15243         (gtk_menu_reparent): unset the usize of the new parent,
15244         so the menu can sanely be size requested and we don't get nasty screen
15245         artefacts upon next reparentation.
15246         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
15247         enter notify. only synthesize enter notifies if the pointer really is
15248         inside the event window.
15249         (gtk_menu_popdown): use gtk_menu_shell_deselect().
15250         (gtk_menu_popup): move the background setting stuff into
15251         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
15252
15253         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
15254         gtk_menu_shell_select_item() to select the new item.
15255         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
15256         do the right thing for deselection as well.
15257
15258 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
15259
15260         * gtk/gtkwidget.[hc]:
15261         (gtk_widget_accelerators_locked): return whether a widget's accelerators
15262         are locked.
15263
15264         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
15265         existing accelerators if the widget's accelerators are locked.
15266
15267 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
15268
15269         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
15270
15271         * gtk/gtkmenu.c: truely forward key press and key release events to
15272         the menu widget from the toplevel or tearoff window. we can't simply
15273         connect to that, we need to stop further processing of the events as
15274         well.
15275
15276 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
15277
15278         * gtk/gtkmenu.c:
15279         (gtk_menu_key_press): pass event->keyval, event->state to
15280         gtk_accelerator_valid, instead of event->keyval twice.
15281         refuse to install single letter accelerators for menus that use
15282         single letter shortcuts.
15283
15284         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
15285         gtk_menu_ensure_uline_accel_group().
15286
15287         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
15288         which will always return an uline accel group, made
15289         gtk_menu_get_uline_accel_group() return NULL if the group isn't
15290         yet created.
15291
15292 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
15293
15294         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
15295
15296         * gtk/gtkclist.c (gtk_clist_column_title_passive):
15297         Leave button sensitive, trap  button_press, button_release,
15298         motion_notify, enter_notify and leave_notify events instead.
15299         (gtk_clist_column_title_active): disconnect event handler.
15300         (gtk_clist_drag_data_get): fixed memory leak. Reported by
15301         Guillaume Laurent <glaurent@worldnet.fr>
15302
15303 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
15304
15305         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
15306         width/height mixups.
15307
15308         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
15309         if needed.
15310
15311 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
15312
15313         * gtk/testgtk.c (create_item_factory): unref the item factory after
15314         window's destruction.
15315
15316         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
15317         count on the menu shell around the menu item's activation, since the
15318         signal emission may cause menu shell destruction.
15319
15320         * gtk/gtkitemfactory.c:
15321         the previous code leaked one accel group per menu. we use
15322         gtk_menu_get_uline_accel_group() now to fix that, and with that
15323         also create the underline accelerator group of the menus only if
15324         required (i.e. an underline accelerator has been specified).
15325         (gtk_item_factory_construct):
15326         (gtk_item_factory_create_item): removed code that would create an
15327         extra accel group for the menu (and leak references).
15328         (gtk_item_factory_create_item): adapted the underline accelerator
15329         installation code to properly feature gtk_menu_get_uline_accel_group().
15330
15331         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
15332         menu->accel_group, this may return NULL if the accelerator group
15333         hasn't been set yet.
15334         added gtk_menu_get_uline_accel_group() to retrive the underline
15335         accelerator group of the menu, this will be created on demand
15336         and proper care is taken about its reference count.
15337
15338         * gtk/gtkitemfactory.h:
15339         * gtk/gtkitemfactory.c:
15340         dumped the approach of keeping a widgets by action list on the
15341         factory since the factory<->widget destroy negotiation didn't work
15342         and would be hard to get going at all. instead we keep a list of
15343         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
15344         persistant throughout a program's life time).
15345         also, i removed the static const gchar *key_* variables, and made
15346         them inline strings (they weren't actually used anyways).
15347         (gtk_item_factory_add_item): update ifactory->items.
15348         (gtk_item_factory_destroy): destroy ifactory->items (and remove
15349         the item factory pointer from the remaining ifactory widgets).
15350         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
15351         list to find the widget.
15352         (gtk_item_factory_get_item): new function that works around
15353         gtk_item_factory_get_widget() limitations, this function will only
15354         return menu items, even for <Branch> entries.
15355
15356 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15357
15358         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15359         font hash table, if we have a GdkFontPrivate entry for this font
15360         already, simply increment its reference count, provided by Olaf Dietsche
15361         <olaf.dietsche+list.gtk@netcologne.de>.
15362
15363         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15364         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15365
15366 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
15367
15368         * gtk/gtkcontainer.c:
15369         (gtk_container_add_with_args):
15370         (gtk_container_addv):
15371         (gtk_container_add): before adding a child to a conatiner, make sure
15372         it is (default) constructed, this is neccessary because under certain
15373         circumstances the child will get relized and mapped immediatedly, in
15374         which case it has to be constructed already.
15375
15376 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
15377
15378         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
15379         values > 1 as TRUE also.
15380
15381 1999-03-16  Tor Lillqvist  <tml@iki.fi>
15382
15383         * README.win32: New file.
15384                 
15385         * configure.in: Check for lstat.
15386
15387         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
15388         completeness.
15389
15390         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
15391
15392         * gtk/gtk.def: Removed CRs.
15393
15394         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
15395         ..\gdk\win32).
15396
15397         * gdk/win32/makefile.msc: Correct upwards relative paths.
15398         
15399 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
15400
15401         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
15402           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
15403           it was connecting a void function to expose_event and the int
15404           returning function to the draw signal
15405
15406 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
15407
15408         * configure.in:
15409         Use correct path to libgmodule.la when ref'ing uninstalled copy
15410         of glib.  (Already in stable branch, Bug #417)
15411
15412 1999-03-15  Tor Lillqvist  <tml@iki.fi>
15413
15414         Win32 merge and general portability stuff:
15415                 
15416         * acconfig.h,configure.in: Check for <sys/time.h>.
15417
15418         * gdk/win32: New directory (actually, been there for a while).
15419         
15420         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
15421         NATIVE_WIN32, and use these. Always case fold on Win32. No
15422         backslashed escapes on native Win32.
15423
15424         * gtk/{gtk.def,makefile.msc}: New files.
15425
15426         * gtk/Makefile.am: Add above new files.
15427         
15428         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
15429         instead of <strings.h>.
15430
15431         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
15432         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
15433         <unistd.h> appropriately.
15434
15435         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
15436         Use ABS() (from <glib.h>) instead of abs().
15437         
15438         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
15439         of gtk (and thus glib) headers, so that WIN32 will be
15440         defined. With MS C, include <direct.h> for mkdir prototype.
15441
15442         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
15443         some casts, needed by MS C.
15444
15445         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
15446         implemented).
15447
15448         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
15449         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
15450         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
15451
15452         * gtk/gtkmain.h: Mark variables for export/import on Win32.
15453                 
15454         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
15455         the event is not a hint, or its window is not the slider. Needed
15456         on Win32, at least.
15457
15458         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
15459         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
15460         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
15461         a subdirectory of the Windows directory as gtk system
15462         configuration directory.
15463
15464         * gtk/gtkselection.c: No chunks on Win32.
15465
15466         * gtk/gtksocket.c: Not implemented on Win32.
15467
15468         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
15469
15470         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
15471
15472         * gtk/maketypes.awk: Declare variables with a macro that expands to
15473         necessary export/import magic in the case of Win32.
15474                 
15475         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
15476
15477 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
15478
15479         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
15480         since those were meant only for gdki18n.h.  
15481         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
15482         for widechar tests.
15483         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
15484
15485 1999-03-13  Tor Lillqvist  <tml@iki.fi>
15486
15487         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
15488         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
15489
15490         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
15491         installed) to CFLAGS.
15492
15493         * gdk/Makefile.am: Add rules for gdkconfig.h.
15494
15495         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
15496         APIs.
15497
15498         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
15499         gdkx.h anyway when compiling for X11.
15500         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
15501         general): Merge in Win32 version.
15502         
15503         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
15504         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
15505         expansion (if we don't have HAVE_PWD_H), allow for drive
15506         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
15507         included code from Craig Setera's port to Win32 (the one that uses
15508         X11, and the cygwin dll), even if it probably will be abandoned.
15509
15510         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
15511         the user entered one herself.  This way one can complete *.h and
15512         don't get matches on any .help files, for instance.
15513         
15514 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
15515
15516         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
15517         font hash table, if we have a GdkFontPrivate entry for this font
15518         already, simply increment its reference count, provided by Olaf Dietsche
15519         <olaf.dietsche+list.gtk@netcologne.de>.
15520
15521         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
15522         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
15523
15524 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
15525
15526         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
15527         the number of calls to gdk_draw_point() (and thus to X) by
15528         clipping the points by hand.
15529
15530         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
15531         the clip parameter.
15532         (gtk_handle_box_paint): Only paint the handle if the expose area
15533         intersects it.
15534
15535 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15536
15537         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
15538
15539 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
15540
15541         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
15542         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
15543
15544 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
15545
15546         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
15547          textmode (O_TEXT) for OS/2 version.
15548
15549 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
15550
15551         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
15552         GtkSpinButton, "input" and "output", to make the output more flexible.
15553         The user has to provide a mapping between adjustment->value and the
15554         output string (and vice versa, if the spin button is editable). 
15555         See testgtk for examples.
15556
15557 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
15558
15559         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
15560         new one.
15561         
15562         * configure.in: set gtk+ version to 1.3.0.