]> Pileus Git - ~andy/gtk/blob - ChangeLog.pre-2-0
e33f025632cde424404e6a6664157e3038d10465
[~andy/gtk] / ChangeLog.pre-2-0
1 2001-02-23  Alexander Larsson  <alexl@redhat.com>
2
3         * gdk/gdkpixmap.c (gdk_pixmap_colormap_new_from_pixbuf):
4         return solid masks for xpms that have no transparent color.
5         This makes the ..._create_from_xpm... API backwards
6         compatible.
7
8 2001-02-23  Tor Lillqvist  <tml@iki.fi>
9
10         * README.win32: Update. Mention the gtk-1-3-win32-production
11         branch.
12
13         * gdk/win32/bdfcursor.c: New file. A program that generates
14         xcursors.h. Thanks to Stefan Ondrejicka.
15
16         * gdk/win32/xcursors.h: New file, contains the X cursor font in a
17         compact format.
18
19         * gdk/win32/Makefile.am (EXTRA_DIST): Add new files.
20
21         * gdk/win32/gdkcursor-win32.c (_gdk_win32_data_to_wcursor): New
22         function, uses xcursors.h.
23         (gdk_cursor_new): Use _gdk_win32_data_to_wcursor to generate
24         cursor from inline data instead of using LoadCursor() to generate
25         it from a resource.
26
27         * gdk/win32/gdkevents-win32.c (gdk_event_translate): At button up
28         event, must check the Windows message for mouse button state, as
29         the GDK event state might not have been built if it is
30         undelivered. Remove one goto.
31
32         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Call
33         SetCursor() if the current cursor as returned by GetCursor() is
34         the window's previous cursor. The ChildWindowFromPoint() test
35         apparently didn't work correctly.
36
37         * gdk/win32/rc/*.cur: Remove.
38
39         * gdk/win32/rc/gdk.rc.in: Remove cursors.
40
41         * gdk/win32/rc/Makefile.am (EXTRA_DIST): Remove from here, too.
42
43         * gtk/makefile.{mingw,msc}.in: Updates.
44
45 Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>
46
47         * gtk/gtktreemodel.h: add functions for signal emission.
48
49         * gtk/gtktreestore.c: move to use above functions instead of
50         g_signal_emit.
51
52         * gtk/gtkliststore.c: ditto
53
54 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
55
56         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
57         GObject instead of GtkObject.
58
59         * gtk/gtkliststore.c: ditto.
60
61         * gtk/gtktreemodelsort.c: ditto.
62
63         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
64         GtkTreeModelIface, instead of in each model.
65
66 2001-02-21  Havoc Pennington  <hp@redhat.com>
67
68         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
69         unbreak this function
70
71         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
72         properties
73
74         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
75         properties
76
77         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
78         properties
79
80         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
81         mean unset the max length
82
83 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
84
85         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
86         Changed name to be set_cell_data_func to make it clear what
87         the functino does.  Close bug #51069.
88
89 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
90
91         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
92         have memory actually freed.  Keeps box running longer.
93
94 2001-02-21  Alexander Larsson  <alexl@redhat.com>
95         
96         * gtk/gtkseparatormenuitem.[ch]:
97         Added new menu separator item. The drawing and size handling
98         is still done in GtkMenuItem, but the API is a bit more sane.
99         
100         * gtk/Makefile.am:
101         Add gtkseparatormenuitem.[ch].
102
103         * gtk/gtk.h:
104         Add gtkseparatormenuitem.h.
105         
106         * gtk/gtkentry.c:
107         * gtk/gtkmenufactory.c:
108         * gtk/gtktextview.c:
109         Use the new API for menu separators.
110         
111         * demos/gtk-demo/menus.c (create_menu):
112         Add some GtkSeparatorMenuItem demo code.
113
114 2001-02-20  Havoc Pennington  <hp@redhat.com>
115
116         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
117         Lee Mallabone
118
119         * gtk/gtkarrow.c: Convert to new property API, patch from 
120         Lee Mallabone
121
122 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
123
124         * tests/testtreeview.c (toggled_callback): fix to reflect change
125         in GtkTreeModelStore.
126
127 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
128
129         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
130         function to create an icon set from a pixbuf.
131
132 2001-02-20  Alexander Larsson  <alexl@redhat.com>
133
134         * gtk/gtkcellrenderertext.[ch]:
135         Add a "markup" property.
136
137         * gtk/treestoretest.c:
138         Use the markup property, remove some leftover stuff from
139         GtkTreeModelMapping.
140
141 2001-02-20  Alexander Larsson  <alexl@redhat.com>
142
143         * gtk/gtklabel.c (gtk_label_set_selectable):
144         Queue a redraw if the selectable setting was changed.
145
146 2001-02-20  Alexander Larsson  <alexl@redhat.com>
147
148         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
149         Actually copy the whole gc, not just the public parts.
150         
151         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
152         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
153         labels.
154
155 2001-02-19  Havoc Pennington  <hp@pobox.com>
156
157         * gdk/gdkwindow.c: docs
158
159         * gdk/gdkrgb.c: docs
160
161         * gdk/gdkregion-generic.c: docs
162
163         * gdk/gdkgc.c (gdk_gc_set_values): docs
164
165         * gdk/gdkdraw.c: docs
166
167         * gdk/gdkdrawable.h: deprecate drawable get/set data
168
169 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
170
171         * demos/gtk-demo/dialog.c: Add simple new demo.
172
173 2001-02-19  Havoc Pennington  <hp@redhat.com>
174
175         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
176         insert_child_anchor signal, bug #50245
177
178         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
179         from create_child_anchor, so the anchor is passed in
180
181         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
182         (_gtk_widget_segment_new): have the child anchor object passed in, 
183         instead of creating it.
184
185         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
186         to gtk_text_buffer_get_modified
187
188 2001-02-19  Havoc Pennington  <hp@redhat.com>
189
190         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
191         changed GLib without fixing GTK
192
193         * gtk/gtkrange.h: Rename all the stupid implementation detail 
194         functions to have an underscore in front. Most of them should 
195         probably just go away, but for starters don't export them.
196         Bug #50482
197
198 2001-02-19  Havoc Pennington  <hp@redhat.com>
199
200         * gdk/gdkcolor.h: test was backward, so deprecated functions were
201         excluded by default
202
203         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
204         clean up the old code a bit
205
206         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
207         inconsistent state
208
209         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
210         draw inconsistent state
211
212         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
213         (create_menu): add inconsistent test
214
215         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
216         new function
217         (gtk_check_menu_item_get_inconsistent): new function
218         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
219         state (using etched in for now)
220
221         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
222         draw inconsistent state
223
224         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
225         function, used when the user has selected a range of stuff in
226         different states
227         (gtk_toggle_button_get_inconsistent): accessor for that
228         (gtk_toggle_button_paint): draw inconsistent state (etched in?
229         don't know what else to do)
230
231 2001-02-19  Hans Breuer <hans@breuer.org>
232
233         * gtk/gtk.def : updated exported symbols
234
235         * gtk/makefile.msc.in : updated
236
237         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
238         a colormap, when invoked from testgtk::entry. I'm not sure where
239         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
240         avoids immediate crashing ...
241
242         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
243         any objections ?
244
245         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
246         0 parameter. At least msvc doesn't like macros with var args. 
247         I simply removed the extra 0, was it a feature or a typo ?
248
249         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
250         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
251         because the value assignment to the internal struct wasn't working.
252         I'm not absolutely sure. The problem could have been resolved by
253         changing the "func" declartion in the struct, but was the pointer
254         to the function pointer intended ?
255
256         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
257
258         * gdk/gdk.def : updated exported symbols
259
260         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
261         only use SetDIBitsToDevice if there is a palette at the drawable
262         and the image is GDK_VISUAL_PSEUDO_COLOR
263
264         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
265
266         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
267
268         * gdk/*/makefile.msc : updated
269
270 2001-02-19  Havoc Pennington  <hp@redhat.com>
271
272         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
273         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
274
275         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
276         (gdk_key_repeat_restore): nuke
277
278         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
279         (gdk_init_check): no atexit func
280
281         * gdk/gdkrgb.h: mark some stuff deprecated
282
283         * gdk/gdkcolor.h: mark some stuff deprecated
284         
285         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
286
287         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
288
289 2001-02-16  Havoc Pennington  <hp@redhat.com>
290
291         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
292         scroll steps.
293
294         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
295         steps, and add Ctrl-arrow shortcuts for paging visually as with
296         HScale, since Page Up and Page Down move logically.
297
298         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
299         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
300         
301         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
302         steps
303         (gtk_range_scroll): handle the visual steps
304
305         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
306         scroll steps
307
308         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
309         steps, not the logical ones.
310
311         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
312         (scroll_vertical): handle up/down steps
313
314 2001-02-19 Alexander Larsson  <alexl@redhat.com>
315
316         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
317         Copy data and free data with free().
318
319         * gdk-pixbuf/gdk-pixbuf.c:
320         * gdk-pixbuf/io-jpeg.c:
321         * gdk-pixbuf/io-png.c:
322         Use g_try_malloc/g_free instead malloc/free.
323         
324         * gdk-pixbuf/test-gdk-pixbuf.c:
325         Must... initialize... gobject...
326         
327         * gdk-pixbuf/pixops/timescale.c:
328         * gtk/gtkcalendar.c:
329         Use g_malloc instead of malloc.
330         
331 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
332
333         * gtk/testgtkrc:
334         Comment out property assignments, these don't work yet.
335
336 2001-02-17  Havoc Pennington  <hp@pobox.com>
337
338         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
339         bit.
340
341 2001-02-17  Havoc Pennington  <hp@pobox.com>
342
343         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
344         shadowed variables that had broken size request in some cases,
345         leading to bogus tooltips (#50996)
346
347 2001-02-06  Jon K Hellan  <hellan@acm.org>
348
349         Implement fast browsing of tooltips, bug #50619
350         
351         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
352         and last_popdown
353         
354         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
355         use_sticky_delay and last_popdown.
356         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
357         time of popdown.
358         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
359         is NULL.
360         (gtk_tooltips_recently_shown): New static function.  Return true
361         if < sticky_delay has elapsed since last popdown.
362         (gtk_tooltips_event_handler): Display window after sticky_delay
363         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
364         since last popdown.
365         
366 2001-02-17  Havoc Pennington  <hp@pobox.com>
367
368         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
369         instead of (). #6394
370
371         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
372         G_CONST_RETURN, make it return by reference, #50473
373         
374 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
375
376         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
377         generated ENTER_NOTIFY event with 0, otherwise not explicitely
378         setup fields contain garbage (e.g. subwindow, breaking
379         gdk_drawable_ref() upon event copy).
380         (gtk_menu_stop_navigating_submenu_cb): same here.
381
382         * gtk/gtklist.c (gtk_list_vertical_timeout): 
383         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
384         * gtk/gtkclist.c (vertical_timeout): 
385         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
386         default-zero-intialization for unions to memset(,0,), as unions are
387         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
388         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
389
390         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
391         g_closure_sink() warning.
392
393         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
394         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
395         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
396         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
397         
398 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
399
400         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
401         gtk_*_store_get, and moved to GtkTreeModel.
402
403         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
404
405         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
406
407         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
408
409         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
410         set the func.
411
412         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
413         freeze/thaw notify between setting all the properties for a cell.
414
415         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
416
417 2001-02-15  Havoc Pennington  <hp@redhat.com>
418
419         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
420         the X coordinates so they're with respect to the line, rather than 
421         with respect to the layout.
422
423         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
424         Mallabone
425
426         * gtk/testgtk.c (create_range_controls): add vscale tests, 
427         and inverted test
428
429         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
430         #50806
431
432         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
433
434         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
435         gtk_text_iter_is_end
436
437         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
438         rename gtk_text_buffer_get_end_iter
439
440         * gtk/testgtk.c (create_labels): Add test for selectable
441
442         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
443         the selection stuff. This code is kind of broken since it doesn't 
444         use the theme engine.
445
446         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
447         fix infinite loop and y offset problem
448         (gdk_draw_layout_line_with_colors): fix foreground color handling
449
450         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
451         that makes the label selectable.
452         
453         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
454         layout when the style is set, since fonts etc. could have changed.      
455
456 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
457
458         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
459
460         * gtk/gtktreemodelsimple.[ch]: removed.
461
462 2001-02-16  Alexander Larsson  <alexl@redhat.com>
463
464         * gtk/gtktreemodelmapping.[ch]:
465         New files. Implement GtkTreeModelMapping.
466         
467         * gtk/Makefile.am:
468         Add gtktreemodelmapping.[ch].
469         
470         * gtk/gtk.h:
471         Add gtktreemodelmapping.h
472
473         * gtk/treestoretest.c:
474         Test the GtkTreeModelMapping
475
476 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
477
478         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
479         have a demo, we might as well pass in real values.  Thanks to
480         clahey for pointing this out.
481
482 2001-02-14  Havoc Pennington  <hp@pobox.com>
483
484         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
485         "static" to a private function
486         (gtk_image_menu_item_class_init): remove destroy handler,
487         add "image" object property
488
489 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
490
491         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
492         Add a shortcut if the window and the current clip_region doesn't
493         overlap. This is needed when there are a lot of windows in a
494         window. The layout test in testgtk is a good test.
495
496         * gdk/linux-fb/gdkwindow-fb.c:
497         Whitespace fix.
498
499 2001-02-13  Sven Neumann  <sven@convergence.de>
500
501         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
502
503 2001-02-13  Alexander Larsson  <alexl@redhat.com>
504
505         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
506         Don't reference last_cursor if it is null. Fixes crash when rotating
507         the screen before having moved the mouse.
508
509         * gdk/linux-fb/gdkcc-fb.c: Zapp!
510
511         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
512
513         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
514         when using 90 or 270 degrees rotation.
515
516 2001-02-12  Havoc Pennington  <hp@pobox.com>
517
518         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
519         it always set the foreground, even if we were only using
520         a stipple.
521         (gdk_draw_layout_line_with_colors): new function, allow
522         override colors
523         (gdk_draw_layout_with_colors): new function, allow override
524         colors
525         (gdk_pango_layout_line_get_clip_region): function to get the clip
526         region for a logical text range
527         (gdk_pango_layout_get_clip_region): get the clip region for a
528         logical text range
529
530         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
531         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
532         the right number of arguments.
533
534         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
535         enhance the function to check that node data corresponds to a 
536         view still belonging to the tree.
537
538         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
539         GtkTreePath
540         (gtk_tree_view_inserted): ditto
541         (gtk_tree_view_child_toggled): ditto
542
543         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
544         simplify this code.
545
546         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
547         a PangoAttrList
548
549         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
550
551         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
552
553         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
554         size in the size request 
555         (gtk_menu_bar_size_allocate): consider toggle size here
556
557         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
558         that displays a widget in the toggle slot
559
560         * gtk/testgtk.c: test GtkImageMenuItem
561
562         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
563         
564         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
565         request and allocation
566
567         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
568
569         * gtk/gtkcheckmenuitem.c
570         (gtk_check_menu_item_toggle_size_request): ditto
571         
572 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
573
574         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
575         reference.
576
577         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
578         and refuse to initialize GTK+ if they fail.
579
580 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
581
582         * configure.in: Add check for gtk-doc version.
583
584 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
585
586         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
587         where the xpad/ypad was only being used on one side!
588
589 2001-02-11  Tor Lillqvist  <tml@iki.fi>
590
591         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
592         function, copied from X11 version.
593
594         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
595         DestroyCursor failures. The reason for the problem (despite the
596         inconsistent messages from GetLastError()) was that
597         DestroyCursor() cannot be called while a cursor is set in a
598         window. Set the new cursor first and then destroy the old one.
599         Thanks to jpe@archaeopteryx.com.
600
601         * gdk/win32/gdkcc-win32.c: Remove.
602
603         * gdk/win32/Makefile.am: Remove from here, too.
604         
605         * gdk/gdk.def
606         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
607
608         * gtk/gtk.def
609         * gtk/makefile.mingw.in: Updates.
610
611 2001-02-08  Havoc Pennington  <hp@redhat.com>
612
613         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
614         add a widget to a bin that already has a child.
615
616         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
617
618         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
619         
620         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
621
622         * gdk/gdk.h: remove gdkcc.h
623
624         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
625
626         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
627         GdkPixbuf, since the previous implementation was GdkColorContext
628         dependent.
629
630         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
631         
632 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
633
634         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
635         a sane value!
636
637 2001-02-08  Havoc Pennington  <hp@redhat.com>
638
639         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
640         lighten them.
641
642 2001-02-08  Havoc Pennington  <hp@redhat.com>
643
644         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
645         validation idle
646
647         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
648         cell renderer
649
650         * demos/pixbuf-demo.c (timeout): remove deprecated
651         gtk_widget_draw
652
653         * demos/testpixbuf-save.c (main): remove deprecated
654         gtk_drawing_area_size
655
656         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
657         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
658         at the start of the allocation.
659         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
660         unsetup or NULL model.
661
662         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
663         even/odd/sorted cells in the tree view.
664
665         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
666         bugfixes
667
668         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
669         backgrounds with draw_flat_box using different detail for even/odd
670         rows.
671
672         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
673         row, so we can draw the alternating colors thing
674
675         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
676         property from a synonym property, notify for the synonym.
677         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
678         (gtk_text_tag_get_property): Always return the font, even if
679         all its fields aren't set
680
681         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
682         store the attr list; it leaves us with no way to change attributes
683         in _render according to the render flags, and no way to implement
684         get_property. Instead store all the specific text attributes. 
685         Separate whether an attribute is enabled from its value. Sync all
686         properties with GtkTextTag, make them all consistent, etc.
687
688         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
689         renderers can highlight the sort row/column     
690
691         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
692         accessor functions to get values; this has the side effect of
693         showing up which accessor functions were missing. Added those.
694
695         * gtk/gtktreeviewcolumn.h: Replace set_justification with
696         set_alignment, to be consistent with GtkLabel, GtkMisc
697
698         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
699         arrow.
700
701         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
702
703         * gtk/gtktreesortable.h: updates in here
704
705 2001-02-07  Sven Neumann  <sven@convergence.de>
706
707         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
708         pango dimensions after painting the background. We used to draw
709         gigantic flat boxes here.
710
711 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
712
713         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
714         error introduced with earlier commit) (pointed out by
715         Ollie Lho)
716
717 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
718
719         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
720         which are no longer necessary.
721
722 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
723
724         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
725
726 2001-02-04  Tor Lillqvist  <tml@iki.fi>
727
728         * gdk/gdk.def
729         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
730         Provide dummy implementations.
731
732 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
733
734         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
735
736         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
737         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
738         deprecated this function.
739
740         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
741         argument.
742
743 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
744
745         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
746
747 2001-02-03  Havoc Pennington  <hp@pobox.com>
748
749         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
750         Mikael Hermansson with patch from Mikael (if there was a toggle
751         start one after the first character in the range, this function
752         was broken). Bug #50380
753
754 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
755
756         * configure.in: Remove confusing comment about X11.
757
758 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
759
760         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
761         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
762         
763 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
764
765         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
766         it breaks things on BSD. If you want to compile GTK+ with
767         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
768         when configuring, since GTK+ simply can't be "pure ANSI" 
769         in the header files it uses. (#8170, Greg Hudson)
770
771 2001-02-02  Havoc Pennington  <hp@redhat.com>
772
773         * gtk/gtkwindow.c: docs
774
775         * gtk/gtkwidget.c: docs
776         (gtk_widget_set_colormap): add a reference to the colormap
777         (gtk_widget_get_default_colormap): add a reference to the colormap
778
779         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
780
781         * gtk/gtktextiter.c: docs
782
783         * gtk/gtkmain.c (gtk_propagate_event): docs
784
785         * gtk/gtkpaned.c (gtk_paned_get_position): docs
786         (gtk_paned_set_position): docs
787
788         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
789         sort interface, no implementation yet.
790
791         * demos/testpixbuf.c (new_testrgb_window): replace
792         gtk_drawing_area_size() with gtk_widget_set_usize()
793
794         * demos/testpixbuf-drawable.c (main): ditto
795         
796         * gtk/testgtk.c: remove use of GtkStatusbarMsg
797
798         * gtk/gtktextbuffer.c: docs
799
800         * gtk/gtkstock.c: docs
801
802         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
803
804         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
805
806         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
807         
808         * gtk/gtkimage.c: add some docs in here
809         (gtk_image_size_request): change name of
810         gtk_widget_render_stock_icon
811         (gtk_image_get_icon_set): don't dup returned string
812         (gtk_image_get_icon_set): don't dup returned string
813
814         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
815         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
816         and gtkiconfactory.h functions
817
818         * gtk/gtkiconfactory.c: add some docs in here
819
820         * gtk/gtkmain.c (gtk_get_default_language): document
821         (gtk_get_current_event): document
822         (gtk_get_current_event_state): document
823         (gtk_get_event_widget): document
824
825         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
826
827         * gtk/gtkcontainer.c: Add some documentation
828         (gtk_container_add): give a more explanatory warning on adding an
829         already-parented widget, this is kind of a FAQ and also a common
830         typo that's easier to debug with a nice warning 
831
832         * gtk/gtkcellrenderertoggle.c
833         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
834         adding this, it's useless
835         (gtk_cell_renderer_toggle_set_active): remove
836         (gtk_cell_renderer_toggle_get_radio): add
837
838         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
839         the NULL cell renderer, that doesn't make any sense to me. 
840
841         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
842         demo code should never use deprecated features.
843
844         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
845         code should never use deprecated features.
846
847         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
848         gtk_widget_queue_clear_area deprecated
849
850         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
851         deprecated
852
853         * gtk/gtklabel.h: mark gtk_label_get() deprecated
854
855         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
856         a GdkImage deprecated, replaced by new consistently-named
857         functions       
858
859         * gtk/gtkmain.h: Mark gtk_exit() deprecated
860
861         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
862
863         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
864         deprecated
865
866         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
867         so it won't appear in docs and confuse people.
868
869         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
870
871         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
872         macros deprecated. (can't mark the type itself deprecated, since
873         GtkProgressBar is not deprecated and we need the type decl to use
874         GtkProgressBar)
875
876         * gtk/gtkpixmap.h: Mark deprecated
877
878         * gtk/gtkoldeditable.h: Mark deprecated
879
880         * gtk/gtklist.h: Mark deprecated
881
882         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
883         for anything anymore.
884
885         * gtk/gtkctree.h: Mark deprecated
886
887         * gtk/gtkclist.h: Mark deprecated
888
889         * gtk/gtkpreview.h: Mark deprecated
890
891         * gtk/gtkpacker.h: Mark deprecated
892
893         * gtk/gtktipsquery.h: Mark deprecated
894
895         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
896
897         * gtk/gtkvruler.h: Add comment that it will move out of GTK
898
899         * gtk/gtkhruler.h: Add comment that it will move out of GTK
900
901         * gtk/gtkruler.h: Add comment that it will move out of GTK
902
903         * gtk/gtkgamma.h: Add comment that it will move out of GTK
904
905         * gtk/gtkcurve.h: Add comment that it will move out of GTK
906
907 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
908
909         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
910         gdk_colormap_sync private since it was never exported
911         in a header file.
912
913         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
914         colormap->colors[] for StaticGray, StaticColor colormaps.
915
916         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
917         was being used as if it was image->bits_per_pixel.
918
919         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
920         for the image in the GdkImage structure since it isn't
921         reconstructable, and we need it to handle packed types
922
923         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
924         the assumption that on Win32 image->bits_per_pixel == image->depth,
925         always.
926
927         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
928
929         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
930         warning message if no converter can be found. 
931
932 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
933
934         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
935         chars to isupper() / tolower(). (#567)
936
937         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
938         to clear up 64-bit warnings. (#567)
939
940 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
941
942         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
943         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
944
945         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
946         since some people set $(libdir) separately. (#1290, David Kaelbling)
947
948 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
949
950         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
951         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
952         MAXPATHLEN, but the code here depends on a fixed value.)
953         (#4524)
954
955 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
956
957         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
958         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
959
960 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
961
962         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
963         viewable there is no way that moving the node will cause the 
964         focus row to become not viewable, so omit check on the visibility
965         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
966
967 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
968
969         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
970         selection before inserting new text.
971
972 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
973
974         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
975         Make the sensitivity of the reparented child track that of
976         the original parent menu item. (#34218, David Hodson)
977
978         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
979         the case where the current item is destroyed properly.
980
981         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
982         some edge cases with child-less menuitems.
983         
984 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
985
986         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
987         key pop down window. (#12074, Jon K Hellan)
988
989 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
990
991         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
992         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
993         The solution here isn't perfect - you get an extraneous
994         emission of "toggle", which could conceivably confuse an app,
995         but better than the current situation. LXR search seems to
996         indicate that no apps in GNOME CVS connect to "toggle".
997
998 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
999
1000         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
1001         gtk_public_h_sources to directly here to avoid warning when
1002         building srcdir != builddir. (#9656)
1003
1004 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
1005
1006         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
1007         handlers in gtkrange.c return the proper values (TRUE == handled)
1008         (#10316).
1009
1010         This is just the tip of the iceberg, but gtkrange.c is the
1011         most common place where the propagation is problematical,
1012         and also a place where it is almost certainly safe to change
1013         this in the stable branch.
1014
1015         (You don't want right click popups on a range control or anything...)
1016
1017 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
1018
1019         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
1020         area on focus out, even if a background pixmap isn't set.
1021         (#13941)
1022         
1023 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
1024
1025         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
1026         to deal with setting the shape properly when scrolling arrows are
1027         turned on, but not visible because there is sufficient space.
1028         (#13432)
1029
1030 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
1031
1032         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
1033         items with submenus, destroy the item along with the submenu.
1034         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
1035         properly.
1036
1037         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
1038         later.
1039
1040 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
1041
1042         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
1043         the focus widget sometimes wasn't drawn with the default if there
1044         was no default widget.
1045
1046         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
1047         unreference pixmaps. 
1048
1049         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
1050         for some extra safety.
1051
1052 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
1053
1054         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
1055         the text of a cell to the old pointer value better, by
1056         copying the new text before freeing the old text. Some code
1057         cleanup. (#8079, Karl Nelson)
1058
1059 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
1060
1061         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
1062         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
1063
1064 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
1065
1066         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
1067         item from a menu, check to see if it matches 
1068         menu->old_active_menu_item, and if so, unref and clear
1069         old_active_menu_item (Patch from Pavel Cisler)
1070
1071         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
1072         menu_shell->active_menu_item, if it is the child being
1073         removed. (Patch based on that of Gene Ragan, #50337)
1074
1075 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
1076
1077         * gdk/linux-fb/gdkselection-fb.c: 
1078         * gdk/linux-fb/gdkcolor-fb.c: 
1079         * gdk/linux-fb/gdkdrawable-fb2.c: 
1080         * gdk/linux-fb/gdkfont-fb.c: 
1081         * gdk/linux-fb/gdkim-fb.c: 
1082         * gdk/linux-fb/gdkinput.c: 
1083         * gdk/linux-fb/gdkkeyboard-fb.c: 
1084         * gdk/linux-fb/gdkmain-fb.c: 
1085         * gdk/linux-fb/gdkrender-fb.c: 
1086         A bunch of whitespace cleanup.
1087         
1088 2001-01-30  Havoc Pennington  <hp@pobox.com>
1089
1090         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
1091         #ifdef GTK_ENABLE_BROKEN.
1092
1093         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
1094         GTK_ENABLE_BROKEN just before including the broken headers.
1095         
1096         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
1097         deprecated types registered.
1098
1099         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
1100         we have to test the broken stuff.
1101
1102         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
1103         
1104 2001-01-30  Havoc Pennington  <hp@redhat.com>
1105
1106         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
1107         here where prev pointer was set to the wrong thing
1108
1109         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
1110         (gtk_tree_path_is_descendant): new function
1111
1112         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
1113         cached length
1114         (gtk_list_store_get_iter): don't modify iter if we can't get the
1115         path.
1116
1117         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
1118         
1119         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
1120         GtkTreeDragDest
1121
1122         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
1123         was causing segfault
1124
1125         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
1126         pointer to NULL
1127
1128         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
1129
1130         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
1131         on returning FALSE
1132         (gtk_list_store_iter_children): ditto
1133         (gtk_list_store_iter_nth_child): ditto
1134         (gtk_list_store_iter_nth_child): ditto
1135         (gtk_list_store_iter_parent): ditto
1136
1137         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
1138         on iter->user_data != NULL instead of silently accepting it.
1139         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
1140         we are returning TRUE.
1141         (gtk_tree_store_iter_children): ditto
1142         (gtk_tree_store_iter_nth_child): ditto
1143         (gtk_tree_store_iter_parent): ditto
1144         (gtk_tree_store_insert): remove handling of parent->user_data ==
1145         NULL, replace with parent == NULL       
1146
1147         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
1148         and a comment explaining things
1149
1150         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
1151         interface support to GtkTreeStore.
1152
1153         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
1154         FALSE if no prev, fix
1155
1156         * gtk/gtktreeview.c (set_source_row): use a row reference
1157         (set_dest_row): use a row reference
1158
1159 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
1160
1161         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
1162         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
1163         (gtk_tree_selection_select_iter): The same as above.
1164
1165 2001-01-26  Havoc Pennington  <hp@redhat.com>
1166
1167         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
1168         which holds a handle to a specific row (particular set of values
1169         in the model, i.e. pointer-identity row).
1170
1171         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
1172         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
1173         Still need to use it for the src/dest row saved on the drag context.
1174
1175 2001-01-26  Havoc Pennington  <hp@redhat.com>
1176
1177         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
1178
1179         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
1180         not offset by TREE_VIEW_HEADER_HEIGHT
1181         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
1182         TREE_VIEW_HEADER_HEIGHT
1183
1184         * configure.in (included_loaders): for me, --with-included-loaders
1185         generates the error "the specified loader yes does not exist",
1186         i.e. the arg defaults to "yes", so change test for value ""
1187         to test for value "yes", and include all loaders in that case.
1188
1189         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
1190
1191         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
1192         handle TREE_VIEW_VERTICAL_SEPARATOR
1193         (gtk_tree_view_bin_expose): fix to consider the row offset as
1194         pointing halfway into vertical separator.       
1195         (gtk_tree_view_draw_node_focus_rect): ditto
1196
1197         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
1198         --gtk-debug=updates, which causes gdk_window_set_debug_updates
1199         (TRUE) to be called.
1200
1201         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
1202         debug mode where the invalid region is colored in on invalidate,
1203         so you can see the flicker and know whether your redraw code is 
1204         doing a good job.
1205
1206         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
1207         tree window coordinates (clip rect is in tree window coords)
1208
1209         * gtk/Makefile.am: add gtktreednd.[hc]
1210
1211         * gtk/gtkliststore.c: implement gtktreednd interfaces.
1212
1213         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
1214         drag-and-drop data operations on a model (so we can set up tree
1215         drag-and-drop automatically)
1216
1217         * gtk/testgtk.c: Add a window to change sensitivity in the
1218         GtkLabel test; add a way to change the entry frame in GtkEntry
1219         test
1220
1221         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
1222         (gtk_entry_get_has_frame): new functions to remove the frame
1223         around an entry
1224         (gtk_entry_size_request): shrink requisition if no frame
1225         (gtk_entry_draw_focus): don't draw frame if no frame
1226
1227         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
1228         checks inside a cell renderer
1229         (gtk_default_draw_option): ditto for options
1230
1231         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
1232         children from the alignment, not the button
1233         (gtk_tree_view_column_init): ref/sink the column, to emulate
1234         GObject refcounting.
1235
1236         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
1237         
1238         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1239         Use theme functions to draw the toggles 
1240
1241         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
1242
1243         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
1244         GdkPangoAttrEmbossed to use in rendering insensitive text
1245
1246         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
1247
1248         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
1249         using new GDK features
1250         
1251 2001-01-24  Alexander Larsson  <alexl@redhat.com>
1252
1253         * gtk/gtkimage.c:
1254         Splitted gtk_image_clear into gtk_image_clear() and
1255         gtk_image_reset(). Call gtk_image_clear() in ::destroy
1256         to avoid leaks.
1257
1258         * gtk/gtklabel.c (set_markup):
1259         Don't leak text.
1260
1261         * gtk/gtktextlayout.c:
1262         Always free display->shaped_objects.
1263
1264         * gtk/testgtk.c (create_clist):
1265         Don't leak custom style.
1266
1267 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1268
1269         * gtk/gtkcolorsel.c (grab_color_at_mouse):
1270         Don't leak image. Simplify using gdk_colormap_query_color().
1271         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
1272
1273         * linux-fb/gdkcolor-fb.c:
1274         Implemented gdk_colormap_query_color.
1275
1276 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1277
1278         * linux-fb/gdkcursor-fb.c:
1279         Don't leak built-in cursors.
1280
1281         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
1282         Don't leak tmp_points.
1283
1284         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
1285         Don't modify desc. Don't leak font if the PangoFont
1286         isn't found.
1287         
1288         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
1289         Free dash_list.
1290
1291         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
1292         Don't leak string.
1293         
1294 2001-01-20  Havoc Pennington  <hp@pobox.com>
1295
1296         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
1297         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
1298         me, matches Pango
1299
1300 2001-01-22  Havoc Pennington  <hp@redhat.com>
1301
1302         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
1303
1304         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
1305
1306         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
1307         Remove, move back to gdk-pixbuf
1308
1309         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
1310         to all the word functions
1311
1312         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
1313         before doing anything on NULL layout or if we don't have the focus
1314
1315         * gtk/testtext.c (fill_example_buffer): "justification"
1316
1317         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
1318         to be called "justification" not "justify"
1319
1320         * demos/gtk-demo/textview.c (create_tags): "justification"
1321         
1322         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
1323
1324 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1325
1326         * gdk/gdkwindow.c (gdk_window_invalidate_region):
1327         Don't leak visible_region. Use visible_region instead of region.
1328         
1329         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1330         Don't do extra gdk_drawable_ref(). This is not X.
1331         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
1332         gdk_fb_focused_window is ref:ed.
1333         (gdk_fb_window_send_crossing_events): Watch out for destroyed
1334         windows.
1335
1336 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1337
1338         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
1339         Don't leak the PangoFontDescriptor.
1340
1341 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
1342
1343         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
1344         when not realized.
1345         (gtk_tree_view_scroll_to_cell): Make work when not realized.
1346         (gtk_tree_view_realize): add scroll_to support
1347         (gtk_tree_view_finalize): add a finalize method.  Populate.
1348         (gtk_tree_view_insert_column): ref and sink the column.
1349         (gtk_tree_view_append_column): ref and sink the column.
1350         (gtk_tree_view_queue_draw_node): New function to handle redrawing
1351         individual nodes.  Should make the code much more efficient, if
1352         actually used.
1353
1354 2001-01-19  Havoc Pennington  <hp@redhat.com>
1355
1356         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
1357         byte_offset variable was being used to mean both "offset into
1358         layout" and "offset into buffer line" which was no longer true
1359         with addition of preedit string; fix
1360
1361 2001-01-19  Havoc Pennington  <hp@redhat.com>
1362
1363         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
1364
1365         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
1366         function
1367
1368         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
1369         implement
1370
1371         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
1372         scroll_to_cell, matches TextView scroll functions better
1373         (gtk_tree_view_tree_to_widget_coords): new function
1374         (gtk_tree_view_widget_to_tree_coords): new function
1375         (gtk_tree_view_get_visible_rect): new function
1376         (gtk_tree_view_get_path_at_pos): accept negative coordinates
1377         (gtk_tree_view_draw_node_focus_rect): new function moved from
1378         draw_focus, also, use width of bin_window as width of the focus
1379         rect
1380         (gtk_tree_view_expand_row): fix bug where it didn't recognize
1381         already-expanded rows
1382         (gtk_tree_view_get_cell_rect): new function
1383         (gtk_tree_view_get_path_at_pos): return the click position
1384         relative to the passed-in cell
1385         (gtk_tree_view_set_expander_column): new function
1386
1387         * configure.in: remove gtk-config-2.0 chmod
1388
1389         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
1390         and properly handle drags with targets we don't understand
1391         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
1392         scrolling anyway
1393         (gtk_text_view_drag_drop): stop scrolling here though, and set the
1394         mark invisible
1395
1396         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
1397         function
1398         (gtk_drag_dest_get_target_list): new function
1399         (gtk_drag_dest_set_target_list): new function
1400         
1401         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
1402
1403         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
1404         related to drag-and-drop
1405
1406 2001-01-19  Alexander Larsson  <alexl@redhat.com>
1407
1408         * gdk/linux-fb/gdkprivate-fb.h:
1409         Define EMULATE_GDKFONT.
1410         Add extra pango_font stuff to GfkFontPrivate.
1411         
1412         * gdk/linux-fb/gdkdrawable-fb2.c:
1413         * gdk/linux-fb/gdkfont-fb.c:
1414         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
1415         emulation using PangoFont.
1416
1417 2001-01-17  Havoc Pennington  <hp@pobox.com>
1418
1419         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
1420         all the non-deprecated set_foo functions. Added missing object
1421         properties, and added g_object_notify() to setters. 
1422         Wrote docs.
1423         
1424 2001-01-18  Tor Lillqvist  <tml@iki.fi>
1425
1426         * gtk/gtkmain.c
1427         * gtk/gtkrc.c: (Win32) Use the new
1428         g_win32_get_package_installation_(sub)directory() functions.
1429
1430         * config.h.win32.in: New file.
1431         
1432         * config.h.win32: Removed.
1433
1434         * configure.in: Output config.h.win32.
1435
1436         * Makefile.am: Add it to EXTRA_DIST.
1437
1438         * gtk/gtk.def: Update.
1439
1440 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
1441
1442         * gtk/gtklabel.c (gtk_label_size_request): Set the
1443         attributes onto the PangoLayout even if they are newly
1444         created from label->pattern.
1445
1446 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
1447
1448         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
1449
1450         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
1451         structures in functions. Fixes bug where gtk_dataset_*
1452         was accidentally still being used in one place, causing
1453         every dest side event to be treated independently.
1454
1455         * gtk/gtkdnd.c: Remove last vestages of handling
1456         ::draw (fixes warning)
1457         
1458         * gtk/gtkentry.[ch]: Add drag and drop support.
1459
1460         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
1461         new function gtk_check_drag_threshhold() for checking
1462         to check if (dx,dy) has exceeded the threshhold for starting
1463         a drag and use it everywhere.
1464
1465 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
1466
1467         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
1468         add -I{includedir}/gtk-2.0.
1469
1470         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
1471         gdk/gdk-pixbuf.h: Doc fixups.
1472         
1473         * gtk/gtkobject.h: Remove trailing , from enum
1474
1475 2001-01-17 Alexander Larsson <alexl@redhat.com> 
1476
1477         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
1478         Doh! Mixed up x and y.
1479
1480         * gdk/linux-fb/gdkglobals-fb.c:
1481         Removed gdk_fb_pointer_grab_window_events,
1482         added _gdk_fb_pointer_grab_owner_events and
1483         _gdk_fb_keyboard_grab_owner_events.
1484
1485         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
1486         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
1487         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
1488         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
1489         Send crossing events after ungrab finished.
1490         (gdk_keyboard_grab): Set ..._owner_events
1491         (type_masks): Move out of function.
1492         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
1493         gdk_fb_keyboard_event_window): New functions, return the
1494         window an event should be targeted at. Handles grabs and
1495         event propagation. Can return NULL.
1496         (gdk_event_make): Remove event_mask checking. Now always
1497         returns an event.
1498                 
1499         * gdk/linux-fb/gdkkeyboard-fb.c:
1500         * gdk/linux-fb/gdkproperty-fb.c:
1501         * gdk/linux-fb/gdkselection-fb.c:
1502         Use new event_window/gdk_event_make() behaviour.
1503         
1504         * gdk/linux-fb/gdkmouse-fb.c:
1505         Use new event_window/gdk_event_make() behaviour.
1506         Only send motion events if in the same window.
1507         If grabbed, use cursor from window if sibling of grabbed
1508         window, and cursor from grabbed window otherwise.
1509
1510         * gdk/linux-fb/gdkprivate-fb.h:
1511         Update gdk_fb_window_send_crossing_events, gdk_event_make
1512         and grab varaible declarations. Add gdk_fb_*_event_window().
1513
1514         * gdk/linux-fb/gdkwindow-fb.c:
1515         Use new event_window/gdk_event_make() behaviour.
1516         Keep correct track of focus window.
1517         (gdk_window_set_events): Set all specific button motion masks
1518         if GDK_BUTTON_MOTION_MASK set.
1519
1520         * gtk/gtkdnd.c (gtk_drag_update):
1521         Free info->last_event if gdk_drag_motion returned FALSE.
1522
1523 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1524
1525         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
1526         Eliminate redraws when input-only windows are shown or
1527         hidden. Thanks to jpe@archaeopteryx.com.
1528
1529 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
1530
1531         * docs/faq/gtk-faq.sgml: FAQ update:
1532           - Update to bugzilla
1533           - Add GTK+ and security/SUID/SGID
1534           - Add DnD question
1535
1536 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
1537
1538         * gdk/linux-fb/gdkdnd-fb.c:
1539         Some cleanups.
1540         
1541 2001-01-15  Havoc Pennington  <hp@pobox.com>
1542
1543         * tests/testtreeview.c: add test stuff for CellRendererToggle
1544
1545         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
1546         accessor
1547
1548         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
1549         only toggle on button press (would do release like GtkButton, but
1550         we'd need implicit grab code for treeview cells)
1551
1552 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1553
1554         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
1555
1556         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
1557         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
1558
1559         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
1560         to g_{locale,filename}_{to,from}_utf8 to match current API.
1561
1562         * gtk/makefile.msc.in (gtk_OBJECTS)
1563         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
1564
1565         * gtk/gtk.def: Update.
1566
1567 2001-01-15  Tor Lillqvist  <tml@iki.fi>
1568
1569         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
1570         implementaion that more closely mimics the events that an X server
1571         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
1572         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
1573         with nested preview widgets, for instance, more responsive when
1574         you move the mouse quickly into them.
1575         (find_window_for_pointer_event): Make it actually compile.
1576         (gdk_event_translate): Set send_event to the value of
1577         InSendMessage (). This doesn't really mean the same as X11's
1578         send_event flag, but is close enough, says jpe@archaeopteryx.com
1579
1580 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1581
1582         * gdk/linux-fb/gdkdnd-fb.c:
1583         Implemented drag and drop.
1584         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
1585         when it tries to free and then copy the same event (info->last_event).
1586         I am not sure about why this happens, but will continue looking.
1587
1588 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1589
1590         * gdk/linux-fb/gdkwindow-fb.c:
1591         Use gdk_window_invalidate_rect instead of
1592         gdk_window_invalidate_rect_clear to minimise flashing.
1593         When hiding windows you need to clear the root window though.
1594
1595 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1596
1597         * gdk/linux-fb/gdkdrawable-fb2.c:
1598         For optization, add an full_shapes argument to gdk_fb_clip_region.
1599         If this is false, only the cliprects of the shapes are used.
1600
1601         * gdk/linux-fb/gdkprivate-fb.h:
1602         Export gdk_fb_window_peek_shape.
1603         Add full_shapes to gdk_fb_clip_region.
1604
1605         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
1606         When moving a window, don't clear everything under the it, just the
1607         root window. Makes stuff faster and flash less.
1608         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
1609         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
1610         offset of the shape.
1611         
1612
1613 2001-01-12  Havoc Pennington  <hp@redhat.com>
1614
1615         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
1616         current invalid region, fixes redraw bug while scrolling the 
1617         text widget
1618
1619         * gtk/gtktextview.c, gtk/gtktextview.h:
1620         Rearrange the scrolling/validation/etc. code in a major way, 
1621         so it seems to make sense to me. Probably isn't genuinely that
1622         much better, but...
1623
1624         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
1625         notifies
1626
1627         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
1628
1629 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
1630
1631         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
1632         Hide mouse pointer while rotation. Show it afterwards.
1633
1634 2001-01-12  Alexander Larsson  <alexl@redhat.com>
1635
1636         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
1637         windows in consideration when generating clip region.
1638
1639         * gdk/linux-fb/gdkfb.h:
1640         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
1641
1642         * gdk/linux-fb/gdkprivate-fb.h:
1643         Add shape to GdkWindowFBDatat.
1644         exported gdk_fb_window_get_abs_shape().
1645         removed gdk_fb_draw_lines declaration.
1646
1647         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
1648         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
1649         send focus changes when there is a grabbed window.
1650         (gdk_window_get_pointer): Handle shaped windows.
1651         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
1652         (gdk_fb_window_peek_shape): Returns the shape for a window,
1653         handles GDK_FB_USE_CHILD_SHAPE.
1654         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
1655         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
1656         (gdk_window_shape_combine_mask): Implement.
1657
1658         * gtk/gtkwindow-decorate.c:
1659         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
1660         setting the shape of a window makes the window transparent.
1661
1662 2001-01-11  Havoc Pennington  <hp@redhat.com>
1663
1664         * gtk/gtktreemodelsimple.h: Oops, broke some macros
1665
1666 2001-01-10  Havoc Pennington  <hp@redhat.com>
1667
1668         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
1669         add this function, bug 40251
1670
1671         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
1672         of type macro   
1673
1674 2001-01-11  Alexander Larsson  <alexl@redhat.com>
1675
1676         * acconfig.h:
1677         Added ENABLE_SHADOW_FB
1678
1679         * configure.in:
1680         Added --disable-shadowfb
1681
1682         * gdk/linux-fb/gdkcursor-fb.c:
1683         Update shadowfb when updating cursor
1684
1685         * gdk/linux-fb/gdkdrawable-fb2.c:
1686         Added wrappers for shadowfb that calls  the normal drawable
1687         methods, but calls gdk_shadow_fb_update(bounding box) when
1688         GdkWindows are drawed to.
1689         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
1690         which also returns the bounding box.
1691
1692         * gdk/linux-fb/gdkfb.h:
1693         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
1694
1695         * gdk/linux-fb/gdkgeometry-fb.c:
1696         Update shadowfb when scrolling window.
1697
1698         * gdk/linux-fb/gdkglobals-fb.c:
1699         Add _gdk_fb_screen_angle.
1700         
1701         * gdk/linux-fb/gdkkeyboard-fb.c:
1702         Test code for screen rotation. Shift-F2 in the xlate driver
1703         rotates the screen.
1704
1705         * gdk/linux-fb/gdkmain-fb.c:
1706         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
1707
1708         * gdk/linux-fb/gdkmouse-fb.c:
1709         Use fb_width/height instead of modeinfo.xres/yres.
1710
1711         * gdk/linux-fb/gdkprivate-fb.h:
1712         Added fb_men, fb_width, fb_height & fb_stride. When using
1713         shadow fb these can differ from the framebuffer stuff.
1714         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
1715         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
1716         _gdk_fb_screen_angle. Removed CM, RP.
1717
1718         * gdk/linux-fb/gdkrender-fb.c:
1719         Added code for shadowfb handling and screen rotation using
1720         shadowfb.
1721
1722         * gdk/linux-fb/gdkwindow-fb.c:
1723         Use fb_mem, fb_stride, fb_width, fb_height.
1724         Added recompute_rowstride to reset the rowstride of all windows.
1725         Added gdk_fb_recompute_all() which recomputes rootwindow size,
1726         window abs positions and window rowstrides. Usefull when the
1727         rotation has changed.
1728
1729 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
1730
1731         * docs/faq/gtk-faq.sgml: update to make web site updating easier
1732
1733 2001-01-10  Havoc Pennington  <hp@redhat.com>
1734
1735         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
1736         where sibling == iter
1737         (gtk_tree_store_insert_after): handle sibling == iter
1738         (gtk_tree_store_prepend): remove stamp checks
1739         (gtk_tree_store_insert_before): ditto
1740         (gtk_tree_store_append): ditto
1741         (gtk_tree_store_get_path): ditto
1742         (gtk_tree_store_get_value): ditto
1743         (gtk_tree_store_iter_has_child): ditto
1744         (gtk_tree_store_iter_n_children): ditto
1745         (gtk_tree_store_iter_nth_child): ditto
1746         (gtk_tree_store_insert_after): ditto
1747         (gtk_tree_store_is_ancestor): ditto
1748         (gtk_tree_store_iter_depth): ditto
1749         (gtk_tree_store_insert_before): assert that sibling's parent is
1750         the same as the passed-in parent
1751         (gtk_tree_store_insert_after): assert that sibling's parent is
1752         the same as the passed-in parent
1753
1754         
1755         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
1756         function to get the first iterator in a model
1757         
1758         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
1759         conventionally the "root" in this sense is just NULL afaict.
1760
1761         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
1762         where sibling == iter
1763         (gtk_list_store_insert_after): handle case where sibling == iter
1764
1765         * tests/testtreeview.c (run_automated_tests): fairly lame basic
1766         automated tests for ListStore, TreeStore
1767
1768         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
1769         (gtk_list_store_insert): update tail pointer, and fix it to work
1770         (gtk_list_store_insert_before): update tail pointer, and fix it to work
1771         (gtk_list_store_append): use tail to be faster
1772         (gtk_list_store_prepend): fix it, update tail pointer
1773         (gtk_list_store_insert_after): fix it, update tail pointer
1774
1775         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
1776         the list
1777
1778 2001-01-09  Havoc Pennington  <hp@redhat.com>
1779
1780         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
1781         is NULL due to a pending resize
1782
1783         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
1784         column width to values less than 1
1785
1786         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
1787         width to be between min/max width, and still set the width 
1788         even if autosize is turned on, so the tree view can use this 
1789         function in order to autosize.
1790         (gtk_tree_view_column_init): set initial width to 1 not 0
1791
1792         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
1793         setter function to modify column width, so we get notification
1794         (gtk_tree_view_insert_iter_height): ditto
1795         (gtk_tree_view_calc_size): ditto
1796         (gtk_tree_view_check_dirty): ditto
1797
1798         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
1799         properties to change all the interesting attributes of the tree
1800         view column.
1801         (gtk_tree_view_column_set_header_clickable): rename set_clickable
1802         (gtk_tree_view_column_get_clickable): add
1803         (gtk_tree_view_column_set_cell_renderer): don't unset the current
1804         attributes; assume a cell renderer with equivalent object
1805         properties has been swapped in. Do g_object_notify().
1806         (gtk_tree_view_column_set_visible): g_object_notify
1807         (gtk_tree_view_column_get_sizing): rename from get_col_type
1808         (gtk_tree_view_column_set_sizing): g_object_notify
1809         (gtk_tree_view_column_set_width): add g_object_notify
1810         (gtk_tree_view_column_set_min_width): ditto
1811         (gtk_tree_view_column_set_max_width): ditto
1812         (gtk_tree_view_column_set_title): ditto
1813         (gtk_tree_view_column_set_clickable): ditto
1814         (gtk_tree_view_column_set_widget): ditto
1815         (gtk_tree_view_column_set_justification): ditto
1816
1817 2001-01-09  Havoc Pennington  <hp@redhat.com>
1818
1819         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
1820         there are no rows in the model
1821
1822         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
1823         NULL, then return the start of the list
1824
1825         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
1826         if we can't get any rows from an empty model 
1827
1828         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
1829         extraneous * after function pointer typedef usage
1830
1831         * Makefile.am: don't specify full path to cp and rm
1832
1833         * gtk/gtkcellrenderertextpixbuf.c
1834         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
1835         NULL before dereferencing, fixes a segfault that happened from
1836         time to time
1837
1838         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
1839         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
1840         and reindent the function
1841         (gtk_cell_renderer_pixbuf_get_size): indentation
1842
1843         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
1844         we quit it
1845         (gtk_dialog_add_buttons_valist): add g_return_if_fail
1846         (gtk_dialog_set_default_response): New function, to set default
1847         button
1848         (gtk_dialog_set_response_sensitive): New function, to set 
1849         sensitivity of buttons
1850
1851         * gtk/gtkcellrendererpixbuf.c
1852         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
1853         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
1854
1855         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1856         handle any G_TYPE_OBJECT subclass, not just the base class, and 
1857         also boxed types.
1858         (_gtk_tree_data_list_value_to_node): ditto
1859
1860         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
1861         --gtk-debug=tree
1862
1863         * gtk/gtkmain.c: add GTK_DEBUG_TREE
1864
1865         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
1866
1867 2001-01-09  Tor Lillqvist  <tml@iki.fi>
1868
1869         * gdk/win32/gdkevents-win32.c: Implement better mouse
1870         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
1871         (find_window_for_pointer_event): New function.
1872         (gdk_event_translate): Use it when handling mouse events.
1873
1874 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
1875
1876         * configure.in:
1877         Added --with-included-loaders option
1878
1879         * gdk-pixbuf/Makefile.am:
1880         * gdk-pixbuf/gdk-pixbuf-io.c:
1881         Add support for including selected gdk-pixbuf loaders only.
1882
1883         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
1884         gtk_window_set_has_frame):
1885         Added inline documentation.
1886
1887         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
1888         * docs/reference/gdk/tmpl/windows.sgml:
1889         Added inline documentation.
1890
1891 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
1892
1893         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
1894         realizing buttons that have already been realized.
1895
1896 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
1897
1898         * tests/testtreeview.c (main): Show menu items before adding to
1899         option menu.
1900
1901         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
1902         around if we kill them.
1903
1904         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1905         Return if we pass in a NULL model.
1906
1907 2001-01-08  Havoc Pennington  <hp@redhat.com>
1908
1909         * tests/testtreeview.c: hack on this some
1910
1911         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
1912         gtk_tree_store_set_valist, v is for arrays, valist for varargs
1913         list
1914         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
1915
1916         * gtk/gtkliststore.h: Add varargs set() and get() convenience
1917         functions
1918
1919 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1920
1921         * gtk/gtkwindow-decorate.[hc]:
1922         * gtk/Makefile.am:
1923         New files. Contains an implementation of a minimal WM for
1924         linux-fb.
1925
1926         * gtk/gtkwindow.h:
1927         Add the possibility for GtkWindows to specify a frame. This
1928         is used for the window decoration code, but could concievably
1929         be used for X programs too (xmms style windows).
1930         GtkWindow->frame is the toplevel window if the window is framed.
1931         The signal frame_event gets all events that are targeted to
1932         GtkWindow->frame.
1933         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
1934         
1935         * gtk/gtkwindow.c:
1936         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
1937         Call out to gtkwindow-decorate.c for WM support in linx-fb.
1938
1939 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1940
1941         * docs/README.linux-fb:
1942         Correct filename ~/.pangoft2_aliases
1943
1944         * gdk/gdkwindow.h:
1945         Added new function gdk_window_get_decorations.
1946
1947         * gdk/linux-fb/gdkfb.h:
1948         Removed _gdk_window_get_decorations declaration.
1949         Renamed _gdk_window_set_child_handler to
1950         gdk_fb_window_set_child_handler.
1951
1952         * gdk/linux-fb/gdkwindow-fb.c:
1953         Renamed _gdk_window_set_child_handler to
1954         gdk_fb_window_set_child_handler.
1955
1956         * gdk/x11/gdkwindow-x11.c:
1957         New function gdk_window_get_mwm_hints().
1958         Implemented gdk_window_get_decorations.
1959
1960         * docs/reference/gdk/tmpl/windows.sgml:
1961         * docs/reference/gdk/gdk-sections.txt:
1962         Added gdk_window_get_decorations docs.
1963         
1964 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
1965
1966         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
1967         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
1968         gdk_fb_window_send_crossing_events):
1969         Possibly send focus events when the mouse moves from one
1970         window to another.
1971
1972 2001-01-07  Tor Lillqvist  <tml@iki.fi>
1973
1974         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
1975         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
1976         to match current API.
1977
1978         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
1979         environment variable is set, don't call g_error when on a
1980         palettized (PseudoColor) display. Some people want to use GTK+ 
1981         in 256-colour mode even though works only partially.
1982
1983         * gdk/gdk.def
1984         * gtk/gtk.def
1985         * gtk/makefile.mingw.in: Update.
1986
1987 2001-01-05  Havoc Pennington  <hp@redhat.com>
1988
1989         * tests/testtreeview.c: hack on this a bit
1990
1991         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
1992         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
1993
1994         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
1995         was spelled incorrectly
1996         (GTK_IS_TREE_MODEL_SIMPLE): ditto
1997
1998         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
1999         from gtk_tree_view_set_headers_active   
2000
2001         * gtk/gtktexttag.c:
2002         (gtk_text_tag_get_property): handle PROP_DIRECTION
2003         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
2004         properties, bug 40235
2005
2006         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
2007         forward_to_line_end
2008
2009 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
2010
2011         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
2012         modules/input/gtkimcontextxim.c: Adapt to new prototypes
2013         for unicode,locale,filename conversion functions.
2014
2015 2001-01-05  Havoc Pennington  <hp@redhat.com>
2016
2017         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
2018         broken if called on the first position in the buffer.
2019
2020         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
2021         forward_to_delimiters to be called only if we aren't already at
2022         the delimiters.
2023
2024 2001-01-05  Havoc Pennington  <hp@redhat.com>
2025
2026         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
2027
2028 2001-01-05  Alexander Larsson  <alexl@redhat.com>
2029
2030         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
2031         colormap in here. Sync from X port.
2032         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
2033         Sync from X port.
2034         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
2035         This happens now and then, and i don't think it is a bug.
2036         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
2037         != endpoint.
2038         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
2039         GDK_LINE_SOLID.
2040
2041         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
2042         some of the fields filled in at least.
2043
2044         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
2045         miLineArcD is no more, remove it from the function definition.
2046
2047 2001-01-04  Havoc Pennington  <hp@redhat.com>
2048
2049         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
2050         this
2051
2052         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
2053         user_data instead of tree_node
2054
2055         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
2056         TREE_VIEW_COLUMN_SIZE
2057
2058         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
2059         "size" field to "width" finishes bug 40061
2060
2061         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
2062         for bitfields, bug 40268
2063
2064 2001-01-04  Havoc Pennington  <hp@redhat.com>
2065
2066         Rename some stuff:
2067         
2068         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
2069
2070         s/GtkModelSimple/GtkTreeModelSimple/g;
2071         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
2072         s/gtk_model_simple/gtk_tree_model_simple/g;
2073         s/gtkmodelsimple/gtktreemodelsimple/g;
2074
2075         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
2076
2077         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
2078         s/column_set_col_type/column_set_sizing/g;
2079
2080         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
2081         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
2082
2083         s/GtkCellRendererType/GtkCellRendererState/g;
2084         
2085         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
2086         (gtk_cell_renderer_toggle_class_init): change "state" property to
2087         "active", to match GtkToggleButton
2088         (gtk_cell_renderer_toggle_get_active): new function, bug
2089         40269
2090         (gtk_cell_renderer_toggle_set_active): new function
2091         (gtk_cell_renderer_toggle_set_property): route changes to toggle
2092         state through gtk_cell_renderer_set_active
2093
2094 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
2095
2096         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
2097         temporarily until they work again.  Brought up to date with
2098         changes in the model.
2099         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
2100         model.
2101
2102 2001-01-04  Havoc Pennington  <hp@redhat.com>
2103
2104         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
2105         equal to the line length, then position iterator before paragraph 
2106         separators. Fixes crash reported by Mikael Hermansson when
2107         pressing left arrow from the start of a line.   
2108
2109         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
2110         about byte indexes off the end
2111         (iter_set_from_char_offset): add g_error about char offsets
2112         off the end
2113
2114 2001-01-03  Havoc Pennington  <hp@redhat.com>
2115
2116         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
2117
2118         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
2119         of private functions; remove inclusion of private headers.
2120
2121         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
2122         function, so we don't need private functions in gtktextdisplay.c
2123
2124         * gtk/gtktextiterprivate.h: underscore-ification
2125
2126         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
2127         to instead say "only useful to implement widgets"
2128
2129         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
2130         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
2131         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
2132
2133         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
2134         This function was completely broken
2135
2136         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
2137
2138         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
2139
2140         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
2141
2142         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
2143
2144         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
2145
2146         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
2147
2148         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
2149         gtk_paint_layout
2150
2151         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
2152         gtk_paint_layout
2153
2154         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
2155         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
2156         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
2157         which were not implemented.     
2158
2159         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
2160         insert_pixbuf signal. Rename delete_text to delete_range since it
2161         also deletes pixbufs and child anchors. This almost closes bug
2162         40245 (still need to deal with child anchors)
2163
2164         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
2165         insert_pixbuf, change signal names as appropriate, change types of
2166         signals taking marks/tags to have the specific type, not just
2167         G_TYPE_OBJECT
2168         
2169         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
2170         closes bug 40051
2171
2172         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
2173         unnecessary remove_contents() call
2174         (gtk_option_menu_class_init): add a "changed" signal, closes
2175         bug 40039
2176         (gtk_option_menu_update_contents): emit "changed" if the 
2177         active menu item changes
2178
2179         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
2180         cast to GtkObject, reported by Jonas Borgstrom
2181         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
2182         we can't do stuff with side effects in finalize. Instead, spew a
2183         warning if the loader isn't closed.
2184
2185         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
2186         colormap in here, non-X ports probably need to sync to this change
2187
2188         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
2189         assertion that colormap != NULL, you can set the colormap to NULL
2190         if you like.
2191         
2192         * Makefile.am: remove gtk-config-2.0
2193
2194         * configure.in: Use pkg-config to locate GLib. Remove
2195         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
2196         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
2197         Use pkg-config to locate Pango. Output correct Pango libs to
2198         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
2199
2200         * Makefile.am (pkgconfig_DATA): install only target-specific pc
2201         files
2202         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
2203         X11 pc files
2204
2205         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
2206         unref from here
2207
2208 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
2209
2210         * configure.in:
2211         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
2212
2213 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
2214
2215         * gtk/gtktextlayout.c
2216         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
2217         variable when moving back onto a single line.
2218
2219 2001-01-01  Havoc Pennington  <hp@redhat.com>
2220
2221         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2222
2223         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2224
2225         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
2226         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
2227
2228 2001-01-01  Havoc Pennington  <hp@redhat.com>
2229
2230         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
2231
2232         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
2233         GtkTextAttributes
2234
2235         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
2236         #40246
2237         (gtk_text_attributes_copy_values): rename from 
2238         gtk_text_attributes_copy
2239         (gtk_text_attributes_copy): a more standard GTK copy function, 
2240         which returns a new object
2241
2242 2001-01-01  Havoc Pennington  <hp@redhat.com>
2243
2244         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
2245         
2246         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
2247         don't fill in tree_view->priv->selection, kind of an unexpected
2248         side effect
2249
2250         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
2251         gtkintl.h
2252         
2253         * gtk/gtkcellrenderer.c: Remove definition of _ and include
2254         gtkintl.h
2255         (gtk_cell_renderer_get_property): remove calls to g_value_init
2256
2257         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
2258         gtkintl.h
2259
2260         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
2261         and include gtkintl.h
2262         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
2263         property names
2264
2265         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
2266         GtkTreeSelection
2267         (_gtk_tree_selection_new_from_with_view): rename, return
2268         GtkTreeSelection
2269         (_gtk_tree_selection_set_tree_view): rename with uscore
2270         (gtk_tree_selection_get_selected): fill in the "model" out param
2271         first, so it gets filled in even if we return at the top of the 
2272         function
2273         (gtk_tree_selection_real_select_all): add a comment and an else{}
2274         to clarify this a bit
2275         (gtk_tree_selection_real_unselect_all): add the same else{}
2276
2277         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
2278         set_tree_view to have underscore prefixes, move them to the
2279         private header, fix return type of new_with_tree_view
2280         (struct _GtkTreeSelection): mark struct
2281         fields private  
2282
2283         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
2284         GtkTreeModelFlags, not a guint
2285         (gtk_tree_path_prev): return gboolean not gint
2286         (gtk_tree_path_up): return gboolean not gint
2287
2288         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
2289         return GtkTreeModelFlags, not a guint
2290
2291         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
2292         that child model is non-null before unrefing it
2293         (g_value_int_compare_func): make this a qsort compare func, not 
2294         a boolean predicate
2295
2296         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
2297         (add -umn to the end), and mark it unimplemented
2298         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
2299         I don't see what it's for - doesn't the model always sort itself?
2300         (gtk_tree_model_sort_set_compare): this had the wrong signature
2301
2302         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
2303         Fix the docs to say that it destructively replaces existing
2304         attributes (previously said that it added attributes).
2305         (gtk_tree_view_column_set_visible): canonicalize bool before
2306         equality testing. Also, check for realization before
2307         hiding/showing the tree_column->window; if this window could exist
2308         before realization, then it's busted and needs fixing, we can't 
2309         create GDK resources pre-realization. Also, remove
2310         superfluous queue_resize(), since set_size() does that for us.
2311         (gtk_tree_view_column_set_col_type): check realization before 
2312         using tree_column->window
2313
2314         * gtk/gtktreedatalist.c: fix filename in copyright notice
2315
2316 2000-12-31  Havoc Pennington  <hp@pobox.com>
2317
2318         * gtk/gtktextview.c: Rearrange all the
2319         scroll-while-dragging-or-selecting code to be different, not
2320         necessarily better. ;-)
2321         (gtk_text_view_scroll_to_mark): Change this
2322         function to take within_margin as a fraction instead of a pixel
2323         value, and to take alignment arguments (indicating where to align 
2324         the mark inside the visible area)
2325         
2326         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
2327         to GtkObject
2328
2329         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
2330         behavior so that offsets past the end of the line are not 
2331         allowed, and an offset equal to the line length moves the iterator
2332         to the next line
2333         (gtk_text_iter_set_line_index): make parallel change
2334         (gtk_text_iter_get_bytes_in_line): add this function
2335         
2336         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
2337         of byte indexes off the end of the line; byte index at the end of
2338         the line now returns FALSE and doesn't fill in the requested
2339         values, byte index past the end of the line is an error.  Also,
2340         don't allow -1 offset anymore, since its meaning is unclear.
2341
2342         This change exposes some bug in visual cursor motion, where we
2343         end up with a huge invalid byte index; needs fixing. Symptom of 
2344         bug is a crash when you hit up arrow.
2345         
2346         (_gtk_text_line_char_locate): match the change to byte_locate
2347
2348         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
2349         from start of line properly. fixes bug reported by Mikael
2350         Hermansson where backspace would delete all text before the
2351         cursor.
2352
2353 2000-12-30  Tor Lillqvist  <tml@iki.fi>
2354
2355         * gdk/win32/gdkwindow-win32.c
2356         (gdk_window_impl_win32_get_visible_region): New function, as in
2357         the X11 backend.
2358         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
2359         instead of duplicating the same code here.
2360
2361         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
2362         GDK_COLORMAP macro.
2363
2364         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
2365         destroy function.
2366         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
2367         access that.
2368
2369         * gtk/gtk.def: Update.
2370
2371         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
2372
2373 2000-12-30  Havoc Pennington  <hp@pobox.com>
2374
2375         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
2376         colormap on input only windows, to avoid special cases all over
2377         the code for these windows.
2378
2379 2000-12-26  Tor Lillqvist  <tml@iki.fi>
2380
2381         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
2382         we are on a palettized display ("PseudoColor" in X11), as the code
2383         for that doesn't work anyway, and never has.
2384
2385 2000-12-22  Alexander Larsson  <alexl@redhat.com>
2386
2387         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
2388         Don't use isprint() for chars > 255.
2389
2390 2000-12-21  Havoc Pennington  <hp@redhat.com>
2391
2392         * tests/testtreeview.c: more work
2393
2394 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2395
2396         * docs/README.linux-fb:
2397         Update the docs to the new pangoft2 way.
2398
2399 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2400
2401         * configure.in:
2402         For linux-fb get the pangoft2 cflags and libs. This needs a recent
2403         pango version.
2404         Remove modules/linux-fb/Makefile.
2405
2406         * gdk/linux-fb/gdkdrawable-fb2.c:
2407         Render glyphs using freetype.
2408
2409         * gdk/linux-fb/gdkfb.h:
2410         Add new fb-specific functions needed for managing windows.
2411
2412         * gdk/linux-fb/gdkmain-fb.c:
2413         Remove gdk_font_init/fini() calls.
2414
2415         * gdk/linux-fb/gdkpango-fb.c:
2416         Remove old implementation. Use pangoft2 instead.
2417
2418         * gdk/linux-fb/gdkprivate-fb.h:
2419         Remove PangoFBFont and related stuff.
2420
2421         * gdk/linux-fb/gdkwindow-fb.c:
2422         Implement drawable->get_visible_region.
2423         Implement support for _gdk_window_set_child_handler () and
2424         _gdk_window_get_decorations().
2425
2426         * modules/Makefile.am:
2427         Remove linux-fb subdir.
2428
2429         * modules/linux-fb/*:
2430         Removed all.
2431         
2432 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
2433
2434         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
2435         calls, as they are no longer needed.
2436
2437         * gtk/gtktreemodelsort.c: Fix up the comparison code.
2438         
2439         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
2440         figure out how to emit a signal on an interface.
2441
2442 2000-12-20  Havoc Pennington  <hp@redhat.com>
2443
2444         * tests: new directory to contain tests, gtk/test* should move
2445         here sometime (with appropriate on-cvs-server hackery)
2446
2447         * tests/testtreeview.c, tests/Makefile.am: a test
2448         
2449         * configure.in (AC_OUTPUT): add tests/Makefile
2450
2451         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
2452         and "invisible_set" which were missing
2453
2454         * gtk/gtkrbtree.h: some cheesy indentation fix
2455         
2456 2000-12-20  Alexander Larsson  <alexl@redhat.com>
2457
2458         * gtk/gtkinvisible.c (gtk_invisible_realize):
2459         Attach the style to the window so that the style it is not
2460         leaked when unrealizing the window.
2461
2462 2000-12-18  Havoc Pennington  <hp@redhat.com>
2463
2464         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
2465         begin/end user action where appropriate
2466         (gtk_text_view_commit_handler): add begin/end user action
2467
2468         * gtk/gtktextbuffer.c: add begin/end user action signals, and
2469         bracket interactive operations with begin/end user action pair.
2470         
2471         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
2472         "interactive" arg from insert_text and delete_text signals.
2473         Add begin_user_action, end_user_action signals
2474         (gtk_text_buffer_begin_user_action): 
2475         (gtk_text_buffer_end_user_action): New functions to delimit 
2476         a user-visible action
2477
2478         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
2479         signals.
2480         
2481 2000-12-18  Havoc Pennington  <hp@redhat.com>
2482
2483         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
2484         was pretty non-working.
2485
2486         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
2487         by passing the length to g_utf8_validate().
2488
2489 2000-12-16  Havoc Pennington  <hp@pobox.com>
2490
2491         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
2492         Port to GObject, can go back in gdk-pixbuf after setting up 
2493         a gdk-pixbuf-marshal.h header over there.
2494
2495         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
2496         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
2497         args
2498         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
2499         set
2500         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
2501         here, do it when we create the buttons later
2502         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
2503         (gtk_tree_view_map): paranoia checks that column->button is shown 
2504         and unmapped
2505         (gtk_tree_view_size_request): only request visible children.
2506         Move header size calculation in here, for cleanliness, and 
2507         to maintain invariants for child widgets if we eventually 
2508         let users set different children inside the buttons
2509         (gtk_tree_view_map_buttons): factor out code to map buttons,
2510         since it was being called several times
2511         (gtk_tree_view_size_allocate_buttons): move_resize the drag
2512         windows instead of just moving them; their height may change 
2513         if we allow random widgets in there, or the theme changes.
2514         (gtk_tree_view_size_allocate): move button size allocation 
2515         above emitting the scroll signals, to ensure a sane state when we
2516         hit user code
2517         (gtk_tree_view_button_release): remove queue_resize after
2518         tree_view_set_size(), set_size() will handle any resize queuing
2519         that's needed
2520         (gtk_tree_view_focus_in): just queue a draw, don't fool with
2521         draw_focus goo
2522         (gtk_tree_view_focus): use gtk_get_current_event() and
2523         gdk_event_get_state()
2524         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
2525         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
2526         semicolon
2527         (gtk_tree_view_create_button): show the button here
2528         (gtk_tree_view_button_clicked): actually emit the clicked signal
2529         on the column
2530         (_gtk_tree_view_set_size): return right away if the size is
2531         unchanged, as a cheesy optimization
2532         (gtk_tree_view_setup_model): rename set_model_realized to 
2533         setup_model to match the flag that indicates whether we've 
2534         called it
2535         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
2536         exist, because set_scroll_adjustment does that and it shouldn't
2537         matter what order you call these in
2538         (gtk_tree_view_get_vadjustment): ditto
2539         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
2540         for paranoia
2541         (gtk_tree_view_set_headers_visible): call
2542         gtk_tree_view_map_buttons() instead of using cut-and-paste code
2543         (gtk_tree_view_append_column): clarify whether the return value
2544         is the count of columns before or after, and do the increment 
2545         separately from the return statement so you can tell from the code.
2546         (gtk_tree_view_remove_column): ditto
2547         (gtk_tree_view_insert_column): ditto
2548         (gtk_tree_view_get_column): remove g_return_if_fail for columns
2549         outside the existing range, the docs say that outside-range
2550         columns are allowed, so we handle them as documented. (Presumably
2551         this allows a nice loop with column != NULL as test.)
2552         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
2553         mean (left/right/center etc.).
2554         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
2555         (gtk_tree_view_expand_row): add docs
2556         (gtk_tree_view_collapse_row): add docs
2557
2558         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
2559         function to emit the clicked signal on a column
2560         
2561         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
2562         state of an event
2563         (gdk_event_get_time): don't treat GDK_SCROLL 
2564         as a button event, remove default case from switch so gcc 
2565         will whine if we don't explicitly handle all event types
2566
2567         * gtk/gtktreeselection.h: added some FIXME 
2568         
2569         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
2570         "columns" to "n_columns" and "column" to "columns" for clarity
2571
2572 2000-12-16  Havoc Pennington  <hp@pobox.com>
2573         
2574         * gtk/gtktextiter.c: General cleanup of the log attr iteration
2575         stuff. This should make e.g. the delete key work again in the
2576         text widget...
2577         (gtk_text_iter_forward_cursor_positions): handle negative count
2578         (gtk_text_iter_backward_cursor_positions): handle negative count
2579         (gtk_text_iter_forward_word_ends): handle negative count
2580         (gtk_text_iter_backward_word_starts): handle negative count
2581
2582         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
2583         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
2584         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
2585         GObject. No doubt will cause breakage.
2586
2587         * demos/gtk-demo/textview.c: remove hacks around
2588         non-GObject-ification of the text objects
2589
2590         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
2591         the text tag
2592         
2593 2000-12-14  Havoc Pennington  <hp@pobox.com>
2594
2595         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
2596         that we have Xrender
2597
2598 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
2599
2600         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
2601         Add two virtualized functions gdk_drawable_get_clip_region - to
2602         get the clip region when drawing.
2603         
2604         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
2605         use invalidate_region.
2606
2607         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
2608         region.
2609
2610         * acconfig.h configure.in: Check for Xft. For now, assume
2611         that if Xft is found, Pango was compiled with Xft support
2612         as well.
2613
2614         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
2615         gdk_colormap_query_color().
2616         
2617         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
2618         with Xft if appropriate.
2619
2620         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
2621         a pangoxft context if we have XFT and the environment
2622         variable GD_USE_XFT is set.
2623         
2624         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
2625         and also possibly an XftDraw structure.
2626
2627         * gtk/gtkfontsel.c: Handle the case where the font from the
2628         style doesn't match any of the fonts a bit better.
2629         
2630         * gtk/testgtk.c: Add tabs between directional segments for
2631         hebrew/arabic test. (Not really necessary, just a little
2632         prettier.)
2633
2634 2000-12-14  Havoc Pennington  <hp@redhat.com>
2635
2636         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
2637         reading a file
2638
2639 2000-12-14  Havoc Pennington  <hp@redhat.com>
2640
2641         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
2642         unused call to get_last_line()
2643
2644         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
2645         here until boxed is working (and maybe after that - we should
2646         really not gratuitously break old code)
2647
2648         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
2649         specific types for font_desc and tabs args, move them to
2650         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
2651         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
2652
2653         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
2654         use GTK_TYPE_POINTER for signal signatures as a hack-around
2655
2656         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
2657         PangoTabArray
2658
2659         * gtk/gtktextlayout.c (line_display_iter_to_index): 
2660         make static
2661         (line_display_index_to_iter): make static
2662
2663         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
2664         to marshal a string not a boxed
2665
2666         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
2667
2668         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
2669         since the UTF-8 isn't validated yet
2670
2671         * gtk/gtktextsegment.c (char_segment_check_func): don't require
2672         lines to end in '\n'
2673         
2674         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
2675         forward_to_delimiters, and grapheme boundaries
2676         (gtk_text_view_delete_from_cursor): properly handle non-newline
2677         delimiters, and grapheme boundaries
2678
2679         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
2680         to gtk_text_iter_forward_to_delimiters, and make it work properly
2681         if empty lines end with a character other than '\n'
2682
2683         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
2684         position
2685
2686 2000-12-15  Tor Lillqvist  <tml@iki.fi>
2687
2688         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
2689
2690         * gtk/gtk.def
2691         * gdk/gdk.def: Update.
2692
2693         * gdk/win32/gdkmain-win32.c
2694         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
2695         gdkmain-win32.c here.
2696
2697         * gdk/win32/makefile.mingw.in (all): No need to make
2698         gdk-win32res.o here, the makefile one step up will call us to make
2699         it.
2700
2701         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
2702         gdkkeys-win32.
2703
2704         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
2705
2706         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
2707         call to g_source_add().
2708
2709         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
2710         leak. Thanks to Andreas Kemnade.
2711
2712 2000-12-13  Havoc Pennington  <hp@pobox.com>
2713
2714         * gtk/gtktextbtree.h: Remove double _ in front of some functions
2715
2716         * gtk/gtktext*.[hc]: update accordingly
2717         
2718 2000-12-13  Havoc Pennington  <hp@pobox.com>
2719
2720         * gtk/gtktextbtree.h: Put _ in front of every function in this 
2721         header file
2722
2723         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
2724
2725 2000-12-13  Alex Larsson  <alexl@redhat.com>
2726
2727         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
2728         Add support for ps2 intellimouse.
2729
2730         * gdkkeyboard-fb.c:
2731         Move shift-F1 repaint handling to xlate handler only.
2732         
2733         * docs/README.linux-fb:
2734         Add imps2 to docs.
2735         Document the new refresh keys.
2736         
2737 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
2738
2739         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
2740
2741         * gtk/gtkbox.c: change property types from (u)long to (u)int for
2742         ::position and ::padding.
2743
2744         * gtk/gtkcontainer.c: make ::border_width an INT property.
2745
2746         * gtk/gtkpacker.c: make ::position an INT property.
2747
2748         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
2749         guard against NULL h/v scrollbars, since this is used at construction
2750         time.
2751
2752         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
2753         internal gtk_clist_constructor().
2754
2755         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
2756         gtk_ctree_constructor().
2757
2758         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
2759         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
2760
2761         * docs/reference/Makefile.am: fun stuff, disabled docs generation
2762         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
2763
2764         * gtk/gtkwidget.[hc]:
2765         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
2766         and gtk_widget_get().
2767         (gtk_widget_new): use g_object_new_valist().
2768         (gtk_widget_set): use g_object_set_valist().
2769
2770         * gtk/gtkobject.[hc]:
2771         removed gtk_object_arg_get_info(), gtk_object_getv(),
2772         gtk_object_query_args(), gtk_object_newv(),
2773         gtk_object_class_add_signals(),
2774         gtk_object_class_user_signal_new(),
2775         gtk_object_class_user_signal_newv(),
2776         gtk_object_arg_set(), gtk_object_arg_get(),
2777         gtk_object_args_collect(),
2778         gtk_object_default_construct(),
2779         gtk_object_constructed(),
2780         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
2781         removed nsignals, signals and n_args members from GtkObjectClass.
2782         (gtk_object_new): use g_object_new_valist().
2783         (gtk_object_set): use g_object_set_valist().
2784         (gtk_object_get): use g_object_get_valist().
2785         
2786         * gtk/gtkcompat.h: define gtk_object_default_construct().
2787         
2788         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
2789         g_object_new().
2790
2791         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
2792         fucntions, cleaned up method assignments (make sure your structures
2793         are setup properly before calling out). removed all GTK_CONSTRUCTED
2794         hacks ;)
2795
2796 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
2797
2798         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
2799         off-by-one error in checks. (Dave Lambert)
2800
2801 2000-12-12  Alexander Larsson  <alexl@redhat.com>
2802
2803         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
2804         Don't free gdk_fb_keyboard twice.
2805
2806 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
2807
2808         * gtk/testgtk.c:
2809         (create_tooltips): 
2810         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
2811         use GObject swapped_signal:: properties instead.
2812
2813         * gtk/gtkcellrenderertoggle.c: 
2814         * gtk/gtkcellrenderertextpixbuf.c: 
2815         * gtk/gtkcellrenderertext.c: 
2816         * gtk/gtkcellrendererpixbuf.c: 
2817         * gtk/gtkcellrenderer.c:
2818         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
2819         missing warnings for invalid property ids, install properties
2820         with g_object_class_install_property() now.
2821         
2822         * gtk/gtksignal.c:
2823         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
2824         
2825 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
2826         
2827         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
2828         to determine if a window is the focus widget within
2829         its toplevel.
2830
2831         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
2832         to be boolean.
2833
2834         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
2835         of the case where the container CAN_FOCUS to here instead
2836         of having it in each individual move-the-focus place.
2837
2838         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
2839         focusing to be geometric in a much more obvious sense. Arrowing
2840         around is still non-intuitive because it isn't perfect and
2841         because entries, etc, grab the arrow keys, but it at least
2842         usually will do what you expect now.
2843         
2844         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
2845         file.
2846
2847         * gtk/gtknotebook.c: Change tabs to be a single item in
2848         the focus chain. Make movement of focus on tabs with arrow
2849         keys wrap around.
2850         
2851         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
2852         CHECK_FIND_CHILD macro to give informative error messages
2853         instead of silent returns.
2854
2855         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
2856         flag since we handle GdkReturn on the tabs.
2857
2858         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
2859         windows rather than sending expose events directly.
2860
2861         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
2862         definition for GtkNotebookPage into .c file, since it is private.
2863
2864         * gtk/testgtk.c (create_notebook): Add option for 
2865         testing borderless notebook.
2866
2867         * gtk/testgtk.c (page_switch): Removed egregious poking
2868         around in GTK+ internals.
2869
2870         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
2871
2872         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
2873         properly through gtk_clist_focus. Make the title headers a
2874         single item in the tab-focus chain, and make left-right wrap
2875         around.
2876
2877         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
2878         focus method so that wrapping around works properly.
2879
2880         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
2881         that is handled for the widget now. 
2882
2883 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
2884
2885         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
2886         widgets as TOPLEVEL.
2887
2888         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
2889         TOPLEVEL widgets are containers.
2890
2891         * gtk/gtkinvisible.h: Remove useless include.
2892
2893 2000-12-11  Havoc Pennington  <hp@redhat.com>
2894
2895         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
2896         Handle chopping off \r\n and 0x2029 in addition to \n before
2897         passing to PangoLayout
2898
2899         * gtk/gtkimcontextsimple.c
2900         (gtk_im_context_simple_get_preedit_string): 
2901         return an empty string if no match is pending
2902
2903         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
2904         assertion that the returned preedit string was sane
2905
2906         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
2907         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
2908         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
2909
2910 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
2911
2912         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
2913         Fix up finalizer to chain to its parent.
2914
2915 2000-12-11  Alexander Larsson  <alexl@redhat.com>
2916
2917         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
2918         Clearified the difference between the keyboard types. Wrote a note
2919         about the magic sysrq key to get out of raw mode.
2920
2921 2000-12-09  James Henstridge  <james@daa.com.au>
2922
2923         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
2924         member to hold masks for detecting the start of a protocol packet.
2925         (mouse_devs): add packet start masks for ps2 and ms device types.
2926         Left the mask for fidmour blank, as I have no idea what it should
2927         be.
2928         (handle_mouse_io): skip bytes until we get to the start of a
2929         packet.  My Logitech mouse seems to be passing an extra NULL pad
2930         byte, and GPM does a similar thing here.
2931         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
2932         this is the ms mouse driver.
2933         (gdk_fb_mouse_ms_packet): fix up button handling, which was
2934         completely broken except for button1.  It was checking the wrong
2935         bit in the packet for the status of the right mouse button, and
2936         wrongly assuming right == button2 rather than 3.  I fixed that and
2937         also added support for middle button (button2).
2938
2939 2000-12-08  Havoc Pennington  <hp@redhat.com>
2940
2941         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
2942         that cause a segfault on text insertion
2943
2944         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
2945         warning
2946
2947         * gtk/gtktextiter.c (test_log_attrs): use
2948         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
2949
2950         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
2951         Get log attrs for a line, using a cache stored on the buffer
2952         
2953         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
2954         reported by Jeff Franks
2955
2956 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2957
2958         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
2959         /dev/ttyS0 -> /dev/mouse
2960
2961 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2962
2963         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
2964         Added dummy gdk_fontset_load.
2965
2966 2000-12-08  Alexander Larsson  <alexl@redhat.com>
2967
2968         * docs/README.linux-fb:
2969         * docs/Makefile.am:
2970         Initial GtkFB docs.
2971         
2972         * gdk/linux-fb/Makefile.am:
2973         Define GDK_DATA_PREFIX.
2974
2975         * gdk/linux-fb/gdkmain-fb.c:
2976         Fix typo.
2977         Change default display to /dev/fb0.
2978
2979         * gdk/linux-fb/gdkpango-fb.c:
2980         Add $(prefix)/share/fonts/ to font path.
2981         
2982 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2983
2984         * gdk/linux-fb/gdkkeyboard-fb.c:
2985         New file containing the abstracted keyboard driver. Most code
2986         taken from gdkinput-ps2.c
2987
2988         * gdk/linux-fb/gdkinput-ps2.c:
2989         Removed file.
2990         
2991         * gdk/linux-fb/Makefile.am:
2992         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
2993
2994         * gdk/linux-fb/gdkcolor-fb.c:
2995         display->fb was renamed to display->fb_fd.
2996
2997         * gdk/linux-fb/gdkcursor-fb.c:
2998         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2999
3000         * gdk/linux-fb/gdkinput.c:
3001         Moved gdk_input_init here from gdkinput-ps2.c
3002
3003         * gdk/linux-fb/gdkmain-fb.c:
3004         display->fb was renamed to display->fb_fd.
3005         Now the tty and the console is opened here instead
3006         of in the keyboard driver. Also check GDK_VT to see what
3007         tty to open.
3008         Move gdk_beep () here from gdkinput-ps2.c
3009         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3010
3011         * gdk/linux-fb/gdkmouse-fb.c:
3012         Add header.
3013         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3014         Return correct keyboard modifiers.
3015         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
3016
3017         * gdk/linux-fb/gdkprivate-fb.h:
3018         Add tty and vt info to display.
3019         Add orignal modeinfo storage to display
3020         Update global functions
3021
3022         * gdk/linux-fb/gdkwindow-fb.c:
3023         Added gdk_fb_window_find_focus().
3024         gdk_mouse_get_info -> gdk_fb_mouse_get_info
3025
3026 2000-12-07  Havoc Pennington  <hp@pobox.com>
3027
3028         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
3029         function, noticed by Alex
3030
3031 2000-12-06  Elliot Lee  <sopwith@redhat.com>
3032
3033         * configure.in: Detect freetype properly
3034
3035         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
3036         above.
3037
3038 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3039
3040         * gdk/linux-fb/Makefile.am:
3041         Add gdkmouse-fb.c
3042         
3043         * gdk/linux-fb/gdkmouse-fb.c:
3044         New file. Abstracted the mouse drivers a bit.
3045
3046         * gdk/linux-fb/gdkcursor-fb.c:
3047         The cursor hide/show functions was moved here from gdkinput-ps2.c.
3048
3049         * gdk/linux-fb/gdkinput-ps2.c:
3050         Removed old mouse handling code. Moved cursor handling code
3051         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
3052         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
3053         gdk_mouse_get_info.
3054
3055         * gdk/linux-fb/gdkmain-fb.c:
3056         Pass NULL pointers for x,y in gdk_mouse_get_info call.
3057
3058         * gdk/linux-fb/gdkprivate-fb.h:
3059         Removed public gdk_fb_find_common_ancestor, added and renamed
3060         functions for the new mouse handling code.
3061
3062         * gdk/linux-fb/gdkwindow-fb.c:
3063         Moved gdk_fb_window_send_crossing_events here. added global
3064         variable gdk_fb_window_containing_pointer. made
3065         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
3066         renamed to gdk_mouse_get_info.
3067
3068 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3069
3070         * gdk/linux-fb/gdkevents-fb.c:
3071         Update to match latest gmain/gsource changes.
3072
3073         * gdk/linux-fb/gdkinput-ps2.c:
3074         Bogus gdk_keymap_get_entries_for_keycode implementation so that
3075         it links. Will be implemented later.
3076
3077 2000-12-03  Havoc Pennington  <hp@pobox.com>
3078
3079         * gdk/Makefile.am: add gdkkeys.[hc]
3080
3081         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
3082         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
3083
3084         * acconfig.h, configure.in: add checks and command line options
3085         for XKB
3086
3087         * gdk/x11/gdkkeys-x11.c: Implement the above functions
3088         
3089         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
3090         and group in the key event
3091
3092         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
3093         field with the low-level hardware key code, and a group
3094         field with the keyboard group
3095
3096         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
3097         and declare a couple globals used for keymap handling
3098         
3099         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
3100         hold down Shift-Control and type a hex number to get a Unicode 
3101         character corresponding to the hex number
3102         (gtk_im_context_simple_get_preedit_string): Fix cursor position
3103         (return bytes not chars)
3104
3105 2000-12-05  Elliot Lee  <sopwith@redhat.com>
3106
3107         * gdk/gdkcolor.h: Make GdkColor specify element sizes
3108         to avoid waste on 64-bit platforms.
3109
3110 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
3111
3112         * INSTALL: Fix link to PNG home, remove reference
3113         to fribidi.
3114
3115         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
3116         
3117         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
3118         tested.)
3119
3120         * gtk/gtkcheckmenuitem.c: Permanently turn on
3121         always_show_toggle.
3122
3123         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
3124         be NULL. (Vladimir Klebanov, #26545)
3125
3126         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
3127         some signed/unsigned comparison problems. (#6510,
3128         David Kaelbling)
3129
3130         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
3131         return type to boolean (Oskar Liljeblad, #18648)
3132
3133 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3134
3135         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
3136         Remove bogus colormap setting.
3137
3138 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3139
3140         * gdk/linux-fb/gdkcolor-fb.c:
3141         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
3142
3143         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
3144         Must set colormap.
3145         
3146 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
3147
3148         * docs/tutorial/gtk-tut.sgml: DND updates
3149
3150 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
3151
3152         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3153         Remove old debug g_warning().
3154         (gdk_fb_draw_drawable): The src argument can be either a wrapper
3155         or an implementation, just pass the implementation to draw_drawable_2.
3156         
3157         * gdk/linux-fb/gdkprivate-fb.h:
3158         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
3159
3160         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3161         clear and invalidate area when window is destroyed.
3162         (send_map_events): Remove old commented out code.
3163
3164 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3165
3166         * gdk/linux-fb/gdkpango-fb.c:
3167         Use italic instead of oblique in font aliases.
3168         
3169         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
3170         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
3171         other unsupported functions.
3172
3173 2000-12-04  Havoc Pennington  <hp@redhat.com>
3174
3175         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
3176
3177         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
3178
3179         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
3180
3181         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
3182         hack to avoid infinite loops (synthetic expose event) - 
3183         Owen has more appropriate fixes in a branch he'll check in later.
3184
3185         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
3186         separator, CR, and CRLF as line ends
3187
3188         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
3189         into lines using pango_find_paragraph_boundary(); other bits of
3190         the widget are still going to be broken if the boundary isn't '\n'
3191         though
3192
3193 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3194
3195         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
3196         multiply.
3197
3198         * gdk/linux-fb/gdkpango-fb.c:
3199         Copied some 26.6 scaling macros from pango to clean up the rounding.
3200         (pango_fb_font_get_glyph_info): Correct sign on x value.
3201
3202         * gdk/linux-fb/gdkprivate-fb.h:
3203         Removed unreferenced external functions.
3204
3205         * modules/linux-fb/Makefile.am: Use ` instead of '.
3206
3207         * modules/linux-fb/basic.c:
3208         Remove dead code. In particular the dummy lang engine which broke all
3209         pango layouts in GtkFB. Don't include tables-big.i anymore.
3210
3211         * modules/linux-fb/tables-big.i:
3212         Upgrade to latest version from pango. Left for reference, basic_ranges
3213         moved to basic.c.
3214         
3215 2000-12-04  Havoc Pennington  <hp@redhat.com>
3216
3217         Fix bugs Alex found:
3218         
3219         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
3220         to "draw"
3221
3222         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
3223
3224         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
3225
3226         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
3227         implementation in here, apparently the expose() implementation was
3228         dead code.
3229
3230 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3231
3232         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3233         Return positive descent.
3234
3235 2000-12-02  Havoc Pennington  <hp@pobox.com>
3236
3237         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
3238         method and signal
3239         
3240         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
3241         calls gdk_window_process_updates() to push the exposes through
3242         (gtk_widget_class_init): No more draw signal, no
3243         gtk_widget_real_draw()  
3244         
3245         * gtk/gtkbin.c (gtk_bin_draw): remove
3246
3247         * gtk/gtkbox.c (gtk_box_draw): remove
3248
3249         * gtk/gtkbutton.c (gtk_button_draw): remove
3250
3251         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
3252
3253         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
3254
3255         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
3256
3257         * gtk/gtkclist.c (gtk_clist_draw): remove
3258
3259         * gtk/gtkentry.c (gtk_entry_draw): remove
3260
3261         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
3262
3263         * gtk/gtkfixed.c (gtk_fixed_draw): remove
3264
3265         * gtk/gtkframe.c (gtk_frame_draw): remove
3266
3267         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
3268
3269         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
3270
3271         * gtk/gtklayout.c (gtk_layout_draw): remove
3272
3273         * gtk/gtklist.c (gtk_list_draw): remove
3274
3275         * gtk/gtklistitem.c (gtk_list_item_draw): remove
3276
3277         * gtk/gtkmenu.c (gtk_menu_draw): remove
3278
3279         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
3280
3281         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
3282
3283         * gtk/gtknotebook.c (gtk_notebook_draw): remove
3284
3285         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
3286
3287         * gtk/gtkpacker.c (gtk_packer_draw): remove
3288
3289         * gtk/gtkrange.c (gtk_range_draw): remove
3290
3291         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
3292
3293         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
3294
3295         * gtk/gtktable.c (gtk_table_draw): remove
3296
3297         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
3298
3299         * gtk/gtktext.c (gtk_text_draw): remove
3300
3301         * gtk/gtktextview.c (gtk_text_view_draw): remove
3302
3303         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
3304
3305         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
3306
3307         * gtk/gtktree.c (gtk_tree_draw): remove
3308
3309         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
3310
3311         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
3312
3313         * gtk/gtkviewport.c (gtk_viewport_draw): remove
3314
3315         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
3316
3317         * gtk/gtkvscale.c (gtk_vscale_draw): remove
3318
3319         * gtk/gtkwindow.c (gtk_window_draw): remove
3320
3321 2000-20-01  Anders Carlsson  <andersca@gnu.org>
3322
3323         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
3324         a GtkToggleButton is both insensitive and active, it was being
3325         drawn by the GtkButton draw handler which doesn't check the
3326         state. Now it's calling gtk_toggle_button_paint instead.
3327         
3328 2000-12-01  Havoc Pennington  <hp@redhat.com>
3329
3330         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
3331         dangling pointers to the appearance attributes from the 
3332         line display
3333
3334         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
3335         width/height to mean "full width/height of drawable"
3336
3337         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
3338         click to select word/line
3339         
3340         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
3341         when getting log attrs. Get a slice, so that pixmaps and stuff
3342         are properly handled.
3343
3344         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
3345         paste into the selection (replaces selection now, previously
3346         crashed or added to selection). Reveals longstanding btree bug -
3347         select multiple lines, middle-click on the selection, boom. This
3348         isn't related to my changes though.
3349
3350         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
3351         PangoLogAttrs changes
3352         (gtk_entry_move_backward_word): ditto
3353
3354         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
3355         functions return bool whether the iter moved onto a
3356         dereferenceable position.
3357  
3358         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
3359         functions for motion in terms of display lines.
3360
3361         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
3362         get the buffer a mark is inside
3363         
3364 2000-12-01  Alexander Larsson  <alexl@redhat.com>
3365
3366         * gdk/linux-fb/Makefile.am:
3367         * modules/linux-fb/Makefile.am:
3368         Freetype 2 final uses freetype-config
3369
3370         * gdk/linux-fb/gdkpango-fb.c:
3371         Upgrade to use Freetype 2 final.
3372         More flexible support for font aliases, this also fixes a bug with
3373         GtkFontSelector, as the aliases must be visible in the font/family list,
3374         or GtkFontSelector reads uninitialized memory.
3375
3376 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
3377
3378         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
3379         XGetIMValues to properly terminate variable argument list, and do
3380         NULL return check for ic_values and xim_styles.
3381
3382         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
3383         Restore preedit state after XmbResetIC().
3384         
3385         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
3386         XvaCreateNestedList() should take XvaNestedList, but not
3387         XvaNestedList*.
3388
3389         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
3390         preedit_draw_callback, preedit_caret_callback): Match
3391         "preedit-changed" signal name to "preedit_changed" to be
3392         consistent to the spec.
3393
3394         * gtk/gtkimcontextsimple.c (check_table):
3395         Match "preedit-changed" to "preedit_changed" to be consistent
3396         to the spec.
3397
3398 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
3399
3400         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
3401         gc->clip_region == NULL>
3402
3403 2000-11-30  Tor Lillqvist  <tml@iki.fi>
3404
3405         Changes by Hans Breuer:
3406         
3407         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
3408         Dont't use negative width and height as max_hints. This fixes
3409         Owen's recent testgtk changes for win32.
3410
3411         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
3412         gdk_win32_hdc_release): These are exported and may be called with
3413         other drawable types than our GdkDrawableImplWin32 (?).
3414
3415         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
3416         so always #define USE_BACKING_STORE.
3417
3418         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
3419         of printf for debugging output.
3420
3421         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
3422         
3423         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
3424
3425         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
3426         declaration.
3427
3428         * gtk/gtktexttypes.h: Ditto.
3429
3430         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
3431         (GDK_VoidSymbol) also if in case of arg check failure.
3432
3433         * gtk/gtkimcontextsimple.c
3434         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
3435         position to the pointer, but to the variable it points to.
3436
3437         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
3438
3439         * gtk/gtk.def: Updates.
3440
3441 2000-11-29  Elliot Lee  <sopwith@redhat.com>
3442
3443         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
3444         GTK_TYPE_TREE_MODEL.
3445
3446 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3447
3448         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
3449         Set the size of the font from the description.
3450         (gdk_text_width): Gross hack that calculates the width
3451         of text by text_length * size/2. This is necessary because
3452         GtkLabel does some ugly gtk_string_width call to calculate
3453         an good size.
3454         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
3455
3456 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
3457
3458         * docs/tutorial/gtk-tut.sgml: DND updates
3459
3460 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3461
3462         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
3463         If you pass width or height == 0 to gdk_window_clear_area they
3464         should be calculated from the window size.
3465
3466 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3467
3468         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
3469         a grab, but no grab-cursor, use the cursor from the grabbed
3470         window. (gdk_fb_window_send_crossing_events): Send normal
3471         enter/leave notifications if grab and owner_events == TRUE.
3472
3473 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3474
3475         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3476         Do implicit button grabs, even if the window doesn't
3477         want the event.
3478         (gdk_fb_window_send_crossing_events): If there is a
3479         grab, only the grabbed window gets normal enter/leave
3480         notifications. On ungrab go from grabbed window to current.
3481         Don't send any notification to b when propagating from c -> b.
3482         If setting a grab on window, don't set prev_window.
3483         (handle_mouse_input): Send enter/leave events to the window the
3484         mouse is over, not the grabbed one.
3485         
3486 2000-11-28  Elliot Lee  <sopwith@redhat.com>
3487
3488         * gdk/gdkregion-generic.c: Zap warning.
3489         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
3490         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
3491
3492 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
3493
3494         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3495         The cursor should be hidden if it is part of either the
3496         source or destination region. Not only if it is in both.
3497         (gdk_window_set_transient_for): Silence warnings.
3498
3499 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3500
3501         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
3502         The default mode in X is Pie Arcs, therefore that is
3503         what Gtk+ uses.
3504
3505 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3506
3507         * gdk/linux-fb/gdkinput-ps2.c:
3508         Implement correct EnterNotify/LeaveNotify:
3509         (gdk_fb_window_send_crossing_events): New function that sends
3510         all GdkCrossingEvents from the last mouse-window to the specified
3511         destination.
3512         (gdk_fb_window_visibility_crossing): Removed function.
3513         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
3514         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
3515         instead of gdk_window_get_pointer() for better readability.
3516
3517         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
3518         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
3519
3520         * gdk/linux-fb/gdkprivate-fb.h:
3521         removed gdk_fb_window_visibility_crossing, added
3522         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
3523
3524         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
3525         New function that finds the least common ancestor of two windows.
3526         (gdk_window_show, gdk_window_hide):
3527         Use gdk_fb_window_send_crossing_events.
3528         (gdk_fb_window_move_resize): Send configure events to toplevel
3529         windows. Use gdk_fb_window_send_crossing_events.
3530
3531 2000-11-27  Havoc Pennington  <hp@redhat.com>
3532
3533         * gtk/gtkprivate.h (enum): Remove a trailing comma
3534
3535 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
3536
3537         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
3538         the "changed" callback of the adjustment.  We need to redraw the
3539         spin button's arrows when the adjustment's range changes.
3540         (adjustment_changed_cb): Draw the arrows.
3541         (gtk_spin_button_value_changed): Draw the arrows.
3542
3543 2000-11-23  Alexander Larsson  <alexl@redhat.com>
3544
3545         * gdk/linux-fb/gdkselection-fb.c:
3546         Initial selection implementation.
3547
3548         * gtk/gtkselection.c:
3549         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
3550         requestor in gtk_selection_request.
3551         
3552         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
3553         Added gdk_selection_property atom.
3554
3555         * gdk/linux-fb/gdkprivate-fb.h:
3556         Export _gdk_selection_window_destroyed.
3557         Removed mask_off_x/y from GdkCursorPrivateFB.
3558         Removed hbearing, added top, left to PangoFBGlyphInfo.
3559
3560         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3561         Call _gdk_selection_window_destroyed
3562         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
3563         the root window has been created.
3564         (static_dx_hack, static_dy_hack, compare_draw_rects,
3565         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
3566         in region. They are already sorted. Instead just traverse them in
3567         reverse if draw_direction < 0.
3568         
3569         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3570         Double-clicks must be sent after the normal button_press.
3571         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
3572         
3573         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
3574         Pass _gdk_fb_screen_gc instead of NULL.
3575
3576         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
3577         Initialize gdk_selection_property.
3578         (gdk_event_make): Remove unused code.
3579
3580         * gdk/linux-fb/gdkcursor-fb.c:
3581         Make the pixmap for the cursor the same size as the mask. Also remove
3582         the mask_off_x/y fields in GdkCursorPrivateFB and combine
3583         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
3584         Now the whole cursor is visible.
3585
3586         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3587         Fix bug where xdest+height instead of ydest+height was used
3588         to calculate if the source and dest overlapped. This fixes the
3589         redraw bug when the main window in testgtk was scrolled when
3590         partially covered by a tall window.
3591         Copy rectangles in region in order depending on draw_direction.
3592         Also moved the draw_direction flipping of start_y and end_y into
3593         the gc functions, as this might not be what all of them want.
3594         (gdk_fb_draw_lines): Support dashed lines.
3595         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
3596         so that the text is positioned correctly (was 1 pixel high).
3597
3598         gdk/linux-fb/gdkgc-fb.c:
3599         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
3600         all lines were drawn a pixel to short. Also checked the default of
3601         the rest of the values, and they're the same as X now.
3602
3603         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
3604         Clean up pixel positioning of the glyphs. Just use bgy->top and
3605         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
3606         to all divisions to get correct rounding behaviour.
3607
3608         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
3609         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
3610         Moved start_y/end_y flip into draw_drawable implementations.
3611         Flip also x rendering when draw_direction < 0.
3612         Remove unneccesary multiply with draw_direction.
3613
3614 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
3615
3616         * docs/tutorial/gtk-tut.sgml:
3617           - get rid of gtk_toggle_button_toggled FUD
3618           - start DND section - needs work - based on:
3619                 http://wolfpack.twu.net/docs/gtkdnd/
3620
3621 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3622
3623         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3624         Correct calculation of font metrics. Now GtkEntrys have sane
3625         size.
3626
3627 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3628
3629         * gdk/gdktypes.h:
3630         Add new type GdkSpan
3631         
3632         * docs/reference/gdk/gdk-sections.txt,
3633         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
3634         gdk/gdkregion.h:
3635         Implement and document gdk_region_spans_intersect_foreach.
3636
3637         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
3638         Add new file gdkrender-fb.c which contains all core
3639         rendering code.
3640         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
3641         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
3642         (optimized rectangle fillers).
3643
3644         * gdk/linux-fb/gdkdrawable-fb2.c:
3645         Move all rendering code to gdkrender-fb.c.
3646         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
3647         Use the new span intersection functions in gdk_fb_fill_spans.
3648         gdk_fb_draw_rectangle() clips filled rectangles and calls
3649         gc->fill_rectangle with the result.
3650         gdk_fb_fill_spans() gets extra argument "sorted".
3651
3652         * gdk/linux-fb/gdkevents-fb.c:
3653         Remove unused includes and defines.
3654         New function gdk_fb_get_time() to get correct time for events.
3655
3656         * gdk/linux-fb/gdkinput-ps2.c:
3657         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
3658         Make sure to set the time of all events.
3659
3660         * gdk/linux-fb/gdkmain-fb.c:
3661         Use gdk_fb_get_time ().
3662
3663         * gdk/linux-fb/gdkprivate-fb.h:
3664         New virtual GC calls: fill_span & fill_rectangle.
3665         Export gdk_fb_get_time().
3666         gdk_fb_fill_spans() gets extra argument "sorted".
3667
3668         * gdk/linux-fb/mi*.c:
3669         Use GdkSpan instead of GdkRectangle.
3670         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
3671         from XFree 4 source)
3672         
3673 2000-11-22    <jrb@redhat.com>
3674
3675         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
3676         reversing the order in an if statement will do.  Doing so managed
3677         to make the treemodelsort half work.  Other half will follow after
3678         I get the insert function fully fixed.
3679
3680 2000-11-21  Elliot Lee  <sopwith@redhat.com>
3681         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
3682         more than 2 bits. Besides, I need to implement an evil hack. :)
3683
3684 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
3685
3686         * docs/tutorial/gtk-tut.sgml: minor corrections
3687
3688 2000-11-20  Jonathan Blandford <jrb@redhat.com>
3689         * gtk/gtktreemodelsort.h: Add convertion functions to let you
3690           convert to and from relative path's and iters.
3691
3692         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
3693           testing sorting functions a bit better.  Currently broken -- will
3694           fix in morning.
3695
3696 2000-11-20  Havoc Pennington  <hp@redhat.com>
3697
3698         * gtk/gtkwidget.c: Documented a bunch of functions in here
3699         (gtk_widget_realize): Warn if you try to realize
3700         a widget with no parent that isn't a toplevel
3701         (gtk_widget_intersect): return a gboolean
3702
3703 2000-11-20  Havoc Pennington  <hp@redhat.com>
3704
3705         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
3706         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
3707         scrolling to be implemented in GDK to finish. Also, right now
3708         we just size_allocate all children on every layout change,
3709         which is pretty lame. Test commented out of testtext.c, 
3710         until it works better.
3711
3712 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
3713
3714         * gdk/linux-fb/gdkdrawable-fb2.c:
3715         Removed unused arguments from gdk_fb_drawable_get_pixel().
3716
3717         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
3718         Renamed fidur specific mouse packet data in MouseDevice to
3719         generic. Used it in ps2 mouse handling code to avoid blocking
3720         reads.
3721
3722 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
3723
3724         * demos/gtk-demo/main.c: Changed to have the list become
3725         non-italic when the demo window is destroyed through an external
3726         event (like a close button).  Doing so found three bugs in the
3727         widget.
3728
3729         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
3730
3731         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
3732         we actually set the cell.
3733
3734         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
3735
3736         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
3737         free a leaked path.  Thanks memprof.
3738
3739 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
3740
3741         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
3742         off-by-one error when destroying allocated segments
3743         on failure. (Elliot)
3744
3745 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
3746
3747         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
3748         memleaks found by Evan Martin.
3749
3750 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
3751
3752         * Released 1.3.2
3753         
3754         * NEWS: Updates for 1.3.2
3755
3756 2000-11-17  Tor Lillqvist  <tml@iki.fi>
3757
3758         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
3759         but in general for window system specific events.
3760
3761         * gtk/gtk.def
3762         * gtk/makefile.mingw.in
3763         * gtk/makefile.msc.in: Update.
3764         
3765         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
3766
3767 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
3768
3769         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
3770         distribute gtk.immodules.
3771
3772         * gtk/Makefile.am (install-data-local): Don't install the
3773         gtk.immodules file created for the uninstalled modules;
3774         instead run gtk-query-immodules after install
3775
3776 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
3777
3778         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
3779         -rpath to the right install location.
3780
3781         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
3782         -export-dynamic.
3783
3784         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
3785         properly.
3786
3787 2000-11-15  Havoc Pennington  <hp@pobox.com>
3788
3789         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
3790         patch from Mikael Hermansson to temporarily stop blinking while
3791         the user is using the keyboard to type or navigate. 
3792
3793         Also, when blinking, stay on for longer than we stay off. Also,
3794         return from start_cursor_blink if !cursor_visible, to save
3795         checking that flag all over the place before we call
3796         start_cursor_blink.
3797
3798 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
3799
3800         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
3801         only contain a "fontset" line, which is now ignored.
3802
3803         * gtk/gtkentry.c (gtk_entry_button_release): Make 
3804         double-click-to-select-word work.
3805         
3806 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
3807
3808         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
3809         Don't move back one char when we are actually at the end of the 
3810         paragraph.
3811
3812 2000-11-15  Robert Brady  <robert@suse.co.uk>
3813
3814         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
3815         'o' < 'p'.
3816         
3817         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
3818         bind_textdomain_codeset.
3819
3820         (gtk_init_check): Make the warning about translating default:LTR
3821         sterner.
3822         
3823 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
3824
3825         * **/Makefile.am : remove unecessary rules for win32-specific
3826         config-substituted targets. If you want these rules, use
3827         --enable-maintainer-mode (called automatically by autogen.sh).
3828         Stops a lot of unneccessary make-time warnings.
3829
3830         * gtk/gtktext{layout,display}.c: Factor in total width as
3831         well as screen when figuring alignment for word-wrap as well as
3832         no wrap; this is necessary to handle lines that cannot be wrapped
3833         at all.
3834
3835 2000-11-15  Havoc Pennington  <hp@redhat.com>
3836
3837         * gtk/testtext.c: Implement essential color cycling feature
3838
3839 2000-11-15  Havoc Pennington  <hp@redhat.com>
3840
3841         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
3842         when we invalidate the main window.
3843
3844         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
3845         GtkTextView will now invalidate the side windows for us when text
3846         changes.
3847
3848 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
3849
3850         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
3851         unconditionally, since we may need to update the horizontal
3852         scrollbars even if the height didn't change.
3853
3854         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
3855         the extra attrs, since some of them affect size.
3856
3857         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
3858         x_offset correctly.
3859
3860 2000-11-15  Havoc Pennington  <hp@redhat.com>
3861
3862         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
3863         don't move the first line out into the margin, instead move the
3864         whole paragraph in order to make space for the first line within 
3865         the margin
3866
3867 2000-11-15  Havoc Pennington  <hp@redhat.com>
3868
3869         * gtk/gtktextview.c (changed_handler): offset redraw rect by
3870         xoffset in addition to yoffset, so horizontal scrolling doesn't
3871         break redraws
3872
3873 2000-11-15  Havoc Pennington  <hp@redhat.com>
3874
3875         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
3876         from the cursor
3877         (render_layout_line): fix reversed test that caused weird
3878         underlines to get drawn
3879
3880 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3881
3882         * gdk/linux-fb/gdkprivate-fb.h:
3883         Fix debug macros.
3884         
3885 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3886
3887         * gdk/linux-fb/gdkprivate-fb.h:
3888         Added virtual functions set_pixel, get_color,
3889         fill_span and draw_drawable to the GC.
3890         Added global _gdk_fb_screen_gc to use instead of
3891         NULL when drawing to the screen.
3892         Added _gdk_fb_gc_calc_state() prototype.
3893
3894         * gdk/linux-fb/gdkgc-fb.c:
3895         Call _gdk_fb_gc_calc_state() on any gc state change.
3896
3897         * gdk/linux-fb/gdkglobals-fb.c:
3898         Add _gdk_fb_screen_gc
3899                 
3900         * gdk/linux-fb/gdkdrawable-fb2.c:
3901         _gdk_fb_gc_calc_state() calculates best functions
3902         for the GC state and depth.
3903         Moved bpp specialized code to separate functions.
3904         Added optimized 24 bpp AA draw_drawable.
3905
3906         * gdk/linux-fb/gdkevents-fb.c:
3907         Silence gcc warning.
3908
3909         * gdk/linux-fb/gdkimage-fb.c:
3910         Use _gdk_fb_screen_gc
3911
3912         * gdk/linux-fb/gdkwindow-fb.c:
3913         Init and use _gdk_fb_screen_gc
3914
3915         * gdk/linux-fb/mitypes.h:
3916         Remove unused types.
3917
3918 2000-11-14  Havoc Pennington  <hp@pobox.com>
3919
3920         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
3921         to pixels
3922
3923 2000-11-14  Havoc Pennington  <hp@pobox.com>
3924
3925         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
3926
3927         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
3928         unknown char, no real reason we were using a variable. 
3929         Remove gtk_text_unknown_char variable. Fix all the text widget
3930         files accordingly.
3931
3932         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
3933         since the Unicode spec seems to prefer that character for our
3934         purposes.
3935
3936 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
3937
3938         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
3939         value of g_getenv() isn't freeable, so g_strdup it.
3940
3941         * modules/input/inuktitut.c: Inuktitut input method.
3942
3943         * modules/input/Makefile.am: Build this.
3944         
3945 2000-11-14  Elliot Lee  <sopwith@redhat.com>
3946
3947         * gtk/Makefile.am: Install gtk.immodules, needed for operation
3948         of gtk programs.
3949
3950 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
3951
3952         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
3953         reversed > that was causing Home to go to end of previous line.
3954
3955         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
3956         modified-keypresses (leave for bindings.)
3957
3958         * modules/input/Makefile.am: Remove useless -export-dynamic
3959         from module LDFLAGS.
3960
3961 2000-11-14  Havoc Pennington  <hp@redhat.com>
3962
3963         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
3964         higher.
3965
3966         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
3967         account. Also, render rise, underline, background, etc. for
3968         pixbufs as well as text. Also, draw underlines one pixel higher.
3969
3970         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
3971         PangoAttribute for the rise, so it gets drawn properly. Also,
3972         add the GtkTextAppearance attribute for pixbuf/widget segments
3973         as well; we should go ahead and have rise, underline, background,
3974         stipple work for those
3975
3976         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
3977         Pango
3978
3979 2000-11-15  Tor Lillqvist  <tml@iki.fi>
3980
3981         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
3982
3983         * gtk/gtk.def: Update.
3984
3985         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
3986         included.
3987         (gtk_rc_get_im_module_file): Use run-time installation directory
3988         on Win32.
3989
3990         * gdk/win32/rc/gdk.rc: Remove.
3991         * gdk/win32/rc/gdk.rc.in: New file.
3992         * gdk/win32/rc/Makefile.am: New file
3993         * gdk/win32/Makefile.am: Corresponding changes.
3994
3995         * gtk/gtk.rc: Remove.
3996         * gtk/gtk-win32.rc.in: New file.
3997         * gtk/Makefile.am: Corresponding changes.
3998
3999         * configure.in: Corresponding changes.
4000
4001         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
4002         has a built gtkcompat.h. Developers using CVS code on Win32 can
4003         hand-edit it from gtkcompat.h.in.
4004
4005         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
4006         gtkcompat.h from gtkcompat.h.win32.
4007
4008 2000-11-14  Havoc Pennington  <hp@redhat.com>
4009
4010         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
4011         to default to GDK_ACTION_MOVE if the drag is within a single
4012         widget. Defaults to GDK_ACTION_COPY between widgets.
4013
4014 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
4015
4016         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
4017
4018         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
4019
4020         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
4021         srcdir != builddir
4022
4023         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
4024
4025         * configure.in (GTK_VERSION): Up to 1.3.2
4026
4027         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
4028         gtkimcontextxim.h
4029
4030         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
4031         missing doc comment.
4032
4033 2000-11-14  Alexander Larsson  <alexl@redhat.com>
4034
4035         * modules/linux-fb/basic.c:
4036         Use the glib iconv wrappers.
4037
4038 2000-11-13  Havoc Pennington  <hp@pobox.com>
4039
4040         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
4041         still more bugs.
4042
4043         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
4044         scroll the GdkWindows before realization.
4045
4046 2000-11-13  Havoc Pennington  <hp@redhat.com>
4047
4048         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
4049         where GC didn't always get updated properly
4050
4051         * demos/gtk-demo/textview.c (create_tags): Use subattributes
4052         of fonts instead of setting the entire font
4053
4054         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
4055         setting entire font
4056
4057         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
4058
4059         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
4060         a bunch of individually-settable font attributes. You can still 
4061         use the "font" and "font_desc" args, they just set all the font
4062         attributes at once.
4063
4064 2000-11-13 Elliot Lee <sopwith@redhat.com>
4065
4066         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
4067
4068 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
4069
4070         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
4071         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
4072
4073         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
4074         work better.
4075
4076 2000-11-13  Havoc Pennington  <hp@redhat.com>
4077
4078         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
4079         the module file.
4080
4081         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
4082         dest->language
4083
4084         * gtk/testtext.c: Test pixels above/below/inside paragraphs
4085         settings
4086
4087         * gtk/gtktextview.c: Implement object args and setters/getters for
4088         all the aspects of the GtkTextAttributes that are not set from
4089         GtkWidget attributes. This is spacing, justification, margins,
4090         etc.
4091
4092         (gtk_text_view_set_arg)
4093         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
4094         args
4095         (gtk_text_view_class_init): Add args for justify, left_margin,
4096         right_margin, indent, and tabs
4097         
4098
4099         * gtk/gtktextlayout.c (set_para_values): fix to display indent
4100         attribute properly
4101
4102         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
4103         replace with indent attribute
4104
4105         * gtk/gtktextlayout.c (set_para_values): multiply indent by
4106         PANGO_SCALE
4107
4108         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
4109         rearranging code to do that
4110         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
4111         i.e. don't subtract the top_margin first, just to keep
4112         all margin-futzing in one place.
4113
4114         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
4115
4116         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
4117         special case of last line, Pango now handles this itself.
4118         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
4119         Y coordinate
4120         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
4121         (find_display_line_above): wasn't moving the byte index as it
4122         iterated over lines, so always returned byte 0. Also, port to use
4123         PangoLayoutIter.
4124         (find_display_line_below): same problem as
4125         find_display_line_above. Also, port to use PangoLayoutIter.
4126
4127 2000-11-13  Alexander Larsson  <alexl@redhat.com>
4128
4129         * gdk/linux-fb/*.[ch]:
4130         Massive reindent to gtk+ standard. My hands hurt.
4131
4132         * gdk/linux-fb/gdkcolor-fb.c:
4133         Move GdkColorPrivateFB from inherited to windowing_data
4134
4135         * gdk/linux-fb/gdkcursor-fb.c:
4136         _gdk_cursor_new_from_pixmap made static
4137
4138         * gdk/linux-fb/gdkdnd-fb.c:
4139         GdkDragContextPrivate moved to windowing_data
4140
4141         * gdk/linux-fb/gdkdrawable-fb2.c:
4142         Removed endian.h, use glib endianness macros instead
4143         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
4144         and GDK_DRAWABLE_IMPL_FBDATA
4145
4146         * gdk/linux-fb/gdkfont-fb.c:
4147         Add empty gdk_font_load(). Needed for linking of Gtk+.
4148
4149         * gdk/linux-fb/gdkimage-fb.c:
4150         Removed endian.h, use glib endianness macros instead
4151         Moved GdkImagePrivateFB to windowing_data
4152         gdk_image_new_bitmap didn't always allocate enough
4153         memory.
4154
4155         * gdk/linux-fb/gdkinput-ps2.c:
4156         Added semi-working support for MS serial mice.
4157
4158         * gdk/linux-fb/gdkprivate-fb.h:
4159         s/GdkWindowPrivate/GdkWindowObject/
4160         Removed GdkWindowPrivate typedef
4161         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
4162         Removed GDK_DRAWABLE_P
4163         Move GdkColorPrivateFB from inherited to windowing_data
4164         Moved GdkImagePrivateFB to windowing_data
4165
4166         * gdk/linux-fb/gdkvisual-fb.c:
4167         Removed some unused debug code.
4168
4169         * gdk/linux-fb/gdkwindow-fb.c:
4170         Use stock cursors instead of including X headers.
4171         s/GdkWindowPrivate/GdkWindowObject/
4172
4173         * gdk/linux-fb/mitypes.h:
4174         Removed unused types.
4175
4176         * modules/linux-fb/basic.c:
4177         Use the pango fribidi wrappers.
4178
4179 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4180
4181         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
4182         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
4183         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
4184         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
4185         GEqualFunc where applicable.
4186         
4187         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
4188         pango_font_description_equal as changed in pango.
4189         
4190         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
4191
4192         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
4193
4194         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
4195
4196         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
4197
4198         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
4199
4200         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
4201
4202         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
4203         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
4204
4205         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
4206         gtk_rc_styles_compare -> gtk_rc_styles_equal.
4207
4208 2000-11-12  Havoc Pennington  <hp@pobox.com>
4209
4210         * demos/gtk-demo/Makefile.am (democodedir): change demo install
4211         dir to datadir/gtk+-2.0/demo
4212
4213         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
4214         sorts of text widget and Pango font bugs. Urgh.
4215
4216         * demos/gtk-demo/Makefile.am (demos): Add textview.c
4217
4218         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
4219         tree that you should double click to see the demo. Fix 
4220         types of variables to reflect changed return values from 
4221         GtkTreeStore and GtkTreeViewColumn constructors.
4222
4223         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
4224         newly-created buffer to prepare for GObject semantics
4225
4226         * gtk/testtext.c: don't leak the buffer with GObject semantics
4227
4228         * gtk/testtextbuffer.c: ditto
4229         
4230 2000-11-12  Havoc Pennington  <hp@pobox.com>
4231
4232         Rename this testgtk to gtk-demo to avoid confusion, and 
4233         install it so people can use it as a supplement to 
4234         the documentation.
4235         
4236         * demos/gtk-demo: Moved from demos/testgtk
4237
4238         * demos/testgtk: Removed
4239
4240         * configure.in: make Makefile in gtk-demo
4241         
4242         * demos/gtk-demo/Makefile.am: Install sample source to 
4243         datadir/gtk-demo (maybe there's a better place?), and 
4244         rename the binary to gtk-demo
4245         
4246         * demos/gtk-demo/main.c (load_file): Load installed sample
4247         source if source isn't found in pwd.
4248
4249 2000-11-09  Havoc Pennington  <hp@pobox.com>
4250
4251         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
4252         argument to set the char displayed when visibility == FALSE
4253         (gtk_entry_create_layout): If !entry->visible, replace 
4254         all chars with the "invisible char"
4255
4256         * gtk/testgtk.c: Test the invisible_char deal
4257         
4258 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
4259
4260         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
4261         can't get a native font in the right encoding.
4262
4263 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
4264
4265         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
4266         respectively.
4267
4268 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
4269
4270         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
4271         Fix warning when moving between paragraphs.
4272
4273         * gtk/gtkentry.[ch]: Change move => move_cursor, 
4274         delete => delete_from_cursor, insert => insert_at_cursor
4275
4276 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
4277
4278         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
4279
4280         * modules/input/imthai-broken.c: A Thai input method for use if
4281         Thai keys are really generating Latin1 keysyms.
4282
4283         * modules/input/Makefile.am: Build these.
4284
4285 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
4286
4287         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
4288         g_filename_{to,from}_utf8 now takes an extra parameter.
4289
4290         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
4291         strftime into UTF-8.
4292
4293         (column_from_x, gtk_calendar_paint_day_names): Support RTL
4294         calendars.
4295
4296         (gtk_calendar_paint_day_names): Draw day names in the right 
4297         place.
4298         
4299 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
4300
4301         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
4302         problem with using result of g_get_charset() backwards -
4303         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
4304
4305         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
4306         negative min_width/height and max_width/height to
4307         mean "requisition"; this allows setting a window
4308         to be user-resizable in only one direction easily.
4309
4310         * gtk/testgtk.c (create_main_window): Remove hard-coded
4311         usize - set a default size in the vertical direction.
4312
4313 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
4314
4315         * gtk/gtkrange.c: Add some missing casts. Support 
4316         2 and 3 button clicks on the arrows to mean 
4317         "move by pages" and "jump to end". (Like gtkspinbutton)
4318
4319 2000-11-12 Hans Breuer <Hans@Breuer.Org>
4320
4321         * gdk/win32/makefile.msc : reflect build module changes
4322
4323         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
4324         from GdkPixmap*, cast implementation member instead.
4325
4326         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
4327         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
4328         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
4329         more Gdi functions return value checking. 
4330         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
4331         GdkImagePrivateWin32 *.
4332
4333         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
4334         menus useable again. Add #pragma message to keep reminded on this issue.
4335         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
4336         windows. This allows to enable backing store on Win32!
4337
4338         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
4339         in drawable is of impl type. Correct specific type checks appropriate.
4340  
4341         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
4342         GDK_WINDOW_DESTROYED before allocating new resources.
4343
4344         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
4345
4346         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
4347         (gdk_window_foreign_new) initialize parent handle.
4348         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
4349
4350         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
4351         Let the GDI invalidate the window on MoveWindow call to fix scrolling
4352         problems (e.g. main buttons in testgtk). 
4353
4354 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
4355
4356         * gtk/gtkentry.c (gtk_entry_key_press): Call 
4357         gtk_widget_activate for GDK_Return.
4358
4359         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
4360         of preedit cursor position.
4361
4362 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
4363
4364         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
4365         static.
4366
4367 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
4368
4369         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
4370         out support for multiple locales; that simple doesn't
4371         work reliably with current Xlib
4372
4373         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
4374         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
4375         Add support for positioning the cursor within the preedit string.
4376
4377 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
4378
4379         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
4380         at XIM input method module.
4381
4382         * gtk/gtktextview.c: Check for bindings after passing
4383         events to im context filter.
4384
4385 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
4386
4387         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
4388         empty attribute lists properly.
4389
4390 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
4391
4392         * gtk/queryimmodules.c (main): Return non-zero exit
4393         status if errors were encountered querying any
4394         modules.
4395
4396         * modules/input/Makefile.am (moduledir): remove
4397         leftover bin program target.
4398
4399         * docs/make-todo: Fix typo in error message.
4400
4401 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
4402
4403         * configure.in: Add modules/input/Makefile
4404
4405 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
4406
4407         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
4408         don't include gtkthemes.h.
4409
4410         * gtk/testgtk.c gtk/testtext.c: Set environment variables
4411         to point
4412
4413         * gtk/Makefile.am: Add new .c and .h files, build 
4414         gtk-query-immodules and use it to create a gtk.immodules
4415         file for use of test programs.
4416
4417         * gtk/gtkpreview.c: remove extra blank line.
4418
4419 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
4420
4421         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
4422         Add the ability to add extra tables beyond the default
4423         one, and also the ability to have compose sequences 
4424         that are prefixes of other compose sequences. 
4425
4426         * gtk/gtkimcontextsimple.c: Export a preedit string which
4427         consists of possible candidates for keystrokes that have
4428         been entered but not yet committed.
4429
4430         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
4431         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
4432
4433         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
4434         Add a function to add input-method switching menu items
4435         to a menu.
4436
4437         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
4438         when switching input methods.
4439
4440         * gtk/gtkimcontextsimple.[ch]: Change the format of
4441         the compose table to allow compose tables of different
4442         lengths / sequence.
4443
4444 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
4445
4446         * gtk/gtkimmodule.[ch]: Support routines for loading
4447         GtkIMContext implementations dynamically at runtime.
4448
4449         * modules/input/imcyrillic-translit.c: A sample input
4450         method (based on GtkIMContextSimple with an extra table),
4451         which demonstrates preedit strings and the module
4452         system for input modules
4453
4454         * gtk/queryimmodules.c: Program to query the available
4455         input modules and write the results into a file.
4456          
4457         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
4458         extra config options "im_module_file" (cache file for
4459         input method modules), and "im_module_path" - path
4460         to look for modules when generating cache file.
4461
4462         This doesn't scale.
4463
4464 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
4465
4466         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
4467         generic code from gtkthemes into a new abstraction
4468         GtkModule which has the logic for implementing
4469         a loadable module which implements a number of 
4470         GObject types.
4471
4472 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
4473
4474         * gtk/gtkeditable.[ch]: Convert GtkEditable from
4475         a class into an interface  
4476         
4477         * gtk/gtkoldeditable.[ch]: Move the old editable
4478         implementation into here, so legacy widgets can
4479         still rely on the implemenation. GtkOldEditable
4480         exports GtkEditable. Make selection handling
4481         code use new text conversion functions (and
4482         handle UTF-8 as a side-effect). Use GtkClipboard
4483         for CLIPBOARD.
4484
4485         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
4486         Adopt to match above changes.
4487
4488         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
4489         avoid GtkOldEditable implementation. Restructure
4490         to reduce number of places that modify state directly.
4491         Move to GtkBindingSet. Display the preedit string.
4492         Queue recomputation of PangoLayout and scroll position
4493         to improve effiency of doing complex changes naively.
4494         Add a menu with cut/copy/paste and input method selection.
4495
4496 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
4497
4498         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
4499         to set preedit string and attributes; display preedit string by
4500         inserting string and attributes at cursor when creating the
4501         GtkTextLineDisplay.
4502
4503         * gtk/gtktextlayout.c: Move all conversions between byte
4504         positions in PangoLayout and GtkTextIter into new functions
4505         line_display_iter_to_index/index_to_iter that properly
4506         handle the preedit string.
4507
4508         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
4509         it to return const char * (eventually will end up
4510         as GCONST char *, most likely.)
4511
4512         * gtk/gtktextview.[ch]: Handle the preedit string, call
4513         gtk_im_context_reset() as necessary, add a menu to switch
4514         input methods.
4515         
4516         * gtk/gtktextlayout.[ch]: Remove useless
4517         gtk_text_layout_get_log_attrs() function.
4518
4519 2000-11-11  Tor Lillqvist  <tml@iki.fi>
4520
4521         * gdk/gdk.def
4522         * gtk/gtk.def: Update.
4523
4524         * gdk/win32/*.c: Add last argument to g_type_register_static()
4525         calls.
4526
4527         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
4528
4529         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
4530         generated by older wheel mouse drivers. Get the correct y
4531         coordinate from WM_MOUSEWHEEL messages.
4532
4533         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
4534         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
4535         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
4536         Debugging functions.
4537
4538         * gdk/win32/gdkprivate-win32.h: Declare them.
4539
4540         * gdk/win32/gdkinput-win32.h: Add declaration for
4541         gdk_input_window_destroy().
4542
4543         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
4544
4545 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
4546
4547         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
4548         function to help handle keeping things in sync.
4549
4550 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
4551
4552         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
4553         BOXED marshallers.
4554
4555         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
4556         (gtk_list_store_class_init): use the new BOXED marshallers.
4557
4558         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
4559         new_with_values to new_with_types.
4560         (gtk_tree_store_get_column_type): add this.
4561         (gtk_tree_store_class_init): use the new BOXED marshallers.
4562
4563         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
4564         mirror some POINTER marshallers.
4565
4566 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
4567
4568         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
4569         allow more interesting iterators.  Also, made the lifecycle of
4570         iterators more explicit.
4571
4572         * gtk/gtktreemodelsort.[ch]: New model for sorting.
4573
4574         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
4575         types.
4576
4577 2000-11-09  Alexander Larsson  <alexl@redhat.com>
4578
4579         * demos/testgtk/menus.c:
4580         Changes to make the new testgtk compile after
4581         gtk_menu_append was removed.
4582
4583         * gdk/linux-fb/gdkdrawable-fb2.c
4584         (gdk_fb_get_depth, gdk_fb_get_visual,
4585         gdk_drawable_impl_fb_class_init): Implement
4586         these drawable functions. Now GtkImages work again.
4587
4588         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
4589
4590         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
4591         
4592         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
4593         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
4594         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
4595         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
4596
4597 2000-11-08  Havoc Pennington  <hp@pobox.com>
4598
4599         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
4600         visible_set args, don't know where these had gone, I thought they
4601         used to be there
4602
4603         * gtk/testtext.c: Add a menu item to apply invisibility tag;
4604         now we can test the feature and see that it's totally broken.
4605
4606 2000-11-08  Havoc Pennington  <hp@pobox.com>
4607
4608         Make DND copy pixbufs and tags when source and target share a 
4609         tag table.
4610         
4611         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
4612         in-process GTK_TEXT_BUFFER_CONTENTS target
4613         (gtk_text_view_drag_data_received): Paste from
4614         GTK_TEXT_BUFFER_CONTENTS if we receive it.
4615
4616 2000-11-08  Alexander Larsson  <alexl@redhat.com>
4617
4618         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
4619         API changes.
4620
4621         * gtk/gtkmenu.c: Add support for scrolling menus.
4622         Remove gtk_menu_append/prepend/insert, these have been moved to
4623         gtkcompat.h as #defines.
4624
4625         * gtk/gtkcompat.h.in:
4626         Add compatibility #defines for gtk_menu_append/prepend/insert
4627
4628         * gtk/gtkmenu.h: Add data needed for scrolling menus.
4629         GtkMenuPositionFunc gets an extra argument push_in.
4630         gtk_menu_append/prepend/insert removed.
4631         
4632         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
4633         positioning behaviour to fit to scrolling menus.
4634
4635         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
4636         into menuitem->submeny. That is wrong, and broke torn
4637         off submenus of torn off menus, since they were unrealized
4638         when the first menu was unrealized.
4639
4640         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
4641         gtk_menu_shell_select_item() since these need to be overridden in
4642         GtkMenu.
4643
4644         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
4645         positioning behaviour to fit to scrolling menus.
4646         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
4647         the current item so that it is prelighted when the menu pops up.
4648         This is a workaround to the fact that the menu doesn't get the
4649         initial enter event (due to grabs).
4650
4651         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
4652         s/gtk_menu_append/gtk_menu_shell_append/
4653
4654         * gtk/gtknotebook.c:
4655         s/gtk_menu_insert/gtk_menu_shell_insert/
4656
4657         * gtk/testgtk.c (create_menu, create_menus):
4658         Create the first menu with 50 items so that menu scrolling
4659         can be tested.
4660         
4661         
4662         Patch from Jonathan Blandford  <jrb@redhat.com>
4663
4664         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
4665         system to handle size requests.  First, we ask what the size of
4666         the toggle is.  Then, when allocating the size, we allocate the
4667         toggle_size first.  This way we can have multiple menu-item
4668         classes w/o needing a seperate class for each.
4669
4670         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
4671         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
4672
4673         * gtk/gtkcheckmenuitem.c
4674         (gtk_check_menu_item_toggle_size_request): New function to handle
4675         the toggle size-request.
4676
4677 2000-11-07  Havoc Pennington  <hp@redhat.com>
4678
4679         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
4680         Half-ass somewhat fix this function, so that scrolling to the
4681         insertion point works. Pango hacking is in the future to really
4682         fix it.
4683
4684         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
4685         length of data, no longer used.
4686
4687         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
4688         method contents in here, get rid of destroy method
4689         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
4690         that were backward. Remove debug spew.
4691         (cut_or_copy): Make the clipboard work with insert_range to
4692         preserve tags and pixbufs, not just the primary selection.
4693
4694 2000-11-07  Havoc Pennington  <hp@redhat.com>
4695
4696         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
4697         to gtk_text_mark_get_visible
4698
4699         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
4700         bug that was generating an invalid iterator
4701
4702         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
4703         ensure_char_offsets() in front of code placing the iter in an
4704         invalid state.
4705
4706         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
4707         make override_location arg const
4708         (paste): Replace the selection if we paste into the 
4709         current selection
4710
4711         * gtk/gtkselection.h: Remove "GtkSelectioData"
4712         (struct _GtkSelectionData): move the definition here.
4713
4714         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
4715         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
4716
4717         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
4718
4719         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
4720         (gtk_text_buffer_insert_range_interactive): implement
4721         (gtk_text_buffer_get_tags): Remove, replaced by
4722         gtk_text_iter_get_tags()
4723
4724         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
4725         limit parameter, to avoid infinite linear scan.
4726         (gtk_text_iter_backward_search): Add search limit
4727         (gtk_text_iter_forward_find_char): Add search limit
4728         (gtk_text_iter_backward_find_char): Add search limit
4729
4730 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
4731
4732         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4733         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
4734         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
4735         gdk/linux-fb/gdkwindow-fb.c:
4736         use g_object_new() instead of g_type_create_instance() which
4737         is a private function for fundamental type implementations.
4738
4739         * gdk/linux-fb/gdkinput-ps2.c:
4740         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
4741         instead just store the current modifier state. Add a (somewhat broken)
4742         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
4743         Rename exported function gdk_input_ps2_get_mouseinfo to
4744         gdk_input_get_mouseinfo.
4745
4746         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
4747         gdk/linux-fb/gdkwindow-fb.c:
4748         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
4749         
4750
4751 2000-11-02  Havoc Pennington  <hp@redhat.com>
4752
4753         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
4754         use stock buttons. Should be 100% source compatible, appropriate
4755         filesel fields now point to dialog->vbox and dialog->action_area.
4756         On the bizarre side, dialog->action_area and filesel->action_area
4757         are not the same widget.
4758         (gtk_file_selection_init): Put some padding around the selection
4759         entry, so it isn't touching the GtkDialog separator.    
4760
4761         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
4762         use stock buttons, etc. Should also be source compatible.
4763         Set the dialog default title in _init not _new().
4764         
4765         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
4766         Use stock buttons; don't put a button box inside the existing
4767         dialog button box. Don't bother with push/pop colormap anymore.
4768
4769         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
4770         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
4771         for message dialog, and necessary for the font selection and color
4772         selection with help and apply buttons.
4773         
4774         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
4775         to the created button widget. Set GTK_CAN_DEFAULT on the button.
4776         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
4777         between buttons, put less padding around the action area.
4778         (gtk_dialog_run): Exit on unmap rather than on destroy. 
4779         This will also exit the loop if the widget is hidden.
4780         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
4781         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
4782         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
4783         special-case delete event.
4784
4785         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
4786         formatting
4787         
4788 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
4789
4790         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
4791         button to temporarily disable position recording in the
4792         "saved position" test.
4793
4794 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
4795
4796         * gtk/gtkthemes.c: added compat code that temporarily implements
4797         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
4798         going to be revamped by owen's upcoming GtkModule patches, but
4799         untill then people want gtk to build, right? ;)
4800
4801 2000-11-04  Havoc Pennington  <hp@pobox.com>
4802
4803         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
4804         list
4805
4806         * docs/Changes-2.0.txt: Add note about
4807         gtk_container_get_toplevels()
4808
4809         * gtk/gtktextview.h: formatting
4810         
4811         * gtk/gtktextview.c: don't start descriptions with "Returns",
4812         confuses gtk-doc
4813
4814 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
4815
4816         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
4817         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
4818
4819 2000-11-03  Havoc Pennington  <hp@redhat.com>
4820
4821         * gtk/gtktexttagtable.c: Docs
4822         (gtk_text_tag_table_size): return a signed int
4823
4824         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
4825         (gtk_text_tag_event): make the event_object a GObject
4826
4827         * gtk/gtktextview.c: Write API docs for all functions.
4828
4829         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
4830         for gtk_text_view_get_window_type() called on one of the private
4831         windows.
4832
4833         * gtk/gtktextview.c: Instead of accessing text_view->buffer
4834         directly, call get_buffer() which demand-creates a default
4835         buffer. So gtk_text_view_new() can be used to create a view with a
4836         default buffer in it, if you just want an empty text box users can
4837         put data in. Useful for GUI builders also.
4838
4839 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
4840
4841         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
4842         the charset encodign portion MUST be in lowercase.
4843         * gtk/gtkrc.az: added file for Azeri language
4844
4845 2000-11-03  Havoc Pennington  <hp@redhat.com>
4846
4847         Get widgets working on the btree/buffer side. Display of them 
4848         still doesn't work.
4849         
4850         * gtk/gtktextview.c: start implementing child widget stuff
4851
4852         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
4853
4854         * gtk/gtktextlayout.c: handle embedded widgets
4855
4856         * gtk/gtktextdisplay.c: handle embedded widgets
4857
4858         * gtk/gtktextchild.c: Implement all the child anchor goo
4859
4860         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
4861         function
4862
4863         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
4864         (insert_pixbuf_or_widget_segment): abstract out common portions of 
4865         creating a child anchor or a pixbuf segment.
4866         (gtk_text_btree_create_child_anchor): new function
4867         (gtk_text_btree_unregister_child_anchor): new function
4868
4869         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
4870         allocate_child signal on GtkTextLayout
4871
4872         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
4873         values
4874         (gtk_text_iter_get_child_anchor): new function
4875
4876         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
4877         default handler for the changed signal, which calls
4878         gtk_text_buffer_set_modified(), instead of just always emitting
4879         changed then calling set_modified() manually. I guess this is
4880         maybe more flexible. It seems logical.
4881
4882 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
4883
4884         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
4885         now.
4886
4887         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
4888
4889 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
4890
4891         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
4892         been marked static.
4893
4894 2000-11-02  Havoc Pennington  <hp@redhat.com>
4895
4896         * gtk/testgtk.c (create_labels): had a test backward
4897
4898         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
4899         fields, so the dest GC ends up with the correct clip origin, 
4900         etc. Fixes a bug where colored labels didn't redraw 
4901         properly.
4902
4903 2000-11-02  Alexander Larsson  <alexl@redhat.com>
4904
4905         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4906         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
4907         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
4908         Add last argument to t_type_register_static call.
4909         
4910         * gdk/linux-fb/gdkdrawable-fb2.c:
4911         Add last argument to t_type_register_static call.
4912         export the get_image drawable virtual function.
4913
4914         * gdk/linux-fb/gdkimage-fb.c:
4915         Add last argument to t_type_register_static call.
4916         rename gtk_image_get to _gdk_fb_get_image and
4917         export it for use by gdkdrawable-fb2.
4918
4919         * gdk/linux-fb/gdkprivate-fb.h:
4920         export _gdk_fb_get_image.
4921
4922         * gdk/linux-fb/gdkselection-fb.c:
4923         Add new api call stubs.
4924
4925         * gtk/Makefile.am:
4926         Missing ( in linux-fb part.
4927
4928         * modules/linux-fb/Makefile.am:
4929         Must link with gdk_pixbuf or get unresolved symbol.
4930
4931 2000-11-01  Havoc Pennington  <hp@pobox.com>
4932
4933         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
4934         GTK_TYPE_TEXT_ITER and BOXED marshallers
4935
4936         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
4937
4938         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
4939         
4940         * gtk/gtk-boxed.defs: add GtkTextIter
4941
4942         * gtk/gtkmarshal.list: Add marshallers for text widget that 
4943         properly use OBJECT and BOXED
4944
4945 2000-11-01  Havoc Pennington  <hp@redhat.com>
4946
4947         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
4948
4949         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
4950         before returning it. 
4951         
4952 2000-11-01  Havoc Pennington  <hp@redhat.com>
4953
4954         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4955         Clip the rectangle to be rendered to the drawable, since
4956         get_from_drawable() requires a region within the drawable
4957
4958 2000-11-01  Havoc Pennington  <hp@redhat.com>
4959
4960         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
4961         from coordinates.
4962
4963 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
4964
4965         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
4966         it isn't NULL.
4967
4968 2000-11-01  Havoc Pennington  <hp@pobox.com>
4969
4970         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
4971         on a label
4972         (gtk_label_finalize): unref the attr list if any.
4973
4974         * gtk/testgtk.c (create_get_image): close test on second click
4975         (make_message_dialog): close dialog if it exists
4976
4977         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
4978
4979         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
4980         gdk-pixbuf
4981
4982         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
4983         from Pango markup format
4984         (gtk_label_set_markup_with_accel): ditto but with accelerator
4985         parsing
4986
4987         * gtk/gtkimage.c (gtk_image_expose): reformatting.
4988
4989         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
4990         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
4991         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
4992         call gdk_window_get_origin().
4993
4994         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4995         implement GDK_PIXBUF_ALPHA_FULL
4996         
4997 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
4998
4999         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
5000         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
5001         g_signal_handlers_disconnect_matched to block/unblock and disconnect
5002         multiple handlers respectively, instead of only treating the
5003         first handler found (bug reported by owen).
5004
5005 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
5006
5007         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
5008
5009         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
5010
5011         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
5012         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
5013         gtk/gtktreeviewcolumn.h: Fixed inline docs.
5014
5015         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
5016         widget.  Needs writing someday.
5017
5018         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
5019         the docs.
5020
5021 2000-10-30  Havoc Pennington  <hp@redhat.com>
5022
5023         * gtk/gtktextview.h, gtk/gtktextview.c:
5024         Rename delete_at_cursor delete_from_cursor, and 
5025         move to move_cursor.
5026
5027 2000-10-30  Havoc Pennington  <hp@redhat.com>
5028
5029         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
5030         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
5031         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
5032         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
5033         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
5034         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
5035         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
5036         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
5037         gtktexttypes.h, gtktextview.c, gtktextview.h:
5038
5039         Massive reindentation and reformatting. Arg alignment and comments
5040         still need fixing in various places.
5041
5042 2000-10-30  Havoc Pennington  <hp@redhat.com>
5043
5044         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
5045         to be named insert_at_cursor and delete_at_cursor so C++ can
5046         handle them.
5047
5048 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5049
5050         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
5051         to get a double directory separator in case the home directory
5052         ends with one. This would cause trouble especially on Windows,
5053         where the path will be confused with the syntax for an an UNC
5054         (network share) path \\server\share\path.
5055         (gtk_rc_add_initial_default_files): Ditto.
5056
5057 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
5058
5059         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
5060
5061         * gtk/gtktextview.c: Use correct marshallers.
5062
5063 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
5064
5065         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
5066         use new iter stuff, and added all the appropriate signals et al.
5067
5068         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
5069         code is internal to gtk only.
5070
5071 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5072
5073         * gtk/gtk.def
5074         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
5075         glib-genmarshal etc.
5076
5077 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
5078
5079         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
5080         parallel builds.
5081
5082 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
5083
5084         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
5085
5086 2000-10-27  Robert Brady  <robert@suse.co.uk>
5087
5088         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
5089         en_GB (British), ia (Interlingua).
5090
5091 2000-10-26  Havoc Pennington  <hp@redhat.com>
5092
5093         * gtk/gtktextiter.c (my_strrstr): fix constness warning
5094
5095         Fixed output of:
5096         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
5097         
5098         * gtk/gtktextsegment.c (char_segment_new): rename
5099         (_char_segment_new_from_two_strings): rename
5100         (_toggle_segment_new): rename
5101         
5102         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
5103         (make_clipboard_widget): make it static
5104         (text_get_func): static
5105         (text_clear_func): static
5106
5107         * gtk/gtkcolorsel.c (adjustment_changed): make this function
5108         static
5109         (hex_changed): make it static
5110         (hsv_changed): make it static
5111         (opacity_entry_changed): make it static
5112
5113         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
5114         (toggle_segment_check_func): rename with _gtk
5115
5116         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
5117         (_widget_segment_new): rename
5118         (_widget_segment_add): rename
5119         (_widget_segment_remove): rename
5120         (_widget_segment_ref): rename
5121         (_widget_segment_unref): rename
5122
5123         * gtk/gtktextmark.c (_mark_segment_new): Rename
5124         _gtk_mark_segment_new   
5125
5126 2000-10-26  Havoc Pennington  <hp@redhat.com>
5127
5128         * gtk/gtkmarshal.list: add new marshallers used by the text widget
5129         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
5130         types
5131
5132         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
5133         marshaller types
5134
5135         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
5136         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
5137         license on these files.
5138
5139         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
5140         work.
5141
5142         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
5143         runtime random number different for each tree, instead of 
5144         a constant I made up.
5145
5146 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
5147
5148         * gtk/Makefile.am: buncha cleanups, kludged build sources
5149         dependencies with a Makefile: oldest-source-stamp dependancy
5150         for the moment. automake is really fighting us here, with
5151         intentionally not allowing user-defined rules or dependancies
5152         prior to it's -include $(DEP_FILES) statement. sucks rocks!
5153
5154         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
5155         to public headers. tehy have a comment stating that they are
5156         "semi-public" aren't included by gtk.h and if enums popup there,
5157         they can be /*< skip >*/-ed.
5158
5159         * gtk/gtktextlayout.h: 
5160         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
5161         added LGPL... <SIGH>
5162
5163 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
5164
5165         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
5166         GtkTreeIter.  Added iterators everywhere.
5167
5168         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
5169
5170         * gtk/gtktreeviewselection.c: Changed to use the iterators.
5171
5172         * gtk/gtktreestore.c: Changed to use the iterators.
5173
5174         * gtk/gtkliststore.c: Commented out the code.  Will convert to
5175         iterators tomorrow.
5176
5177         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
5178         iterators tomorrow.
5179
5180         * gtk/treestoretest.c: Changed to use iterators.
5181
5182         * demos/testgtk/main.c: Moved to use the new iterator system.
5183
5184 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
5185
5186         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
5187         localization misbehaviour.
5188
5189         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
5190         a useless type without copy/free.
5191
5192         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
5193         of GTK_TYPE_CTREE_NODE.
5194
5195 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
5196
5197         * gtk/gtksignal.c:
5198         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
5199         applicable.
5200
5201         * gtk/gtk-boxed.defs (GtkSelectionData): specify
5202         gtk_selection_data_copy and gtk_selection_data_free
5203         do GtkSelectionData work as params in signals.
5204
5205 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
5206
5207         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
5208         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
5209         couldn't they at least give it a non-standard name?
5210         
5211         * gtk/gtktextlayout.c: arg! yet another implementation of
5212         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
5213
5214         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
5215         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
5216         home. now i know this _is_ a conspiracy.
5217
5218         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
5219         ::state-changed.
5220
5221         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
5222         (gtk_accel_group_create_add): marshaller signature fixups.
5223
5224         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
5225         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
5226
5227         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
5228         anymore.
5229
5230 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
5231
5232         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
5233         due to the signal system changes, it wouldn't build currently. to
5234         be fixed soon.
5235
5236         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
5237
5238         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
5239         so it needs gtk_marshal_VOID__ENUM() instead of
5240         gtk_marshal_NONE__UINT().
5241
5242         * gdk/gdk*.c: adapted type registration functions.
5243
5244         * gtk/gtkbindings.c:
5245         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
5246         gone.
5247
5248         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
5249
5250         * gtk/gtkobject.c:
5251         (gtk_object_destroy):
5252         (gtk_object_shutdown): fixed recursion guards. basically we have to
5253         catch the case where any of GObject.shutdown() or gtk_object_destroy()
5254         is called during ::destroy, and avoid recursion there.
5255
5256         * gtk/gtktypeutils.c:
5257         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
5258         boxed_copy/boxed_free. this needs a more general solution based on a
5259         publically installed code-generator utility.
5260
5261         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
5262         glib's gobject has support for that now.
5263         define GtkSignalMarshaller in terms of GSignalCMarshaller.
5264
5265 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
5266
5267         * gtk/gtksignal.[hc]:
5268         * gtk/gtkmarshal.[hc]:
5269         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
5270         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
5271         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
5272         care of that.
5273
5274         * *.c: marshaller name fixups.
5275
5276         * gtk/gtkmarshal.list: added a comment briefing the format.
5277
5278 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
5279
5280         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
5281         compatibility macros here now. more specifically, most of
5282         the API is preserved (yes, _most_, nonwithstanding the
5283         following exceptions listed, the API is stil lHUGE ;)
5284         things that got removed completely:
5285         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
5286         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
5287         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
5288         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
5289         gtk_signal_remove_emission_hook().
5290         non-functional functions variants:
5291         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
5292         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
5293         not supported anymore.
5294         (gtk_signal_compat_matched): new internal function to aid
5295         implementation of the compatibility macros, it  provides
5296         functionality to block/unblock/disconnect handlers based
5297         on func/data.
5298
5299         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
5300
5301         * *.c: adaptions to new type registration API signatures.
5302
5303 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
5304
5305         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
5306
5307 2000-10-25  Robert Brady  <robert@suse.co.uk>
5308
5309         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
5310         gdk_property_delete): If window == NULL, assume the root window.
5311         (restoring the behaviour that was in 1.2).
5312         
5313         * gtk/testtext.c (save_buffer): Allow creation of new files when
5314         saving.
5315
5316         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
5317         calls to read().
5318
5319 2000-10-25  Tor Lillqvist  <tml@iki.fi>
5320
5321         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
5322
5323         * gdk/win32/gdkdrawable-win32.c
5324         * gdk/win32/gdkimage-win32.c
5325         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
5326         X11 backend.
5327
5328         * gdk/win32/gdkcc-win32.c
5329         * gdk/win32/gdkcolor-win32.c
5330         * gdk/win32/gdkfont-win32.c
5331         * gdk/win32/gdkinput-win32.c
5332         * gdk/win32/gdkmain-win32.c
5333         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
5334
5335 2000-10-24  Havoc Pennington  <hp@redhat.com>
5336
5337         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
5338         it a static function
5339
5340         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
5341         redraw text when a tag is applied to it.
5342
5343         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
5344         (gtk_text_tag_affects_nonsize_appearance): private functions to
5345         see if a tag requires various kinds of redraw/layout to be queued
5346         up.
5347
5348         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
5349
5350         * gtk/testtext.c (fill_example_buffer): Put the cursor 
5351         at the start of the buffer, so search works by default
5352
5353         * gtk/gtktextiter.c (lines_match): init match_start always
5354
5355         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
5356         function, get iter at a line + a byte index
5357
5358         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
5359         to set byte position within a line
5360         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
5361
5362 2000-10-23  Havoc Pennington  <hp@redhat.com>
5363
5364         * gtk/testtext.c: Re-enable the "find" dialog
5365
5366         * gtk/testgtk.c: Add test for gdk_drawable_get_image
5367         
5368         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
5369         the arguments to gdk_draw_drawable were in the wrong order
5370         (gdk_window_paint_init_bg): This function was ignoring the
5371         init_region, instead of clipping to it, so the entire backing
5372         pixmap was cleared on every begin_paint()
5373         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
5374         was in here again, the loop kept using the same GtkWindowPaint
5375         over and over.
5376         (gdk_window_begin_paint_region): Fix a bug where we had two
5377         x_offset instead of x_offset and y_offset
5378
5379         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
5380         before we get the image.
5381         (gdk_draw_drawable): get the composite before we draw the drawable.
5382         (gdk_drawable_real_get_composite_drawable): default
5383         get_composite_drawable implementation that returns the drawable 
5384         itself
5385
5386         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
5387         get_composite_drawable virtual function
5388
5389         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
5390         list-walking bug
5391
5392         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
5393         make this work if the source drawable is a GdkDrawableImplX11
5394         instead of a public drawable type. This is really broken; the
5395         problem is that GdkDrawable needs a virtual method get_xid(), but
5396         of course that doesn't work in practice. Enter RTTI.
5397
5398         Also, improve mismatched depth message.
5399
5400         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
5401         GdkPixmap
5402
5403         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
5404         install _gdk_x11_get_image as our implementation of get_image
5405         
5406         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
5407         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
5408
5409         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
5410         gdk_drawable_get_image
5411
5412         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
5413
5414         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
5415         get_image
5416
5417         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
5418         trailing semicolon after for loop
5419
5420 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
5421
5422         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
5423         where font_desc for widget's context lagged widget's font_desc by
5424         one step.
5425
5426 2000-10-22  Tor Lillqvist  <tml@iki.fi>
5427
5428         * gdk/win32/gdkgc-win32.c
5429         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
5430
5431         * gtk/makefile.mingw.in
5432         * gtk/gtk.def: Updates.
5433
5434         * gtk/testgtk.c: sleep() is called _sleep in MS's C
5435         library.
5436
5437         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
5438
5439         * gtk/makefile.msc: Remove
5440
5441         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
5442
5443         * gtk/Makefile.am: Add it.
5444
5445         * configure.in: Generate it.
5446
5447         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
5448         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
5449         something even if not implemented, to satisfy picky MSVC.
5450
5451         Patches by Hans Breuer:
5452         
5453         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
5454         SetBkMode() and SetTextAlign() before calling
5455         pango_win32_render().
5456
5457         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
5458         Set hcliprgn to NULL after destroying it.
5459         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
5460
5461         * gdk/win32/gdkgeometry-win32.c
5462         (_gdk_windowing_window_queue_antiexpose): More effective
5463         implementation.
5464
5465         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
5466         depth as default, not the visual's.
5467
5468         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
5469         against empty title.
5470
5471         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
5472         IMAGE_PRIVATE_DATA.
5473
5474         * gdk/win32/gdkimage-win32.c: Use it.
5475
5476 2000-10-22  Robert Brady  <robert@suse.co.uk>
5477
5478         * configure.in: Check for bind_textdomain_codeset
5479
5480         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
5481         present, make use of it.
5482
5483         Add a translatable string "default:LTR" which, if translated
5484         to "default:RTL", will cause the default direction to be
5485         Right-to-Left.
5486
5487         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
5488         direction if marked as flippable.
5489
5490         * gtk/gtkhscale.c: Mark widget as flippable.
5491         
5492 2000-10-04  Havoc Pennington  <hp@redhat.com>
5493
5494         * gtk/testgtk.c (create_buttons): create some stock buttons
5495         with the default accel group
5496         (create_image): test some new GtkImage features
5497         (make_message_dialog): test GtkMessageDialog
5498         (create_modal_window): fix someone's bizzarro indentation
5499
5500         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
5501         GTK_WIN_POS_CENTER_ON_PARENT. 
5502         Add "destroy with parent" setting, which means the window goes
5503         away with its transient parent.
5504         (gtk_window_get_default_accel_group): get the default accel group
5505         for the window.
5506         (gtk_window_set_destroy_with_parent): set/unset destroy with
5507         parent flag
5508         (gtk_window_read_rcfiles): invalidate icon set caches
5509         after reloading rcfiles 
5510
5511         * gtk/gtkenums.h (GtkWindowPosition): add
5512         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
5513         on its parent window when the dialog is mapped for the first time.
5514
5515         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
5516         a simple message dialog class
5517         
5518         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
5519         handler to emit response signal, and maybe later it would
5520         honor a hide_on_delete flag - though that isn't there yet.
5521         Set border width on the vbox to 2, so we get some padding.      
5522         Use a button box for the action area.
5523         (gtk_dialog_key_press): synthesize a delete event if Esc
5524         is pressed and the GtkWidget key press handler didn't 
5525         handle the escape key.
5526         (gtk_dialog_new_with_buttons): new function creates a dialog
5527         with some default buttons in it.
5528         (gtk_dialog_add_action_widget): add an activatable widget
5529         as a button in the dialog - you can also add a non-activatable
5530         widget by accessing the action area directly.
5531         (gtk_dialog_add_button): add a simple button - stock ID or 
5532         label - to the action area
5533         (gtk_dialog_response): emit response signal
5534         (gtk_dialog_run): block waiting for the dialog, return 
5535         the response. Override normal delete_event behavior, so that 
5536         delete_event does nothing inside gtk_dialog_run().
5537
5538         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
5539         emitted when an action widget is clicked or the dialog gets
5540         delete_event
5541
5542         * gtk/gtk.h: add gtkmessagedialog.h
5543
5544         * gtk/Makefile.am: add gtkmessagedialog.[hc]
5545
5546 2000-10-18  Havoc Pennington  <hp@redhat.com>
5547
5548         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
5549         where any number of empty lines would get skipped
5550
5551         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
5552         edge.
5553
5554         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
5555         warning about invalid iterators (explain more thoroughly)
5556         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
5557
5558         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
5559         big
5560
5561         * demos/*.c: Add error handling
5562
5563         * gtk/gtktextbuffer.c: don't modify const iterators
5564
5565         * gtk/gdk-pixbuf-loader.c: Add full error handling here
5566
5567         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
5568         on file load
5569
5570         * gtk/gtkiconfactory.c: Update to reflect addition of error
5571         handling to gdk-pixbuf loaders
5572
5573 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
5574
5575         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
5576         move to new modularized testgtk.
5577
5578 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
5579
5580         * gtk/gtktreeview.c: Draw the arrows correctly.
5581
5582         * gtk/gtktreemodel.c: Added user docs.
5583
5584         * gtk/gtk.h: remove gtktreedatalist.h.
5585
5586         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
5587         parent when generating my type.
5588
5589         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
5590         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
5591
5592 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5593
5594         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
5595         GtkTreeModel from object to interface.
5596
5597 2000-10-16  Havoc Pennington  <hp@redhat.com>
5598
5599         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
5600         compilation
5601
5602 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5603
5604         * gtk/gtktreeselection.c: Add API documentation to all public
5605         functions.
5606
5607         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
5608         functions.
5609
5610 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
5611
5612         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
5613         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
5614         docs to all public functions.
5615
5616         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
5617         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
5618         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
5619         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
5620         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
5621         issue.
5622
5623 2000-10-14  Robert Brady  <robert@suse.co.uk>
5624
5625         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
5626
5627 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
5628
5629         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
5630         values other then G_TYPE_STRING.
5631         * gtk/gtktreeselection.c: Minor commenting updates.
5632         * gtk/gtktreeview.c: Format updates.
5633
5634 2000-10-09  Tor Lillqvist  <tml@iki.fi>
5635
5636         * README.win32: Update.
5637
5638         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
5639         lines that had been deleted by mistake (?).
5640
5641         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
5642         also the case fg==white and bg==black (but still not randomly
5643         coloured cursors). Thanks to Wolfgang Sourdeau.
5644
5645         * gdk/win32/*.c: Silence gcc -Wall.
5646
5647         * gtk/gtk.def: Add missing entry points.
5648
5649         Fixes by Hans Breuer:
5650
5651         * gdk/makefile.msc
5652         * gdk/win32/makefile.msc: Update.
5653
5654         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
5655         some MSVC thing, presumably), cause breakpoint on failures. Add
5656         GDK_NOR case. Call g_log_set_always_fatal.
5657
5658         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
5659         should be pased by reference.
5660         
5661         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
5662         
5663         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
5664
5665         * gdk/win32/gdkevents-win32.c
5666         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
5667
5668         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
5669         implementation object.
5670
5671         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
5672         not just windows.
5673         
5674         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
5675         Use the wrapper object.
5676         
5677 2000-10-06  Havoc Pennington  <hp@redhat.com>
5678
5679         * Makefile.am (SRC_SUBDIRS): contrib subdir
5680
5681         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
5682         so it can be used in Xlib version
5683
5684         * demos/testpixbuf.c (update_timeout): error checking from 1.0
5685         tree
5686
5687         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
5688         change from 1.0 tree that returns first frame of animation
5689         if the loaded file is an animation.
5690
5691         * contrib: add new directory to hold stuff that comes with GTK+
5692         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
5693         
5694         * configure.in: add contrib/*
5695
5696 2000-10-05  Havoc Pennington  <hp@redhat.com>
5697
5698         * demos/testpixbuf-save.c: add pixbuf save test
5699
5700         * demos/Makefile.am: add testpixbuf-save.c
5701
5702 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
5703
5704         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
5705         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
5706         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
5707         * gtk/gtktreeselection.[ch]: Replaced
5708         "node_selected"/"node_unselected" signal with "selection_changed"
5709         signal.
5710
5711 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5712
5713         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
5714         tree widget.
5715
5716 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5717
5718         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
5719         drawing.
5720
5721 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
5722
5723         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
5724         Move list pointer forwards before removing item from
5725         list. (Crash reported by Salmaso Raffaele)
5726
5727         * gdk/gdkwindow.h: Remove spurious trailing ,
5728
5729         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
5730         dependencies on uninstalled libraries, sorry folks.
5731
5732 2000-10-04  Havoc Pennington  <hp@redhat.com>
5733
5734         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
5735         gtk/gtkiconfactory.c: Fix copyrights    
5736
5737         * demos/testpixbuf.c: add inline pixbuf test
5738         
5739 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
5740
5741         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
5742         Add gdk_window_iconify.
5743
5744         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
5745         (gdk_window_set_geometry_hints): Add win_gravity
5746         to geometry structure.
5747
5748         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
5749         Implement _NET_WM_PING.
5750
5751         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
5752         Set _NET_WM_PID on the client leader.
5753
5754         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
5755         Handle UTF-8 better.
5756
5757         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
5758         UTF-8 better, set _NET_WM_NAME as well. Only set
5759         icon name if it hasn't previously been explicitely 
5760         set.
5761
5762 2000-10-03  Havoc Pennington  <hp@redhat.com>
5763
5764         * gtk/testtextbuffer.c: clean up trailing whitespace,
5765         add extensive tests for tag toggle iteration.
5766         
5767         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
5768         distance
5769
5770         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
5771         optimize case where the tag root is on level 1
5772         (gtk_text_line_previous_could_contain_tag): attempt to implement
5773         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
5774         functionality
5775
5776         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
5777         Implement this, though not very efficiently.
5778
5779         * gtk/gtktextiterprivate.h: reformat
5780
5781         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
5782         iterator
5783
5784         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
5785         this to properly revalidate the iterators.
5786
5787         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
5788         properly at the end of the line (and therefore on empty lines)
5789
5790         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
5791         maybe we should return a value...
5792
5793 2000-10-03  Tor Lillqvist  <tml@iki.fi>
5794
5795         * config.h.win32: Guard definition of alloca(). glib.h now handles
5796         that.
5797
5798         * gdk/gdk.def
5799         * gtk/gtk.def: Add new entry points.
5800
5801         Changes just to make GTK+ build without errors on Win32. No hope
5802         of it working in its current state, though...:
5803         
5804         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
5805         some functions from the X11 backend, just to make GTK+ build.
5806
5807         * gdk/makefile.mingw.in
5808         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
5809         number. Add new object files.
5810
5811         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
5812         GetMessageTime to get timestamp (where on X11 uses
5813         gdk_x11_get_server_time()).
5814
5815 2000-10-02  Havoc Pennington  <hp@pobox.com>
5816
5817         * gtk/gtktextview.c: text_window_* weren't static and should have
5818         been.
5819         Start work on child widgets; not yet complete, syncing to 
5820         office computer.
5821
5822         * gtk/gtktextchild.h: change this to contain a public interface,
5823         starting work on child interfaces.
5824         * gtk/gtktextchildprivate.h: move private interfaces here
5825
5826         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
5827
5828         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
5829         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
5830         gtk/gtktextmark.c: copyright notices
5831
5832         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
5833         internal functions      
5834
5835         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
5836         internal function
5837
5838         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
5839         Reformatting    
5840
5841 2000-09-30  Havoc Pennington  <hp@pobox.com>
5842
5843         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
5844         NULL start/end pointers
5845
5846         * gtk/gtktextbuffer.c: Write some docs
5847         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
5848         NULL, so you can just check whether there's a selection.        
5849
5850         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
5851         cleanup_line or segments_changed ourselves, it gets done 
5852         in unlink_segment
5853
5854         * gtk/gtktextmark.h:
5855         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
5856         
5857         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
5858
5859         * gtk/gtktextmark.c: delete some more old Tk cruft
5860
5861         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
5862         mark before removing it, so we can emit MARK_DELETED with a valid
5863         pointer.
5864         (gtk_text_buffer_mark_set): hold ref across signal emission
5865
5866         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
5867         whining about attempts to delete special marks
5868
5869         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
5870         underscore, since it's internal.
5871
5872         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
5873         now implemented in terms of iterators in gtktextiter.h
5874
5875         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
5876         New function, destructively sets contents of buffer. Also 
5877         a convenient way to clear the buffer by setting text to ""
5878
5879         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
5880         multiline string literal
5881
5882         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
5883         text changes.
5884
5885         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
5886         is not dereferenceable
5887         (gtk_text_iter_forward_lines): fix return value
5888
5889 2000-09-29  Havoc Pennington  <hp@redhat.com>
5890
5891         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
5892
5893         * gtk/gtktextview.c: Implement drag thresholding; change functions 
5894         that set border window size to have nicer name
5895         (gtk_text_view_mark_set_handler):  Fix this to have the 
5896         right signature.
5897
5898         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
5899
5900         * gtk/testtext.c: Update with API changes, put line numbers on 
5901         both sides.
5902         
5903         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
5904         with this
5905
5906         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
5907         pixbuf; delete a big block of #if 0 Tk code
5908
5909         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
5910         insert_pixmap with insert_pixbuf
5911
5912 2000-09-29  Martin Baulig  <baulig@suse.de>
5913
5914         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
5915         confusion with the GdkPixbuf of the GNOME 1.x platform.
5916
5917 2000-09-29  Havoc Pennington  <hp@pobox.com>
5918
5919         * gtk/gtktextview.c: Implement the side windows.
5920
5921         * gtk/testtext.c: Implement simple line numbering in the 
5922         left side window; seems to make scrolling sloooow. Oops.
5923         Also, cursor blink is for some reason causing redraws
5924         of the line numbers. Should investigate...
5925
5926 2000-09-28  Havoc Pennington  <hp@redhat.com>
5927
5928         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
5929         scrolling child windows, and draw focus rectangle properly.
5930         
5931         (gtk_text_view_buffer_to_window_coords):
5932         Coordinate transformation to deal with all these freaking windows
5933         and offsets
5934         (gtk_text_view_window_to_buffer_coords): transform the other way
5935
5936         * gtk/testtext.c (create_buffer): Update to match Pango API change
5937
5938         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
5939         anonymous tags
5940         (foreach_unref): don't emit remove signal from finalize, just
5941         set tag's parent to NULL
5942
5943 2000-09-26  Havoc Pennington  <hp@redhat.com>
5944
5945         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
5946         Fix some warnings       
5947
5948 2000-09-26  Havoc Pennington  <hp@redhat.com>
5949
5950         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
5951         headers into the private header list
5952
5953         * Makefile.am (pkgconfig_DATA): install pkg-config files
5954
5955         * configure.in: add pkg-config files
5956
5957         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
5958
5959         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
5960         outstanding icon caches on theme change.
5961
5962         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
5963         important types:
5964
5965         (GtkIconSource): Specification for creating a pixbuf 
5966         appropriate for a direction/state/size triplet from 
5967         a source pixbuf or filename
5968
5969         (GtkIconSet): List of GtkIconSource objects that are used to
5970         create the "same" icon (e.g. an OK button icon), and cache for
5971         rendered icons
5972
5973         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
5974         up the icon set for a given stock ID.  GTK maintains a stack of
5975         GtkIconFactory to search, and applications or libraries can add
5976         additional icon factories on top of the stack
5977         
5978         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
5979         the set of GtkIconSource specified for a given stock ID into 
5980         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
5981         RcStyle, under the specified stock ID.
5982
5983         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
5984         render_icon used to derive a GdkPixbuf from a GtkIconSource.
5985         This allows people to theme how prelight, insensitive, etc. are
5986         done.
5987
5988         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
5989         icon factories for a style, and return the resulting 
5990         icon set if any.
5991
5992         (gtk_style_render_icon): Render an icon using the render_icon 
5993         method in the GtkStyleClass.
5994
5995         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
5996         Use the style for a given widget to look up a stock ID, get the
5997         icon set, and render an icon using the render_icon method 
5998         of the style
5999
6000         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
6001         (contains information about a stock item), the built-in stock item
6002         IDs, and functions to add/lookup stock items.
6003
6004         * gtk/stock-icons/*: Stock icons that come with GTK
6005
6006         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
6007         a button based on a GtkStockItem
6008         (gtk_button_new_accel): Takes a uline string and accel group, and
6009         installs the accelerator.
6010
6011         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
6012         image-display widget.
6013
6014 2000-09-25  Havoc Pennington  <hp@redhat.com>
6015
6016         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
6017
6018         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
6019         Fix a bug when removing node data, we didn't properly 
6020         re-splice the linked list after removing the data.
6021
6022         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
6023         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
6024
6025         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
6026
6027         * gtk/gtktextlayout.c (set_para_values): Set tab array 
6028         for the layout from the GtkTextTag.
6029
6030         * gtk/gtktexttypes.h: delete tab and search cruft, 
6031         remove g_convert() in favor of GLib version
6032
6033         * gtk/gtktexttypes.c: remove tab implementation from here,
6034         move to Pango
6035
6036         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
6037         tab stuff using new PangoTabArray from Pango
6038
6039         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
6040         unused border_width stuff
6041
6042 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
6043
6044         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
6045         glib) and now useless utf_to_latin1() latin1_to_utf()
6046
6047         * gtk/gtktextview.[ch]: Change ::move_insert and
6048         ::delete_text action signals to ::move and ::delete;
6049         create the signals with the right enumeration type,
6050         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
6051         C-v bindings, change Home, End to move to beginning/end
6052         of line, Add C-Home C-End to move to beginning/end
6053         of buffer. Change ::cut_text to ::cut_clipboard, etc;
6054         combine ::scroll_text into ::move; use new GtkSelectionData
6055         functions to simplify DND text handling.
6056         
6057         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
6058         deletion enumerations here, rename enumeration values to 
6059         be consistently plural.
6060
6061         * gtk/gtktextbuffer.c: Use new clipboard interfaces
6062         for cut/copy/paste and primary selection.
6063
6064         * gtk/gtktextbuffer.[ch]: Remove excess time and
6065         'interactive' arguments from cut/copy/paste;
6066         rename cut to cut_clipboard, etc; remove
6067         gtk_text_buffer_get_clipboard_contents().
6068
6069         * gtk/gtktextlayout.[ch]: Add 
6070         gtk_text_layout_move_iter_to_line_end() to move the iter to 
6071         line ends.
6072
6073         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
6074         Functions to set or get a UTF-8 string on the selection
6075         data.
6076
6077         * gtk/gtkclipboard.[ch]: New, simplified selection handling
6078         interfaces.
6079
6080         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
6081         created widgets - one of these is useless if we don't.
6082
6083         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
6084         a public function clear all targets registered for the
6085         widget.
6086
6087         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
6088         Never call gtk_widget_realize() - that was just asking
6089         for bizarre side-effects.
6090
6091         * gtk/gtkselection.c (gtk_selection_owner_set): Call
6092         gdk_selection_owner_set even if the widget is the
6093         same so that we reliably update the timestamp on
6094         the server.
6095
6096         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
6097         gdk_x11_get_server_time() function.
6098         
6099         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
6100         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
6101         Add some tricky filtering on serial numbers for
6102         selection clear events to fix up long-standard
6103         race condition FIXME's in gtkselection.c.
6104
6105         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
6106         routines to convert from utf8 to compound text or
6107         STRING and from a text property to UTF-8.
6108
6109         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
6110         a convenience function gdk_get_current_event_time().
6111
6112         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
6113         and free selection_data->data properly
6114
6115 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
6116
6117         * gtk/gtkthemes.c: Remove some unecessary includes.
6118
6119 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
6120
6121         * gtk/gtktextdisplay.c
6122         * gtk/gtktextlayout.c
6123         * gtk/gtktexttag.c
6124         * gtk/gtktexttag.h
6125         * gtk/testtext.c: Change the overstrike property to strikethrough,
6126         to closer match pango.
6127
6128 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
6129
6130         * gtk/gtktextview.c: Fix up visibility so that focus,
6131         cursor_visible and blink interact properly.  Reenable cursor blink
6132         which had been roughly disabled. Make blink and focus
6133         properly per-view.
6134
6135         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
6136         Add a flag for whether to display insertion cursor and
6137         a function to set the flag.
6138
6139         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
6140         get_line_y() to get_line_yrange(), to be a bit more generally
6141         useful.
6142
6143 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
6144
6145         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
6146           do stop_navigating_submenu, to clear last timeout properly.
6147           Also in gtk_menu_motion_notify move ignore_enter above
6148           the conditional to make it always happen as suggested by Owen
6149
6150 2000-09-07  Tor Lillqvist  <tml@iki.fi>
6151
6152         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
6153
6154         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
6155         w32api headers.
6156
6157         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
6158         declarations.
6159
6160         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
6161         (gdk_win32_get_colormap): A line had been deleted by mistake.
6162
6163         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
6164         (gdk_event_translate): Handle more virtual keycodes to be able to
6165         generate GDK events for Control-comma, Control-period, etc.
6166
6167         * gtk/gtk.def: Add some missing entry points.
6168
6169 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
6170
6171         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
6172         Doc comment fixing. (Mostly non-matching parameter names.)
6173
6174         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
6175         comments a little to avoid looking like a doc comment.
6176
6177         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
6178         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
6179         conversions be changed to GError?)
6180
6181         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
6182         Move private #defines into .c file.
6183
6184         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
6185         order of argument addition, remove duplicates.
6186
6187         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
6188         parent class is FrameClass, not BinClass.
6189
6190         * gtk/gtk.h: Add gtkinvisible, which was missing.
6191         (It's occasionalyl useful for client apps, if seldom.)
6192
6193         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
6194         #define.
6195
6196 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
6197
6198         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
6199         coordinates when creating window, instead of GDK-space
6200         coordinates. (Avoid BadValue on too large windows.)
6201
6202 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6203
6204         * configure.in (use_mmx_asm): Remove conftest* after use along the
6205         lines of AC_TRY_COMPILE.        
6206         
6207         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
6208         of g_dirname, which is deprecated.
6209         (gtk_rc_parse_any): Removed calls to
6210         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
6211
6212         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
6213         Removed calls to g_hash_table_{freeze,thaw}, as they are
6214         deprecated now.
6215
6216         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
6217         instead of g_basename.
6218         
6219 2000-09-04 Elliot Lee <sopwith@redhat.com>
6220         
6221         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
6222         ANSI warning.
6223
6224 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
6225
6226         * gtk/gtkwidget.h:  Add some documenting comments about 
6227           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
6228           just as owen said on irc.
6229
6230         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
6231           set HAS_DEFAULT.  Only set it if there isn't another window
6232           holding it (a focus window which RECEIVES_DEFAULT) and only unset
6233           it if the widget is not the focused window with RECEIVES_DEFAULT.
6234           This fixes weird double default bugs in dialogs which has things
6235           call gtk_window_set_default at times.
6236
6237 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
6238
6239         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
6240         Nils Barth and David Santiago to improve submenu
6241         navigation. The patch does this by creating a triangular
6242         region from the point where the pointer leaves the
6243         menu to the submenu.  While the pointer is in
6244         that region and a timeout has not expired, events 
6245         that would cause the active submenu to change are
6246         ignored.
6247
6248 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
6249
6250         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
6251         moving a toplevel window immediately after sizing it would
6252         result in it being sized back to the old size since 
6253         impl->width, impl->height aren't updated until we hear
6254         back from the server. There is still a (longstanding) bug
6255         here that gdk_window_get_size() will give the wrong size
6256         until we do hear back.
6257
6258 2000-08-31  Havoc Pennington  <hp@redhat.com>
6259
6260         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
6261         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
6262         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
6263         Rename GtkTextStyleValues to GtkTextAttributes
6264
6265 2000-08-31  Havoc Pennington  <hp@pobox.com>
6266
6267         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
6268         for rapid testing whether an iterator is the end iterator
6269         (gtk_text_btree_new): init end line cache
6270         (gtk_text_line_is_last): use fast cached line to 
6271         see if we're the last line.
6272         (get_last_line): use cached line here too, should 
6273         speed up some random unrelated code.
6274         
6275 2000-08-30  Havoc Pennington  <hp@pobox.com>
6276
6277         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
6278         signals.
6279
6280         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
6281         delete_text signals. This allows the signals to be used for
6282         implementing undo.
6283
6284         * gtk/gtktextbuffer.c: Change signal handler signatures; 
6285         provide "interactive" argument when emitting insert_text or
6286         delete_text signal.
6287         
6288 2000-08-30  Havoc Pennington  <hp@pobox.com>
6289
6290         * gtk/gtktextbuffer.c: Docs
6291
6292 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
6293
6294         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
6295         from switch statements, since Tor removed the enumeration
6296         value.
6297         
6298         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6299         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
6300
6301 2000-08-29 Elliot Lee <sopwith@redhat.com>
6302         * */*.h: Use G_GNUC_CONST.
6303
6304 2000-08-27  Havoc Pennington  <hp@pobox.com>
6305
6306         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
6307         minor indentation fixes, inserted some FIXME about stuff I
6308         realized was broken while documenting it.
6309         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
6310         GTK convention  
6311
6312 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
6313
6314         * gtk/testgtk.c (create_styles): Fix double free of
6315         font desc.
6316
6317 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
6318
6319         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
6320         
6321         * gtk/testgtk.c (create_styles): Add a test for modifying
6322         the style through gtk_widget_modify_*.
6323
6324         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
6325         a function to get the current modifier style.
6326
6327         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
6328         of the passed in GtkRcStyle instead of ref'ing it.
6329
6330         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
6331
6332 2000-08-20  Tor Lillqvist  <tml@iki.fi>
6333
6334         * gdk/gdkimage.h
6335         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
6336         shared memory image+pixmap GdkImage type, or
6337         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
6338         I am dropping that.
6339
6340         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
6341         actually call gtk_init_abi_check(), passing also
6342         sizeof(GtkWindow). Ditto for gtk_init_check(). 
6343
6344         * gtk/gtk.def
6345         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
6346         New functions, used to check that the GTK+-using code has been
6347         compiled using the correct compiler and switches. In particular,
6348         with gcc one has to use the -fnative-struct switch as GTK+ is
6349         compiled with that.
6350
6351 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
6352
6353         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
6354         ->prev fields when merging lists. (Found simultaneously
6355         by Pawel Salek and Jakub Jelinek)
6356
6357 2000-08-12  Tor Lillqvist  <tml@iki.fi>
6358
6359         * gdk/gdk.def
6360         * gtk/gtk.def: Add missing entries.
6361
6362         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
6363         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
6364
6365         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
6366         function. Dummy implementation at this point.
6367
6368         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
6369         rules. Undefine GTK_COMPILATION when compiling the test programs.
6370         
6371         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
6372
6373 2000-08-11  Tor Lillqvist  <tml@iki.fi>
6374
6375         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
6376         to convert back and forth from UTF-8 and the "system" (or "current
6377         locale") charset when necessary. Indentation/spacing cleanup.
6378
6379 2000-08-10  Havoc Pennington  <hp@redhat.com>
6380
6381         * Makefile.am (snapshot): Change the format of the snapshot
6382         version to match glib
6383
6384         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
6385         from EXTRA_DIST since it doesn't seem to exist
6386
6387 2000-08-10  Tor Lillqvist  <tml@iki.fi>
6388
6389         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
6390         version of the directory name (not the UTF-8 one) when building
6391         the path name to stat().
6392
6393 2000-08-03  Elliot Lee  <sopwith@redhat.com>
6394
6395         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
6396         PANGO_ATTR_SHAPE set.
6397
6398 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
6399
6400         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
6401         Peter Osterlund to simplify the code while keeping the
6402         functionality the same.
6403
6404 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
6405
6406         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
6407         is_viewable() test further inside the function, since removing the 
6408         window from the redraw list without clearing ->update_area
6409         was also very broken.
6410
6411 2000-08-02  Tor Lillqvist  <tml@iki.fi>
6412
6413         * configure.in: Check for <unistd.h>.
6414
6415 2000-08-01  Martin Baulig  <baulig@suse.de>
6416
6417         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
6418         to display the message that this is a development version of GTK+.
6419
6420 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
6421
6422         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
6423         was depending on widget->allocation instead of the width of text_area,
6424         which was incorrect for subclasses like GtkSpinButton.
6425
6426         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
6427         with width == 1 tests that should be width == -1.
6428
6429 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
6430
6431         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
6432         (broken, Elliot, every single window blank on X) custom code with call
6433         to gdk_window_is_viewable() which a) prevents code duplicate and
6434         b) works. 
6435
6436 2000-07-31  Elliot Lee  <sopwith@redhat.com>
6437
6438         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
6439         to get the GDK_PARENT_ROOT() macro to work.
6440         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
6441         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
6442         of, windows that aren't shown.
6443         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
6444         pointer grab stuff.
6445
6446 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
6447
6448         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
6449           s/gtk_main_iteration/g_main_iteration/
6450
6451           Did this already in change:
6452                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
6453           don't know how it got reverted.
6454
6455 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
6456
6457         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
6458         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
6459
6460         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
6461         not gdk_pixbuf.
6462
6463 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
6464
6465         * configure.in,po/{sp,sr}.po: Added Serbian files
6466
6467 2000-07-30  Tor Lillqvist  <tml@iki.fi>
6468
6469         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
6470
6471         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
6472         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
6473         GIOChannel implementation.
6474
6475         * gdk/win32/gdkinput.c
6476         * gdk/win32/gdkpango-win32.c: Update license name here, too.
6477
6478         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
6479         definition to match prototype.
6480
6481         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
6482
6483 2000-07-27  Elliot Lee  <sopwith@redhat.com>
6484
6485         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
6486         function, to allow handling image formats that cannot be detected
6487         by looking at content alone.
6488
6489 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
6490
6491         * docs/tutorial/*.gif *.jpg *.eps
6492           Update these to the same look-n-feel.
6493           Why does including images in DocBook suck so badly?
6494
6495 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
6496
6497         * gtk/gtktable.c: applied patch from Phil Thompson
6498         <phil@river-bank.demon.co.uk> that enables space settings for
6499         the last row/columns as well.
6500
6501 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
6502
6503         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
6504         updates the license headers to the GNU Lesser General Public License,
6505         as well as updating the copyright year to 2000.
6506
6507 2000-07-26  Robert Brady  <rwb197@zepler.org>
6508
6509         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
6510           and po/Makefile, was installing and looking for them under gtk20
6511           and gtk2 respectively.
6512
6513 2000-07-25  Havoc Pennington  <hp@redhat.com>
6514
6515         * gtk/testtext.c: Comment out some stuff that depends on the rest
6516         of my patches.
6517
6518 2000-07-25  Havoc Pennington  <hp@redhat.com>
6519
6520         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
6521         buffer
6522
6523 2000-07-25  Havoc Pennington  <hp@redhat.com>
6524
6525         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
6526         widget changes.
6527
6528         * gtk/gtktextview.h: To be consistent with usage of "line"
6529         throughout the API to mean "newline-terminated thingy", change
6530         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
6531         to MOVEMENT_LINE.
6532
6533         (GtkTextView): Add flags for default editability, and whether to
6534         show the cursor. Add functions to get/set that. Add 
6535
6536         (gtk_text_view_get_iter_location): new function
6537
6538         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
6539         gtktextlayout.h
6540         (g_convert): Add g_convert temporarily, will go in glib in a bit
6541         
6542         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
6543         GtkTextTagTableForeach instead of brokenly using GHFunc.
6544         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
6545
6546         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
6547         moved to public header.
6548
6549         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
6550         "invisible", since "elide" was a bad name.
6551         (gtk_text_tag_get_priority): Added
6552
6553         (GtkTextStyleValues): put this in public header, along with
6554         functions to use it.
6555
6556         * gtk/gtktextmarkprivate.h: Include more headers, since we no
6557         longer include gtktextbtree.h.
6558
6559         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
6560         gtk_text_mark_deleted
6561
6562         * gtk/gtktextlayout.h: Don't include the "really private" headers,
6563         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
6564         to make this possible. Now we only need to install
6565         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
6566         (However the Makefile.am isn't changed yet because of the
6567         logistics of merging gtk-hp-patches piecemeal)
6568
6569         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
6570         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
6571         gtk_text_iter_get_line is now used in the public API for a
6572         different purpose.
6573
6574         * gtk/gtktextiter.h: Clean up function names to be more
6575         consistent. Always call char offset "offset" and byte index
6576         "index". A "line" is always a line number. 
6577
6578         (gtk_text_iter_is_last): new function, more efficient than 
6579         the existing way to check
6580         (gtk_text_iter_is_first): new function, also more efficient
6581
6582         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
6583
6584         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
6585         gtk_text_iter_forward_char, etc.
6586
6587         (gtk_text_iter_forward_to_tag_toggle): Renamed from
6588         forward_find_tag_toggle, since this isn't a linear search
6589
6590         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
6591
6592         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
6593         New functions, search for a buffer substring.
6594
6595         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
6596         interactive and default editable (since we need to store that info
6597         until we receive the selection data).
6598
6599         Remove all the _at_char and at_line etc. versions of functions;
6600         only have iterator versions.
6601
6602         Add _interactive() versions of functions, that consider the
6603         editability of text. (FIXME add interactive flag to the 
6604         insert/delete signals per Darin's suggestion)
6605
6606         (gtk_text_buffer_get_tag_table): new function, demand-creates the
6607         tag table if necessary
6608
6609         Remove declaration of gtk_text_buffer_get_iter_from_string
6610
6611         (_gtk_text_buffer_get_btree): private/internal function, added.
6612         
6613
6614         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
6615         (gtk_text_line_is_last): new function
6616
6617 2000-07-25  Havoc Pennington  <hp@redhat.com>
6618
6619         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
6620         using GtkProgressBar. See Changes-2.0.txt for details.
6621
6622         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
6623         "pulse_step" which are the equivalent of
6624         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
6625         Implement new API.
6626         
6627         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
6628         (use_text_format) to mark whether text set on the progress bar is
6629         a format string. Deprecate entire GtkProgress interface.
6630
6631         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
6632         (gtk_progress_build_string): make this a no-op if use_text_format
6633         is FALSE
6634
6635         * docs/Changes-2.0.txt: Describe progress bar changes.
6636
6637 2000-07-25  Tor Lillqvist  <tml@iki.fi>
6638
6639         * Makefile.am: Include the build directory.
6640
6641         * configure.in: Generate build/Makefile, build/win32/Makefile,
6642         gdk/, gdk/win32/, and gtk/makefile.mingw.
6643
6644         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
6645         Add GETTEXT_PACKAGE.
6646         
6647         * gdk/gdk.def
6648         * gtk/gtk.def: Updates.
6649
6650         * gdk/gdkfont.h
6651         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
6652         need them any longer.
6653
6654         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
6655
6656         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
6657         PANGOWIN32_LIBS and gdk_pixbuf.
6658
6659         * gdk/win32: Compiles, but no doubt doesn't work at all.
6660
6661         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
6662
6663         * gdk/win32/gdkinput.c: New file, temporarily.
6664         
6665         * gdk/win32/gdkinput-win32.h: New file
6666
6667         * gdk/win32/gdkinputprivate.h: Remove.
6668
6669         * gdk/win32/gdkpango-win32.c: New file.
6670
6671         * gtk/makefile.mingw.in: New file
6672
6673         * gtk/makefile.cygwin: Removed
6674         
6675         * gtk/Makefile.am: Update accordingly.
6676
6677         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
6678         made externally visible.
6679
6680         * gtk/gtkmain.c: Use it.
6681         
6682         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
6683         is enough.
6684
6685         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
6686
6687 2000-07-24 Elliot Lee <sopwith@redhat.com>
6688         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
6689         individual backends already.
6690         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
6691         again. Yes, there really is a good reason for this, if you are using the gdkregion
6692         internals, and if you're not, why do you care?
6693         * gdk/gdkwindow.c: Fix inverted condition
6694         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
6695         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
6696         * gtk/gtkrange.c: Redraw trough when moving.
6697         * gtk/gtktypeutils.c: Fix warning by adding const cast.
6698         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
6699
6700 2000-07-23  Tor Lillqvist  <tml@iki.fi>
6701
6702         * configure.in: Check for mkstemp and sigsetjmp. Output
6703         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
6704
6705         More work on GDK for Win32. Still in an intermediate state.
6706
6707         * gdk/makefile.cygwin
6708         * gdk/win32/makefile.cygwin: Removed.
6709         
6710         * gdk/makefile.mingw.in
6711         * gdk/win32/makefile.mingw.in: New files.
6712
6713         * gdk/Makefile.am
6714         * gdk/win32/Makefile.am: Generate and distribute them.
6715
6716         * gdk/win32/gdkwindow-win32.h
6717         * gdk/win32/gdkdrawable-win32.h
6718         * gdk/win32/gdkpixmap-win32.h: New files.
6719
6720         * gdk/win32/gdkcolor-win32.c
6721         * gdk/win32/gdkcursor-win32.c
6722         * gdk/win32/gdkdrawable-win32.c
6723         * gdk/win32/gdkgc-win32.c
6724         * gdk/win32/gdkimage-win32.c
6725         * gdk/win32/gdkprivate-win32.h
6726         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
6727         Rename fields and variables called xcursor, xid, etc (these names
6728         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
6729
6730 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
6731
6732         * gtk/gtkentry.[ch]: Fix some problems with vertical
6733         alignment.
6734
6735         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
6736         char/byte confusion.
6737
6738 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
6739
6740         * gtk/gtktextview.c (changed_handler): Fix bug where
6741         redraw wasn't being done properly when height of
6742         dirty region changed.
6743
6744         * demos/Makefile.am: Remove various references to
6745         -lgmodule
6746
6747 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
6748
6749         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
6750         PangoAttrShape to reserve space for pixmaps, add 
6751         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
6752         in the display functions.
6753         
6754         * gtk/testgtk.c (create_layout): Set some more exotic
6755         scrolled window options
6756
6757         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
6758         Add function to set the shadow type of a window, to allow
6759         putting a shadow around widgets such as GtkLayout or GnomeCanvas
6760         which don't draw their own frame.
6761
6762 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
6763
6764         * docs/tutorial/package-db-tutorial.sh: New file for
6765           packaging DocBook format tutorial
6766
6767 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
6768
6769         * docs/tutorial/gtk-tut.sgml: Minor updates
6770
6771         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
6772
6773 2000-07-19  Tor Lillqvist  <tml@iki.fi>
6774
6775         * gtk/gtksignal.c: Fix C++ comment.
6776
6777         * gtk/gtkimmulticontext.c
6778         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
6779         don't return value from void functions.
6780
6781         * gtk/gtk.def: Add gtk_rc_style_unref.
6782
6783 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6784
6785         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
6786         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
6787         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
6788         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
6789         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
6790         gtk/gtktypeutils.h: Include files outside of the extern "C"
6791         block. Makes some C++ compiler happy. Reported by Denis Vakatov
6792         <vakatov@peony.nlm.nih.gov>.
6793
6794 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
6795
6796         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
6797           Completes first pass. Hurrah!
6798
6799 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
6800
6801         * docs/tutorial/gtk-tut.sgml: More clean ups.
6802
6803 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
6804
6805         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
6806         paint the background of the text area which was accidentally
6807         removed at some point.
6808
6809         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
6810           
6811          - Move most of the functionality from the theme vtable
6812            into GtkRcStyleClass and GtkStyleClass. The moved
6813            vtable functions were changed a bit in the move to
6814            work better in their new home.
6815
6816          - Get rid of the engine and engine_data fields from
6817            GtkRcStyle and GtkStyle; instead the theme
6818            engine derives theme-specific subclasses of GtkRcStyle
6819            and GtkStyle
6820
6821          - Add extra dlsym() found entry point to themes,
6822            theme_create_rc_style().
6823
6824         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
6825         in gtk_style_real_copy.
6826
6827         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
6828         to register a type associated with an engine. (The engine
6829         won't be unloaded as there is an instance of the type.)
6830
6831
6832 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
6833
6834         * docs/tutorial/gtk-tut.sgml: Clean ups.
6835
6836 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
6837
6838         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
6839           of cleaning up to do.
6840
6841 2000-07-15  Tor Lillqvist  <tml@iki.fi>
6842
6843         * gdk/testgdk.c: New file, quick hack to test backends for
6844         pixel-by-pixel correctness of the most simple graphic operations.
6845
6846 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
6847
6848         * Really release 1.3.1
6849         
6850         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
6851         include structure.
6852
6853 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
6854
6855         * Released 1.3.1
6856
6857 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
6858
6859         * gtk/gtktextlayout.c: use FALSE for size_only most
6860         of the time when calling gtk_text_layout_get_line_display()
6861         to avoid causing double reshapes when a redraw follows
6862         immediately after.
6863
6864 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
6865
6866         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
6867         appropriate region and gdk_window_process_updates() so trough
6868         updating doesn't lag behind the window being scrolled.
6869
6870         * gdk/gdkgc.c: Make parent_class pointer static.
6871          
6872 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
6873
6874         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
6875         include <string.h>.
6876          
6877         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
6878         cut-and-paste error in computing memory offset for 4 channels.
6879
6880 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
6881
6882         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
6883         gtk_rc_append_default_pixmap_path(), since it wasn't
6884         adding an interesting path and we don't have a meaningful
6885         default for this value.
6886
6887 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
6888
6889         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
6890         gtk-config to gtk-config-2.0 move gtk_.m4 to
6891         gtk-2.0.m4
6892
6893         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6894         gdk/Makefile.am demos/Makefile.am: Change 
6895         library names to libgtk-1.3.la, etc, so that we
6896         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
6897
6898         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6899         gdk/Makefile.am gdk/x11/Makfile.am
6900         Move include files into /usr/include/gtk-2.0, 
6901         /usr/lib/gtk-2.0/include/
6902          
6903         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
6904         gtk/gtkintl.h: Change package for gettext from 
6905         gtk+ to gtk20. Put hack in autogen.sh to modify
6906         po/Makefile.in.in after gettextize to make this
6907         possible.
6908
6909         * gtk+.spec: Some updates, not tested.
6910
6911         * gdk-pixbuf/Makefile.am: Move loaders into
6912         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
6913
6914         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
6915         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
6916         to THEMENAME/gtk-2.0/. Move engine directory  to
6917         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
6918         
6919 2000-07-12  Tor Lillqvist  <tml@iki.fi>
6920
6921         Win32 changes, still doesn't build though.
6922
6923         * gdk/makefile.cygwin
6924         * gdk/win32/makefile.cygwin
6925         * gtk/makefile.cygwin: Updates.
6926
6927         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
6928         default values for fg and bg pixel as X11 does (0 and 1), not
6929         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
6930         Use 0 for pen width by default (treated as 1 anyway later, but for
6931         apps that might check the value in the GdkGC).
6932         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
6933         interface to gdk_gc_predraw and _postdraw.
6934
6935         * gdk/win32/gdkwin32.h
6936         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
6937
6938         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
6939         extraneous semicolon.
6940
6941         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
6942
6943         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
6944         not the Win32 bitspixel value.
6945
6946         * gdk/win32/gdkcc-win32.c:
6947         * gdk/win32/gdkcolor-win32.c 
6948         * gdk/win32/gdkprivate-win32.h
6949         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
6950         GDK object structure.
6951
6952 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
6953
6954         * docs/tutorial/gtk_tut_12.es.sgml (name): 
6955         * docs/tutorial/gtk_tut_it.sgml (name): 
6956         * docs/tutorial/gtk_tut_fr.sgml (name): 
6957         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
6958         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
6959
6960 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
6961
6962         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
6963           small changes.
6964
6965 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
6966
6967         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
6968         a bug here, never been here and never fixed anything ;(
6969         (don't segfault if tree->root_tree is NULL, which happens prior
6970         to widget realization, but puke instead).
6971
6972 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
6973
6974         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
6975         add the necessary tokens.
6976
6977         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
6978         (gtk_rc_style_to_style): copy thicknesses.
6979         (gtk_rc_init_style): apply thicknesses.
6980         (gtk_rc_parse_style): parse xthickness and ythickness.
6981
6982         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
6983
6984         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
6985         (gdk_window_new): 
6986         (_gdk_windowing_window_init): 
6987         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
6988         (gdk_pixmap_create_from_data): 
6989         (gdk_bitmap_create_from_data): 
6990         (gdk_pixmap_new): 
6991         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6992         (gdk_image_new): 
6993         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
6994         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
6995         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
6996         (gdk_colormap_get_system): 
6997         (gdk_colormap_new): 
6998         * gdk/gdkwindow.c (gdk_window_init): 
6999         * gtk/gtkstyle.c (gtk_style_new):
7000         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
7001         * gdk/gdkpixmap.c (gdk_pixmap_init): 
7002         * gtk/gtkrc.c (gtk_rc_style_new):
7003         use g_object_new() instead of g_type_create_instance() which
7004         is a private function for fundamental type implementations.
7005
7006 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
7007
7008         * configure.in: Add check for db2html
7009
7010 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
7011
7012         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
7013         hack to set glib_debug_objects based on gtk_debug_flags.
7014
7015 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
7016
7017         * INSTALL.in: Update the Prerequisites section.
7018
7019         * Makefile.am demos/Makefile.am docs/Makefile.am
7020         docs/tutorial/Makefile.am gdk/x11/Makefile.am
7021         gdk/linux-fb/Makefile.am: Dist fixes
7022
7023 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
7024
7025         * NEWS: 10,000 foot view of 1.3.1 changes.
7026
7027 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
7028
7029         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
7030         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
7031         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
7032         gdk/x11/gdkmain-x11.c: 
7033
7034         Patch from George Lebl to add a GdkGrabStatus enumeration to use
7035         as a return value of gdk_*_grab(). Previously, we just
7036         returned the X11 values directly.
7037
7038 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
7039
7040         * gdk/x11/Makefile.am: Patch from George Lebl to 
7041         install all the headers in the right place.
7042
7043 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
7044
7045         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
7046           initial conversion to DocBook.
7047
7048 2000-07-04  Tor Lillqvist  <tml@iki.fi>
7049
7050         * README.win32: Improve a bit.
7051
7052         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
7053         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
7054         Alt+0nnn on the numpad (used to enter characters by numeric code
7055         from current DOS or ANSI codepage) working correctly, as in other
7056         Windows apps.
7057
7058         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
7059         same argument validity tests as in X11 version.
7060         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
7061
7062         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
7063         definitions in case missing from headers.
7064
7065         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
7066         destroy the window-specific cursor.
7067         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
7068         calling GetModuleHandle(NULL).
7069         (gdk_window_set_cursor): Reworked to always copy the passed cursor
7070         with CopyCursor before setting it as the window-specific
7071         cursor. It is OK for the caller to destroy the GdkCursor (and thus
7072         also its Windows cursor) after calling this function. Destroy any
7073         previous window-specific cursor.
7074
7075 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
7076
7077         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
7078         font charset is iso8859-1, not iso-8859-1.
7079
7080 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
7081
7082         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
7083         Use g_get_charset() instead of g_get_codeset().
7084
7085         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
7086         Comment out some strdup'ing functions to keep timj
7087         happy until we finish fighting this out.
7088
7089 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
7090
7091         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
7092         <= width or height.
7093
7094         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
7095         from 1.2 for parent/child states.
7096
7097         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
7098         of typos.
7099
7100         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
7101         event structures, replace with a generic axes field. Replace 
7102         deviceid/sourec with GdkDevice *device.
7103
7104         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
7105         to extract particular axis use value from event. (Also
7106         can be used for normal X/Y.)
7107
7108         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
7109         allow for arbitrary number of axes, namespace everything
7110         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
7111         everywhere.
7112
7113         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
7114         Get rid of the gdk_input_vtable setup if favor of simply
7115         defining the functions in gdkinput-none/gxi/xfree.c in
7116         a similar fashion to the way that the port structure is 
7117         done.
7118
7119         * gtk/gtkdnd.c: Fix fields of synthesized button press event
7120         for new event structures. 
7121
7122         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
7123         new device interfaces.
7124
7125 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
7126
7127         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
7128         set the initial text.
7129
7130         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
7131         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
7132         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
7133         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
7134
7135         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7136         pango_layout_set_font_description to simplify.
7137
7138 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
7139
7140         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7141         pango_layout_set_font_description to simplify.
7142
7143 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
7144
7145         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
7146         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
7147         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
7148
7149         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
7150         PANGO_PIXELS() macro.
7151
7152 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
7153
7154         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
7155         that returns a PangoContext owned by the widget and updated to
7156         match future changes in the widget. Also, make 
7157         gtk_widget_create_pango_layout() use this context. If we ever
7158         add a ::changed signal to PangoContext, this will make things
7159         much more convenient. 
7160
7161         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
7162         in the appropriate places instead of destroying the layouts and
7163         creating new ones.
7164
7165         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
7166         in a few strategic places.
7167
7168 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
7169
7170         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
7171         gtk_widget_size_request() on reparented child, if one. Otherwise,
7172         queue_resize() on the child never results in it getting size-requested
7173         at all.
7174
7175         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
7176         in option menus, so that (with luck) people won't copy it into
7177         their apps in the future.
7178
7179         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
7180         to gtk_option_menu_calc_size. This isn't perfect, but should fix
7181         a lot of problems with changing the size of the menu's menu
7182         items after adding it to the option menu.
7183
7184         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
7185
7186         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
7187         the text direction for a widget changes.
7188
7189         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
7190         ::direction_changed to get rid of various hacks.
7191
7192 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
7193
7194         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
7195         name.
7196
7197 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
7198
7199         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
7200         flag to the structure. Do not call XFreePixmap on pixmaps created
7201         by gdk_pixmap_foreign_new().
7202
7203 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
7204
7205         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
7206         value using GdkRGB functionality given GdkColormap and GdkColor.
7207         (name not final, waiting for inspiration.)
7208         
7209         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
7210         set the foreground/background of a GC using the GC's colormap
7211         and GdkRGB. (name not final, waiting for inspiration.)
7212
7213         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
7214         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
7215
7216         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
7217         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
7218         purely a function of the corresponding colormap. Make
7219         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
7220
7221         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
7222         gdk_pixbuf_*create_from_xpm_* in terms of
7223         gdk_pixbuf_new_from_xpm_data(), move into platform independent
7224         code.
7225
7226         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
7227         advantage of the new draw_rgb_32_image_dithalign.
7228
7229         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
7230
7231         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
7232         on each created GC.
7233
7234         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
7235
7236         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
7237         which we initialize from the drawable when the GC is created,
7238         if the drawable has a colormap.
7239
7240         * gdk/x11/gdkgc-x11.c: include string.h for memset.
7241
7242         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
7243
7244         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
7245
7246 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
7247
7248         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
7249         actually returning expose events, make sure to set
7250         the count field properly.
7251
7252         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
7253         accidentally reintroced bug which always cleared
7254         the graphics_exposures value. 
7255
7256 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
7257
7258         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
7259
7260 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
7261
7262         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
7263
7264 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
7265
7266         * docs/faq/gtk-faq.sgml: Start of Section 6.
7267
7268 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
7269
7270         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
7271         
7272         (Fixes problem with drawing childless frames. Pointed out
7273         by and a first patch from Anders)
7274         
7275         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
7276         compute a child_allocation, even if we don't have a child.
7277
7278         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
7279         Always chain to the parent's impl, even if we don't have a child.
7280
7281 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7282
7283         * gdk/gdkrgb.c: If possible, create only a single shm segment and
7284         use multiple parts of it instead of creating a bunch of separate
7285         segments, since the maximum number of segments per system is not
7286         large. (This might be worth backporting to GTK+-1.2.x if we make a
7287         new release )
7288
7289         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
7290         structure in preparation for per-colormap GdkRGB.
7291
7292         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
7293         to False when we get EINVAL from shmget so that the caller of
7294         gdk_image_new can retry with a smaller segment size.
7295
7296 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
7297
7298         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
7299
7300 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
7301
7302         * configure.in: make the current version number 1.3.1 (binary age 0,
7303         interface age 0).
7304         
7305         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
7306         gtkcompat.h is all we want.
7307
7308         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
7309         GLib primitive types. fixed g_type_register_fundamental() argument
7310         ordering.
7311
7312         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
7313         compiles.
7314
7315         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
7316         object code cleanup, comment trigraph fixes, etc...
7317
7318 2000-06-23  Havoc Pennington  <hp@redhat.com>
7319
7320         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
7321         instead of making up a bogus name for first_para_mark
7322
7323         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
7324         0 as a context ID
7325
7326 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
7327
7328         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
7329
7330 2000-06-21  Havoc Pennington  <hp@pobox.com>
7331
7332         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
7333         we didn't check window->bg_pixmap != GDK_NO_BG.
7334
7335         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
7336         gdk-pixbuf
7337
7338 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
7339
7340         * docs/faq/gtk-faq.sgm: Move file to here.
7341           TODO: Update Makfile.am 
7342
7343 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
7344
7345         * docs/gtk-faq.sgm: Add Section 2
7346
7347 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
7348
7349         * docs/gtk-faq.sgm: New file. Start of DocBook
7350           version of the FAQ.
7351
7352 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
7353
7354         * configure.in (GDK_PIXBUF_MAJOR): Define version
7355         numbers for GDK_PIXBUF_*, as they get substituted
7356         into a header file. Need to consider versioning
7357         for gdk-pixbuf more carefully later.
7358
7359 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
7360
7361         Work with srcdir != builddir.   
7362         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
7363         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
7364         * demos/testpixbuf.c: Likewise.
7365         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
7366         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
7367         <gdk/x11/gdkx.h>.
7368         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
7369         "gdk-pixbuf.h".
7370         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
7371
7372 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
7373
7374         * TODO.xml: Change 1.4 version numbers to 2.0.
7375
7376 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
7377
7378         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
7379         fixups to GTK+ standard.
7380
7381 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
7382
7383         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
7384         gdk-pixbuf.
7385
7386         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
7387         fixups for GObject.
7388
7389         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
7390         gdk-pixbuf with GDK dependencies moved into GDK.
7391         
7392         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
7393         move gdk-pixbuf-loader here until GObject has signals.
7394
7395         * demos/: New directory of demos. Move demos from
7396         gdk-pixbuf here.
7397
7398         * demos/pixbuf-init.c: Small bit of code to check for
7399         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
7400         set GDK_PIXBUF_MODULEDIR appropriately.
7401
7402         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
7403         define which no longer makes sense.
7404
7405 2000-06-21  Havoc Pennington  <hp@redhat.com>
7406
7407         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
7408         gtk_get_default_language
7409
7410         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
7411         new function to get the default language
7412
7413         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
7414         s/gtk_text_view_style_values/gtk_text_style_values/
7415
7416         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
7417         Add a "language" field to tags.
7418
7419         (gtk_text_tag_set_arg): Fix bug in setting
7420         "bg_full_height_set" tag.
7421
7422 2000-06-21  Havoc Pennington  <hp@redhat.com>
7423
7424         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
7425         in the interfaces
7426
7427         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
7428         stuff instead when possible.
7429
7430         * gtk/gtktexttypes.h: Delete some unused constants
7431
7432         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
7433         testtextbuffer.c: use glib instead of custom unicode routines
7434
7435 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
7436
7437         * docs/es/: Removed mistakenly added generated sgml
7438
7439         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
7440         Remove outdated info files.
7441
7442         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
7443         Moved tutorial files into subdir
7444
7445         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
7446         subdir.
7447
7448         * docs/man/gtk_button.pod: Remove. (contents will be
7449         integrated into gtk-reference button page.)
7450
7451         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
7452         docs/faq/Makefile.am: Adjust for new organization
7453
7454 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
7455
7456         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
7457         not $(MKINSTALLDIRS)
7458
7459 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
7460
7461         * gtk/testgtk.c (create_text): Finish the job Elliot started
7462         of removing font setting test for text widget. (Since text widget
7463         and GdkFont are not deprecated, and cause portability problems.)
7464
7465 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
7466
7467         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
7468         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
7469         Remove use of libunicode in favor of new GLib functions.
7470
7471         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
7472         nano-x, framebuffer. The X11 include is just a hack until we get
7473         the necessary functions in gdkcolor.h, so there is no reason to
7474         add other includes of platforms.
7475
7476         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
7477         window bigger than the screen change.
7478
7479         * gtk/testgtk.c: Revert some random changes from Elliot
7480         that had no particular point and were causing testgtkrc
7481         not to function correctly.
7482         
7483         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
7484         because GdkSegment and GdkRegionBox have the same fields,
7485         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
7486         results in clearer code.
7487
7488         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
7489         gdk_input_translate_coordinates): Fix missed GdkObjectification
7490
7491 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7492
7493         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
7494         * gtk/gtk{plug,socket}.h: Missed commits from previous.
7495
7496 2000-06-20  Havoc Pennington  <hp@redhat.com>
7497
7498         * modules/linux-fb/Makefile.am: Make this compile
7499         without framebuffer enabled
7500
7501         * gdk/linux-fb/Makefile.am: Add conditional to not build
7502         framebuffer unless specified in configure
7503
7504         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
7505         the size of the target instead of source if -1 was passed for
7506         width/height
7507
7508         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
7509         width/height confusion.
7510
7511 2000-06-19  Havoc Pennington  <hp@redhat.com>
7512
7513         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
7514         GDK_DRAWABLE_XID. In the future, we probably want to make it
7515         faster with G_DISABLE_CHECKS turned on.
7516
7517 2000-06-14  Havoc Pennington  <hp@redhat.com>
7518
7519         * gdk/Makefile.am: add gdkpixmap.c
7520
7521         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
7522         s/gdk_image_init/_gdk_windowing_image_init
7523
7524         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
7525         ref/unref
7526
7527         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
7528
7529         * gdk/gdkcompat.h: remove GdkWindowType compat, since
7530         GdkWindowType is now non-deprecated; 
7531         change gdk_window_get_type() compat to be
7532         gdk_window_get_window_type().
7533
7534         * gdk/gdkdnd.h: make GdkDragContext a GObject.
7535
7536         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
7537         virtual GObject. Make all functions call into the vtable.
7538         Move gdk_image_put() guts in here. Remove GdkDrawableType
7539         and gdk_drawable_get_type(), these are now GdkWindow-specific.
7540         draw_image, get_depth, get_size, set_colormap, get_colormap,
7541         get_visual added to the vtable.
7542         
7543         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
7544         GObject. Virtualize everything. 
7545         (gdk_gc_new_with_values): remove check for destroyed window,
7546         because now GdkWindow::create_gc will check this.
7547         (gdk_gc_set_values): New function to set GC values, this 
7548         was already implemented but wasn't in the header
7549
7550         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
7551
7552         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
7553         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
7554         remove _gdk_window_class; add _gdk_window_impl_get_type() and
7555         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
7556         _gdk_windowing_window_init, rename gdk_image_init to
7557         _gdk_windowing_image_init.
7558         
7559         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
7560         (gdk_draw_layout): Remove check for destroyed window, 
7561         because all the drawable methods already check it.
7562         
7563         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
7564         Add gdkpixmap.c which contains implementation of GdkDrawable
7565         virtual table (by chaining to a platform-specific implementation
7566         object).
7567         
7568         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
7569         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
7570         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
7571         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
7572         GdkColormapPrivate. 
7573
7574         * gdk/gdktypes.h: #include <glib-object.h>
7575
7576         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
7577         Move most functionality to platform-specific implementation
7578         object. GdkWindow itself now handles the backing store, then
7579         chains to the platform-specific implementation.
7580         (gdk_window_get_window_type): return GdkWindowType of the window.
7581         (gdk_window_peek_children): New routine, returns the children of 
7582         a GdkWindow
7583         (gdk_window_get_children): Was in X11-specific code and did 
7584         XQueryTree. Changed to simply return a copy of window->children; 
7585         so it can go in cross-platform code.
7586         
7587         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
7588
7589         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
7590         GdkColormap; just changed to use the new private data instead
7591         of casting to GdkColormapPrivate.
7592
7593         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
7594         gdk_cursor_new().
7595
7596         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
7597         (private data member in the GObject). 
7598         (xdnd_manager_source_filter): Function had broken 
7599         error handling, fix it (use gdk_error_trap_push).
7600
7601         * gdk/x11/gdkdrawable-x11.c: This file now implements
7602         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
7603         base class is purely for the convenience of the X port,
7604         and not part of the interface to cross-platform GDK.
7605
7606         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
7607         
7608         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
7609         specific to X, and returned by the create_gc virtual method
7610         of GdkDrawableImplX11. 
7611         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
7612         rather than gchar, this was also changed in the GdkGC vtable.
7613         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
7614         mask is 0, return immediately, instead of checking every flag.
7615         This is faster, and keeps us from segfaulting if values is NULL
7616         and the mask contains some nonzero flags.
7617
7618         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
7619         GdkWindow.
7620
7621         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
7622         GdkWindowPrivate is gone.
7623
7624         * gdk/x11/gdkim-x11.c: rename things that got renamed.
7625
7626         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
7627         remove the image_put stuff that got transferred to GdkDrawable.
7628         
7629         * gdk/x11/gdkinput.c: renamings
7630
7631         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
7632
7633         * gdk/x11/gdkpixmap-x11.c: GObject conversion
7634
7635         * gdk/x11/gdkprivate-x11.h: indentation fixes
7636
7637         * gdk/x11/gdkproperty-x11.c: renamings
7638
7639         * gdk/x11/gdkselection-x11.c: renamings
7640
7641         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
7642         implements the platform-specific "impl" object.
7643         Moved gdk_window_get_children to gdk/gdkwindow.c
7644
7645         * gdk/x11/gdkx.h: Remove all the private structs and private datas
7646         that no longer exist. Add declaration of GdkGCX11 object here.
7647         Fix all the macros to still work. 
7648
7649         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
7650         GdkDragContext from the boxed types since they are now GObjects.
7651
7652         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
7653         moved xthickness/ythickness into the instance. GtkStyleClass
7654         functions are now in the standard vtable for GtkStyle, so you have
7655         to create a GObject subclass to write a theme engine.
7656         (gtk_style_copy): fixed a leaked PangoFontDescription
7657         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
7658         can be the standard GObject function.
7659         
7660         * Throughout GTK:
7661         s/style->klass->[xy]thickness/style->[xy]thickness
7662         s/pango_layout_unref/g_object_unref/
7663
7664         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
7665         
7666         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
7667         accessing GDK internals.
7668
7669         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
7670         accessing GDK internals.
7671
7672 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7673
7674         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
7675
7676         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
7677         problem by calculating event position relative to the trough
7678         rather than the slider.
7679         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
7680
7681         * gdk/gdkgc.h: Add GDK_NOR.
7682
7683         * configure.in, Makefile.am: Add modules top level dir
7684         * configure.in: Only use pangox library if building x11 target.
7685         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
7686
7687 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7688
7689         * gtk/gtkcolorsel.c: Change private class member to be named
7690         private_data throughout the file.
7691
7692         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
7693         private_data to avoid clashing with keyword.
7694
7695 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7696
7697         * gdk/gdkdnd.h: Add comment to remove warning.
7698
7699 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
7700
7701         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
7702         Byelorussian language; changed the Makefile and file names 
7703         to reflect that.
7704
7705 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
7706
7707         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
7708         rather than gdk_window_hide; this makes things work
7709         correctly if the window is programmatically hidden while
7710         iconified.
7711
7712 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
7713
7714         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
7715         cut and paste typo where wrong pixmap was being
7716         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
7717
7718 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
7719
7720         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
7721         Add helper function to compute format / bytes 
7722         relationship. Use in a couple places to fix up
7723         errors which assume 8 * format.
7724
7725         * gtk/gtkselection.c (gtk_selection_request): Use 32
7726         rather than 8 * sizeof (GdkAtom), to work correctly
7727         on Alpha.
7728
7729 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
7730
7731         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
7732         libgtk.la
7733         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
7734         versions
7735
7736         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
7737         checking macros return NULL since the function has a return value.
7738
7739 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
7740
7741         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
7742         GTK+ from building at all.
7743
7744         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
7745
7746 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
7747
7748         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
7749         gtk/Makefile.am: make it possible to configure gtk for different
7750         targets on the same platform. The library name is now 
7751         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
7752         flag. Only the x11 target compiles right now.
7753         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
7754         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
7755         * gdk/nanox/gdk*generic*: delete generic region code.
7756         * gdk/linux-fb/gdk*generic*: delete generic region code.
7757         * README.nanox: update information.
7758         
7759 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
7760
7761         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
7762         prepend not append. (Pointed out by Brett Hall.)
7763
7764 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
7765
7766         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
7767
7768 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
7769
7770         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
7771         need this later, and this makes sure that the atexit for
7772         glib gets called after that for GDK, so atexits are
7773         properly ordered for object leak checking.
7774
7775         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
7776
7777         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
7778         pango_x_shutdown_display()
7779
7780         * gtk/simple.c (main): Close window on destroy.
7781
7782 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
7783
7784         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
7785         to treat initial creation different from setting with 
7786         regards to the graphics-exposures parameter, so add a parameter
7787         indicating whether this is initial or not.
7788
7789 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
7790
7791         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
7792         to sort of work by adding an extra return_exposes arg
7793         to gdk_event_translate() - it might be better to simply
7794         deprecate the function altogether and force people to rewrite
7795         without it. gdk_window_scroll() handles most of it, and where
7796         gdk_window_scroll() doesn't work, simply redrawing more does.
7797
7798         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
7799         assertion.
7800
7801         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
7802
7803         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
7804         bunch of pretty much useless /* Print debugging info */ comments 
7805         which had drifted away from the code they were commenting.
7806
7807 2000-06-02  Havoc Pennington  <hp@pobox.com>
7808
7809         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
7810         is in working order.
7811         
7812         * gtk/testtext.c: Change to reflect anonymous mark API
7813
7814         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
7815
7816         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
7817         field, which was unused.
7818
7819         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
7820         saves some typing.
7821
7822         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
7823
7824         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
7825         flag on the insertion point and selection bound
7826
7827         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
7828         make mark-manipulation functions take a GtkTextMark* instead of a
7829         mark name.
7830         
7831         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
7832         GtkTextMarkBody; will be used to detect attempts to delete
7833         the permanent marks (insert and selection bound)
7834
7835         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
7836
7837 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
7838
7839         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
7840         flag to on.
7841
7842         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
7843         Honor DOUBLE_BUFFRED_FLAG
7844
7845         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
7846         function to set the DOUBLE_BUFFERED flag.
7847
7848         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
7849         or not exposes done on the widget should be double-buffered.
7850
7851         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
7852         to be what would be expected. (Fixes problem with a
7853         g_return_if_fail() validating a TextDirection enumeration)
7854
7855 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
7856
7857         * gtk/gtkwidget.c: Remove all references to 
7858         offscreen flag which was no longer used.
7859
7860         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
7861
7862         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
7863         for non-null label_widget->parent.
7864
7865         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
7866         which no longer was used.
7867
7868         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
7869
7870         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
7871         for null arguments.
7872
7873         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
7874         check for destroyed windows.
7875
7876 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
7877
7878         * gtk/gtkimmulticontext.c: Add a finalize method and unref
7879         the slave context there.
7880
7881         * gtk/gtkinvisible.[ch]: Make reference counting behavior
7882         identical to GtkWindow.
7883
7884 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
7885
7886         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
7887         pangox to here, so we can write them independent of rendering
7888         system, using GDK primitives.
7889
7890         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
7891         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
7892         since we have a rendering-system independent implementation in
7893         terms of draw_glyphs().
7894         
7895         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
7896         function to render a single line.
7897
7898         * gdk/x11/gdkpango.c: Move the guts of this file mostly
7899         into ../gdkpango.c, which simplifies things, since we
7900         don't have to deal with raw X gc's.
7901
7902 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
7903
7904         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
7905         get the logical attributes for a given GtkTextLine.
7906
7907 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
7908
7909         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
7910         g_locale_get_codeset() to g_get_codeset() change.
7911
7912 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
7913
7914         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
7915         descriptions.
7916
7917         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
7918         the entry.
7919
7920         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
7921         redoing (vastly simplifying) for Pango. Still needs quite
7922         a bit of work. (Size selection is currently poor. List of 
7923         predefined sizes is not a good idea, since all of these
7924         sizes won't necessarily be distinct.)
7925
7926 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
7927
7928         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
7929         CODESET results for LANG=C.
7930
7931 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
7932
7933         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
7934         which takes a stringized pango font description;
7935         ignore the older 'font' and 'fontset' declarations.
7936
7937         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
7938         field with a GdkFont derived via gdk_font_from_description(),
7939         for compatibility. (Should we just remove it entirely?
7940         Probably too much compatibility breakage, but people
7941         should be migrating to the new Pango stuff as quickly
7942         as possible.)
7943
7944 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
7945
7946         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
7947
7948 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
7949
7950         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
7951         redoing; there are some bugs in size allocation right
7952         now, the semi-existant distinction between header / day
7953         fonts was removed, but, with Pango, could actually
7954         be made functional in a nice way.
7955         
7956         * gtk/testcalender: Move calender from examples into this
7957         directory as a test program. (We really need to restrcture
7958         testgtk into a whole directory full of tests for every
7959         widget or functionality group, separated into multiple .c
7960         files.)
7961
7962 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
7963
7964         * gtk/testgtk.c (file_exists): Fix stupid typo that
7965         was keeping RC file from being loaded.
7966
7967         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
7968         RC file font code.
7969
7970 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
7971
7972         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
7973         Add function to load a GdkFont from a PangoFontDescription.
7974
7975 2000-05-29  Tor Lillqvist  <tml@iki.fi>
7976
7977         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
7978         variable should be of type GdkEventPrivate.
7979
7980 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
7981
7982         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
7983         to have any widget for the label, use a GtkLabel widget
7984         to display the text. (Based partially on a patch from
7985         Anders Carlson.)
7986
7987         (Quite a bit of code reorganization - strip 90% of the
7988         guts out of gtkaspectframe and add a single virtual
7989         func to GtkFrameClass - compute_child_allocation.)
7990
7991 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
7992
7993         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
7994         (Removed clist->row_center_offset field because caching
7995         it wasn't saving time or code, added private function
7996         _gtk_clist_create_cell_layout()).
7997
7998 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
7999
8000         * gtk/gtkaccellabel.c: Pangoized.
8001
8002         * gtk/[hv]ruler.c: Pangoized
8003
8004 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
8005
8006         * gtk/gtkfilesel.c (gtk_file_selection_init):
8007         Use gtk_clist_set_column_auto_resize() to remove need
8008         need for manual column width computations.
8009
8010 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
8011
8012         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
8013         ensuring Pango correctness, and considerably simplifying the
8014         code.
8015         
8016         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
8017
8018         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
8019         getting of numbers of lines.
8020
8021         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
8022         to the actual requested width of the lable, not to the wrap
8023         width we set.
8024
8025         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
8026
8027         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
8028           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
8029
8030         * gtk/gtktextview.c: Fix structure inheritance.
8031
8032         * gtk/gtkprogressbar.c: Pangoize.
8033
8034 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
8035
8036         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
8037         in a function.
8038
8039         * gtk/gtktextlayout.c (find_display_line_above): Fixed
8040         bug with computing line tops.
8041
8042         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
8043
8044 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
8045
8046         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
8047         and y_offset coordinates to do what we need now. (The offset between
8048         buffer and layout coordinates has been reintroduced, but is a 
8049         bit different than before.)
8050
8051         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
8052         handle the adjustments ourselves, and scroll as necessary using
8053         the new gdk_window_scroll().
8054         
8055         The advantage of this is that when we are incrementally revalidating,
8056         we are essentially rearranging things around the visible portion
8057         of the screen. With the old setup, the visible portion of the
8058         screen was moved around in the layout, so scrolling and redrawing
8059         to track that caused jumping of the display. Since we now
8060         control the scrolling ourselves, we can suppress this and
8061         only redraw when things actually change.
8062
8063 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
8064
8065         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
8066         the region not just redisplay it after-all, since we store the
8067         cursors in the LineDisplay. (Ugly interactions here between
8068         GtkLayout and GtkTextBTree here.)
8069         
8070         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
8071
8072 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
8073
8074         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
8075         Added function to scroll contents of a window while keeping the
8076         window constant. Works by XCopyArea or guffaw-scrolling depending
8077         on the details of how the window is set up. (guffaw-scrolling
8078         still needs to be filled in.)
8079
8080 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
8081
8082         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
8083         move the debugging that was tied to a global variable
8084         to that.
8085
8086         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
8087
8088         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
8089         validated flag, in line data instead of setting height/width to
8090         -1. This allows us to perform operations with partially invalid
8091         buffer (using the old size for invalid lines) and thus to do
8092         incremental vaidation. Keep height/width aggregates up to date
8093         when deleting text and rebalancing the tree.
8094
8095         * gtk/gtktextbtree.[ch]: Add functions validate a line
8096         (gtk_text_btree_validate_line), and to validate up
8097         to a number of pixels (gtk_text_btree_validate).
8098
8099         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
8100         that indicates that something is changed and a revalidation
8101         pass is needed. Change ::need_repaint to ::changed, and
8102         make it take old and new yranges instead of a rectangle.
8103
8104         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
8105         the line_data_destroy() function from 
8106         gtk_text_btree_add_view() to a virtual function in 
8107         GtkTextLayout
8108
8109         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
8110         since we are handling partial repaints in a different fashion
8111         now.
8112
8113         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
8114         of the selection instead of queueing a repaint on the
8115         entire widget.
8116
8117         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
8118         get_selection_bounds() down to btree, make the function
8119         in buffer a wrapper around the btree function.
8120
8121         * gtk/gtktextlayout.[ch]: Add functions to check if the
8122         layout is valid and to recompute either a range of pixels
8123         aroudn a line or a certain total number of pixels.
8124
8125         * gtk/gtktextlayout.[ch]: Cache a single line display;
8126         now that we only redraw the needed portions, the hit rate
8127         for this cache is quite high.
8128         
8129         * gtk/gtktextview.[ch]: Keep track of the first paragraph
8130         on the screen so that when re-laying-out the buffer, we can
8131         keep the same place. This requires connecting to ::value_changed
8132         on the adjustments
8133
8134         * gtk/gtktextview.[ch]: Add idle functions to revalidate
8135         the buffer after we receive an ::invalidated signal.
8136         
8137 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
8138
8139         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
8140         to max of allocation and layout size, not just to the
8141         layout size.
8142
8143         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
8144         Invalidate window so it gets redrawn properly.
8145
8146         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
8147         to mean the entire window.
8148
8149         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
8150         into public header.
8151
8152 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
8153
8154         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
8155         to get the name of a mark.
8156
8157         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
8158         to find the paragraph from a y position.
8159
8160 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
8161
8162         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
8163         nodes have width/height >= 0, not > 0.
8164
8165 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
8166
8167         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
8168         Add a size_only flag, so when we only need the size, we don't create
8169         useless appearance attributes.
8170
8171         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
8172         duplicate setting of font description.
8173
8174         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
8175
8176 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8177
8178         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8179         EXTRA_DIST. It does not work well when the file that
8180         everything depends on is not in the tarball.
8181
8182 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8183
8184         * gtk/testgtk.c: Some hacks and fixes so that it basically
8185         works when not sitting in the GTK+ build tree.
8186
8187 2000-05-03  Havoc Pennington  <hp@redhat.com>
8188
8189         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8190         Properly determine the ordering of the tag root and the current
8191         line within the tree. Previous algorithm only worked if the tag
8192         root's immediate parent was the common root of both the current
8193         line and the tag root.
8194
8195 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
8196
8197         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
8198         alignment.
8199
8200         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
8201         the widget text directional dynamically.
8202
8203         * gtk/gtktextview.[ch]: Added functions to get and set default
8204         wrap mode.
8205
8206 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
8207
8208         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
8209         in cursor location computation.
8210
8211 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
8212
8213         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
8214         vadjusment values properly when layout gets smaller.
8215
8216         * gtk/gtktextview.c (need_repaint_handler): Areas being
8217         passed in are far completely inaccurate, and sometimes
8218         too small, so, for now, just queue a redraw on the
8219         whole visible region.
8220
8221 2000-04-25  Havoc Pennington  <hp@redhat.com>
8222
8223         * gtk/gtktextbtree.c (summary_destroy): new function to 
8224         destroy tag summary nodes
8225         (gtk_text_line_next_could_contain_tag): this function was 
8226         totally broken if the line passed in wasn't below the tag
8227         root. Fix it.
8228         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
8229         "wildcard" case, we have to do a linear scan. Blah.
8230         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
8231         we have to do the linear scan
8232         (tag_removed_cb): When a tag is removed from the tag table, 
8233         remove the GtkTextTagInfo node from the btree.
8234         (gtk_text_btree_spew): Implement the spew function, for 
8235         our debugging pleasure.
8236
8237 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
8238
8239         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
8240         a problem with referring to the wrong buffer.
8241
8242         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
8243
8244         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
8245         font description to gtk_style_new() - otherwise things
8246         don't work without a .gtkrc file.
8247
8248         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
8249         tags table if we create it ourself, too.
8250
8251         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
8252         it was conflicting with XKB modifiers.
8253
8254         * gtk/gtktextview.[ch]: Add simple support for 
8255         GtkIMContext.
8256
8257 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
8258
8259         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
8260         with deletion from last commit.
8261
8262 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
8263
8264         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
8265         in the context from the current locale.
8266         
8267         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
8268         context, not hardcoded value.
8269
8270         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
8271         not logical.
8272
8273 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8274
8275         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
8276         attributes - that doesn't handle partial-glyph selection
8277         properly. Instead use new pango_layout_line_get_x_ranges()
8278         functionality to draw the selection.
8279
8280         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
8281         now properly handles out-of-range coordinates.
8282
8283         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
8284
8285         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
8286         public.
8287
8288         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
8289         for paragraphs opposite to the base direction of the widget.
8290
8291         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
8292
8293         * gtk/gtktextlayout.c: Don't split segments on marks, since that
8294         causes Arabic words to reshape as you cursor through.
8295
8296         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
8297         cursor position when moving vertically with the arrow keys and
8298         scrolling with page-up/page-down. (Arrow keys save only the X,
8299         scrolling saves both X and Y.)
8300
8301         This means you can line-up / line-down or page-up / page-down
8302         without losing your place, and also that moving vertically
8303         with the cursor keys keeps the same X position, not the same
8304         character count:
8305
8306         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
8307         arrow keys move by display lines, not paragraphs.
8308
8309 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8310
8311         * gtk/gtklayout.c: Make sure that the bin window is at least
8312         as big as the allocation. (Should we also make sure that the
8313         bin window is big enough to completely cover widget->window?)
8314
8315         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
8316         function to get the onscreen rectangle.
8317
8318         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
8319         for offsets in window coordinates.
8320
8321 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
8322
8323         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
8324         confusion.
8325
8326         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
8327         from the widget direction.
8328
8329         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
8330         Add a "direction" attribute.
8331
8332         * gtk/gtktextview.c: global s/tkxt/text_view/.
8333
8334         * gtk/testtext.c: Added long block of text in Arabic, to test out
8335         the direction attributes. (Some problems with the shaping system
8336         for arabic become obvious - like the fact the cursor splits words
8337         into unjoined pieces.)
8338
8339 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
8340
8341         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
8342
8343         * gtk/gtktextlayout.c: Fix up alignment.
8344
8345         * gtk/testtext.c: Add some tests for centering, wrapping.
8346
8347 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
8348
8349         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8350         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
8351         If we wrote GTK+-specific layout-render function this could just replace
8352         the draw_layout() operation in the vtable.
8353
8354         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
8355         pango_layout_get_cursor_pos() and use that function.
8356
8357         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
8358         is a non-static symbol.
8359
8360         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
8361         with gtk_text_btree_find_line_by_y()
8362
8363         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
8364         renderer that handles GtkTextAppearance attributes.
8365
8366         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
8367
8368           - Move the values in the style that don't affect geometry into a
8369             GtkTextAppearance structure.
8370           - Change underline to take a PangoUnderline and "font" a string
8371             representation of a font description
8372           - Add a "font_desc" attribute which takes a FontDescription structure.
8373
8374         * gtk/gtktextlayout.[ch]:
8375
8376           - Get rid of the display-line list per each line. Instead, we
8377             generate, on demand, a GtkTextLineDisplay structure which]
8378             contains a PangoLayout * and other necesary information
8379             (offsets, cursor locations) for displaying a paragraph.
8380           - Get rid of the code to wrap lines, create display chunks,
8381             etc. Instead, we just go through a paragraph and convert
8382             it into the necessary inputs to a PangoLayout.
8383           - Implement a new attribute type, GtkTextAttrAppearance. This
8384             holds a GtkTextAppearance, and is used to pass colors, 
8385             stipple, etc, through from the layout to the display without
8386             having to use lots and lots of individual attributes.
8387           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
8388             in terms of PangoLayout functions.
8389         
8390         * gtk/gtktextview.c: 
8391          
8392           - Handle passing the necessary PangoContext to the layout
8393           - Some fixups in painting to deal with the automatic backing store
8394             and offsetting of GTK+-1.4
8395           - Add a style_set handler so that the default style reacts
8396             properly to theme changes.
8397         
8398         * gtk/gtktext?*.[ch]: Random code-style fixes.
8399
8400         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
8401
8402 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
8403
8404         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
8405         in original form preparatory to Pango-ization and gdkimcontext-ization.
8406
8407 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
8408
8409         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
8410         so that we can derive from gtkimcontext in language bindings properly.
8411
8412 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
8413
8414         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
8415         Add a compose table including (almost) all the compose combinations
8416         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
8417         data in the XIM implementation.
8418
8419         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
8420         Moved functions to convert keyvalues from and to unicode here from
8421         the win32 port and made them public.
8422
8423 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
8424
8425         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
8426
8427 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
8428
8429         * gtk/gtkimcontext.[ch]: Base class for new input context system
8430
8431         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
8432         the real input context implementation to be loaded from modules
8433         and switched on the fly.
8434
8435         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
8436         context that just does direct keysymbol => unicode translation.
8437
8438         * gtk/gtkentry.[ch]: Start switching editing over to using
8439         GtkInputContext. (No handling of preedit yet.)
8440
8441 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
8442
8443         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
8444         many substitutions. (klass should not be subsituted.)
8445
8446 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
8447
8448         * configure.in: Add checks for Pango
8449
8450         * configure.in docs/Makefile.am: Add test for sgml2html
8451         and allow 'make dist' without building html, but print out
8452         warnings in that case. (For making snapshots)
8453
8454         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
8455         Add Pango libraries and C flags
8456
8457         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8458         Add function (gdk_draw_layout) to draw a pango layout.
8459
8460         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
8461         for getting Pango contexts for GDK.
8462
8463         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
8464
8465         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
8466         editing.
8467
8468         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
8469         keysym => unicode translations. More languages can be added
8470         here, but real input-method support is needed.
8471
8472         * docs/Changes-1.4.txt: Added note about entry behavior.
8473         
8474         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
8475         to set the reading direction for a widget and the global direction.
8476         Add test which allows toggling the global direction. Two private
8477         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
8478
8479         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
8480           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
8481
8482         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
8483
8484         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
8485         underlining now handled by Pango.
8486
8487         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
8488         to RCStyle and Style. (Having both this and the old font name and GdkFont 
8489         is temporary.)
8490
8491         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
8492         convenience functions for creating contexts and layouts for widgets.
8493
8494         * gtk/testgtk.c: Enhance label tests with multilingual labels.
8495
8496 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
8497
8498         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
8499         titles to be active, even if they aren't visible.
8500         (gtk_clist_column_titles_passive):  Ditto.
8501
8502 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
8503
8504         * gtkmenu.c:
8505         * gtkmenu.h:
8506         * gtktypeutils.h: Spelling/grammar fixes in comments.
8507
8508 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
8509
8510         * gdk/nanox/*.h: add missing header files.
8511
8512 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
8513
8514         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
8515         send_event to TRUE.
8516         (gtk_drawing_area_size): queue a resize.
8517
8518 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
8519
8520         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
8521         the handlers, also invalidate them. bug nailed down by Karl Nelson
8522         <kenelson@ece.ucdavis.edu>.
8523
8524 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
8525
8526         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
8527         "(nil)" foundries, patch from Grigorios Magklis.
8528
8529         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
8530         on non-available fonts, based on a patch by Grigorios Magklis
8531         <maglis@cs.rochester.edu>.
8532
8533 2000-05-18  Elliot Lee  <sopwith@redhat.com>
8534
8535         * gdk/x11/gdkregion-generic.c: If a region does not have any
8536         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
8537         instead of GDK_OVERLAP_RECTANGLE_IN.
8538
8539 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
8540
8541         * gtk/gtklayout.c (gtk_layout_map): Remove references to
8542         OFFSCREEN, as it is no longer necessary.
8543
8544 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
8545
8546         * gtk/gtkcolorsel.c: Patch from David Santiago
8547         <mrcooger@cyberverse.com> to change things so that the 
8548         indicator of the active palette entry is done independently,
8549         not via the focus, since it should always be visible.
8550
8551 2000-05-17  Tor Lillqvist  <tml@iki.fi>
8552
8553         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
8554         refcount leaks as in the X11 backend.
8555
8556         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
8557         cosmetics.
8558
8559         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
8560         backend. Add _gdk_windowing_window_destroy().
8561
8562         * gtk/gtkcolorsel.c: Include correct backend-specific header.
8563         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
8564         either, but these probably do exist on nanox?)
8565         
8566         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
8567         which isn't necessarily defined by <math.h>.
8568
8569         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
8570         ancestry past GtkObject.
8571
8572         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
8573         from DLL on Win32.
8574
8575         * gtk/gtk.def: Update corresponding to recent changes.
8576
8577         * gtk/makefile.{cygwin,msc}: Updates.
8578
8579 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
8580
8581         * docs/Changes-1.4.txt: A bit of editing.
8582
8583         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
8584         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
8585         to clear the update area for the window, and clear it
8586         when hiding a window.
8587
8588         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
8589         if window destroyed.
8590
8591         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
8592
8593         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
8594         gdk_window_destroy() to the generic code, since there was a lot of 
8595         window-system-independent logic it in. Add a function:
8596         
8597          _gdk_window_destroy() 
8598
8599         to the internal API to destroy a window without unreferencing it.
8600         Add a function:
8601
8602          _gdk_windowing_window_destroy()
8603
8604         That does the windowing-system-dependent part of destroying 
8605         the window.
8606
8607 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
8608
8609         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
8610
8611 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
8612
8613         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
8614         Make gtk_widget_shape_combine_mask() keep a reference count on
8615         the pixmap since it keeps it around.
8616
8617 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
8618
8619         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
8620         leak.
8621
8622         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
8623         leak with event filters.
8624
8625 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
8626
8627         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
8628         signal handlers with the right data arguments. (Fixes
8629         some warnings when a widget was repeatedly set as a drag
8630         destination.)
8631
8632         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
8633         window so we can avoid avoid setting the DND properties on the
8634         toplevel window repeatedly.
8635
8636 2000-05-13  Tor Lillqvist  <tml@iki.fi>
8637
8638         * gdk/win32/gdkwin32.h: Define more message types missing from
8639         mingw headers.
8640
8641         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
8642         call gdk_window_destroy_notify(). It was never called. This
8643         probably meant that the GdkWindow was never freed. Thanks Owen for
8644         noticing (!).
8645
8646         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
8647         window as destroyed before calling DestroyWindow(). DestroyWindow()
8648         causes a call to the window procedure (gdk_WindowProc), which
8649         calls gdk_event_translate(), which calls
8650         gdk_window_destroy_notify(), which gets confused unless the window
8651         is set as destroyed.
8652
8653         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
8654         this function to indicate it's win32 only. Put inside #ifdef
8655         G_ENABLE_DEBUG.
8656
8657         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
8658         debugging function. (gdk_event_translate:) Add a default branch
8659         that uses the above function to print debug messages with all
8660         Windows messages symbolically.
8661
8662         * gdk/win32/gdkprivate-win32.h: Declare it, and
8663         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
8664
8665 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
8666
8667         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
8668         public header file.
8669
8670 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
8671
8672         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
8673
8674         * gtk/gtktext.c: made the adjustments no-construct args, simply
8675         provide default adjustments.
8676         (gtk_text_destroy): release adjustments.
8677
8678         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
8679         adjustment argument non-construct.
8680
8681         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
8682         instead of in finalize.
8683         (gtk_progress_get_text_from_value): 
8684         (gtk_progress_get_current_text): 
8685         (gtk_progress_set_value): 
8686         (gtk_progress_get_percentage_from_value): 
8687         (gtk_progress_get_current_percentage): 
8688         (gtk_progress_set_percentage): 
8689         (gtk_progress_configure): ensure an adjustment is present.
8690
8691 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
8692
8693         * gtk/gtkcolorsel.[hc]:
8694         * gtk/gtkcolorseldialog.[hc]:
8695         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
8696         their parent implementation, use bit fields for boolean values, don't
8697         create unused widgets, usage of glib types, braces go on their own
8698         lines, function argument alignment, #include directives etc. etc. etc..
8699
8700         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
8701
8702 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
8703
8704         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
8705
8706         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
8707         of NULL.
8708
8709         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
8710         to freed data.
8711         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
8712
8713         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
8714         to NULL when the toplevel is getting destroyed.
8715         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
8716         (gtk_menu_destroy): 
8717         (gtk_menu_init): store the information of whether we have to
8718         readd the initial child ref_count during destruction in a new
8719         GtkMenu field needs_destruction_ref_count.
8720
8721         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
8722         here, those reading: learn from my mistake! ;)
8723         in order for set_?adjustment to support a default adjustemnt if
8724         invoked with an adjustment pointer of NULL, the code read (pseudo):
8725         if (v->adjustment) unref (v->adjustment);
8726         if (!adjustment) adjustment = adjustment_new ();
8727         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
8728         now imagine the first unref to actually free the old adjustment and
8729         adjustment_new() creating a new adjustment from the very same memory
8730         portion. here, the latter comparision will unintendedly fail, and
8731         all hell breaks loose.
8732         (gtk_viewport_set_hadjustment):
8733         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
8734         after unreferencing it.
8735
8736         * gtk/gtkcontainer.[hc]: removed toplevel registration
8737         functions: gtk_container_register_toplevel(),
8738         gtk_container_unregister_toplevel() and
8739         gtk_container_get_toplevels() which had wrong semantics
8740         anyways: it didn't reference and copy the list.
8741
8742         * gtk/gtkwindow.c: we take over the container toplevel registration
8743         bussiness now. windows are registered across multiple destructions,
8744         untill they are finalized. the initial implicit reference count
8745         users are holding on windows is removed with the first destruction
8746         though.
8747         (gtk_window_init): ref & sink and set has_user_ref_count, got
8748         rid of gtk_container_register_toplevel() call. add window to
8749         toplevel_list.
8750         (gtk_window_destroy): unref the window if has_user_ref_count
8751         is still set, got rid of call to
8752         gtk_container_unregister_toplevel().
8753         (gtk_window_finalize): remove window from toplevel list.
8754         (gtk_window_list_toplevels): new function to return a newly
8755         created list with referenced toplevels.
8756         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
8757
8758         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
8759         adjustment a non-construct arg.
8760         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
8761         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
8762         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
8763
8764         * gtk/gtkrange.c: added some realized checks.
8765         (gtk_range_destroy): get rid of the h/v adjustments in the
8766         destroy handler instead of finalize. remove timer.
8767         (gtk_range_get_adjustment): demand create adjustment.
8768
8769         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
8770         we simply create them on demand now and get rid of them in
8771         the destroy handler.
8772         (gtk_viewport_destroy): get rid of the h/v adjustments in the
8773         destroy handler instead of finalize.
8774         (gtk_viewport_get_hadjustment): 
8775         (gtk_viewport_get_vadjustment): 
8776         (gtk_viewport_size_allocate): demand create h/v adjustment
8777         if required.
8778
8779         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
8780         gtk_widget_real_destroy () functionality.
8781         (gtk_widget_real_destroy): reinitialize with a new style, instead
8782         of setting widget->style to NULL.
8783
8784 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
8785
8786         * gtk/gtkcalendar.c:
8787         * gtk/gtkbutton.c: ported _get_type() implementation over to
8788         GType, either to preserve memchunks allocation facilities,
8789         or because Gtk+ 1.0 GtkTypeInfo was still being used.
8790
8791         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
8792         over. prepare for ::destroy to be emitted multiple times.
8793         removed reference tracer magic. chain into GObjectClass.shutdown()
8794         to emit ::destroy signal.
8795
8796         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
8797         fundamental.
8798
8799         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
8800         cludge.
8801
8802         * gtk/gtksocket.c:
8803         * gtk/gtkplug.c:
8804         * gtk/gtklayout.c:
8805         * gtk/gtklabel.c:
8806         * gtk/gtkargcollector.c:
8807         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
8808         not being a fundamental anymore, and to work with the new
8809         type system (nuked fundamental type varargs clutter).
8810
8811         * gtk/*.c: install finalize handlers in the GObjectClass
8812         part of the class structure.
8813         changed direct GTK_OBJECT()->klass accesses to
8814         GTK_*_GET_CLASS().
8815         changed direct object_class->type accesses to GTK_CLASS_TYPE().
8816
8817         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
8818         GType. made most of the GTK_*() type macros and Gtk* typedefs
8819         simple wrappers around macros and types provided by GType.
8820         most notably, a significant portion of the old API vanished:
8821         GTK_TYPE_MAKE(),
8822         GTK_TYPE_SEQNO(),
8823         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
8824         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
8825         GTK_TYPE_ARGS,
8826         GTK_TYPE_CALLBACK,
8827         GTK_TYPE_C_CALLBACK,
8828         GTK_TYPE_FOREIGN,
8829         GtkTypeQuery,
8830         gtk_type_query(),
8831         gtk_type_set_varargs_type(),
8832         gtk_type_get_varargs_type(),
8833         gtk_type_check_object_cast(),
8834         gtk_type_check_class_cast(),
8835         gtk_type_describe_tree(),
8836         gtk_type_describe_heritage(),
8837         gtk_type_free(),
8838         gtk_type_children_types(),
8839         gtk_type_set_chunk_alloc(),
8840         gtk_type_register_enum(),
8841         gtk_type_register_flags(),
8842         gtk_type_parent_class().
8843         replacements, where available are described in ../docs/Changes-1.4.txt.
8844         implemented compatibility functions for the remaining API.
8845
8846         * configure.in: depend on glib 1.3.1, use gobject module.
8847
8848 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
8849
8850         * TODO.xml: Various updates to current status.
8851
8852 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
8853
8854         * gtk.m4: Print out version when test succeeds.
8855
8856 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
8857
8858         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
8859         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
8860         
8861         (Original triangle color selector from Simon Budig
8862         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
8863         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
8864         Santiago <mrcooger@cyberverse.com>)
8865
8866         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
8867         out into a separate widget.
8868
8869         * gtk/testgtk.c: Add some checkbuttons for toggling palette
8870         and opacity controls.
8871
8872 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
8873
8874         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
8875         snuck in prematurely.
8876
8877 2000-05-07  Tor Lillqvist  <tml@iki.fi>
8878
8879         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
8880         had deleted a ! operator by mistake, which caused
8881         GDK_SELECTION_CLEAR events never to be generated, which caused
8882         only the first copy to the clipboard from an gtkeditable to
8883         actually cause a copy to the Windows clipboard.
8884
8885 2000-05-06  Tor Lillqvist  <tml@iki.fi>
8886
8887         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
8888         compilation, too. Current mingw gcc distributions include the
8889         necessary headers. Also the necessary IIDs are now in mingw
8890         headers/libraries, and own definitions unnecessary.
8891
8892         More hacking on OLE2 DND, still doesn't work though, and thus
8893         ifdeffed out.
8894
8895         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
8896         here, too.
8897
8898 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
8899
8900         * gdk/nanox/*: nano-X port work in progress.
8901         * gdk/simple.c: simple test for Gdk.
8902         * README.nanox: notes about the port: read this first!
8903         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
8904         with nano-X.
8905
8906 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
8907
8908         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
8909         gdk_window_clear() into common code, implement in terms of
8910         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
8911         not redirected to the backing rectangle.
8912
8913 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8914
8915         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8916         EXTRA_DIST. It does not work well when the file that
8917         everything depends on is not in the tarball.
8918
8919 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
8920
8921         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
8922         with recursion where process_updates() is called from
8923         an expose handler. (GtkTextView is highly broken in
8924         doing this, but it should work, so it is a nice test
8925         case.)
8926
8927 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8928
8929         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
8930         handle the case where updates are queued during processing of
8931         updates.
8932
8933 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8934
8935         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
8936         window is on gdk_display - use that instead of segfaulting.
8937
8938 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
8939
8940         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
8941         broken and require an empty arg, give it to them.
8942
8943 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
8944
8945         * gtk/gtklabel.h: indentation fixes.
8946
8947 2000-05-02  Tor Lillqvist  <tml@iki.fi>
8948
8949         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
8950         draw too narrow or too low arcs, they seem to fail, at least with
8951         some display drivers.
8952
8953         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
8954
8955         Large changes to the Win32 backend, partially made necessary by
8956         the changes to the backend-independent internal
8957         structures. Attempts to implement similar backing store stuff as
8958         on X11. The current (CVS) version of the Win32 backend is *not* as
8959         stable as it was before the no-flicker branch was merged. A
8960         zipfile with that version is available from
8961         http://www.gimp.org/win32/. That should be use by "production"
8962         code until this CVS version is usable. (But note, the Win32
8963         backend has never been claimed to be "production quality".)
8964
8965         * README.win32: Add the above comment about versions.
8966
8967         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
8968
8969         * gdk/gdk.def: Update.
8970
8971         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
8972         presumably be replaced by some more better mechanism as 1.4 gets
8973         closer to release shape.
8974
8975         * gdk/makefile.{cygwin,msc}: Update.
8976
8977         * gdk/win32/*.c: Correct inclusions of the backend-specific and
8978         internal headers. Change code according to changes in these. Use
8979         gdk_drawable_*, not gdk_window_* where necessary.
8980
8981         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
8982         our old DND.
8983
8984         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
8985         to interpret single characters as UTF-8. Thanks to Hans Breuer.
8986         Use correct function name in warning messages.
8987
8988         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
8989         GSourceFuncs gdk_event_prepare and gdk_event_check.
8990         (gdk_event_get_graphics_expose): Do implement, use
8991         PeekMessage. Thanks to Hans Breuer.
8992         (event_mask_string): Debugging function to print an GdkEventMask.
8993         (gdk_pointer_grab): Use it.
8994
8995         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
8996         (old) book I used claimed was Hangul actually is CJK Unified
8997         Ideographs Extension A. Also, Hangul Syllables were missing.
8998         Improve logging.
8999
9000         * gdk/win32/gdkgc-win32.c: Largish changes.
9001
9002         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
9003         g_win32_getlocale() from GLib, and not setlocale() to get current
9004         locale name.
9005
9006         * gdk/win32/gdkprivate-win32.h
9007         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
9008         gdkwin32.h, similarily as in the X11 backend.
9009
9010         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
9011         assignment was used instead of equals in if test. Thanks to Hans
9012         Breuer.
9013
9014         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
9015         the X11 version.
9016
9017         * gdk/win32/makefile.{cygwin,msc}
9018         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
9019         path to the Win32 headers that works also with the mingw compiler.
9020
9021         * gtk/gtkstyle.c: Include <string.h>.
9022
9023 2000-04-26  Havoc Pennington  <hp@redhat.com>
9024
9025         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
9026         replacing the broken gtk_label_get ()
9027
9028 2000-04-15  Havoc Pennington  <hp@pobox.com>
9029
9030         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
9031         this keeps scanner scripts from getting confused.
9032
9033         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
9034         data, rather than void
9035
9036 2000-04-15  Tor Lillqvist  <tml@iki.fi>
9037
9038         * gtk/gtkclist.c (gtk_clist_motion)
9039         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
9040         with is_hint FALSE, get x and y from the event. They used to be
9041         used uninitialised. The Win32 backend never sends motion events
9042         marked as hints. This for instance fixes the annoying file and
9043         font selector behaviour in the Win32 version.
9044
9045 2000-04-14  Tor Lillqvist  <tml@iki.fi>
9046
9047         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
9048         gtk_private_n_signals variables, they are used by some software,
9049         sigh.
9050
9051         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
9052         installation directory from the Registry, where the installer
9053         should have put it.
9054
9055 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
9056
9057         * gdk/x11/Makefile.am: Fix problem with installation directory for
9058         gdkx.h
9059
9060         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
9061         <mrcooger@cyberverse.com> so that when selecting menus with the
9062         mouse, the first item will not be selected, but when selecting
9063         with an accelerator, or navigating left-right on a menubar with
9064         the menus popped up, the first item will be selected.
9065
9066 2000-04-05  Dan Damian  <dand@dnttm.ro>
9067
9068         * configure.in: Added "ro" to ALL_LINGUAS.
9069
9070 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
9071
9072         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
9073         indentation.
9074
9075         * Makefile.am (EXTRA_DIST): Fix typo.
9076
9077         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
9078         to catch gdkconfig.h
9079
9080         * gtk/gtkitemfactory.c: Added FIXME.
9081
9082 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
9083
9084         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
9085         s/return_if_fail/return_val_if_fail/g and add a return value.
9086
9087 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9088
9089         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
9090         merge slipup.
9091
9092         * gdk/gdkinput.h: Fix missing line from merge.
9093
9094 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
9095
9096         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
9097         instead of gdkprivate.h.
9098
9099 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
9100
9101         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
9102         parent class to correctly be GtkDialogClass.
9103
9104 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
9105
9106         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
9107         toplevel windows and their immediate children by their parents,
9108         since the size of toplevel windows is out of our immediate
9109         control and we don't get any real benefit from trying to track
9110         this size for clipping.
9111
9112         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
9113         for input_only windows.
9114
9115         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
9116         to fix some hacks and make sure that we don't try to set the
9117         background of input only windows.
9118
9119 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
9120
9121         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
9122         the _really_ internal stuff, and leave gdkprivate.h for the fake private
9123         stuff that we've traditionally exposed.
9124
9125         * gdk/**.c: Use gdkinternals.h where appropriate.
9126
9127         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
9128         not include gdkprivate-x11.h, move all stuff of conceivable public
9129         interest into gdkx.h; keep all really private stuff in
9130         uninstalled header gdkprivate-x11.h.
9131
9132         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
9133         image->image_put on windows through a new function _gdk_window_draw_image()
9134         to allow us to do backing store for images. (Sort of ugly)
9135
9136         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
9137         contexts locally so that we can offset them properly when drawing 
9138         onto backing pixmaps.
9139
9140         * gdk/gdkinput.h: Reindented
9141
9142         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
9143         pixmap or color for the window, so we can properly initialize
9144         our double-buffer pixmaps, and also so that we temporarily set
9145         a background of None while scrolling.
9146
9147         * gdk/gdkregion.h: Revise region boolean operators to have an
9148         interface that is actually convenient - switch from creating new
9149         regions on every op, to "methods" that modify existing regions
9150         (A = A OP B). 3 argument forms which allow dest == src, would also
9151         be possible, but the current interfaces seem to map nicely
9152         onto what needs to be done. (There is quite a lot of region
9153         code in GDK now.)
9154
9155         * gdk/gdkregion.h: Add constructor from rectangle and a copy
9156         operator.
9157
9158         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
9159         gdkpoly-generic.h: Copy region code from Xlib, switch it over
9160         to 32 bit coordinates, modify it to be mostly GTK+ style
9161         and to have interfaces that match gdkregion.h.
9162
9163         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
9164         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
9165         create a backing pixmap and redirect all drawing to
9166         that backing pixmap until a matching gdk_window_end_paint().
9167
9168         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
9169         Create a special drawable class for GtkWindow's that 
9170         redirects the drawing to the backing pixmap as necessary
9171         and then calls the real operations in _gdk_windowing_window_class.
9172
9173         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
9174         Store invalid region for each window. Generate expose events for invalid
9175         region in an idle. This replaces both the expose compression
9176         and the redrawing queuing in GTK+. It is both more efficient and
9177         simpler than either one individually and far more so then the
9178         combination.
9179
9180         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
9181         Emulate 32 bit coordinates for windows with 16 bit coordinates
9182         by offsetting drawing, guffaw scrolling techniques and
9183         mapping/unmapping child windows as necessary.
9184
9185         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
9186         where, when invalid regions are processed, the region is stored,
9187         and if expose events come in that are detectably duplicate
9188         the processed exposes (by comparison of event serial numbers),
9189         the stored region is subtracted out of those exposes.
9190
9191         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
9192         regions newly exposed when scrolling or resizing windows.
9193         This, combined with forcing processesing of queued invalidated
9194         regions, gives nice flicker-free scrolling.
9195
9196         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
9197         invalidated regions after every scroll.
9198
9199         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
9200         emulation in GDK. Its, for all practical purposes just a
9201         GtkViewport/GtkFixed hybrid now.
9202
9203         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
9204         (16-bit) structures as necessary instead of just casting.
9205
9206         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
9207         in terms of the structures from gdkregion-generic.c, using appropriate
9208         offsets from GDK to X11 coordinates. Cache clip mask and
9209         origin and ts origin locally and only flush to the server
9210         when drawing, to avoid constantly setting and resetting these
9211         values when offsetting GC's for scrolling and backing pixmaps.
9212
9213         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
9214
9215         * gtk/gtkcontainer.c: Call process_all_updates at end
9216         of resizing to reduce flicker. (Avoids having redraw
9217         lag arbitrarily behind resize under some circumstances)
9218
9219         * gtk/gtkentry.c: Remove old backing store code, and simply take
9220         advantage of the new backing store capabilities of GDK.
9221
9222         * gtk/gtkmain.c: Simple implementation of widget backing
9223         store - simply push a paint while handling each expose.
9224         (Should really be configurable widget for widget.)
9225         
9226         * gtk/gtkwidget.c: Remove all the old complicated redraw
9227         code, and simply invalidate the GDK windows from
9228         gdk_window_queue_clear(), etc. (Sigh, so much carefully
9229         debugged complexity ... gone to the winds.)
9230
9231         Remove all the code for suppressing expose events while
9232         resizes are pending; this isn't needed since the invalid
9233         areas won't be processed until after the resizes are
9234         processed, since they are in a lower priority idle.
9235
9236 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
9237
9238         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
9239         and height of dest rectangle for non-intersecting rectangles.
9240
9241 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
9242
9243         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
9244         for GdkRectangle.
9245
9246 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
9247
9248         * gdk/gdk{events,image,private,types,window}.h
9249          gdk/x11/gdkinputprivate.h: Change all coordinates
9250          from int16 to int. Also, Change width and height from
9251          unsigned to signed to avoid all the stupid C 
9252          signedness bugs.
9253
9254 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
9255
9256         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
9257         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
9258         Add some more detailed checking.
9259
9260         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
9261         New function to retrieve the depth of a drawable.
9262
9263         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
9264         field, reorder fields to save memory. 
9265
9266 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
9267
9268         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
9269         of the background image instead of scaling the background down to
9270         a line.
9271
9272         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
9273         which temporarily set slider to wrong size.
9274
9275         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
9276         queue_clear().
9277
9278 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
9279
9280 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
9281
9282         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
9283
9284 2000-03-17  Tor Lillqvist  <tml@iki.fi>
9285
9286         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
9287         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
9288
9289         * gdk/win32/gdkfont-win32.c
9290         * gdk/win32/gdkproperty-win32.c
9291         * gdk/win32/gdkselection-win32.c
9292         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
9293         now declared such.
9294
9295 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
9296
9297         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
9298
9299 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
9300
9301         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
9302         is called without trapping X errors.
9303
9304 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
9305
9306         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
9307         way into the fontset lists.
9308
9309 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
9310
9311         * gtk/gtkthemes.h: add extern "C" scope.
9312
9313 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
9314
9315         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
9316         to make appends to the list constant. (gtk-guy-990901-0.patch)
9317
9318 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
9319
9320         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
9321         for the typename hash table.
9322
9323 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
9324
9325         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
9326         to make sure we never divide by zero. 
9327         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
9328
9329 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
9330
9331         * gtk/gtkfontsel.c: Apply patch from
9332         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
9333         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
9334
9335         Also, some cleanups in atom handling.
9336
9337 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
9338
9339         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9340         not GtkWidget.
9341
9342 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
9343
9344         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
9345         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
9346         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
9347         more guint wrap-around bugs before going to bed.
9348
9349 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
9350
9351         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
9352         guint wrap arounds in allocation.width.
9353
9354         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
9355         process untill we fit the allocation given.
9356
9357 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
9358
9359         * gtk/gtkwidget.c:
9360         (gtk_widget_unrealize): guard widget access with ref/unref
9361         around signal emission.
9362         (gtk_widget_hide): same here, but also check its destroyed
9363         state before queueing a resize.
9364
9365 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
9366
9367         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
9368         of gtk_default_insensitive_bg as insensitive base color.
9369
9370         * gtk/gtktext.c (gtk_text_style_set): set the background color according
9371         to the widget's state.
9372         (gtk_text_realize): same here.
9373         (gtk_text_state_changed): same here.
9374         (draw_bg_rect): compare background color against base[] from
9375         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
9376
9377 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
9378
9379         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
9380         grabs are active, unless a delete event is send to the toplevel
9381         of the currently grab holding widget.
9382
9383 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
9384
9385         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
9386         debugging g_print's.
9387
9388 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
9389
9390         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
9391         ever make the scrolled-window requisition ever depend on the 
9392         visibility state of the scrollbars for the AUTOMATIC policy. 
9393         This breaks the GTK+ requisition model, and causes loops.
9394
9395 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
9396
9397         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
9398         the default font to avoid problems with XFree86-4.0 where the
9399         default charset is iso10646-1, not iso8859-1.
9400
9401 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
9402
9403         * acinclude.m4
9404         * config.guess
9405         * config.sub
9406         * ltconfig
9407         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
9408
9409         * gtk/Makefile.am: minor cosmetic consistency tweak
9410
9411 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
9412
9413         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
9414         the activate_time to 0, so that we handle a quick
9415         press/release press/release properly and don't suppress
9416         the second release. (Red Hat bug #7545)
9417
9418 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
9419
9420         * gtk/gtkctree.c (row_delete):
9421         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
9422         bugs with destruction notifier, *always* update internal
9423         structures *before* calling user code.
9424
9425 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
9426
9427         A few more fixes for bug #5487, #2051, #2677.
9428         * gtk/gtkclist.c : 
9429         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
9430         not GDK_BUTTON_PRESS.
9431         (resync_selection): resync only if selection_mode is
9432         GTK_SELECTION_EXTENDED
9433         * gtk/gtkctree.c (resync_selection): same here
9434
9435 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
9436
9437         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
9438         gdk_drag_get_selection() and gtk_menu_detach().
9439
9440         [ From Jeroen Ruigrok/Asmodai ]
9441
9442 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
9443
9444         * gtk/gtknotebook.c (gtk_notebook_size_request): 
9445         page->tab_label can be NULL.
9446
9447 2000-01-25  Havoc Pennington  <hp@pobox.com>
9448         
9449         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
9450         arg is boolean
9451
9452         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
9453
9454         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
9455
9456         * gdk/gdkproperty.c (gdk_property_get): return boolean
9457
9458         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
9459
9460         * gdk/gdkim.c (gdk_im_ready): return boolean
9461
9462         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
9463
9464         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
9465         glib clash, should fix glib)
9466
9467         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
9468         (gdk_get_show_events): return gboolean, and canonicalize 
9469         to TRUE/FALSE
9470
9471         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
9472         colormap is private
9473         (gdk_colors_alloc): gboolean whether to be contiguous
9474         (gdk_color_equal): return gboolean since we are a predicate
9475         and not a qsort() (this looks semi-wrong due to glib breakage,
9476         IMO glib should be fixed)
9477         
9478         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
9479         (gdk_get_use_xshm): return gboolean
9480         (gdk_pointer_is_grabbed): return gboolean
9481
9482         * gdk/gdk.h: Change prototypes to match all the above changes,
9483         and re-run egtk-format-protos as required.
9484
9485 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
9486
9487         * gtk/gtkctree.c (resync_selection): 
9488         * gtk/gtkclist.c (resync_selection):
9489
9490         Return immediately if clist->drag_pos < 0. This is a workaround
9491         for the corrupt state that the clist gets into when a
9492         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
9493
9494         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
9495         
9496         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
9497         variable from recent commit.
9498
9499 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
9500
9501         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
9502
9503 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
9504
9505         * gtk/Makefile.am: prefix all autogenerated source that get build in
9506         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
9507         in builddir. since we subsequently cd into srcdir for autogeneration,
9508         the paths have to be stripped from the target file names, thusly we
9509         use $(@F) as target names now.
9510         put a comment about configure.in's --disable-rebuilds option,
9511         which can be used for non-writable source directories, for development
9512         setups though, srcdir has to be *writable*.
9513
9514 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
9515
9516         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
9517           Finish the job of allowing event to be NULL.
9518           (Fixes bug #4283, reported by Chris Blizzard)
9519
9520         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
9521           things so that the cursor appears on screen, properly
9522           take into account INNER_BORDER.
9523           (Fixes bug #4754, reported by Antonio Campos)
9524
9525 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
9526
9527         * gtk/gtknotebook.c (gtk_notebook_map): Don't
9528           show the tab_label unless it itself is visible.
9529
9530           gtk/gtknotebook.c (gtk_notebook_size_request):
9531           Do a better job of making sure that the visibility
9532           of the tab label corresponds to whether it should
9533           be mapped or not.
9534
9535 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
9536
9537         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
9538           Use the requisition, not the allocation, since the
9539           allocation has not necessarily been computed yet.
9540           (Pointed out by Eugene Osintsev)
9541
9542 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
9543
9544         * gtk/gtkstyle.c (gtk_style_new): Dont' set
9545           style/base[GTK_STATE_INSENSITIVE] both to
9546           gtk_default_insensitive_bg!
9547           (Bug #2187, reported by Jonathan Blandford)
9548
9549         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
9550           Add Alt_L, Alt_R to list of invalid accelerators.
9551           (Bug #3736, reported by Vlad Harchev)
9552
9553 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
9554
9555         * gtk/gtkfilesel.c (open_ref_dir): Fix several
9556         bugs which occured after an attempt to open 
9557         invalid home directory left cmpl_state->reference_dir == NULL.
9558
9559          - completion on files in home directory didn't work
9560          - completion on an empty string caused  segfault
9561
9562          (Bug #3678, reported by Steve Ratcliffe)
9563
9564         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
9565         cut and paste error that was causing scales to
9566         be incorrectly positioned.
9567         (Bug #2956,
9568          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
9569
9570 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
9571
9572         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
9573         when checking for dcgettext, if we've found we needed
9574         it for dgettext.
9575 +
9576 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
9577
9578         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
9579         queue_clear on NO_WINDOW widgets during a reparent,
9580         since at that point the window and widget heirarchies
9581         are out of sync. This stops crashing in some cases
9582         (the scrolled window reparent test, for instance), and
9583         _probably_ won't cause drawing errors.
9584
9585         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
9586         test do what it was supposed to do and be robust against
9587         window closings, etc. (Bug #2443)
9588
9589 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
9590
9591         * gtk/gtkentry.c: Fix return values on mouse events.
9592         (Bug #2686, Sky <seb_sky@yahoo.com>)
9593
9594         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
9595         (pointed out by George Lebl)
9596
9597         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
9598         (From Ettore Perazzoli  <ettore@helixcode.com>)
9599  
9600 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
9601
9602         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
9603         clicks between rows or outside calender area correctly.
9604         (Patch from Damon Chaplin)
9605
9606         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
9607         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
9608           Call destroy function when overwriting existing data. 
9609           (Pointed out by Damon Chaplin)
9610
9611 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
9612
9613         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
9614           which was causing problems on various systems with Xmu.
9615           This hasn't been needed for a very long time.
9616           (Fixes #1185 3167)
9617
9618 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
9619
9620         * gdk/gdki18n.h: Include <ctype.h> when defining
9621           gdk_isw* in terms of is* as a fallback.
9622           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
9623
9624 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
9625
9626         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
9627           realize the widget when it is size allocated!
9628           (old, old bug)
9629
9630         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
9631           Removed unused call to gdk_window_get_size() that
9632           showed up when the above was fixed.
9633
9634 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
9635
9636         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
9637           fix up widget->window when the widget is a
9638           NO_WINDOW container widget.
9639
9640 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
9641
9642         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
9643           to account for the fact that feof() does _not_ 
9644           return TRUE on errors, and thus avoid infinite loops
9645           when trying to use gdk_pixmap_create_from_xpm()
9646           on unreadable values.
9647
9648 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
9649
9650         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
9651
9652 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
9653
9654         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
9655           gdk_gc_set_dashes to take gint8 instead of gchar to
9656           make it clearer that it is _not_ a NULL terminated string.
9657
9658         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
9659           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
9660           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
9661           arguments.
9662
9663 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
9664
9665         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
9666         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
9667         background size relative to our allocation, guard against small
9668         allocations, we may have not yet been size allocated.
9669
9670 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
9671
9672         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
9673         not just version == 3. We implement all 3 + most of 4 - 
9674         (we don't support matching text/plain;charset=iso-8859-1
9675         to a dest that expects text/plain). We'll still advertise
9676         3 to be safe, but any client implementing version >= 3
9677         must interoperate with 3.
9678         
9679 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9680
9681         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
9682         background and gc members, add a warning in gtk_tooltips_set_color()
9683         indicating that this function is deprecated.
9684
9685 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
9686
9687         * docs/gtkfaq.sgml: FAQ Update:
9688           - Minor cleanups (Emmanuel, me)
9689           - New questions:
9690                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
9691                 How can I retrieve the text from a GtkMenuItem? (timj)
9692                 How do I validate/limit/filter the input to a GtkEntry? (me)
9693                 Memory does not seem to be released when I free the list
9694                         nodes I've allocated (timj)
9695
9696 2000-03-07  Tor Lillqvist  <tml@iki.fi>
9697
9698         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
9699         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
9700         for which it is no use to call GetLastError onWin9x.
9701         (gdk_other_api_failed) New function, for general error
9702         reporting without calling GetLastError.
9703         (gdk_win32_api_failed) OTOH, this function always calls
9704         GetLastError. (gdk_win32_last_error_string) Remove this function,
9705         GLib has the equivalent now.
9706
9707         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
9708         call them with function name, file name and line number in the
9709         arguments.
9710
9711         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
9712         functions.
9713         
9714         * gtk/gtk.def: Add some missing entry points.
9715
9716         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9717         gtk_paned_set_gutter_size, which don't exist any longer, as void.
9718         
9719         Fixes by Hans Breuer:
9720
9721         * gdk/makefile.msc: Update for debugging.
9722
9723         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
9724         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
9725         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
9726         in the dash_list.
9727
9728         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
9729         the x11 backend.
9730
9731         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
9732
9733         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
9734
9735 2000-03-04  Tor Lillqvist  <tml@iki.fi>
9736
9737         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
9738         just pixel value of background colour.
9739
9740         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
9741         containing code snippet previously duplicated in a couple of
9742         places.
9743         
9744         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
9745         gdk_colormap_color.
9746
9747         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
9748         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
9749         events for autorepeated Shift, Control and Alt keys. Use
9750         gdk_colormap_color.
9751
9752         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
9753         pointer is inside the window the cursor of which we are setting,
9754         call SetCursor immediately.
9755
9756         * gdk/win32/makefile.cygwin
9757         * gtk/makefile.cygwin: If we don't have the build number stamp
9758         file, use zero.
9759
9760         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9761         gtk_paned_set_gutter_size as empty.
9762
9763         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
9764         
9765 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
9766
9767         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
9768           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
9769           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
9770           docs/gtk_tut.sgml docs/gtk.texi TODO:
9771
9772           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
9773
9774 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
9775
9776         * gtk/gtkcalendar.c: Implement num_marked_dates,
9777           and don't emit mutiple day_selected signals on
9778           month_prev.
9779
9780 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
9781
9782         * docs/make-todo (lineno): let title and logo be configurable so
9783         that GNOME can use this script too.
9784
9785         * TODO.xml: added logourl and a title
9786
9787 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
9788
9789         * TODO.xml: Added some UI items, and an explanatory
9790         comment at the top of the file.
9791
9792 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
9793
9794         * TODO.xml: some updates, added abunch of new entries.
9795         a note for those fiddeling with this file, when done
9796         with it, invoke:
9797         $ ./docs/make-todo TODO.xml >/dev/null
9798         and correct output errors before comitting changes.
9799
9800 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
9801
9802         * TODO.xml: Added XML-structured TODO file.
9803         * docs/make-todo: python script to turn TODO.xml into
9804           pretty XML output. 
9805
9806 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
9807
9808         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
9809         the function to let it draw the seven dots, instead of the old,
9810         much maligned, method.
9811         (draw_dot): New function to draw a dot.
9812
9813         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
9814         to draw the handle inside the border width as opposed to outside.
9815         Use paint function instead of gdk_draw_point.
9816
9817         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
9818         to draw the handle inside the border width as opposed to outside.
9819         Use paint function instead of gdk_draw_point.
9820
9821         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
9822         Change indenting to be more GTK like.
9823
9824 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
9825
9826         * docs/gtk_tut.sgml: New section on GtkCalendar
9827         * examples/calendar: Update example code
9828
9829 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
9830
9831         * docs/gtkfaq.sgml: FAQ Update
9832
9833 2000-02-19  Anders Carlsson  <andersca@gnu.org>
9834
9835         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
9836         to prevent the scroll event to be propagated upwards.
9837
9838 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9839
9840         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
9841         OwnerGrabButtonMask from button entries for
9842         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
9843
9844         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
9845         to the event mask (which will result in button/press release
9846         being added to the event mask on Unix) so scrolling works
9847         for layouts in scroll windows.
9848
9849         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
9850
9851         Patch from Anders Carlsson  <andersca@gnu.org> to add
9852         a scroll event.
9853
9854         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
9855         scrolling to the "Test Scrolling" part of testgtk.
9856  
9857         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
9858  
9859         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
9860         it against GDK_SCROLL.
9861  
9862         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
9863         way of mouse wheel scrolling.
9864  
9865         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
9866  
9867         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
9868  
9869         * gtk/gtkmain.c: Removed previous mouse wheel hack.
9870  
9871         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
9872         gdk_event_mask_table.
9873  
9874         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
9875         GdkEventScroll handler.
9876  
9877         * gdk/gdkevents.h: Added GdkEventScroll structure.
9878  
9879 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
9880
9881         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
9882         and Anders Carlsson to change the Paned widgets so that they
9883         can be dragged from anywhere along the length. Also change
9884         the way that this is drawn to make this apparent.
9885
9886         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
9887         from George Lebl to check that option_menu->menu is present
9888         before getting history.
9889
9890 2000-02-14  Tor Lillqvist  <tml@iki.fi>
9891
9892         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
9893         before the assertion for non-NULL segment list.
9894
9895         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
9896         Seems that pattern brushes *must* be 8x8 pixels! At least on my
9897         machine, but it might be display driver dependent. Sigh, so make
9898         sure the stipple is that size. Does Windows suck or what?
9899
9900         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
9901         places.
9902
9903 2000-02-13  Havoc Pennington  <hp@pobox.com>
9904
9905         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
9906         refcount to 1
9907         (gdk_cursor_new): init refcount to 1
9908
9909         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
9910
9911 2000-02-13  Tor Lillqvist  <tml@iki.fi>
9912
9913         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
9914         so that we don't have to do unnecessary settings to the HDC.
9915
9916         * gdk/win32/gdkdrawable-win32.c
9917         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
9918         gdk_gc_predraw.
9919
9920         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
9921         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
9922         GDI paths, call WidenPath to get the outline of the stroken path,
9923         and then fill the outline (with the brush that was built from the
9924         stipple).
9925
9926         * gdk/win32/gdkgc-win32.c: Factor out common code from
9927         _gdk_win32_gc_new and gdk_win32_gc_set_values into
9928         gdk_win32_gc_values_to_win32values. Use correct colour for
9929         SetBkColor() (Until now the code actually used a random colour in
9930         the call to SetBkColor()... but that didn't show up as not many
9931         GDI APIs use the background colour. Pattern (opaque stippled)
9932         brushes do.)
9933
9934         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
9935         gdk_win32_api_failed): New functions for error logging.
9936
9937         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
9938         WIN32_API_FAILED to call them, passing function or file name and
9939         line number.
9940
9941         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
9942
9943         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
9944         GdkColor for foreground and background in GdkGCWin32Data.
9945
9946         * gdk/makefile.cygwin: Link in the resource object separately.
9947
9948         * gdk/win32/rc/gdk.rc
9949         * gtk/gtk.rc (New file)
9950         * gdk/win32/makefile.cygwin
9951         * gtk/makefile.cygwin: Update build number in DLLs automatically,
9952         as in GLib.
9953
9954 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
9955
9956         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
9957         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
9958         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
9959         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
9960         parameters given and cursor->ref_count. coding style fixups.
9961
9962         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9963         not GtkWidget.
9964         
9965         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
9966         fix up widget macros and add _GET_CLASS() variant.
9967         
9968         * gtk/*.c: some GtkType fixups.
9969
9970 2000-02-09  Tor Lillqvist  <tml@iki.fi>
9971
9972         * gdk/win32/gdkproperty-win32.c
9973         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
9974         were reversed.
9975
9976 2000-02-04  Tor Lillqvist  <tml@iki.fi>
9977
9978         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
9979         g_filename_to_utf8 to convert the font names Windows gives us from
9980         whatever is the default codepage to UTF-8.
9981         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
9982         in the other direction.
9983
9984         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
9985         error in debugging output.
9986
9987 2000-02-02  Tor Lillqvist  <tml@iki.fi>
9988
9989         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
9990         and height parameters to gdk_window_clear_area(). Not minus one.
9991
9992 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
9993
9994         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
9995         checks if the widget passed to gtk_drag_get_data() was not the
9996         dest widget.
9997
9998 2000-02-01  Tor Lillqvist  <tml@iki.fi>
9999
10000         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
10001         g_filename_from_utf8 functions (which were added a moment ago to
10002         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
10003         size buffers.
10004
10005         gtk_file_selection_get_filename returns the filename in the C
10006         runtime encoding. It calls g_filename_from_utf8, but copies the
10007         returned string to a static buffer, which is returned. I think
10008         this is better than returning the result from g_filename_from_utf8
10009         directly, which would mean all apps that use it would have to free
10010         the return value. Or should this function care about this issue at
10011         all? Maybe a new function with clearly defined semantics.
10012
10013         * gtk/gtkfilesel.h: Add comment about
10014         gtk_file_selection_get_filename returning the filename in the C
10015         runtime's encoding.
10016
10017         * README.win32
10018         * gdk/gdk.def
10019         * gdk/makefile.{cygwin,msc}
10020         * gtk/gtk.def: Updates.
10021
10022         * gdk/gdkcursor-win32.c: Initialise refcount.
10023
10024 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
10025
10026         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
10027
10028 2000-01-30  Havoc Pennington  <hp@pobox.com>
10029
10030         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
10031         destroy
10032
10033         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
10034
10035         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
10036         implemented in platform-specific code
10037
10038         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
10039
10040         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
10041         underscore in front
10042
10043         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
10044         put an underscore in front
10045
10046         * gdk/gdkcursor.c: new file, implements
10047         gdk_cursor_ref/gdk_cursor_unref
10048
10049         * gdk/gdkcursor.h: Refcount GdkCursor
10050
10051         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
10052
10053 2000-01-29  Tor Lillqvist  <tml@iki.fi>
10054
10055         * gdk/gdkwindow.h
10056         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
10057
10058 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10059
10060         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
10061         structures to properly inherit from GtkWidget not GtkBin.
10062
10063 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
10064
10065         * gtk+.spec.in: Added lib/gtk+/include/* to %files
10066         (bug #5178 - Peter Wainright)
10067         
10068         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
10069         so that it will be installed.
10070         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
10071
10072 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
10073
10074         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
10075         for the GtkStyleClass vtable const.
10076
10077         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
10078         take a const string argument like GtkTranslateFunc. This will
10079         require changes in use code.
10080
10081 2000-01-19  Tor Lillqvist  <tml@iki.fi>
10082
10083         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
10084         semantics (to mimic the X11 backend, which just calls XClearArea)
10085         is to check for zero width (and height), and in that case use the
10086         window's width minus x (height minus y). This fixes for instance
10087         some redraw problems with gtkclist, which were easily noticeable
10088         in the gtk file selection widget.
10089
10090         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
10091         windows.
10092
10093 2000-01-13  Tor Lillqvist  <tml@iki.fi>
10094
10095         * configure.in
10096         * gdk/Makefile.am
10097         * gdk/x11/Makefile.am
10098         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
10099         (bug #5177).
10100         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
10101         out later.
10102
10103 2000-01-09  Tor Lillqvist  <tml@iki.fi>
10104
10105         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
10106         WM_MOVE for iconified or invisible windows. This fixes various
10107         problems when minimising windows. Thanks to Bernd Herd.
10108
10109 2000-01-05  Tor Lillqvist  <tml@iki.fi>
10110
10111         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
10112         backend's draw_lines method, not draw_points.
10113
10114 2000-01-02  Tor Lillqvist  <tml@iki.fi>
10115
10116         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
10117         before Owen's reorganisation: Don't have queued_events and
10118         queued_tail statics in this file, but use gdk_queued_events and
10119         gdk_queued_tail. This makes exposure event compression work again.
10120
10121         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
10122         seem to be needed?
10123
10124 1999-12-30  Tor Lillqvist  <tml@iki.fi>
10125
10126         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
10127         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
10128         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
10129         doesn't do anything.
10130
10131         * gdk/gdk.def: Add gdk_xid_table_insert.
10132
10133         * gdk/win32/gdkprivate-win32.h
10134         * gdk/win32/gdkevents-win32.c
10135         * gdk/win32/gdkinput-win32.c
10136         
10137         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
10138         extension_events field in the GdkWindowWin32Data struct. Use only
10139         the extension_events field in GdkWindowPrivate. Previously one was
10140         set, and the other one tested, which broke tablet
10141         functionality. Thanks to Keishi Suenaga for pointing this out.
10142
10143 1999-12-18  Tor Lillqvist  <tml@iki.fi>
10144
10145         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
10146         When handling a single character (text length == 1), don't handle
10147         it as if it was UTF-8.
10148
10149 1999-12-11  Tor Lillqvist  <tml@iki.fi>
10150
10151         * Makefile.am: Distribute README.win32.
10152         
10153         * gdk/Makefile.am
10154         * gdk/win32/Makefile.am: Distribute Win32 files.
10155
10156         * gdk/makefile.msc: New file.
10157
10158         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
10159         after label).
10160
10161         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
10162         gdk_error_code as GDKVAR, as they are referred outside GDK.
10163
10164         * gdk/win32/makefile.msc: Update.
10165
10166         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
10167         tweaks. Check only if at least one of those Unicode subrange bits
10168         we care for is set. If no code page bits are set, guess (wildly)
10169         based on the charset.
10170
10171         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
10172
10173         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
10174         non-NULL.
10175
10176         * gtk/gtkdnd.c
10177         * gtk/gtklayout.c
10178         * gtk/gtkplug.c
10179         * gtk/gtkselection.c
10180         * gtk/gtksocket.c
10181         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
10182         appropriate. There must be a cleaner way to handle this?
10183
10184         * gtk/gtkrc.c: Must include windows.h on Win32.
10185
10186         * gtk/testgtk.c: No need to include gdkx.h.
10187
10188         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
10189
10190 1999-12-07  Tor Lillqvist  <tml@iki.fi>
10191
10192         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
10193         the rbearing is set to the same as the width, but this should be
10194         fixed.
10195
10196 1999-12-06  Tor Lillqvist  <tml@iki.fi>
10197
10198         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
10199         function. If Windows doesn't tell us what Unicode subranges a font
10200         covers, guesstimate based on the codepages it covers. This will
10201         hopefully help those Windows versions or fonts that don't give us
10202         any useful Unicode subrange information with GetTextCharsetInfo.
10203         Call this function in gdk_font_load_internal.
10204
10205         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
10206         minor changes.
10207
10208 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
10209
10210         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
10211         New function, long needed.
10212
10213 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
10214
10215         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
10216         only_if_exists argument of gdk_atom_intern to
10217         bool.
10218
10219 1999-11-25  Tor Lillqvist  <tml@iki.fi>
10220
10221         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
10222         Fix two copy&paste errors.
10223
10224         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
10225         win32 has changed.
10226
10227         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
10228         GdkWin32SingleFont struct.
10229
10230         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
10231         subranges of loaded fonts. Clear font signature first, in case
10232         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
10233         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
10234
10235         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
10236         Unoffset clip region.
10237
10238 1999-11-23  Tor Lillqvist  <tml@iki.fi>
10239
10240         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
10241         event->any.window before calling filter functions.
10242
10243 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
10244
10245         * gtk/gtkgamma.h: Adapt cast macros to standard.
10246
10247 [ Merges from 1.2 ]
10248
10249 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
10250
10251         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
10252         If translation does not include a '/', use entire
10253         translation instead of crashing.
10254
10255 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
10256
10257         * docs/gtk_tut.sgml:
10258         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
10259
10260 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
10261
10262         * gtk/gtkselection.c (gtk_target_list_remove): Use
10263         g_list_remove_link, not g_list_remove.
10264
10265         [ From Geert Bevin <gbevin@thunderstorms.org> ]
10266         
10267 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
10268
10269         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
10270         statement upon unselection (how the heck did that slip in?).
10271
10272 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
10273
10274         * gtk/gtktext.c (gtk_text_freeze): 
10275         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
10276         in frozen state (and aparently crashes). patch provided by Anders
10277         Melchiorsen <and@kampsax.dtu.dk>.
10278
10279 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
10280
10281         * fix insensitive default/focus widget activation,
10282         reported by Matt Goodall <mgg@isotek.co.uk>.
10283
10284         * gtk/gtkwindow.c (gtk_window_key_press_event): 
10285         (gtk_window_activate_default):
10286         (gtk_window_activate_focus):
10287         return handled=FALSE for actiavtion of insensitive default
10288         widgets. return handled=TRUE for activation of insensitive
10289         focus widgets. don't activate in either case.
10290
10291 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
10292
10293         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
10294         and $glib_cflags to match library order and in the
10295         theory that an old version of GLib is more likely to
10296         be in the include directory for X then vice-versa.
10297         (Bug #2776)
10298
10299 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
10300
10301         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
10302         to determine the locale for fontsets, not LC_MESSAGES;
10303         the user may want English messages with a handling
10304         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
10305         will still be broken) (Bug #2891)
10306
10307 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10308
10309         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
10310
10311 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10312
10313         * gtk/gtkrc.ko: Changed the Korean default fontset.
10314
10315 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
10316
10317         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
10318         where when scrolling to the left or top double exposes
10319         were done, causing major slowdowns.
10320
10321 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
10322
10323         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
10324         names to lowercase and alphanumeric, before looking
10325         them up.
10326
10327         * gtk/Makefile.am: Install codeset variant gtkrc files
10328         with normalized names.
10329
10330 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
10331
10332         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
10333         popup menus when the menu is already visible, but its parent
10334         is still hidden, (happens after tornoff window got hidden).
10335
10336 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
10337
10338         * gtk/Makefile.am (install-data-local): Fix
10339         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
10340         deleted, causing error messages on install.
10341
10342 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
10343
10344         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
10345         the handle as well, since we now sometimes ignore
10346         exposes on the handle while resizing.
10347
10348 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
10349
10350         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
10351         extra g_free introduced in one of the last one or two 
10352         commits.
10353
10354 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
10355
10356         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
10357         consistent, put each style that a gtkrc.* file creates
10358         in a unique namespace, remove old files before installing.
10359
10360 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
10361
10362         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
10363         gtk_rc_init is called multiple times. (Yes, people who
10364         do that have bugs in their code.)
10365
10366 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
10367
10368         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
10369         Remove it since it's generated by the Makefile anyway
10370
10371 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
10372
10373         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
10374         device->info.axes for core pointer.
10375
10376 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
10377
10378         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
10379         idle_id, to deal with obsolete, broken C libraries.
10380
10381 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
10382
10383         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
10384         allocation->x/y twice!
10385
10386         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
10387         consistent with gtk_vscale_pos_trough().
10388
10389 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
10390
10391         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
10392         be queueing a resize on a toplevel container between
10393         the time we show it and when we map it. So, we need
10394         to test GTK_WIDGET_VISIBLE() for toplevels, and only
10395         use GTK_WIDGET_DRAWABLE() for child windows.
10396
10397 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
10398
10399         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
10400         (fixes bug #2144)
10401
10402 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
10403
10404         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
10405         container DRAWABLE (instead of VISIBLE), so we don't queue
10406         resizes on non-toplevel containers.
10407
10408 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
10409
10410         * gtk/gtkselection.[ch]: Make the data argument
10411         const guchar *.
10412
10413 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
10414
10415         * gtk/gtkwindow.c: Try to behave sensibly if 
10416         the focus widget is the window itself. (Should
10417         we allow this at all?)
10418
10419 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
10420
10421         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
10422         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
10423         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
10424         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
10425         in prototypes and implementations consistent (Tomas Ogren).
10426
10427         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
10428         before the widget is unparented (reported by damon).
10429
10430         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
10431         since we provide unsigned data anyways.
10432
10433 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
10434
10435         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
10436         the call to gtk_tooltips_layout_text() until later.
10437
10438         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
10439         Call gtk_widget_ensure_style() before using the style.
10440
10441 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
10442
10443         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
10444         for old widgets that don't propagate draws to all
10445         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
10446
10447 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
10448
10449         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
10450         for a redraw but just the widget that requested the resize.
10451
10452 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
10453
10454         * gtk/gtkcontainer.c: added new widget level method
10455         gtk_container_set_reallocate_redraws() and a GtkContainer flag
10456         reallocate_redraws : 1 to reflect the setting, exported this through
10457         the argument system as a boolean ::reallocate_redraws.
10458
10459         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
10460         on the widget because the allocation changes, do so as well for
10461         widget->parent if the parent has reallocate_redraws set to TRUE.
10462         with that containers requesting reallocation redraws get automatically
10463         redrawn if their children changed allocation (this unfortunately
10464         affects also other children that didn't change allocation, but we
10465         cannot work around that before 1.3).
10466
10467 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
10468
10469         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
10470         _and_ height are >0 (not _or_).
10471
10472         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
10473         instead of gtk_container_queue_resize(), which is a core gtk internal
10474         function (must have been on crack when i queued that).
10475
10476         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
10477         we can check more reliably if we want to discard expose events.
10478         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
10479         flag.
10480         
10481         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
10482         we simply trust these events. for deciding whether to discard exposes,
10483         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
10484         
10485 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
10486
10487         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10488         queues of areas that are completely off screen.
10489
10490         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
10491         logic for handleboxes.
10492
10493         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
10494         check on width/height.
10495
10496 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
10497
10498         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
10499         we are fine with using $@ the way we do (if we actually encounter
10500         brokeness with $@ in VPATH builds because of additional path prefixes,
10501         we need to use $(@F) actually).
10502
10503 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
10504
10505         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
10506         short lived bugs, that would allow language bindings to do surgeries
10507         to our guts.
10508
10509 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
10510
10511         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
10512         where comparison was being done against an uninitialized
10513         value causing intermittant results depending on
10514         compiler flags. Also make it clearer that we aren't
10515         ever initializing the child as 0x0 (though this will
10516         be caught in gtk_widget_size_allocate())
10517
10518 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
10519
10520         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
10521         gtk_window_unset_transient_for() call after we do checks
10522         involving the old transient parent.
10523         [ From Lance Capser <lmc@cyberhighway.net> ]
10524
10525 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
10526
10527         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
10528         an empty file.
10529
10530 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
10531
10532         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
10533         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
10534
10535 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
10536
10537         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
10538         `$@' is valid only in the build dir, not after we've done 
10539         `cd $srcdir'.  Also use `test -f' instead of less portable
10540         `test -e'.
10541
10542 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
10543
10544         * gtk/gtktext.c (correct_cache_insert): Rewrite
10545          for simplicity, and hopefully correctness.
10546          (Fixes bug #1322, which was a segfault when
10547           on some insertions with the properties around
10548           the insertion set up just wrong.)
10549
10550         * gtk/gtktext.c (gtk_text_adjustment): When we receive
10551          a "changed" signal, clamp the new value to the adjustment
10552          bounds to avoid segfaulting if someone tries to change
10553          the adjustment to a bogus value. (Bug #1795)
10554
10555 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
10556
10557         * gtk/gtkmain.c: Ignore unexpected destroy notifies
10558         for children, for toplevel windows handle them
10559         like delete_event.
10560
10561         * gtk/gtkplug.c: Add an unrealize handler so that
10562         we unref plug->socket_window when we are done
10563         with it.
10564
10565 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
10566
10567         * gtk/gtktext.c (clear_area): Fix stupid signedness
10568          problem that was causing background to sometimes
10569          be misaligned.
10570
10571 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
10572
10573         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
10574         
10575         * gtk/gtkmenu.c (gtk_menu_position): Make
10576          sure we never position menus with negative x, y,
10577          since gtk_widget_set_uposition() can't handle that.
10578
10579         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
10580          Modify the positioning code a bit so that we always
10581          put the top-left corner onscreen. (This is for
10582          UI reasons, gtk_menu_position() now takes care of
10583          gtk_widet_set_uposition() brokeness.)
10584
10585 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
10586
10587         * gtk/Makefile.am: fixed up things for -jx, x > 1.
10588
10589 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
10590
10591         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
10592           RC style that is passed in. The lack of the ref
10593           before was a bug. If people worked around this
10594           bug, this will introduce a slight memory leak
10595           in their code. The code should typically look like:
10596
10597             rc_style = gtk_rc_style_new ();
10598             [...]
10599             gtk_widget_modify_style (widget, rc_style);
10600             gtk_rc_style_unref (rc_style);
10601
10602         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
10603           the style if it was already set.
10604
10605         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
10606           style if it was set before.
10607
10608 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
10609
10610         * gtk/testgtk.c (main): Add a check to see if we
10611           are being run from the correct directory and
10612           to quit nicely if we are not.
10613
10614         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
10615           static.
10616
10617 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
10618
10619         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
10620
10621         * gtk/gtkwindow.c:
10622         queue resizes unconditionally (gtk_widget_queue_resize will figure
10623         what to do if the window is not realized).
10624         (gtk_window_move_resize): only recenter the window
10625         for GTK_WIN_POS_CENTER_ALWAYS.
10626         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
10627         the same way as GTK_WIN_POS_CENTER.
10628
10629 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
10630
10631         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
10632         with (!(info->last_flags & GDK_HINT_POS)) instead of
10633         (!info->last_flags & GDK_HINT_POS).
10634
10635         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
10636         new_height unconditionally, because we use these values even if
10637         !default_size_changed && !hints_changed.
10638         comented the (default_size_changed || hints_changed) case with
10639         respect to resize rejects from the window manager.
10640
10641         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
10642         in the zvt condition hack, since this includes the window hints, set
10643         the hints after the handling_resize case.
10644
10645         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
10646         window is initially shown with to the geometry.
10647
10648 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
10649
10650         * gtk/gtkwindow.c (gtk_window_move_resize):
10651         s/size_changed/default_size_changed/g so i know what's
10652         really going on (frying brain on smaller flame now).
10653
10654 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
10655
10656         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
10657         we have size_changed upon handling_resize. this is a gross
10658         workaround for the broken zvt widget and should be removed in
10659         1.3 again (search for FIXME).
10660         Owen provided an accurate comment for this:
10661
10662         /* We could be here for two reasons
10663          *  1) We coincidentally got a resize while handling
10664          *     another resize.
10665          *  2) Our computation of size_changed was completely
10666          *     screwed up, probably because one of our children
10667          *     is broken. It's probably a zvt widget.
10668          *
10669          * For 1), we could just go ahead and ask for the
10670          * new size right now, but doing that for 2)
10671          * might well be fighting the user (and can even
10672          * trigger a loop). Since we really don't want to
10673          * do that, we requeue a resize in hopes that
10674          * by the time it gets handled, the child has seen
10675          * the light and is willing to go along with the
10676          * new size. (this happens for the zvt widget, since
10677          * the size_allocate() above will have stored the
10678          * requisition corresponding to the new size in the
10679          * zvt widget)
10680          *
10681          * This doesn't buy us anything for 1), but it shouldn't
10682          * hurt us too badly, since it is what would have
10683          * happened if we had gotten the configure event before
10684          * the new size had been set.
10685          */
10686
10687 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
10688
10689         * gtk/gtkrc.c: deal properly with the fact that RC
10690           style lists may include rc styles more than once.
10691
10692         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
10693           unused static function.
10694
10695         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
10696           stack of directories of RC files currently being
10697           parsed and implicitely add them to pixmap path.
10698           
10699           This fixes a bug where the directory would get
10700           appended then overwritten by pixmap_path declarations.
10701
10702           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
10703
10704         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
10705           theme's exit function. (Patch from Peter Wainwright,
10706           bug #1454)
10707
10708         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
10709           Add a destroy() handler to take care of removing
10710           group for menu item. (Fixes bug #1197)
10711
10712         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
10713           in warning message.
10714
10715 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
10716
10717         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
10718         roundtrip to figure window's width and height, since we know that
10719         anyways from widget->allocation.
10720
10721 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
10722
10723         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
10724           the hints after we request the new size.
10725
10726 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
10727
10728         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
10729           GTK_WIDGET_REALIZED() assertion - we can compute the
10730           hints before we are realized.
10731
10732         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
10733           hint changing so that we have a value of hints_changed
10734           when we decide whether to constrain the window size.
10735
10736         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
10737
10738         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
10739         change back to G_MAXINT.
10740
10741 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
10742
10743         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
10744         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
10745         contain uncluttered values.
10746         (gtk_window_compute_hints): simply assert that window is realized
10747         and that geometry_info is valid, since we rely on this anyways.
10748         (gtk_window_constrain_size): major cleanups to the code.
10749         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
10750         for the base size, instead of the minimums. use 32767 as max width
10751         and height (like in gtkwindow.c) instead of G_MAXINT.
10752
10753 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
10754
10755         * cleaned up the GtkContainer.need_resize flag handling mess, we
10756         only need to force resize requests when we were prematurely
10757         realized, or our widget tree was modified when we were temporarily
10758         hidden. handling these cases directly upon showing the window (i.e.
10759         while the GdkWindow is still unmapped) avoids the need to wait for
10760         a configure event response and therefore makes the GUI more snappier
10761         and avoids blank windows during the roundtrip.
10762
10763         * gtk/gtkwidget.c:
10764         (gtk_widget_hide): 
10765         (gtk_widget_show): don't queue resizes on toplevels, they know how
10766         to deal with matters.
10767
10768         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
10769         flag directly for not visible resize containers and spare us unecessary
10770         signal emissions.
10771
10772         * gtk/gtkwindow.c:
10773         (gtk_window_realize): if we need to enforce premature size allocation,
10774         queue a container resize so we are correctly resized later on.
10775         (gtk_window_init):
10776         (gtk_window_size_request):
10777         don't freak around with the ->need_resize flag,
10778         gtk_container_queue_resize() will care about that.
10779         (gtk_window_show):
10780         handle initial resizing issues here, we can handle matters better in
10781         this place, especially since we know that our GdkWindow is still
10782         unmapped.
10783         (gtk_window_move_resize):
10784         don't care about ->need_resize at all.
10785         handle size changes properly that occoured while we waited for a
10786         configure event.
10787
10788 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
10789
10790         * gtk/gtkwidget.c (gtk_widget_set_uposition):
10791         * gtk/gtkwindow.[hc] (gtk_window_reposition):
10792         Move the hint setting code from gtk_widget_set_uposition
10793         to here; set the hints so that we respect any previously
10794         set geometry hints.
10795
10796         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
10797         change the window hints here or move the window here,
10798         let that happen in gtk_window_move_resize().
10799
10800 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
10801
10802         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
10803         to already queued resizes (and therefore redraws) on a widget, check
10804         its anchestry as well.
10805
10806         * gtk/gtkcontainer.c:
10807         (gtk_container_queue_resize): clear resize widgets for resize
10808         containers before aborting prematurely. this is especially important
10809         for toplevels which may need imemdiate processing or their resize
10810         handler to be queued.
10811         (gtk_container_dequeue_resize_handler): added new internal function for
10812         gtkwindow.c.
10813
10814         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
10815         configure event, take possible changes in window position into account
10816         as well.
10817         if we request a new window size, queue up a resize handler that will
10818         last until the configure event response arrives.
10819         combined the ->need_resize case (initial show) with the general size
10820         (hints) changed case and added even more comments.
10821         if !auto_shrink, only revert to the old allocation if the new size
10822         is smaller than the current allocation.
10823
10824 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
10825
10826         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
10827                            gtk_window_set_geometry_hints
10828                            gtk_window_set_default_size):
10829         When hints are set, queue a resize so that the hints will
10830         be eventually reset on the toplevel.
10831
10832         * gtk/gtkwindow.c (gtk_window_show): Use
10833         gtk_window_compute_default_size(). Clear the need_resize flag
10834         on the initail map so that we don't unnecessarily trigger the
10835         resize code.
10836
10837         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
10838         into separate functions. Compare the hints we are setting
10839         with what we set last time so that we can accurately
10840         tell when we need to reset the hints.
10841
10842         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
10843         function to figure out the size from requisition
10844         and default_size.
10845
10846         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
10847         from fvwm to constrain a size to the geometry hints.
10848
10849         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
10850         to compare two sets of geometry hints.
10851
10852         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
10853         from gtk_window_set_hints(), just compute the hints,
10854         don't set them.
10855
10856         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
10857         code from gtk_window_move_resize() to separate function,
10858         rationalize a bit.
10859
10860 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
10861
10862         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
10863         structure into a new private structure.
10864
10865         * gtkrc.c: Split GtkRcStyle into public/private.
10866         In the private part, add a list of pointers to the
10867         RcStyle lists this RcStyle participates in.
10868
10869         * gtkrc.c: When a RcStyle is free, remove all
10870         lists referencing it from the 
10871         realized_style_ht hash, and free those lists.
10872         
10873         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
10874         gtk_rc_init(), since that adds the default styles
10875         to the list of parsed RC files again.
10876
10877         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
10878         
10879 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
10880
10881         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
10882         checks that ensure that a widget's allocation is at least 1 in width
10883         and height. (GNOME note: this doesn't affect old panel code anymore,
10884         because GtkSocket will request width and height of at least 1 since
10885         Fri Jul 23).
10886
10887         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
10888         allocated yet (happens if the user realizes the window prematurely),
10889         size request and allocate it.
10890         (gtk_window_size_allocate): guard against guint underflows.
10891
10892 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
10893
10894         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
10895         in gtk_built_sources, so gtk.defs gets built prior to all other
10896         sources.
10897
10898 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
10899
10900         * gtk/Makefile.am:
10901         invoke indent on gtkmarshal.*. 
10902         rewrote source generation rules, use COPYING as oldest source tag for
10903         a piggyback rule to generate all sources from (don't touch it ;).
10904         major cleanups, strip spaces on build rules for GNU Make.
10905
10906         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
10907         source and target files from commandline arguments. don't invoke indent.
10908
10909 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10910
10911         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10912         notebook after switch to avoid drawing problems.
10913         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10914         
10915         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10916         show them instead. 
10917         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10918
10919 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10920
10921         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10922         notebook after switch to avoid drawing problems.
10923         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10924         
10925         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10926         show them instead. 
10927         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10928
10929 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
10930
10931         * gtk/gtkwindow.c:
10932         we use window->need_resize from configure_event now, to indicate that
10933         the gtkwindow should keep its allocation (e.g. because the user resized
10934         the window through window manager handles). resize_count is now reliably
10935         used to figure whether we got the allocation we requested from the
10936         window manager.
10937         configure events get queued as resizes now, the real stuff (size
10938         computation and allocation) now only goes on in gtk_window_move_resize().
10939         GtkWindow's requisition now contains its *real* requisition (like all
10940         other widgets), *not* taking usize into account.
10941         geometry_info->last_{width|height} is now updated from set_hints() only
10942         so it always contains the last hints we set for the window manager.
10943         made some event handlers return TRUE instead of FALSE.
10944         the overall code should be much more straight forward now, and the
10945         significant code portions are accompanied by comments now.
10946         (gtk_window_set_hints):
10947         removed requisition argument and made it
10948         fetch the requisition through gtk_widget_get_child_requisition.
10949         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
10950         does that now.
10951         (gtk_window_show):
10952         ensure that the widget is realized before calling 
10953         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
10954         ensure that we got properly size requested and allocated before
10955         realization.
10956         (gtk_window_configure_event):
10957         ignore plain window moves, or reallocate the widget tree through the
10958         resize queue otherwise.
10959         (gtk_window_move_resize):
10960         mostly rewrote this function to figure window manager hints more
10961         reliably, coalesce window moves and resizes to reduce configure events
10962         and do actuall size allocations.
10963
10964 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
10965
10966         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
10967         that have a resize pending, because a redraw is already queued for them.
10968
10969         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
10970         hack to clear resize_widgets.
10971
10972         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
10973         for resize containers prior to size allocation. (this is also a bit
10974         ugly, but avoids side effects for stopped emissions and is thus more
10975         reliable).
10976         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
10977
10978         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
10979         function from gtk_tooltips_expose, as we connect to ::expose_event
10980         *and* ::draw now.
10981
10982 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
10983
10984         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
10985         checks.
10986         (gtk_target_list_unref): Likewise.
10987
10988         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
10989
10990 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
10991
10992         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
10993         guard against division by zero. (Fixes bug #1339)
10994
10995 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
10996
10997         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
10998         Prevent the trivial leak of information of allowing
10999         word motion when the entry is not visible.
11000
11001 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
11002
11003         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
11004         modality to error dialog as well as confirmation dialogs.
11005         (Bug #1803, reported by Rosanna Wing Sze Yuen)
11006
11007 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
11008
11009         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
11010         tree->view_lines.
11011         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
11012
11013         * gtk/Makefile.am (install-data-local): Solaris apparently
11014         has various troubles with ln -f; use rm first instead.
11015         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
11016
11017 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
11018
11019         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
11020         use `cp' followed by `rm' (the `rm' was already there).
11021
11022 July 30, 1999 Elliot Lee <sopwith@redhat.com>
11023         
11024         * configure.in: Fix autoconf warnings about cross compilation by
11025         trying to provide sane defaults for AC_TRY_RUN.
11026         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
11027         put them into $(srcdir) when generated. Also add a dependency of
11028         gtksignal.h on gtkmarshal.h for -j builds. 
11029         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
11030
11031 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
11032
11033         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
11034         GDK_THREADS_{LEAVE,ENTER} pair.
11035         (From Paul Fisher <pnfisher@redhat.com>)
11036
11037 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
11038
11039         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
11040         width and height are always >0 (owen).
11041
11042 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
11043
11044         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
11045         change that assured that a widget's allocated with and height are
11046         always >1, since this breaks *buggy* panel code. unfortunately this
11047         back-breaks the gimp's color selector.
11048
11049         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
11050         allocation is always >0 in width and height, before sending the
11051         configure event; this is a *gross* hack to get the gimp back to work.
11052         
11053         * marked both cases with TODO-1.3
11054
11055 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
11056
11057         * gtk/gtktext.c: Don't display wrap indicators when
11058         text is not editable and word wrap is on.
11059
11060 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
11061
11062         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
11063         option menus here as they are not derived from menu shell, assure that
11064         the option menu has a menu we can add items to.
11065
11066 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
11067
11068         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
11069         width/height to (gint) before calculations and check against < 0 to
11070         avoid guint wraparounds.
11071
11072 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
11073
11074         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
11075         width and height is never zero. sanity check both dimensions against
11076         32767 and issue a warning if the allocation is greater than that.
11077
11078 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
11079
11080         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
11081         to g_main_pending() as well.
11082
11083 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
11084
11085         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
11086         call to g_main_iteration() - since that will regrab
11087         GTK+ lock to process events.
11088
11089 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
11090
11091         * gtk/gtkwindow.c
11092         - Regularize with the rest of GTK+ by making widget->requisition
11093           not reflect the set_usize()
11094         - Always recompute geometry hints, then check if they
11095           changed before sending them to the X server. The
11096           previous checks for changes would fail in a number
11097           of circumstances. 
11098
11099 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
11100
11101         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
11102
11103 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
11104
11105         * gtk/gtkdnd.c:
11106         - Code cleanups
11107         - Instantaneously update on modifier key presses
11108         - Allow cancellation of the drag with Escape.
11109
11110 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
11111
11112         * gtk/testgtk.c (create_handle_box): Set the policy
11113         to auto_shrink - otherwise the appearance is rather
11114         strange when flipping between horizontal and vertical.
11115
11116 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
11117
11118         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
11119         (gtk_window_set_default_size): don't change a value if it's < 0.
11120         queue a resize.
11121
11122 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
11123
11124         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
11125
11126 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
11127
11128         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
11129         add an extra "/" when concating "/" + filename.
11130         (From Matt Grossman <mattg@oz.net>)
11131
11132 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
11133
11134         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
11135         for fg_gc if we set it for drawing pixmap.
11136
11137 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
11138
11139         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
11140         
11141         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
11142         already set, call old engine's destroy function and
11143         unref the old engine.
11144
11145 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
11146
11147         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
11148
11149 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
11150
11151         * gtk/gtkaccelgroup.h: mark certain functions as internal.
11152
11153 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
11154
11155         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
11156         expand behaviour changed.
11157
11158         * gtk/gtklabel.c (gtk_label_set_pattern):
11159         (gtk_label_set_justify):
11160         (gtk_label_set_line_wrap):
11161         don't bother invoking queue_clear, the reallocation does
11162         that for us, always free_words so the upcoming resize will
11163         relayout the label's contents.
11164
11165 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
11166
11167         * applied argument implementation patches from Elena Devdariani
11168         <elena@cogent.ca>.
11169
11170         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
11171         ::space_style, ::relief
11172         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
11173         * gtk/gtkpreview.c: ::expand
11174         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
11175         * gtk/gtknotebook.c: ::homogeneous
11176         * gtk/gtklabel.c: ::wrap
11177         * gtk/gtklist.c: ::selection_mode
11178         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
11179         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
11180         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
11181         * gtk/gtkclist.c: ::sort_type
11182         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
11183         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
11184
11185 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
11186
11187         * gtk/gtkstyle.c: Removed ill-thought-out part of last
11188         comment.
11189
11190 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
11191
11192         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
11193         counting right when we have to attach a new style
11194         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
11195
11196         * gtk/gtkstyle.c: Documented the refcounting
11197         peculularities of gtk_style_attach.
11198
11199 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11200
11201         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
11202         window types.
11203
11204         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
11205         of GTK_TOPLEVEL for creating the window.
11206
11207 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11208
11209         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
11210         the last argument (reported by Per Winkvist).
11211         
11212 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
11213
11214         Fixes for invisible XOR lines (Frank Loemker
11215         <floemker@TechFak.Uni-Bielefeld.DE>)
11216         
11217         * gtk/gtkclist.c (gtk_clist_realize): Always use
11218         a non-zero pixel for GDK_XOR.
11219
11220         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
11221         Use GDK_INVERT instead of GDK_XOR.
11222
11223 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
11224
11225         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
11226         signals if h/voffsets differ from adjustment values.
11227         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
11228
11229 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
11230
11231         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
11232         ::selection-done emissions up to the topmost menu shell.
11233
11234 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
11235
11236         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
11237         the user data on the window before destroying it.
11238
11239         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
11240         unrealize handler to take care of destroying 
11241         notebook->panel properly. 
11242         (Bug #1198 - Morten Welinder <terra@diku.dk>)
11243
11244         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
11245         of g_new and g_realloc to stop memory leak. (Actually,
11246         we could just use g_realloc(), but I'm not 100% sure
11247         that is portable).
11248         (Bug #1196 - Morten Welinder <terra@diku.dk>)
11249
11250 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11251
11252         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
11253
11254         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11255         for fontsets.
11256
11257         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
11258         with bin/button confusion.
11259
11260 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
11261
11262         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
11263         and show how preselection of radio items is done.
11264
11265 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
11266
11267         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
11268         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
11269         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
11270         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
11271         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
11272         * gtk/gtktable.c (gtk_table_attach): 
11273         * gtk/gtklist.c (gtk_list_insert_items): 
11274         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
11275         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
11276         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
11277         * gtk/gtkbin.c (gtk_bin_add): 
11278         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
11279         * gtk/gtkfixed.c (gtk_fixed_put): 
11280         * gtk/gtklayout.c (gtk_layout_put):
11281         general fixups to container_add logic. always realize child if
11282         child->parent is realized, only map the child and queue a resize
11283         if child and child->parent are both visible.
11284
11285 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
11286
11287         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
11288         instead of gtk_container_foreach to walk and unrealize children, so
11289         composite children get also unrealized.
11290         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
11291         (gtk_widget_map): assert that the widget is visible (basic constrain).
11292         (gtk_widget_real_map): assert that the widget is realized (basic
11293         constrain).
11294
11295 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
11296
11297         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
11298
11299 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
11300
11301         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
11302         file for iso-8859-2 locales.
11303
11304         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
11305
11306 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
11307
11308         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
11309          (Pointed out by andy@rz.uni-karlsruhe.de and others).
11310          Remove some suspicious and useless lines. 
11311
11312 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
11313
11314         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
11315         width,height = 0, 0 to mean - here to edge of window,
11316         instead of -1, -1, since the former is all we support.
11317
11318 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
11319
11320         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
11321         when removing from quit_functions list.
11322
11323 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
11324
11325         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
11326
11327 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
11328
11329         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
11330          When redrawing characters on non-visible entry, use appropriate
11331          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
11332
11333 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
11334
11335         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
11336         from drag coordinates.
11337         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
11338         use drag_dest_cell.
11339
11340         * gtk/gtktree (drag_dest_cell)
11341         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
11342         (Bug #1129)
11343
11344 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
11345
11346         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
11347         translate_* fields.
11348         (gtk_item_factory_finalize): invoke translate_notify independant from
11349         translate_data.
11350         (gtk_item_factory_set_translate_func): likewise.
11351         (gtk_item_factory_destroy): only remove ifactory pointer from those
11352         widgets that belong to us (stupid me).
11353
11354 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
11355
11356         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
11357         rc_style list when lookup succeeeds.
11358
11359 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
11360
11361         * gtk/gtkctree.c (resync_selection): 
11362         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
11363         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
11364         bug.
11365
11366 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
11367
11368         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
11369         Add some missing GDK_THREADS_ENTER()/LEAVE around
11370         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
11371
11372 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
11373
11374         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
11375         rather than emit_by_name.
11376
11377         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
11378         on the widget across multiple signal emissions.
11379         (gtk_editable_delete_text): same here.
11380         (gtk_editable_class_init): set widget_class->activate_signal after
11381         editable_signals[ACTIVATE] has been created.
11382
11383 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
11384
11385         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
11386         position here prematurely -- we might not have the
11387         right ->min_position and ->max_position yet.
11388
11389 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
11390
11391         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
11392         Add error traps so if the other end of the connection
11393         dies, we survive.
11394
11395         * gtk/gtkselection.c (gtk_selection_notify): Clean
11396         up properly when selection property retrieval fails.
11397         
11398         * gtk/gtkselection.c (gtk_selection_request): Correctly
11399         reject SelectionRequest notifies where the handler
11400         returns no data.
11401
11402 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11403
11404         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
11405         when we've previously highlighted.
11406
11407         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
11408         emit two "drag_leave" signals for Motif drops.
11409
11410         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
11411         back the correct status messages when dropping from
11412         Motif onto a proxy window that is rejecting the
11413         drop.
11414
11415 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
11416
11417         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
11418         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
11419         to compare two argument values. added gtk_arg_to_valueloc() to set a
11420         variable from an arg through its location (pointer).
11421
11422         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
11423         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
11424         as gfloat*, uchars are collected as guchar*, ints are collected as
11425         gint*, etc...
11426
11427 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
11428
11429         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
11430         Include <string.h> instead of <strings.h>.
11431
11432         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
11433         (actually, a lot more duplicate includes occur if
11434          you trace through the sequence of #include's)
11435         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
11436         
11437 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
11438
11439         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
11440         gtk-a-higuti-990322-[0-3]
11441
11442         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
11443         that was causing -DX_LOCALE not to work.
11444
11445         * gtk/gtkrc.c (gtk_rc_init):
11446         X_LOCALE will never have LC_MESSAGES defined
11447
11448 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
11449
11450         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
11451         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
11452
11453         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
11454         left/right as well (gtk-michael-980726-0.patch.gz).
11455
11456         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
11457         for pointer values, use gchar instead of char. fixed uline allocation
11458         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
11459         chunks instead of G_ALLOC_ONLY.
11460         (gtk_label_size_request): always alter requisition as passed and leave
11461         widget->requisition alone.
11462         (gtk_label_set_text): allow NULL strings.
11463         (gtk_label_new): likewise.
11464
11465 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
11466
11467         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
11468
11469 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
11470
11471         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
11472         *and* mapped (i.e. drawable).
11473         (gtk_bin_expose): only send exposes to drawable children.
11474
11475         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
11476         (gtk_box_expose): only send exposes to drawable children.
11477
11478         * gtk/gtkhscale.c (gtk_hscale_draw): 
11479         * gtk/gtkvscale.c (gtk_vscale_draw):
11480         hm, this is an ugly one. we first compute the size of our trough area
11481         here (window relative) and then check intersection with the draw_area
11482         which is parent relative because we're a NO_WINDOW widget, so we need
11483         to offset the trough area by allocation.x and allocation.y before the
11484         check. (this must not be done for the background area though, since
11485         that's already computed parent relative).
11486
11487 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
11488
11489         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
11490         unrealize title buttons.
11491
11492 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
11493
11494         * gtk/gtkclist.c (gtk_clist_column_title_passive)
11495         (gtk_clist_column_title_active): 
11496         only connect/disconnect to GtkWidgetClass::event to block mouse events.
11497
11498         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
11499         zero initialize event, removed superfluous gdk_window_get_pointer call
11500
11501         * gtk/gtklist.c (gtk_list_vertical_timeout)
11502         (gtk_list_horizontal_timeout): removed superfluous
11503         gdk_window_get_pointer call
11504
11505 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
11506
11507         * plugging problems reported by "Bruce Mitchener, Jr."
11508         <bruce@puremagic.com> due to a purify session.
11509
11510         * gtk/gtkstyle.c:
11511         (gtk_style_ref): 
11512         (gtk_style_unref): assert ref_count to be > 0.
11513
11514         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
11515         the requisition.
11516         (gtk_clist_set_shift): likewise.
11517
11518         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
11519         adjustments.
11520
11521         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
11522         event before sending it and set send_event to TRUE (which needs to
11523         be done for *all* synthesized events).
11524         (gtk_list_vertical_timeout): likewise.
11525
11526         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
11527         leaks.
11528
11529         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
11530         to TRUE when synthesizing events.
11531
11532 [ *** end of merges from 1.2 *** ]      
11533         
11534 1999-11-21  Tor Lillqvist  <tml@iki.fi>
11535
11536         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
11537         (or copied from gdkconfig.h.win32 on Win32, sigh).
11538
11539         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
11540
11541         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
11542
11543         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
11544
11545         * gdk/gdkconfig.h.win32: New file.
11546
11547         * gdk/win32/makefile.cygwin: Build just a static archive here.
11548
11549         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
11550         for the DLL from the static archive built above.
11551
11552         * gdk/gdk.def: Moved here from the win32 subdirectory.
11553
11554         * gdk/win32/*: Adapt for the changed private struct organisation.
11555
11556         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
11557
11558 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
11559
11560         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
11561         for wheel mice (buttons 4 and 5).
11562
11563 1999-11-18  Tor Lillqvist  <tml@iki.fi>
11564
11565         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
11566         drawables use just the pixel field in the foreground and
11567         background GdkColor of the GdkGC.
11568
11569         gdk_gc_set_{fore,back}ground() are called in the GIMP with
11570         GdkColors containing uninitialized (red,green,blue) fields, and
11571         just the pixel field filled in, and furthermore in the
11572         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
11573         It thus turns out that we really don't need to have the full
11574         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
11575         it later to have just the pixel values.
11576
11577 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
11578
11579         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
11580
11581 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
11582
11583         * docs/gtkfaq.sgml: threads example from Erik Mouw.
11584         New question on GtkLabel background colors.
11585
11586         * docs/gtk_tut.sgml:
11587           - Correct the example code callback
11588             function definitions.
11589           - Update the gtkdial example code, from Frans van Schaik.
11590           - Update setselection.c to current API.
11591
11592         * examples/Makefile examples/*/*.c: Update to code
11593         listed in tutorial.
11594
11595 1999-11-10  Tor Lillqvist  <tml@iki.fi>
11596
11597         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
11598         subrange table (from the "Developing International Software for
11599         WIndows 95 and Windows NT" book) was missing the Hangul syllable
11600         block... Get the loaded font's charset correctly.
11601
11602         (Note that this, and the other *-win32.c files, still really are
11603         the old ones, the win32 subdirectory is not ready for compilation
11604         yet after the reorg.)
11605
11606 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
11607
11608         * gtk/gtkclist.c: Fix off-by-one bug in parameter
11609         check.
11610
11611 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
11612
11613         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
11614         on results of XQueryDeviceState().
11615
11616 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
11617
11618         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
11619         we need to accesss only ->children. We need an accessor
11620         for the children.
11621
11622         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
11623         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
11624         to get rid of gdkx.h include.
11625         
11626         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
11627         and random references to 'None'.
11628
11629         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
11630         Get rid of unused #include <gdk/gdkx.h>
11631
11632         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
11633         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
11634         gdkconfig.h.
11635
11636 1999-11-08  Tor Lillqvist  <tml@iki.fi>
11637
11638         * gdk/win32/gdkdraw.c
11639         * gdk/win32/gdkfont.c
11640         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
11641         following yesterday's changes. (Unrelated to Owen's reorg.)
11642
11643 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
11644
11645         * gdk/x11/gdkinput-gxi.c: Add missing include,
11646           fix GdkWindowPrivate => GdkDrawablePrivate.
11647
11648         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
11649
11650         * gdk/x11/Makefile.am (xinput_sources): Add missing
11651         backslash to fix building with --with-xinput=none
11652
11653 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
11654
11655         Move all X specific code into the x11/ directory.
11656         Aside from shuffling things around, did the following:
11657
11658        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
11659          gdk_arg_context_* - a simple argument parsing system
11660          in the style of popt.
11661
11662        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
11663          gdk/x11/gdkprivate-x11.h:
11664          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
11665          add ->klass and ->klass_data fields. The klass_data
11666          field points to an auxilliary structure that is
11667          windowing system dependent.
11668
11669        * gdk/gdkfont.c: Make most of the measurement functions
11670          simply wrappers around gdk_text_extents().
11671
11672        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
11673          _gdk_font_strlen() function that hides the weird
11674          behavior in gtk+-1.[02] where a string is interpreted
11675          differently for 8-bit and 16-bit fonts.
11676
11677        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
11678          to store common code for synthesizing double/triple
11679          press events.
11680         
11681        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
11682          Make all the function that modify an existing GC
11683          simply wrappers around gdk_gc_set_values().
11684          
11685        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
11686          for throwing out later.
11687
11688        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
11689          GdkImagePrivate and GdkColormapPrivate to have a
11690          windowing system dependent part (GdkFontPrivateX etc.)
11691          that "derives" from the system-independent part.
11692
11693        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
11694          Got rid of the included-source-files for XInput in
11695          favor of automake conditionals. (Which didn't exist
11696          when XInput support was originally added.)
11697
11698        * gdk/gdkrgb.c: Remove the visual id from the debugging
11699          statements since that is X11 specific; print out
11700          type/depth info instead.
11701          
11702
11703 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
11704
11705         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
11706         loading duplicates of hashed fonts.
11707
11708         * gdk/gdk.c (gdk_keysym_convert_case): rename
11709         gdk_XConvertCase to gdk_keysym_convert_case, allow
11710         results to be NULL in the GTK+ style.
11711
11712         * gdk/gdkcompat.h: Started compatibility header
11713         for renames.
11714
11715 1999-11-07  Tor Lillqvist  <tml@iki.fi>
11716
11717         * gdk/win32/gdkprivate.h: New font private structures, related to
11718         fontsets.
11719
11720         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
11721         gdk_font_list_free(). On X11, will just be wrappers to
11722         XListFonts() and XFreeFontNames(). On Win32, the code previously
11723         in gtkfontsel.c is now here.
11724
11725         New function gdk_font_xlfd_create(). On X11 will get the FONT
11726         property of the font (for GDK_FONT_FONTs), or call
11727         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
11728         builds a XLFD style name from the font information in the LOGFONT
11729         struct(s).
11730
11731         New function gdk_font_xlfd_free(), which correspondingly frees the
11732         string returned by gdk_font_xlfd_create().
11733
11734         Implement fontsets on Win32. Add a function that iterates over a
11735         wide char string and calls a callback function for each substring
11736         of wide chars from the same Unicode subrange (and thus probably
11737         available in the same real font).
11738
11739         Improve the XLFD emulation a bit.
11740
11741         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
11742
11743         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
11744         Beta3, WM_IME_CHAR messages don't seem to contain the composed
11745         multi-byte char as with the Active IMM on Win9x. Oh well, handle
11746         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
11747         ImmGetCompositionStringW() to get the composed Unicode chars.
11748
11749         * gdk/win32/gdkgc.c
11750         * gdk/win32/gdkdraw.c: Changes needed because of the font private
11751         struct changes.
11752
11753         * gdk/win32/gdk.def: Add the new functions.
11754
11755 1999-11-04  Tor Lillqvist  <tml@iki.fi>
11756
11757         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
11758         get the Platform SDK to get <dimm.h>.
11759
11760         * gdk/win32/gdkevents.c: More event handling fixes and
11761         simplification. Never generate motion events with is_hint true. We
11762         used to do that on bogus grounds earlier. Windows sends
11763         WM_MOUSEMOVE messages on button events even if the mouse hasn't
11764         moved, ignore these.
11765
11766         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
11767
11768         * gdk/win32/gdkglobals.c
11769         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
11770         the TrackMouseEvent function, and use it.
11771
11772         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
11773         char before calling WideCharToMultiByte in order to get a string
11774         for the window title.
11775
11776         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
11777
11778         * gdk/win32/gdk.def: Remove obsolete functions.
11779
11780         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
11781         /nodefaultlib and /defaultlib switches.
11782
11783         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
11784
11785 1999-10-31  Tor Lillqvist  <tml@iki.fi>
11786
11787         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
11788         EuroSign).
11789
11790         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
11791         same type as GdkWChar, especially on Win32.
11792
11793         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
11794
11795         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
11796         before passing to Windows GDI for drawing etc. Convert to the
11797         system default codepage before passing to Windows as window
11798         titles.
11799
11800         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
11801         support changing input locale on the fly.
11802
11803         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
11804         on-the-fly changes. Convert incoming characters from the current
11805         codepage to Unicode (and then to a UTF-8 multi-byte string) based
11806         on the current input language. Use keysym<->Unicode mapping tables
11807         and functions borrowed from xterm sources.
11808
11809         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
11810         editions of Win9x, use the ActiveX-based Active IMM (Input Method
11811         Manager) if available. IMEs and the Active IMM are available under
11812         the disguise of Chinese, Korean and Japanese support for IE and
11813         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
11814         support is present in all editions (as long as you install it).
11815
11816         Call DispatchMessage from gdk_events_queue() (and thus
11817         gdk_WindowProc()), instead of duplicating the code in
11818         gdk_WindowProc().
11819
11820         Reworked the grab handling and propagation code, factored out
11821         duplicated code snippets into separate functions. Other cleanups,
11822         too.
11823
11824         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
11825         the <dimm.h> header describing the Active IMM.
11826
11827         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
11828         just do the same as for "single" fonts.
11829
11830         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
11831         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
11832         the new keysyms from gdkkeysyms.h.
11833
11834         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
11835         fontset, so that gtkentry uses wide characters.
11836
11837         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
11838         GTk+'s system directory "gtk+", not "gtk".
11839
11840 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
11841
11842         * docs/gtkfaq.sgml: FAQ update
11843
11844 1999-10-21  Tor Lillqvist  <tml@iki.fi>
11845
11846         * gdk/win32/gdkprivate.h: Add more font private data.
11847
11848         * gdk/win32/gdkfont.c
11849         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
11850         fonts and strings. Now works much better. You still have to
11851         have a correct font selected, though. No fontset emulation yet.
11852
11853 1999-10-19  Tor Lillqvist  <tml@iki.fi>
11854
11855         * gtk/maketypes.awk: Use G_OS_WIN32.
11856
11857         * gtk/gtk.def: Add some missing entry points. Also some non-public
11858         ones, but PyGTK porter claims to need them.
11859
11860         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
11861         built-in type generation.
11862
11863 1999-10-14  Tor Lillqvist  <tml@iki.fi>
11864
11865         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
11866         GDK_FONT_FONT fonts (which is all we have for now, we don't
11867         emulate fontsets). The X11 version uses plain XDrawString in that
11868         case, too. The string passed to gdk_draw_text_wc seems to be in
11869         fact (at least, when used by gtkentry and gtktext) either in a
11870         single-byte charset, or a DBCS. Not Unicode.
11871
11872         This fixes the problem in gtkfontsel, where even if you had
11873         selected a font with a non-Latin1 charset (windows-greek, for
11874         instance), the preview still used Latin-1 glyphs.
11875
11876         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
11877         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
11878         (gdk_font_load): Recognize the demibold etc weights, even if we
11879         don't have the corresponding constants in the headers.
11880         (gdk_font_hash_insert): Use same hash mechanism as in the X11
11881         version. Should save font resources a bit, when we don't have
11882         multiple HFONTs for the same font.
11883
11884         * gdk/win32/gdkprivate.h: Add the names field as in the X11
11885         version.
11886
11887 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
11888
11889         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
11890         X values
11891
11892 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
11893
11894         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
11895         layout support (as mentioned on
11896         http://www.jcinteractive.com/gnome-ui/software/widgets/)
11897
11898 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
11899
11900         * gtk/fnmatch.c
11901         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
11902
11903 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
11904
11905         * configure.in (ALL_LINGUAS): Added Galician (gl)
11906
11907 1999-10-05  Tor Lillqvist  <tml@iki.fi>
11908
11909         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
11910
11911         * gdk/win32/gdkcompat.c: New file, actually provide an
11912         implementation for the deprecated functions. (Just temporarily.)
11913
11914         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
11915
11916         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
11917
11918         * gdk/win32/gdk.def gtk/gtk.def: Updates.
11919
11920 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
11921
11922         * configure.in: Added "uk" to ALL_LINGUAS.
11923         
11924 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
11925
11926         * configure.in: correct checking for BeOS check
11927
11928         * gdk/gdktypes.h
11929         * gtk/fnmatch.c
11930         * gtk/gtkfilesel.c
11931         * gtk/gtkitemfactory.c
11932         * gtk/gtkmain.[ch]
11933         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
11934
11935 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
11936
11937         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
11938         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
11939         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
11940         by Bulgarian). 
11941
11942 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
11943
11944         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
11945         Fix a reference to window_private->destroyed.   
11946
11947         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
11948         (ugly) setting of an internal GdkWindow member to use
11949         a _slightly_ cleaner macro.
11950
11951         * gdk/gdkprivate.h: Split GdkWindowPrivate into
11952         GdkDrawablePrivate and GdkWindowPrivate.
11953         Add extra macros for accessing GDK_DRAWABLE_ components.
11954
11955         * *.[ch]: Massive adjustments for the above, use the
11956         new macros in a lot of places.
11957
11958 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
11959
11960         * gdk/gdktypes.h: Make GdkDrawable the base type,
11961         not GdkWindow.
11962
11963 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
11964
11965         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
11966
11967 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
11968
11969         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
11970
11971 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
11972
11973         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
11974         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
11975
11976         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
11977
11978         * docs/gtk-config.1: Now autogenerated.
11979         * docs/Changes-1.4.txt: started
11980         
11981 1999-10-03  Tor Lillqvist  <tml@iki.fi>
11982
11983         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
11984         to #ifdef also here.
11985
11986         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
11987         Owen did to the X11 backend.
11988
11989         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
11990         ScrollWindowEx when blitting inside a window, it can't be correct
11991         in the general case.
11992
11993         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
11994         WM_GETMINMAXINFO is easier.
11995
11996         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
11997         depth equal to the bitspixel value, not the visual's depth.
11998
11999         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
12000         to 24 even if the bitspixel value is 32.
12001
12002         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
12003         need to check for depth==32 when bpp==32, depth will always be 24.
12004
12005 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
12006
12007         * docs/Changes-1.4.txt: Started
12008         
12009         * gtk/Makefile.am (gdk_headers): Include all the new headers.
12010
12011         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
12012         
12013         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
12014         into C file.
12015         
12016         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
12017         header to gdkinputprivate.h.
12018
12019         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
12020         unused since before 1.2.
12021
12022 1999-09-30  Tor Lillqvist  <tml@iki.fi>
12023
12024         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
12025         expand possible hex escapes in the font family (put there by
12026         logfont_to_xlfd if the font name isn't a legal XLFD font family,
12027         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
12028         On Win32, add hex escapes here, too.
12029
12030 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
12031
12032         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
12033         to #ifdef GDK_WINDOWING_X11.
12034
12035 [ Merges from gtk-1-2 ]
12036
12037 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
12038
12039         * configure.in: fixed "GNU Make" check to pass with new make version
12040         3.77.95.
12041
12042 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
12043
12044         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
12045         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
12046         AM_PATH_GTK() macros don't get confused by the -pre1.
12047
12048 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12049
12050         * configure.in (REBUILD): Change check for perl5
12051           to check explicitely for v >= 5.002. (5.001
12052           does not work with our scripts.)
12053
12054 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
12055
12056         * configure.in: evaluate $PERL for the perl version check. added
12057         --disable-rebuilds to give the user an option to completely disable
12058         any source autogeneration rules.
12059
12060 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
12061
12062         * configure.in: evaluate $ac_make when checking for GNU Make.
12063
12064 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12065
12066         * docs/Makefile.am: added generation.txt.
12067
12068         * Makefile.am: require automake 1.4, build README from README.in and
12069         INSTALL from INSTALL.in in dist-hook.
12070         
12071         * README.in:
12072         * INSTALL.in: new files to autogenerate README and INSTALL from.
12073
12074         * configure.in: figure whether we have GNU Make
12075
12076         * docs/generation.txt: minor additions/corrections.
12077
12078 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12079
12080         * docs/gtkfaq.sgml: FAQ Update
12081
12082 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12083         
12084         * configure.in: Fix autoconf warnings about cross compilation by
12085         trying to provide sane defaults for AC_TRY_RUN.
12086
12087 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
12088
12089         * ltconfig
12090         * ltmain.sh: upgrade to libtool 1.3.3
12091
12092 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
12093
12094         * INSTALL: Indicate that the --with-glib= configure
12095         time flag is unsupported.
12096
12097 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
12098
12099         * docs/generation.txt: Added a file that gives
12100         documenation about the autogeneration process for
12101         various autogenerated files.
12102         
12103 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12104
12105         * configure.in (LIBS): Look for libgmodule in the
12106         right location.
12107
12108 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
12109
12110         * docs/gtk_tut.sgml: Removed references to
12111         code examples in my directory on gtk.org as
12112         they should all be in the tutorial now.
12113
12114         * docs/gtk_tut.sgml: Added sources for dial-test
12115         and scribble-xinput programs that were previously
12116         missing.
12117
12118 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
12119
12120         * TODO: Added entry about menu keyboard navigation, removed
12121         some finished items.
12122
12123 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
12124
12125         * acinclude.m4: Standardize on func_dgettext
12126         not func_gettext, so that the checks for dgettext
12127         actually are paid attention to.
12128
12129 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
12130
12131         * configure.in (LIBS): Add $INTLLIBS into $LIBS
12132         directly, rather than repeating the checks for
12133         gettext.
12134
12135         * INSTALL: Added information about gettext and
12136         NLS support.
12137
12138         * acinclude.m4 (LIBM): Check for dgettext, not
12139         just gettext. This should hopefully fix things wrt
12140         systems with old versions of GNU gettext installed.
12141
12142 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12143
12144         * configure.in (LIBS): Look for libgmodule in the
12145         right location.
12146
12147 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12148
12149         * autogen.sh: add --enable-maintainer-mode
12150
12151         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
12152
12153 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
12154
12155         * docs/gtk-config.1.in:
12156           docs/Makefile.am:
12157           configure.in: gtk-config is now generated.
12158
12159         * docs/gtk-config.1: Removed, now generated.
12160
12161 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
12162
12163         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
12164         handle CreateNotify itself, still put out a debuging message for
12165         --gdk-debug=events. made the ReparentNotify debugging message more
12166         verbose.
12167         wrap xcoords translation for ConfigureEvents into an error trap,
12168         a destroy event may already be pending, and in that case, the
12169         actuall coordinate values are not at all critical.
12170
12171 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
12172
12173         * gdk/gdkcc.c: Stop leaking the color_hash all over
12174         the place. Simplify and improve the logic.
12175
12176 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12177
12178         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
12179         for prototypes and function implementations consistent (reported
12180         by Tomas Ogren).
12181
12182 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12183
12184         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
12185         send_event set in debugging output.
12186         (gdk_compress_exposures): default initialize the event so we don't
12187         operate on bogus values (namely send_event).
12188
12189 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12190
12191         * gdk/gdkwindow.c: When we receive an unexpected
12192         destroy notify on one of our windows, don't just
12193         warn about it, also mark our windows as destroyed.
12194
12195 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
12196
12197         * gdk/gdkfont.c (gdk_font_hash_insert): Add
12198           name => font and name => fontset hashes. The 
12199           name => fontset hash is a _big_ win since we
12200           weren't previously caching fontsets at all and loading
12201           fontsets is expensive. The name => font hash
12202           is less of a win, but it does save us from doing
12203           repeated XQueryFont calls on the same font.
12204
12205         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
12206           list so we can remove font/fontset from hash.
12207
12208 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12209
12210         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
12211           and slightly confusing test. [ XInternAtom (,,TRUE)
12212           will never return None ].
12213
12214 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
12215
12216         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
12217           gdk/gdkwindow.c (gdk_window_set_hints):
12218
12219         Don't omit setting the properties if flags == 0 -
12220         there may be an existing set of properties there
12221         already. (Very old bug. Would it be better to
12222         delete the property instead?)
12223
12224         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
12225           spelling error in comment.
12226
12227 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
12228
12229         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
12230           to avoid stomping over gdk_error_warnings.
12231
12232         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
12233           as (bits_per_pixel + 7) / 8. This gives the same
12234           result as before for multiples of 8, but actually
12235           a "reasonable" value for 1bit or 4bit displays.
12236
12237 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12238
12239         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
12240         GNU Make.
12241
12242 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12243
12244         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
12245         discarding configure events.
12246
12247 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12248
12249         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
12250         refcount is greater than zero.
12251
12252         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
12253
12254         * gdk/gdkfont.c (gdk_font_unref): Likewise.
12255
12256         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
12257
12258         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
12259
12260 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12261
12262         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
12263         that format 32 => sizeof(item) == 4. It really is
12264         sizeof(long).
12265
12266 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
12267
12268         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
12269         core dump at all on X IO errors, only core dump
12270         if --enable-debug for X errors.
12271
12272 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
12273
12274         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
12275         unknown window:" message. disabled ConfigureNotify discarding code,
12276         because it led to events being processed out of order.
12277
12278 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
12279
12280         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
12281
12282         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
12283         we export this function, supress error warnings and don't reset the
12284         error code in the first half of this function.
12285
12286         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
12287         code (instead of just -1) so gdk_error_trap_pop() reveals something
12288         actually informative about the error that happened.
12289
12290         * gdk/*.c:
12291         don't rely on gdk_error_code being -1 if an error occoured, but just
12292         gdk_error_code != 0.
12293
12294 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
12295
12296         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
12297         pointer *before* invoking the filter function, so we at least don't
12298         crash if a filter is removed that is currently executed. window filters
12299         *really* need to be made truely reentrant at some point.
12300
12301 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
12302
12303         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
12304         PropertyNotify debug messages.
12305
12306 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
12307         
12308         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
12309         
12310         * gdk/gdkim.c: Fix cut-and-paste errors for 
12311         x/y and PreeditAttributes/StatusAttributes.
12312
12313 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12314
12315         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
12316         G_MAXINT to 2^16 to alleviate overflow problems in
12317         various window managers.
12318
12319 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12320
12321         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12322         for fontsets.
12323
12324 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
12325
12326         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
12327         Initialize size_hints.x and size_hints.y because kwm
12328         brokenly pays attention to them.
12329         (Bug #1181 -  Lars Heete <hel@admin.de>)
12330
12331 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
12332
12333         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
12334         return value of gdk_list_visuals(). 
12335         (Bug #1193 - Morten Welinder <terra@diku.dk>)
12336
12337 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
12338
12339         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
12340         XSetIMValues to (void *) when comparing to NULL, to workaround
12341         the problem of some compilers barfing since older X headers don't
12342         have the prototype for it.
12343
12344 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
12345
12346         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
12347         for pseudocolor where colormap->colors was double
12348         allocated.
12349
12350         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
12351         color value in the hash table with the pixel filled
12352         in so when we do later hash table lookups, the color
12353         value is correct.
12354         
12355 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
12356
12357         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
12358         making the call
12359
12360 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
12361
12362         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
12363         pointed out by Morten Welinder <terra@diku.dk>.
12364
12365 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12366
12367         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12368           default filter from the list
12369
12370 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12371
12372         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12373           default filter from the list
12374
12375 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
12376
12377         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
12378
12379         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
12380         g_strdup_printf instead of calcing the length separately
12381
12382 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
12383
12384         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
12385         that we don't do in many other places. (Fixing duplicate 
12386         #include of config.h)
12387
12388         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
12389         Otherwise, #ifndef XINPUT_NONE check in the latter
12390         doesn't work. (Bug #546)
12391
12392 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
12393
12394         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
12395         "None" case insensitive.
12396
12397 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12398
12399         * gdk/gdkselection.c: 
12400         Add error traps so if the other end of the connection
12401         dies, we survive.
12402
12403 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12404
12405         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
12406         dest_xid field into two fields - one for the window
12407         to send in messages, one to indicate the last looked
12408         up window for caching purposes. This is needed, so
12409         that Leave messages get the correct window.
12410
12411 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
12412
12413         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
12414         Fix warning created by people mucking around
12415         with the gsource API.
12416
12417         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
12418         Change mapping between GIOCondition and GdkInputCondition
12419         to match the way the Linux kernel does it. This should
12420         fix problems where closed pipes were no longer signalling
12421         GDK_INPUT_READ on systems with a native poll().
12422
12423 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
12424
12425         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
12426         explicitly for the string "None" - it is in the XPM
12427         spec and some servers treat unknown colors in odd ways
12428         (like asking the user!)
12429
12430 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12431
12432         * gdk/gdkevents.c: made "->" into a "." of previous change so
12433         it compiles
12434
12435 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
12436
12437         * gdk/gdkevents.c (gdk_compress_exposures): Set the
12438         window field of the event structure before calling
12439         user filters.
12440
12441 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
12442
12443         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
12444         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
12445
12446 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
12447
12448         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
12449         intermediate text property - prevents major memory
12450         leak when gdk_use_mb.
12451         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
12452
12453 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12454
12455         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12456         gtk-a-higuti-990322-[0-3]
12457
12458         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
12459         sizeof(wchar_t) != sizeof (GdkWChar)
12460
12461         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12462         that was causing -DX_LOCALE not to work.
12463
12464         * gtk/gtkrc.c (gtk_rc_init):
12465         X_LOCALE will never have LC_MESSAGES defined
12466
12467         * gdk/gdk.c (gdk_init_check):
12468         Remove --xim-preedit and --xim-status from argv properly.
12469
12470         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
12471         that the client window is present on the X server
12472         before we pass it to the input method.
12473
12474 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12475
12476         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
12477         if --display is specified on the command line, than
12478         the drag window will not be created on that display.
12479         
12480 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
12481
12482         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
12483         lookups with only_if_exists == TRUE were inserting
12484         bogus values into the atom cache.
12485
12486 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12487
12488         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
12489         then reset it to NULL.
12490
12491         * gdk/gdkcolor.c:
12492         (gdk_colors_free): 
12493         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
12494         key for g_hash_table_remove() in both functions, this prevents us
12495         from accessing possibly uninitialized portions of a GdkColor structure
12496         where we are only interested in its pixel value.
12497
12498 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12499
12500         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12501         font hash table, if we have a GdkFontPrivate entry for this font
12502         already, simply increment its reference count, provided by Olaf Dietsche
12503         <olaf.dietsche+list.gtk@netcologne.de>.
12504
12505 1999-09-21  Tor Lillqvist  <tml@iki.fi>
12506
12507         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
12508         just to be sure.
12509
12510         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
12511         unused variables, leftovers from the X11 version.
12512
12513         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
12514
12515         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
12516         downcase fields on X11.
12517
12518 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12519         
12520         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
12521         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
12522
12523 1999-09-17  Tor Lillqvist  <tml@iki.fi>
12524
12525         * gdk/win32/gdk.def: Add gdk_threads_mutex.
12526
12527         * gtk/makefile.msc: Correct path to libintl.
12528
12529         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
12530         use of gint vs. int, and gint vs. gboolean in headers and
12531         definitions. Use GtkType for the *_get_type functions. Note that
12532         these changes preserve binary compatibility.
12533
12534         * gdk/gdk.c
12535         * gdk/win32/gdk.c
12536         * gdk/gdk.h: Fix inconsistencies: gint vs int.
12537
12538         * gtk/gtkmain.c
12539         * gtk/gtkclist.c
12540         * gtk/gtkmenufactory.c
12541         * gtk/gtknotebook.c
12542         * gtk/gtkwidget.c: Fix inconsistencies, also gint
12543         vs. gboolean.
12544
12545         * gtk/gtkcolorsel.[ch]
12546         * gtk/gtkcombo.[ch]
12547         * gtk/gtkdrawingarea.[ch]
12548         * gtk/gtkgamma.[ch]
12549         * gtk/gtkhandlebox.[ch]
12550         * gtk/gtkhpaned.[ch]
12551         * gtk/gtkhruler.[ch]
12552         * gtk/gtkplug.[ch]
12553         * gtk/gtkpreview.[ch]
12554         * gtk/gtkruler.[ch]
12555         * gtk/gtksocket.[ch]
12556         * gtk/gtkstatusbar.[ch]
12557         * gtk/gtktoolbar.[ch]
12558         * gtk/gtkvbbox.[ch]
12559         * gtk/gtkvpaned.[ch]
12560         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
12561         functions.
12562
12563         * gtk/gtkgamma.h: Fix bug, missing () in call of
12564         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
12565
12566 1999-09-14  Tor Lillqvist  <tml@iki.fi>
12567
12568         * gdk/gdkcolor.c (gdk_colormap_new)
12569         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
12570         colormap->colors was allocated twice.
12571
12572         * gdk/win32/gdk.c: Remove some unused stuff.
12573
12574         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
12575         colormap.
12576
12577         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
12578         * gtk/gtklabel.h (gtk_label_get_type)
12579         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
12580         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
12581         in a couple of places, not guint.
12582
12583 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12584
12585         * configure.in,po/et.po: added Estonian language file
12586
12587 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12588
12589         * configure.in,po/da.po: added Danish file
12590
12591 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
12592
12593         * docs/gtkfaq.sgml: Minor FAQ Update
12594
12595 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
12596
12597         * docs/gtkfaq.sgml: FAQ update
12598
12599 1999-08-27  Tor Lillqvist  <tml@iki.fi>
12600
12601         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
12602         way to get window contents continually refreshed while resizing. I
12603         didn't like the effects myself, so it's not on by default.
12604
12605         * gdk/win32/gdkprivate.h: New flag variable
12606         gdk_event_func_from_window_proc, FALSE by default.
12607
12608         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
12609         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
12610         are passed --gdk-event-func-from-window-proc.
12611
12612         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
12613         and we have am event_func, call it instead of enqueing the event.
12614
12615 1999-08-23  Tor Lillqvist  <tml@iki.fi>
12616
12617         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
12618         Kelley: Set expose_count in GdkEventExposes correctly.
12619
12620         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
12621         MULTIPLE_WINDOW_CLASSES).
12622
12623         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
12624         for bug in NT, apparently NT *does* draw the end pixel, too, in
12625         LineTo with a one-pixel pen, so we don't have to do it ourselves.
12626
12627 1999-08-21  Tor Lillqvist  <tml@iki.fi>
12628
12629         Improvements by Hans Breuer: 
12630
12631         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
12632
12633         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
12634         CS_?REDRAW flags as they cause lots of (late) redraws when "show
12635         window contents while dragging" is turned on. Allocate at least
12636         one unique class for every GdkWindowType. If support for single
12637         window-specific icons is ever needed (eg. Dialog specific), every
12638         such window should get its own class.
12639
12640 1999-08-19  Tor Lillqvist  <tml@iki.fi>
12641
12642         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
12643         error that caused crashes.
12644
12645 1999-08-17  Tor Lillqvist  <tml@iki.fi>
12646
12647         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
12648         window, use ScrollWindowEx, and call UpdateWindow. This prevents
12649         bugs when for instance part of the window was outside the
12650         display. Thanks to Philippe Colantoni for finding and fixing this.
12651
12652 1999-08-16  Tor Lillqvist  <tml@iki.fi>
12653
12654         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
12655         endpoint calculations which were totally wrong. (A little RTFMing
12656         helps a lot ;-)
12657
12658         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
12659         from a separate directory, not from gettext, because of licensing
12660         issues (we want to use the LGPL version).
12661
12662         * README.win32: Mention the intl from glibc vs from gettext issue.
12663
12664 1999-08-13  Tor Lillqvist  <tml@iki.fi>
12665
12666         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
12667         in the key event handling: Now AltGr chars work again. Also,
12668         now Alt-digits are passed up as well as Control-digits.
12669         Pass keypad plus and minus as normal plus and minus.
12670
12671 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12672
12673         * docs/gtkfaq.sgml: FAQ Update
12674
12675 1999-07-25  Tor Lillqvist  <tml@iki.fi>
12676
12677         * README.win32
12678         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
12679         the Wintab SDK.
12680
12681         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
12682         OK, but getting closer. Guard against bogus tilt data from Wacom
12683         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
12684         enable easier building without Wintab.
12685
12686         * gdk/win32/gdkinput.h
12687         * gdk/win32/gdkevents.c 
12688         * gdk/win32/gdkwindow.c: Minor changes related related to above.
12689         
12690         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
12691         code. As we have just one visual on Win32, no sense to have it in a
12692         table, and no need for the hash table.
12693
12694         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
12695         better on white background.
12696
12697 1999-07-21  Tor Lillqvist  <tml@iki.fi>
12698
12699         * README.win32: Update gcc build instructions. Mention gettext is
12700         GPL.
12701
12702         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
12703         supported cursor size with GetSystemMetrics.
12704
12705         * gdk/win32/gdkfont.c
12706         * gtk/gtkfontsel.c: Guard against some font weight and charset
12707         symbols being undefined (in mingw32 headers).
12708
12709         * gdk/win32/makefile.cygwin
12710         * gtk/makefile.cygwin
12711         * gtk/gtkthemes.c: No longer need to have differently named
12712         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
12713
12714 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
12715
12716         * docs/gtkfaq.sgml: Long awaited FAQ update.
12717
12718 1999-07-15  Tor Lillqvist  <tml@iki.fi>
12719
12720         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
12721         it. Obscure bit manipulation needed.
12722
12723         * gdk/win32/gdkevents.c: Logging.
12724         
12725         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
12726         style (file name include compiler name) for theme engines.
12727
12728 1999-07-13  Tor Lillqvist  <tml@iki.fi>
12729
12730         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
12731
12732         * gdk/win32/gdkevents.c: Fix long-standing bug in key
12733         events. The key.string wasn't zero-terminated, still we strdup'ed
12734         it in gdk_event_copy(). Synthesize crossing events for button
12735         events before possible propagation.
12736
12737         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
12738
12739         * gdk/win32/makefile.cygwin
12740         * gtk/makefile.cygwin: Use new DLL naming style for the
12741         GCC-compiled ones.
12742
12743         * gdk/win32/makefile.msc
12744         * gtk/makefile.msc: Cosmetics mostly.
12745
12746         * gtk/gtk.def: Add missing entry points.
12747
12748         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
12749
12750 1999-07-09  Tor Lillqvist  <tml@iki.fi>
12751
12752         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
12753         or height is zero. Don't print a warning if Pie or Arc fails, they
12754         always fail (?) for very narrow ellipses.
12755
12756         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
12757         the part or the destination window corresponding to source area
12758         outside of the source drawable's boundary.
12759
12760         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
12761         anything if less than two points.
12762
12763         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
12764         return NULL. Gtk cut-and-paste inside a single program works
12765         better this way. (It always gets the clipboard contents from
12766         Windows, not from its own copy, which is cleared anyway. I can't
12767         say I fully understand what happens... Emulating the X selection
12768         and property stuff is a bit of a mess.)
12769
12770         * gdk/win32/gdkevents.c
12771         * gdk/win32/gdkproperty.c: A bit more verbose logging.
12772
12773         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
12774         that never got deleted). Revamp gdk_region_shrink.
12775
12776         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
12777         after use.
12778
12779         * gtk/gtk.def: Add some missing entry points.
12780
12781         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
12782         component.
12783
12784 1999-07-04  Tor Lillqvist  <tml@iki.fi>
12785
12786         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
12787         Control-digits specially.
12788
12789 1999-07-03  Tor Lillqvist  <tml@iki.fi>
12790
12791         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
12792
12793 1999-06-28  Tor Lillqvist  <tml@iki.fi>
12794
12795         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
12796         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
12797         finding this.)
12798
12799 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
12800
12801         * gtk+.spec.in: Corrected some typos in files section.
12802         
12803 1999-06-15  Tor Lillqvist  <tml@iki.fi>
12804
12805         * README.win32: Mention using GNU gettext.
12806         * config.h.win32: Enable NLS stuff.
12807         * gtk/makefile.msc: Use GNU gettext.
12808         * gdk/win32/gdkdnd.c: Minor header reorg.
12809         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
12810         cosmetics.
12811         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
12812         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
12813
12814 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
12815
12816         * acinclude.m4
12817         * config.guess
12818         * config.status
12819         * ltconfig
12820         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
12821
12822 1999-05-30  Tor Lillqvist  <tml@iki.fi>
12823
12824         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
12825         SafeAdjustWindowRectEx. Don't override all calls to
12826         AdjustWindowRectEx by it, but use it only in two places: When
12827         creating a new top-level window and when moving a top-level
12828         window.
12829
12830         Use screen coordinate rectangle, not client rectangle, in
12831         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
12832         when we try to place a window so that the decoration (mainly,
12833         title bar) isn't visible.
12834
12835         These changes fix the bug that showed up for instance as the
12836         GIMP's saved top-level windows moving right and down (by an amount
12837         equal to the window decoration) for each session. This bug showed
12838         up also in testgtk's "Saved Position".
12839
12840         gdk_window_resize also redone a bit.
12841
12842 1999-05-25  Tor Lillqvist  <tml@iki.fi>
12843
12844         * gtk/testgtkrc: Add (commented out) Windows-style theme
12845         include line.
12846
12847         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
12848
12849 1999-05-18  Tor Lillqvist  <tml@iki.fi>
12850
12851         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
12852         gdkx.h to a gdk subdirectory, so that applications can include
12853         these with <gdk/*.h> without trouble.
12854
12855         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
12856         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
12857         have their bitmap destroyed.
12858
12859         * gdk/win32/gdk.def: Add gdk_root_parent.
12860
12861 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
12862
12863         * configure.in
12864           gtk-config.in
12865           ltconfig
12866           ltmain.sh     
12867           gtk/Makefile.am: changes to compile nicely (with xlib) 
12868           on BeOS
12869
12870 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
12871
12872         * acinclude.m4
12873         * config.guess
12874         * config.sub
12875         * ltconfig
12876         * ltmain.sh: upgrade to libtool 1.3
12877
12878 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
12879
12880         * gtk/gtkclist.c:
12881         * gtk/gtkctree.c: merges from gtk-1-2
12882
12883 1999-04-25  Tor Lillqvist  <tml@iki.fi>
12884
12885         Support added for building using a GNU toolchain on Win32,
12886         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
12887
12888         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
12889         * config.h.win32: Changes for gcc.
12890         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
12891         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
12892         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
12893         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
12894         Protect shl stuff unavaiilable with mingw32 headers.
12895         * gdk/win32/gdkevents.c: Fix typo.
12896         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
12897         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
12898         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
12899         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
12900         the mingw32 headers.
12901         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
12902         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
12903         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
12904         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
12905         Test for NATIVE_WIN32, not _MSC_VER.
12906         * gtk/gtkmain.c: No use warning about developer version on Win32,
12907         there aren't any non-developer versions anyhow.
12908         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
12909         * gtk/makefile.msc: Use pthread from another directory. Minor other
12910         changes. 
12911
12912 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12913
12914         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12915           default filter from the list
12916
12917 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
12918
12919         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
12920          when gtk_widget_grab_default() is called for a widget that
12921          is not within a GtkWindow.
12922
12923 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
12924
12925         * docs/gtk_tut.sgml, examples/clist.c: use a
12926           scrolled window in the clist example. Minor
12927           tutorial fixes.
12928
12929 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
12930
12931         * docs/gtk_tut.sgml: Style check from David King
12932           <dking@youvegotmail.net>
12933
12934 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
12935
12936         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
12937         compile with unknown value of GDK_WINDOWING
12938
12939 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
12940
12941         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
12942         after the rule is fired.
12943         (install-exec-local): Install gdkconfig.h only if the contents are
12944         different from the currently installed gdkconfig.h.
12945
12946 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
12947
12948         * gdk/Makefile.am (configexecincludedir): Rename from 
12949         configincludedir so that gdkconfig.h will be installed 
12950         as part of `make install-exec'. 
12951
12952 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
12953
12954         * acinclude.m4
12955         * config.guess
12956         * config.sub
12957         * ltconfig
12958         * ltmain.sh: upgrade to libtool 1.2f
12959
12960         * autogen.sh: libtool is not required to autogen gtk+
12961
12962         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
12963         needed)
12964
12965 1999-03-18  Tor Lillqvist  <tml@iki.fi>
12966
12967         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
12968         declaring gdk variables exported/imported from the DLL. New image
12969         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
12970         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
12971         GDK_DRAG_PROTO_OLE2.
12972
12973         * gdk/gdk.h: Merge in Win32 version: Two new functions,
12974         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
12975         declared only for the Win32 version, but could be in the X11
12976         version as well. (Needed for a Xlib-less gdk_imlib.)
12977         gdk_color_hash should have only one parameter. Declare
12978         gdk_threads_mutex with GDKVAR.
12979         
12980         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
12981         just one parameter.
12982
12983         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
12984         per pixel, not bits.
12985
12986         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
12987         Fetch bpp (which means bits-per-pixel here) from another place on
12988         Win32. Accept also depth==32 (which we might get on Win32) with
12989         bpp==32.
12990
12991         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
12992         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
12993         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
12994         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
12995         in the backend-dependent directory, not in the common gdk
12996         directory.
12997
12998         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
12999         headers.
13000
13001 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
13002
13003         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
13004         want to use the Gtk+ devel version (which is true, and yes - even i am
13005         currently working with the 1.2.x branch). so everyone reading this, you
13006         probably want to issue
13007         cvs checkout -r glib-1-2 glib
13008         and
13009         cvs checkout -r gtk-1-2 gtk+
13010         as your next two comands.
13011
13012 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
13013
13014         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
13015         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
13016
13017         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
13018         file. strongly deprecated the GTK_HAVE_* macros, we provide
13019         GTK_CHECK_VERSION() for people that need to check for certain
13020         Gtk+ versions.
13021
13022         * gtk/gtkcompat.h: removed this from CVS.
13023         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
13024         idea right from the start, it just didn't seem like that back then.
13025
13026 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
13027
13028         * merges from gtk-1-2:
13029
13030 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
13031
13032         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
13033         item factory class has been created.
13034         (gtk_item_factory_parse_rc): likewise.
13035
13036         * gtk/gtkmenu.c:
13037         keep proper references for old_active_menu_item.
13038         (gtk_menu_reparent): unset the usize of the new parent,
13039         so the menu can sanely be size requested and we don't get nasty screen
13040         artefacts upon next reparentation.
13041         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
13042         enter notify. only synthesize enter notifies if the pointer really is
13043         inside the event window.
13044         (gtk_menu_popdown): use gtk_menu_shell_deselect().
13045         (gtk_menu_popup): move the background setting stuff into
13046         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
13047
13048         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
13049         gtk_menu_shell_select_item() to select the new item.
13050         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
13051         do the right thing for deselection as well.
13052
13053 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
13054
13055         * gtk/gtkwidget.[hc]:
13056         (gtk_widget_accelerators_locked): return whether a widget's accelerators
13057         are locked.
13058
13059         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
13060         existing accelerators if the widget's accelerators are locked.
13061
13062 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
13063
13064         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
13065
13066         * gtk/gtkmenu.c: truely forward key press and key release events to
13067         the menu widget from the toplevel or tearoff window. we can't simply
13068         connect to that, we need to stop further processing of the events as
13069         well.
13070
13071 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
13072
13073         * gtk/gtkmenu.c:
13074         (gtk_menu_key_press): pass event->keyval, event->state to
13075         gtk_accelerator_valid, instead of event->keyval twice.
13076         refuse to install single letter accelerators for menus that use
13077         single letter shortcuts.
13078
13079         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
13080         gtk_menu_ensure_uline_accel_group().
13081
13082         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
13083         which will always return an uline accel group, made
13084         gtk_menu_get_uline_accel_group() return NULL if the group isn't
13085         yet created.
13086
13087 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
13088
13089         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
13090
13091         * gtk/gtkclist.c (gtk_clist_column_title_passive):
13092         Leave button sensitive, trap  button_press, button_release,
13093         motion_notify, enter_notify and leave_notify events instead.
13094         (gtk_clist_column_title_active): disconnect event handler.
13095         (gtk_clist_drag_data_get): fixed memory leak. Reported by
13096         Guillaume Laurent <glaurent@worldnet.fr>
13097
13098 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
13099
13100         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
13101         width/height mixups.
13102
13103         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
13104         if needed.
13105
13106 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
13107
13108         * gtk/testgtk.c (create_item_factory): unref the item factory after
13109         window's destruction.
13110
13111         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
13112         count on the menu shell around the menu item's activation, since the
13113         signal emission may cause menu shell destruction.
13114
13115         * gtk/gtkitemfactory.c:
13116         the previous code leaked one accel group per menu. we use
13117         gtk_menu_get_uline_accel_group() now to fix that, and with that
13118         also create the underline accelerator group of the menus only if
13119         required (i.e. an underline accelerator has been specified).
13120         (gtk_item_factory_construct):
13121         (gtk_item_factory_create_item): removed code that would create an
13122         extra accel group for the menu (and leak references).
13123         (gtk_item_factory_create_item): adapted the underline accelerator
13124         installation code to properly feature gtk_menu_get_uline_accel_group().
13125
13126         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
13127         menu->accel_group, this may return NULL if the accelerator group
13128         hasn't been set yet.
13129         added gtk_menu_get_uline_accel_group() to retrive the underline
13130         accelerator group of the menu, this will be created on demand
13131         and proper care is taken about its reference count.
13132
13133         * gtk/gtkitemfactory.h:
13134         * gtk/gtkitemfactory.c:
13135         dumped the approach of keeping a widgets by action list on the
13136         factory since the factory<->widget destroy negotiation didn't work
13137         and would be hard to get going at all. instead we keep a list of
13138         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
13139         persistant throughout a program's life time).
13140         also, i removed the static const gchar *key_* variables, and made
13141         them inline strings (they weren't actually used anyways).
13142         (gtk_item_factory_add_item): update ifactory->items.
13143         (gtk_item_factory_destroy): destroy ifactory->items (and remove
13144         the item factory pointer from the remaining ifactory widgets).
13145         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
13146         list to find the widget.
13147         (gtk_item_factory_get_item): new function that works around
13148         gtk_item_factory_get_widget() limitations, this function will only
13149         return menu items, even for <Branch> entries.
13150
13151 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13152
13153         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13154         font hash table, if we have a GdkFontPrivate entry for this font
13155         already, simply increment its reference count, provided by Olaf Dietsche
13156         <olaf.dietsche+list.gtk@netcologne.de>.
13157
13158         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13159         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13160
13161 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
13162
13163         * gtk/gtkcontainer.c:
13164         (gtk_container_add_with_args):
13165         (gtk_container_addv):
13166         (gtk_container_add): before adding a child to a conatiner, make sure
13167         it is (default) constructed, this is neccessary because under certain
13168         circumstances the child will get relized and mapped immediatedly, in
13169         which case it has to be constructed already.
13170
13171 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
13172
13173         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
13174         values > 1 as TRUE also.
13175
13176 1999-03-16  Tor Lillqvist  <tml@iki.fi>
13177
13178         * README.win32: New file.
13179                 
13180         * configure.in: Check for lstat.
13181
13182         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
13183         completeness.
13184
13185         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
13186
13187         * gtk/gtk.def: Removed CRs.
13188
13189         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
13190         ..\gdk\win32).
13191
13192         * gdk/win32/makefile.msc: Correct upwards relative paths.
13193         
13194 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
13195
13196         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
13197           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
13198           it was connecting a void function to expose_event and the int
13199           returning function to the draw signal
13200
13201 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
13202
13203         * configure.in:
13204         Use correct path to libgmodule.la when ref'ing uninstalled copy
13205         of glib.  (Already in stable branch, Bug #417)
13206
13207 1999-03-15  Tor Lillqvist  <tml@iki.fi>
13208
13209         Win32 merge and general portability stuff:
13210                 
13211         * acconfig.h,configure.in: Check for <sys/time.h>.
13212
13213         * gdk/win32: New directory (actually, been there for a while).
13214         
13215         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
13216         NATIVE_WIN32, and use these. Always case fold on Win32. No
13217         backslashed escapes on native Win32.
13218
13219         * gtk/{gtk.def,makefile.msc}: New files.
13220
13221         * gtk/Makefile.am: Add above new files.
13222         
13223         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
13224         instead of <strings.h>.
13225
13226         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
13227         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
13228         <unistd.h> appropriately.
13229
13230         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
13231         Use ABS() (from <glib.h>) instead of abs().
13232         
13233         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
13234         of gtk (and thus glib) headers, so that WIN32 will be
13235         defined. With MS C, include <direct.h> for mkdir prototype.
13236
13237         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
13238         some casts, needed by MS C.
13239
13240         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
13241         implemented).
13242
13243         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
13244         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
13245         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
13246
13247         * gtk/gtkmain.h: Mark variables for export/import on Win32.
13248                 
13249         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
13250         the event is not a hint, or its window is not the slider. Needed
13251         on Win32, at least.
13252
13253         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
13254         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
13255         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
13256         a subdirectory of the Windows directory as gtk system
13257         configuration directory.
13258
13259         * gtk/gtkselection.c: No chunks on Win32.
13260
13261         * gtk/gtksocket.c: Not implemented on Win32.
13262
13263         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
13264
13265         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
13266
13267         * gtk/maketypes.awk: Declare variables with a macro that expands to
13268         necessary export/import magic in the case of Win32.
13269                 
13270         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
13271
13272 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
13273
13274         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
13275         since those were meant only for gdki18n.h.  
13276         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
13277         for widechar tests.
13278         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
13279
13280 1999-03-13  Tor Lillqvist  <tml@iki.fi>
13281
13282         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
13283         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
13284
13285         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
13286         installed) to CFLAGS.
13287
13288         * gdk/Makefile.am: Add rules for gdkconfig.h.
13289
13290         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
13291         APIs.
13292
13293         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
13294         gdkx.h anyway when compiling for X11.
13295         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
13296         general): Merge in Win32 version.
13297         
13298         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
13299         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
13300         expansion (if we don't have HAVE_PWD_H), allow for drive
13301         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
13302         included code from Craig Setera's port to Win32 (the one that uses
13303         X11, and the cygwin dll), even if it probably will be abandoned.
13304
13305         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
13306         the user entered one herself.  This way one can complete *.h and
13307         don't get matches on any .help files, for instance.
13308         
13309 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13310
13311         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13312         font hash table, if we have a GdkFontPrivate entry for this font
13313         already, simply increment its reference count, provided by Olaf Dietsche
13314         <olaf.dietsche+list.gtk@netcologne.de>.
13315
13316         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13317         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13318
13319 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13320
13321         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
13322         the number of calls to gdk_draw_point() (and thus to X) by
13323         clipping the points by hand.
13324
13325         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
13326         the clip parameter.
13327         (gtk_handle_box_paint): Only paint the handle if the expose area
13328         intersects it.
13329
13330 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13331
13332         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
13333
13334 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
13335
13336         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
13337         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
13338
13339 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13340
13341         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
13342          textmode (O_TEXT) for OS/2 version.
13343
13344 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
13345
13346         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
13347         GtkSpinButton, "input" and "output", to make the output more flexible.
13348         The user has to provide a mapping between adjustment->value and the
13349         output string (and vice versa, if the spin button is editable). 
13350         See testgtk for examples.
13351
13352 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
13353
13354         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
13355         new one.
13356         
13357         * configure.in: set gtk+ version to 1.3.0.