]> Pileus Git - ~andy/gtk/blob - ChangeLog
removed signals. Moved to inherit from GObject instead of GtkObject.
[~andy/gtk] / ChangeLog
1 Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>
2
3         * gtk/gtktreestore.c: removed signals.  Moved to inherit from
4         GObject instead of GtkObject.
5
6         * gtk/gtkliststore.c: ditto.
7
8         * gtk/gtktreemodelsort.c: ditto.
9
10         * gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
11         GtkTreeModelIface, instead of in each model.
12
13 2001-02-21  Havoc Pennington  <hp@redhat.com>
14
15         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_child_anchor):
16         unbreak this function
17
18         * gtk/gtkentry.c: apply patch from Lee Mallabone to add object 
19         properties
20
21         * gtk/gtkcurve.c: apply patch from Lee Mallabone to add object
22         properties
23
24         * gtk/gtkcombo.c: apply patch from Lee Mallabone to add object 
25         properties
26
27         * gtk/gtkentry.c (gtk_entry_set_max_length): have this take -1 to
28         mean unset the max length
29
30 Wed Feb 21 14:23:05 2001  Jonathan Blandford  <jrb@redhat.com>
31
32         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func):
33         Changed name to be set_cell_data_func to make it clear what
34         the functino does.  Close bug #51069.
35
36 Tue Feb 20 16:49:00 2001  Jonathan Blandford  <jrb@redhat.com>
37
38         * gtk/testgtk.c (main): Remove turning on of profiling malloc,
39         have memory actually freed.  Keeps box running longer.
40
41 2001-02-21  Alexander Larsson  <alexl@redhat.com>
42         
43         * gtk/gtkseparatormenuitem.[ch]:
44         Added new menu separator item. The drawing and size handling
45         is still done in GtkMenuItem, but the API is a bit more sane.
46         
47         * gtk/Makefile.am:
48         Add gtkseparatormenuitem.[ch].
49
50         * gtk/gtk.h:
51         Add gtkseparatormenuitem.h.
52         
53         * gtk/gtkentry.c:
54         * gtk/gtkmenufactory.c:
55         * gtk/gtktextview.c:
56         Use the new API for menu separators.
57         
58         * demos/gtk-demo/menus.c (create_menu):
59         Add some GtkSeparatorMenuItem demo code.
60
61 2001-02-20  Havoc Pennington  <hp@redhat.com>
62
63         * gtk/gtkaspectframe.c: Convert to new property API, patch from 
64         Lee Mallabone
65
66         * gtk/gtkarrow.c: Convert to new property API, patch from 
67         Lee Mallabone
68
69 Tue Feb 20 14:26:41 2001  Jonathan Blandford  <jrb@redhat.com>
70
71         * tests/testtreeview.c (toggled_callback): fix to reflect change
72         in GtkTreeModelStore.
73
74 Tue Feb 20 12:16:12 2001  Jonathan Blandford  <jrb@redhat.com>
75
76         * gtk/gtkiconfactory.c (gtk_icon_set_new_from_pixbuf): New
77         function to create an icon set from a pixbuf.
78
79 2001-02-20  Alexander Larsson  <alexl@redhat.com>
80
81         * gtk/gtkcellrenderertext.[ch]:
82         Add a "markup" property.
83
84         * gtk/treestoretest.c:
85         Use the markup property, remove some leftover stuff from
86         GtkTreeModelMapping.
87
88 2001-02-20  Alexander Larsson  <alexl@redhat.com>
89
90         * gtk/gtklabel.c (gtk_label_set_selectable):
91         Queue a redraw if the selectable setting was changed.
92
93 2001-02-20  Alexander Larsson  <alexl@redhat.com>
94
95         * gdk/linux-fb/gdkgc-fb.c (gdk_gc_copy):
96         Actually copy the whole gc, not just the public parts.
97         
98         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
99         GDK_WINDOW_TEMP are not toplevel. Fixes selectable
100         labels.
101
102 2001-02-19  Havoc Pennington  <hp@pobox.com>
103
104         * gdk/gdkwindow.c: docs
105
106         * gdk/gdkrgb.c: docs
107
108         * gdk/gdkregion-generic.c: docs
109
110         * gdk/gdkgc.c (gdk_gc_set_values): docs
111
112         * gdk/gdkdraw.c: docs
113
114         * gdk/gdkdrawable.h: deprecate drawable get/set data
115
116 Mon Feb 19 20:37:35 2001  Jonathan Blandford  <jrb@redhat.com>
117
118         * demos/gtk-demo/dialog.c: Add simple new demo.
119
120 2001-02-19  Havoc Pennington  <hp@redhat.com>
121
122         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
123         insert_child_anchor signal, bug #50245
124
125         * gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
126         from create_child_anchor, so the anchor is passed in
127
128         * gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
129         (_gtk_widget_segment_new): have the child anchor object passed in, 
130         instead of creating it.
131
132         * gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
133         to gtk_text_buffer_get_modified
134
135 2001-02-19  Havoc Pennington  <hp@redhat.com>
136
137         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): hmm, someone
138         changed GLib without fixing GTK
139
140         * gtk/gtkrange.h: Rename all the stupid implementation detail 
141         functions to have an underscore in front. Most of them should 
142         probably just go away, but for starters don't export them.
143         Bug #50482
144
145 2001-02-19  Havoc Pennington  <hp@redhat.com>
146
147         * gdk/gdkcolor.h: test was backward, so deprecated functions were
148         excluded by default
149
150         * gtk/gtkstyle.c (gtk_default_draw_diamond): draw etched in/out,
151         clean up the old code a bit
152
153         * gtk/gtkradiobutton.c (gtk_radio_button_draw_indicator): draw
154         inconsistent state
155
156         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_draw_indicator):
157         draw inconsistent state
158
159         * gtk/testgtk.c (create_toggle_buttons): add test for inconsistent
160         (create_menu): add inconsistent test
161
162         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_set_inconsistent):
163         new function
164         (gtk_check_menu_item_get_inconsistent): new function
165         (gtk_real_check_menu_item_draw_indicator): draw the inconsistent
166         state (using etched in for now)
167
168         * gtk/gtkcheckbutton.c (gtk_real_check_button_draw_indicator):
169         draw inconsistent state
170
171         * gtk/gtktogglebutton.c (gtk_toggle_button_set_inconsistent): new
172         function, used when the user has selected a range of stuff in
173         different states
174         (gtk_toggle_button_get_inconsistent): accessor for that
175         (gtk_toggle_button_paint): draw inconsistent state (etched in?
176         don't know what else to do)
177
178 2001-02-19  Hans Breuer <hans@breuer.org>
179
180         * gtk/gtk.def : updated exported symbols
181
182         * gtk/makefile.msc.in : updated
183
184         * gtk/gtkstyle.c (gtk_style_realize) : gets called without
185         a colormap, when invoked from testgtk::entry. I'm not sure where
186         the bug is, but g_return_if_fail (GDK_IS_COLORMAP (colormap));
187         avoids immediate crashing ...
188
189         * gtk/gtkmain.c (check_setugid) : totally disabled on win32;
190         any objections ?
191
192         * gtk/gtktreemodel.c : called G_VALUE_LCOPY with an extra
193         0 parameter. At least msvc doesn't like macros with var args. 
194         I simply removed the extra 0, was it a feature or a typo ?
195
196         * gtk/gtktreeviewcolumn.[hc] (gtk_tree_view_column_set_func) :
197         removed the extra indirection from the GtkTreeViewColumnFunc parameter,
198         because the value assignment to the internal struct wasn't working.
199         I'm not absolutely sure. The problem could have been resolved by
200         changing the "func" declartion in the struct, but was the pointer
201         to the function pointer intended ?
202
203         * gtk+/gtk/gtktreedatalist.c : include gboxed.h
204
205         * gdk/gdk.def : updated exported symbols
206
207         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_image) :
208         only use SetDIBitsToDevice if there is a palette at the drawable
209         and the image is GDK_VISUAL_PSEUDO_COLOR
210
211         * gdk/win32/gdkkeys-win32.c : msvc still has no <unistd.h> ...
212
213         * gdk/win32/gdkwindow-win32.c : #include "gdk.h" /* gdk_rectangle_intersect */
214
215         * gdk/*/makefile.msc : updated
216
217 2001-02-19  Havoc Pennington  <hp@redhat.com>
218
219         * demos/gtk-demo/Makefile.am (INCLUDES): GDK_DISABLE_COMPAT_H,
220         GDK_DISABLE_DEPRECATED (we need to merge those two #defines)
221
222         * gdk/x11/gdkmain-x11.c (gdk_key_repeat_disable): nuke
223         (gdk_key_repeat_restore): nuke
224
225         * gdk/gdk.c (gdk_exit_func): #if 0 this for now, don't install it
226         (gdk_init_check): no atexit func
227
228         * gdk/gdkrgb.h: mark some stuff deprecated
229
230         * gdk/gdkcolor.h: mark some stuff deprecated
231         
232         * gdk/gdk.h: deprecated gdk_exit, gdk_input_*
233
234         * gdk/gdkfont.h: bracket in GDK_DISABLE_DEPRECATED
235
236 2001-02-16  Havoc Pennington  <hp@redhat.com>
237
238         * gtk/gtkvscrollbar.c (gtk_vscrollbar_trough_keys): use the visual
239         scroll steps.
240
241         * gtk/gtkvscale.c (gtk_vscale_trough_keys): use the visual scroll
242         steps, and add Ctrl-arrow shortcuts for paging visually as with
243         HScale, since Page Up and Page Down move logically.
244
245         * gtk/gtkenums.h (GtkScrollType): add GTK_SCROLL_STEP_UP,
246         GTK_SCROLL_STEP_DOWN, etc. for visual scroll directions
247         
248         * gtk/gtkrange.c (gtk_range_key_press): handle the visual scroll
249         steps
250         (gtk_range_scroll): handle the visual steps
251
252         * gtk/gtklist.c (gtk_list_scroll_horizontal): handle the up/down
253         scroll steps
254
255         * gtk/gtkhscale.c (gtk_hscale_trough_keys): use the visual scroll
256         steps, not the logical ones.
257
258         * gtk/gtkclist.c (move_focus_row): handle the up/down scroll steps
259         (scroll_vertical): handle up/down steps
260
261 2001-02-19 Alexander Larsson  <alexl@redhat.com>
262
263         * gdk/linux-fb/gdkimage-fb.c (gdk_image_new_bitmap):
264         Copy data and free data with free().
265
266         * gdk-pixbuf/gdk-pixbuf.c:
267         * gdk-pixbuf/io-jpeg.c:
268         * gdk-pixbuf/io-png.c:
269         Use g_try_malloc/g_free instead malloc/free.
270         
271         * gdk-pixbuf/test-gdk-pixbuf.c:
272         Must... initialize... gobject...
273         
274         * gdk-pixbuf/pixops/timescale.c:
275         * gtk/gtkcalendar.c:
276         Use g_malloc instead of malloc.
277         
278 2001-02-19 Alexander Larsson  <alla@lysator.liu.se>
279
280         * gtk/testgtkrc:
281         Comment out property assignments, these don't work yet.
282
283 2001-02-17  Havoc Pennington  <hp@pobox.com>
284
285         * gtk/gtkalignment.c (gtk_alignment_class_init): clean this up a
286         bit.
287
288 2001-02-17  Havoc Pennington  <hp@pobox.com>
289
290         * gtk/gtklabel.c (gtk_label_ensure_layout): fix screwup with
291         shadowed variables that had broken size request in some cases,
292         leading to bogus tooltips (#50996)
293
294 2001-02-06  Jon K Hellan  <hellan@acm.org>
295
296         Implement fast browsing of tooltips, bug #50619
297         
298         * gtk/gtktooltips.h (struct _GtkTooltips): Add use_sticky_delay
299         and last_popdown
300         
301         * gtk/gtktooltips.c (gtk_tooltips_init): Initialize sticky_delay,
302         use_sticky_delay and last_popdown.
303         (gtk_tooltips_draw_tips, gtk_tooltips_set_active_widget): Record
304         time of popdown.
305         (gtk_tooltips_set_active_widget): Unset sticky behaviour if widget
306         is NULL.
307         (gtk_tooltips_recently_shown): New static function.  Return true
308         if < sticky_delay has elapsed since last popdown.
309         (gtk_tooltips_event_handler): Display window after sticky_delay
310         (presumably < normal delay) if < STICKY_REVERT_DELAY has elapsed
311         since last popdown.
312         
313 2001-02-17  Havoc Pennington  <hp@pobox.com>
314
315         * gtk/gtktypeutils.h (GtkSignalFunc): change it to take (void)
316         instead of (). #6394
317
318         * gtk/gtkprogressbar.c (gtk_progress_bar_get_text): Add
319         G_CONST_RETURN, make it return by reference, #50473
320         
321 Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>
322
323         * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
324         generated ENTER_NOTIFY event with 0, otherwise not explicitely
325         setup fields contain garbage (e.g. subwindow, breaking
326         gdk_drawable_ref() upon event copy).
327         (gtk_menu_stop_navigating_submenu_cb): same here.
328
329         * gtk/gtklist.c (gtk_list_vertical_timeout): 
330         * gtk/gtklist.c (gtk_list_horizontal_timeout): 
331         * gtk/gtkclist.c (vertical_timeout): 
332         * gtk/gtkclist.c (horizontal_timeout): change direct assignment
333         default-zero-intialization for unions to memset(,0,), as unions are
334         not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
335         has to become GdkEvent x; memset (&x, 0, sizeof (x)); )
336
337         * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
338         g_closure_sink() warning.
339
340         * gtk/gtktreemodel.c (gtk_tree_model_get_valist): 
341         * gtk/gtktreestore.c (gtk_tree_store_set_valist): 
342         * gtk/gtkliststore.c (gtk_list_store_set_valist): 
343         fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
344         
345 Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>
346
347         * gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
348         gtk_*_store_get, and moved to GtkTreeModel.
349
350         * gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added
351
352         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.
353
354         * gtk/Makefile.am: remove gtktreemodelmapping.[ch]
355
356         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
357         set the func.
358
359         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
360         freeze/thaw notify between setting all the properties for a cell.
361
362         * gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
363
364 2001-02-15  Havoc Pennington  <hp@redhat.com>
365
366         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
367         the X coordinates so they're with respect to the line, rather than 
368         with respect to the layout.
369
370         * gtk/gtkalignment.c: Convert to new property API, patch from Lee
371         Mallabone
372
373         * gtk/testgtk.c (create_range_controls): add vscale tests, 
374         and inverted test
375
376         * gtk/gtkrange.c (gtk_range_set_inverted): new function to fix 
377         #50806
378
379         * gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN
380
381         * gtk/gtktextiter.h (gtk_text_iter_is_last): rename 
382         gtk_text_iter_is_end
383
384         * gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
385         rename gtk_text_buffer_get_end_iter
386
387         * gtk/testgtk.c (create_labels): Add test for selectable
388
389         * gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
390         the selection stuff. This code is kind of broken since it doesn't 
391         use the theme engine.
392
393         * gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): 
394         fix infinite loop and y offset problem
395         (gdk_draw_layout_line_with_colors): fix foreground color handling
396
397         * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag 
398         that makes the label selectable.
399         
400         * gtk/gtklabel.c (gtk_label_style_set): recreate the label's
401         layout when the style is set, since fonts etc. could have changed.      
402
403 Fri Feb 16 14:22:05 2001  Jonathan Blandford  <jrb@redhat.com>
404
405         * gtk/Makefile.am: Removed gtktreemodelsimple.[ch]
406
407         * gtk/gtktreemodelsimple.[ch]: removed.
408
409 2001-02-16  Alexander Larsson  <alexl@redhat.com>
410
411         * gtk/gtktreemodelmapping.[ch]:
412         New files. Implement GtkTreeModelMapping.
413         
414         * gtk/Makefile.am:
415         Add gtktreemodelmapping.[ch].
416         
417         * gtk/gtk.h:
418         Add gtktreemodelmapping.h
419
420         * gtk/treestoretest.c:
421         Test the GtkTreeModelMapping
422
423 Tue Feb 13 13:16:09 2001  Jonathan Blandford  <jrb@redhat.com>
424
425         * demos/gtk-demo/panes.c (create_pane_options): If we're going to
426         have a demo, we might as well pass in real values.  Thanks to
427         clahey for pointing this out.
428
429 2001-02-14  Havoc Pennington  <hp@pobox.com>
430
431         * gtk/gtkimagemenuitem.c (gtk_image_menu_item_remove): add
432         "static" to a private function
433         (gtk_image_menu_item_class_init): remove destroy handler,
434         add "image" object property
435
436 2001-02-13  Alexander Larsson  <alla@lysator.liu.se>
437
438         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region):
439         Add a shortcut if the window and the current clip_region doesn't
440         overlap. This is needed when there are a lot of windows in a
441         window. The layout test in testgtk is a good test.
442
443         * gdk/linux-fb/gdkwindow-fb.c:
444         Whitespace fix.
445
446 2001-02-13  Sven Neumann  <sven@convergence.de>
447
448         * demos/testanimation.c: replaced deprecated gtk_drawing_area_size
449
450 2001-02-13  Alexander Larsson  <alexl@redhat.com>
451
452         * gdk/linux-fb/gdkcursor-fb.c (gdk_fb_cursor_unhide):
453         Don't reference last_cursor if it is null. Fixes crash when rotating
454         the screen before having moved the mouse.
455
456         * gdk/linux-fb/gdkcc-fb.c: Zapp!
457
458         * gdk/linux-fb/Makefile.am: Don't compile gdkcc-fb.c
459
460         * gdk/linux-fb/gdkwindow-fb.c: Fix typo. width->height. Fixes redraw 
461         when using 90 or 270 degrees rotation.
462
463 2001-02-12  Havoc Pennington  <hp@pobox.com>
464
465         * gdk/gdkpango.c (gdk_pango_get_gc): fix bug where 
466         it always set the foreground, even if we were only using
467         a stipple.
468         (gdk_draw_layout_line_with_colors): new function, allow
469         override colors
470         (gdk_draw_layout_with_colors): new function, allow override
471         colors
472         (gdk_pango_layout_line_get_clip_region): function to get the clip
473         region for a logical text range
474         (gdk_pango_layout_get_clip_region): get the clip region for a
475         logical text range
476
477         * gdk/x11/gdkcolor-x11.c: forward declare gdk_colormap_sync(),
478         (gdk_colormap_new): fix call to gdk_colormap_sync() so it has 
479         the right number of arguments.
480
481         * gtk/gtktextbtree.c (gtk_text_btree_node_check_consistency):
482         enhance the function to check that node data corresponds to a 
483         view still belonging to the tree.
484
485         * gtk/gtktreeview.c (gtk_tree_view_changed): we were leaking the 
486         GtkTreePath
487         (gtk_tree_view_inserted): ditto
488         (gtk_tree_view_child_toggled): ditto
489
490         * gtk/gtktreemodel.c (gtk_tree_path_append_index): use realloc to
491         simplify this code.
492
493         * gtk/gtkcellrenderertext.c (get_layout): fix leak of 
494         a PangoAttrList
495
496         * demos/gtk-demo/main.c (load_file): Fix leak of a GString
497
498         * gtk/gtkentry.c (gtk_entry_realize): Fix leak of a GdkCursor
499
500         * gtk/gtkmenubar.c (gtk_menu_bar_size_request): consider toggle
501         size in the size request 
502         (gtk_menu_bar_size_allocate): consider toggle size here
503
504         * gtk/gtkimagemenuitem.h, gtkimagemenuitem.c: Menu item
505         that displays a widget in the toggle slot
506
507         * gtk/testgtk.c: test GtkImageMenuItem
508
509         * gtk/Makefile.am, gtk/gtk.h: Add GtkImageMenuItem
510         
511         * gtk/gtkmenuitem.h: Use "gint" not "guint16" for toggle size
512         request and allocation
513
514         * gtk/gtkmenu.c (gtk_menu_size_request): use gint not guint16
515
516         * gtk/gtkcheckmenuitem.c
517         (gtk_check_menu_item_toggle_size_request): ditto
518         
519 Mon Feb 12 23:43:30 2001  Owen Taylor  <otaylor@redhat.com>
520
521         * gtk/Makefile.am (gdk_headers): Remove gdkcc.h 
522         reference.
523
524         * configure.in gtk/gtkmain.c: Add checks for setuid/setgid,
525         and refuse to initialize GTK+ if they fail.
526
527 Mon Feb 12 15:02:07 2001  Owen Taylor  <otaylor@redhat.com>
528
529         * configure.in: Add check for gtk-doc version.
530
531 Thu Feb  8 17:18:26 2001  Owen Taylor  <otaylor@redhat.com>
532
533         * gtk/gtklabel.c (gtk_label_size_request): Fix bug
534         where the xpad/ypad was only being used on one side!
535
536 2001-02-11  Tor Lillqvist  <tml@iki.fi>
537
538         * gdk/win32/gdkcolor-win32.c (gdk_colormap_query_color): New
539         function, copied from X11 version.
540
541         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): Eliminate
542         DestroyCursor failures. The reason for the problem (despite the
543         inconsistent messages from GetLastError()) was that
544         DestroyCursor() cannot be called while a cursor is set in a
545         window. Set the new cursor first and then destroy the old one.
546         Thanks to jpe@archaeopteryx.com.
547
548         * gdk/win32/gdkcc-win32.c: Remove.
549
550         * gdk/win32/Makefile.am: Remove from here, too.
551         
552         * gdk/gdk.def
553         * gdk/makefile.mingw.in: Update. Godbye GdkColorContext.
554
555         * gtk/gtk.def
556         * gtk/makefile.mingw.in: Updates.
557
558 2001-02-08  Havoc Pennington  <hp@redhat.com>
559
560         * gtk/gtkbin.c (gtk_bin_add): better error message if you try to
561         add a widget to a bin that already has a child.
562
563         * gdk/gdkcc.h, gdk/gdkcc-x11.c: Remove GdkColorContext, #50512
564
565         * docs/Changes-2.0.txt: note that GdkColorContext is gone.
566         
567         * gdk/x11/Makefile.am (libgdk_x11_la_SOURCES): remove gdkcc-x11.c
568
569         * gdk/gdk.h: remove gdkcc.h
570
571         * gdk/Makefile.am (gdk_public_h_sources): remove gdkcc.h
572
573         * gtk/gtkpixmap.c (build_insensitive_pixmap): rewrite using
574         GdkPixbuf, since the previous implementation was GdkColorContext
575         dependent.
576
577         * gtk/testgtk.c (create_pixmap): add test for insensitive GtkPixmap
578         
579 Thu Feb  8 19:00:00 2001  Jonathan Blandford  <jrb@redhat.com>
580
581         * gtk/gtktreeview.c (TREE_VIEW_VERTICAL_SEPARATOR): moved back to
582         a sane value!
583
584 2001-02-08  Havoc Pennington  <hp@redhat.com>
585
586         * gtk/gtkstyle.c (get_darkened_gc): let's darken colors, not
587         lighten them.
588
589 2001-02-08  Havoc Pennington  <hp@redhat.com>
590
591         * gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
592         validation idle
593
594         * demos/gtk-demo/main.c (create_tree): adjust to changes in text
595         cell renderer
596
597         * demos/pixbuf-demo.c (timeout): remove deprecated
598         gtk_widget_draw
599
600         * demos/testpixbuf-save.c (main): remove deprecated
601         gtk_drawing_area_size
602
603         * gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
604         buttons even if the model isn't setup. gtk_tree_view_check_dirty()
605         at the start of the allocation.
606         (gtk_tree_view_check_dirty): handle column->button == NULL, handle
607         unsetup or NULL model.
608
609         * gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the 
610         even/odd/sorted cells in the tree view.
611
612         * gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
613         bugfixes
614
615         * gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
616         backgrounds with draw_flat_box using different detail for even/odd
617         rows.
618
619         * gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
620         row, so we can draw the alternating colors thing
621
622         * gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
623         property from a synonym property, notify for the synonym.
624         Also, nuke the background_gdk_set and foreground_gdk_set synonyms
625         (gtk_text_tag_get_property): Always return the font, even if
626         all its fields aren't set
627
628         * gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
629         store the attr list; it leaves us with no way to change attributes
630         in _render according to the render flags, and no way to implement
631         get_property. Instead store all the specific text attributes. 
632         Separate whether an attribute is enabled from its value. Sync all
633         properties with GtkTextTag, make them all consistent, etc.
634
635         * gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
636         renderers can highlight the sort row/column     
637
638         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
639         accessor functions to get values; this has the side effect of
640         showing up which accessor functions were missing. Added those.
641
642         * gtk/gtktreeviewcolumn.h: Replace set_justification with
643         set_alignment, to be consistent with GtkLabel, GtkMisc
644
645         * gtk/gtktreeviewcolumn.c: Added code to display sort indicator
646         arrow.
647
648         * gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h
649
650         * gtk/gtktreesortable.h: updates in here
651
652 2001-02-07  Sven Neumann  <sven@convergence.de>
653
654         * gtk/gtkentry.c (gtk_entry_draw_text): convert area_height to 
655         pango dimensions after painting the background. We used to draw
656         gigantic flat boxes here.
657
658 Mon Feb  5 22:05:57 2001  Owen Taylor  <otaylor@redhat.com>
659
660         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Fix syntax
661         error introduced with earlier commit) (pointed out by
662         Ollie Lho)
663
664 Mon Feb  5 12:25:06 2001  Owen Taylor  <otaylor@redhat.com>
665
666         * gtk/gtkbutton.c: Remove calls to gtk_grab_add/gtk_grab_remove,
667         which are no longer necessary.
668
669 Mon Feb  5 13:22:54 GMT 2001  Tony Gale <gale@gtk.org>
670
671         * docs/faq/gtk-faq.sgml: s/MISK/MISC/
672
673 2001-02-04  Tor Lillqvist  <tml@iki.fi>
674
675         * gdk/gdk.def
676         * gdk/win32/gdkim-win32.c (gdk_ic_attr_new, gdk_ic_attr_destroy):
677         Provide dummy implementations.
678
679 Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
680
681         * gtk/gtksignal.h: removed gtk_signal_init() compat define.
682
683         * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
684         GTypeDebugFlags debug_flags and pass it on to g_type_init ();
685         deprecated this function.
686
687         * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
688         argument.
689
690 Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
691
692         * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
693
694 2001-02-03  Havoc Pennington  <hp@pobox.com>
695
696         * gtk/gtktextbtree.c (_gtk_text_btree_tag): Fix bug reported by
697         Mikael Hermansson with patch from Mikael (if there was a toggle
698         start one after the first character in the range, this function
699         was broken). Bug #50380
700
701 Sat Feb  3 11:28:03 2001  Owen Taylor  <otaylor@redhat.com>
702
703         * configure.in: Remove confusing comment about X11.
704
705 Fri Feb  2 19:21:23 2001  Owen Taylor  <otaylor@redhat.com>
706
707         * gdk/gdkwindow.c (gdk_propagate_shapes): Surround additional
708         regions with HAVE_SHAPE_EXT. (#50511, Eric Ding)
709         
710 Fri Feb  2 18:31:54 2001  Owen Taylor  <otaylor@redhat.com>
711
712         * gdk/x11/gdkimage-x11.c: Remove definition of _XOPEN_SOURCE, since
713         it breaks things on BSD. If you want to compile GTK+ with
714         -ansi -pedantic, you should supply CPP_FLAGS=_XOPEN_SOURCE 
715         when configuring, since GTK+ simply can't be "pure ANSI" 
716         in the header files it uses. (#8170, Greg Hudson)
717
718 2001-02-02  Havoc Pennington  <hp@redhat.com>
719
720         * gtk/gtkwindow.c: docs
721
722         * gtk/gtkwidget.c: docs
723         (gtk_widget_set_colormap): add a reference to the colormap
724         (gtk_widget_get_default_colormap): add a reference to the colormap
725
726         * gtk/gtktextbtree.c (gtk_text_mark_set_visible): docs
727
728         * gtk/gtktextiter.c: docs
729
730         * gtk/gtkmain.c (gtk_propagate_event): docs
731
732         * gtk/gtkpaned.c (gtk_paned_get_position): docs
733         (gtk_paned_set_position): docs
734
735         * gtk/gtktreesortable.h (struct _GtkTreeSortableIface): Initial
736         sort interface, no implementation yet.
737
738         * demos/testpixbuf.c (new_testrgb_window): replace
739         gtk_drawing_area_size() with gtk_widget_set_usize()
740
741         * demos/testpixbuf-drawable.c (main): ditto
742         
743         * gtk/testgtk.c: remove use of GtkStatusbarMsg
744
745         * gtk/gtktextbuffer.c: docs
746
747         * gtk/gtkstock.c: docs
748
749         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_shadow_type): docs
750
751         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): docs
752
753         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): fix docs
754         
755         * gtk/gtkimage.c: add some docs in here
756         (gtk_image_size_request): change name of
757         gtk_widget_render_stock_icon
758         (gtk_image_get_icon_set): don't dup returned string
759         (gtk_image_get_icon_set): don't dup returned string
760
761         * gtk/gtkwidget.c (gtk_widget_render_icon): rename from 
762         gtk_widget_render_stock_icon(), more consistent with gtkstyle.h
763         and gtkiconfactory.h functions
764
765         * gtk/gtkiconfactory.c: add some docs in here
766
767         * gtk/gtkmain.c (gtk_get_default_language): document
768         (gtk_get_current_event): document
769         (gtk_get_current_event_state): document
770         (gtk_get_event_widget): document
771
772         * gtk/gtkentry.c (gtk_entry_set_invisible_char): document
773
774         * gtk/gtkcontainer.c: Add some documentation
775         (gtk_container_add): give a more explanatory warning on adding an
776         already-parented widget, this is kind of a FAQ and also a common
777         typo that's easier to debug with a nice warning 
778
779         * gtk/gtkcellrenderertoggle.c
780         (gtk_cell_renderer_toggle_get_active): remove, I was on crack
781         adding this, it's useless
782         (gtk_cell_renderer_toggle_set_active): remove
783         (gtk_cell_renderer_toggle_get_radio): add
784
785         * gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): don't allow
786         the NULL cell renderer, that doesn't make any sense to me. 
787
788         * demos/gtk-demo/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED,
789         demo code should never use deprecated features.
790
791         * demos/Makefile.am (INCLUDES): -DGTK_DISABLE_DEPRECATED, demo
792         code should never use deprecated features.
793
794         * gtk/gtkwidget.h: Mark gtk_widget_draw, gtk_widget_queue_clear,
795         gtk_widget_queue_clear_area deprecated
796
797         * gtk/gtklayout.h: mark gtk_layout_freeze/gtk_layout_thaw
798         deprecated
799
800         * gtk/gtklabel.h: mark gtk_label_get() deprecated
801
802         * gtk/gtkimage.h: mark the legacy GtkImage functions that took 
803         a GdkImage deprecated, replaced by new consistently-named
804         functions       
805
806         * gtk/gtkmain.h: Mark gtk_exit() deprecated
807
808         * gtk/gtkdrawingarea.h: mark gtk_drawing_area_size deprecated
809
810         * gtk/gtkstyle.h: mark gtk_draw_string, gtk_paint_string 
811         deprecated
812
813         * gtk/gtkstatusbar.h: Move GtkStatusbarMsg to the .c file, 
814         so it won't appear in docs and confuse people.
815
816         * gtk/gtkprogressbar.h: Mark all the old methods deprecated
817
818         * gtk/gtkprogress.h: Mark all methods deprecated, mark the cast
819         macros deprecated. (can't mark the type itself deprecated, since
820         GtkProgressBar is not deprecated and we need the type decl to use
821         GtkProgressBar)
822
823         * gtk/gtkpixmap.h: Mark deprecated
824
825         * gtk/gtkoldeditable.h: Mark deprecated
826
827         * gtk/gtklist.h: Mark deprecated
828
829         * gtk/gtklabel.h: delete "GtkLabelWord" typedef, not used 
830         for anything anymore.
831
832         * gtk/gtkctree.h: Mark deprecated
833
834         * gtk/gtkclist.h: Mark deprecated
835
836         * gtk/gtkpreview.h: Mark deprecated
837
838         * gtk/gtkpacker.h: Mark deprecated
839
840         * gtk/gtktipsquery.h: Mark deprecated
841
842         * gtk/gtkinputdialog.h: Add comment that it will move out of GTK
843
844         * gtk/gtkvruler.h: Add comment that it will move out of GTK
845
846         * gtk/gtkhruler.h: Add comment that it will move out of GTK
847
848         * gtk/gtkruler.h: Add comment that it will move out of GTK
849
850         * gtk/gtkgamma.h: Add comment that it will move out of GTK
851
852         * gtk/gtkcurve.h: Add comment that it will move out of GTK
853
854 Fri Feb  2 17:16:09 2001  Owen Taylor  <otaylor@redhat.com>
855
856         * gdk/x11/gdkcolor-x11.c (gdk_colormap_sync): Make
857         gdk_colormap_sync private since it was never exported
858         in a header file.
859
860         * gdk/x11/gdkcolor-x11.c (gdk_colormap_new): Fill in
861         colormap->colors[] for StaticGray, StaticColor colormaps.
862
863         * gdk/gdkpixbuf-drawable.c: Fix problems where image->bpp
864         was being used as if it was image->bits_per_pixel.
865
866         * gdk/gdkimage.h, gdk/x11/gdkimage-x11.c: Save the bits-per-pixel
867         for the image in the GdkImage structure since it isn't
868         reconstructable, and we need it to handle packed types
869
870         * gdk/win32/gdkimage-win32.c: Set image->bits_per_pixel. (I'm making
871         the assumption that on Win32 image->bits_per_pixel == image->depth,
872         always.
873
874         * gdk/linux-fb/gdkimage-fb.c: Set image->bits_per_pixel.
875
876         * gdk/gdkrgb.c (gdk_rgb_select_conv): Exit with an informative
877         warning message if no converter can be found. 
878
879 Fri Feb  2 15:09:51 2001  Owen Taylor  <otaylor@redhat.com>
880
881         * gtk/fnmatch.c (FOLD): Fix problem with passing signed
882         chars to isupper() / tolower(). (#567)
883
884         * examples/packer/pack.c: Add GINT_TO_POINTER, GPOINTER_TO_INT
885         to clear up 64-bit warnings. (#567)
886
887 Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>
888
889         * gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
890         a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
891
892         * gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
893         since some people set $(libdir) separately. (#1290, David Kaelbling)
894
895 Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>
896
897         * gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
898         defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
899         MAXPATHLEN, but the code here depends on a fixed value.)
900         (#4524)
901
902 Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>
903
904         * gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
905         where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)
906
907 Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>
908
909         * gtk/gtkctree.c (real_tree_move): If the node being moved isn't
910         viewable there is no way that moving the node will cause the 
911         focus row to become not viewable, so omit check on the visibility
912         of new_sibling, which is irrelevant. (Fixes #8002, David Helder)
913
914 Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>
915
916         * gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
917         selection before inserting new text.
918
919 Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>
920
921         * gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
922         Make the sensitivity of the reparented child track that of
923         the original parent menu item. (#34218, David Hodson)
924
925         * gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
926         the case where the current item is destroyed properly.
927
928         * gtk/gtkoptionmenu.c: Some additional code cleanups and fix
929         some edge cases with child-less menuitems.
930         
931 Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>
932
933         * gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
934         key pop down window. (#12074, Jon K Hellan)
935
936 Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>
937
938         * gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
939         toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan) 
940         The solution here isn't perfect - you get an extraneous
941         emission of "toggle", which could conceivably confuse an app,
942         but better than the current situation. LXR search seems to
943         indicate that no apps in GNOME CVS connect to "toggle".
944
945 Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>
946
947         * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
948         gtk_public_h_sources to directly here to avoid warning when
949         building srcdir != builddir. (#9656)
950
951 Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>
952
953         * gtk/gtkrange.c: Patch from Kipp Hickman to make the event
954         handlers in gtkrange.c return the proper values (TRUE == handled)
955         (#10316).
956
957         This is just the tip of the iceberg, but gtkrange.c is the
958         most common place where the propagation is problematical,
959         and also a place where it is almost certainly safe to change
960         this in the stable branch.
961
962         (You don't want right click popups on a range control or anything...)
963
964 Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>
965
966         * gtk/gtktext.c (clear_focus_area): We need to clear the focus
967         area on focus out, even if a background pixmap isn't set.
968         (#13941)
969         
970 Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>
971
972         * gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
973         to deal with setting the shape properly when scrolling arrows are
974         turned on, but not visible because there is sufficient space.
975         (#13432)
976
977 Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>
978
979         * gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
980         items with submenus, destroy the item along with the submenu.
981         (#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...' 
982         properly.
983
984         * gtk/testgtk.c (menu_items): Add a dummy branch that we delete
985         later.
986
987 Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>
988
989         * gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
990         the focus widget sometimes wasn't drawn with the default if there
991         was no default widget.
992
993         * gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
994         unreference pixmaps. 
995
996         * gtk/gtkstyle.c (gtk_style_realize): Reference colormap
997         for some extra safety.
998
999 Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>
1000
1001         * gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
1002         the text of a cell to the old pointer value better, by
1003         copying the new text before freeing the old text. Some code
1004         cleanup. (#8079, Karl Nelson)
1005
1006 Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>
1007
1008         * gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
1009         gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.
1010
1011 Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>
1012
1013         * gtk/gtkmenu.c (gtk_menu_remove): When removing an
1014         item from a menu, check to see if it matches 
1015         menu->old_active_menu_item, and if so, unref and clear
1016         old_active_menu_item (Patch from Pavel Cisler)
1017
1018         * gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset 
1019         menu_shell->active_menu_item, if it is the child being
1020         removed. (Patch based on that of Gene Ragan, #50337)
1021
1022 2001-01-31  Alexander Larsson  <alla@lysator.liu.se>
1023
1024         * gdk/linux-fb/gdkselection-fb.c: 
1025         * gdk/linux-fb/gdkcolor-fb.c: 
1026         * gdk/linux-fb/gdkdrawable-fb2.c: 
1027         * gdk/linux-fb/gdkfont-fb.c: 
1028         * gdk/linux-fb/gdkim-fb.c: 
1029         * gdk/linux-fb/gdkinput.c: 
1030         * gdk/linux-fb/gdkkeyboard-fb.c: 
1031         * gdk/linux-fb/gdkmain-fb.c: 
1032         * gdk/linux-fb/gdkrender-fb.c: 
1033         A bunch of whitespace cleanup.
1034         
1035 2001-01-30  Havoc Pennington  <hp@pobox.com>
1036
1037         * gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in 
1038         #ifdef GTK_ENABLE_BROKEN.
1039
1040         * gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
1041         GTK_ENABLE_BROKEN just before including the broken headers.
1042         
1043         * gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
1044         deprecated types registered.
1045
1046         * gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
1047         we have to test the broken stuff.
1048
1049         * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN
1050         
1051 2001-01-30  Havoc Pennington  <hp@redhat.com>
1052
1053         * gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
1054         here where prev pointer was set to the wrong thing
1055
1056         * gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
1057         (gtk_tree_path_is_descendant): new function
1058
1059         * gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
1060         cached length
1061         (gtk_list_store_get_iter): don't modify iter if we can't get the
1062         path.
1063
1064         * gtk/gtkliststore.h (struct _GtkListStore): cache the length
1065         
1066         * gtk/gtktreednd.h: add virtual function row_drop_possible() to
1067         GtkTreeDragDest
1068
1069         * gtk/gtktreestore.c (copy_node_data): fix varargs type error that
1070         was causing segfault
1071
1072         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
1073         pointer to NULL
1074
1075         * gtk/gtktreestore.c (gtk_tree_store_append): fix memleak
1076
1077         * gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
1078         on returning FALSE
1079         (gtk_list_store_iter_children): ditto
1080         (gtk_list_store_iter_nth_child): ditto
1081         (gtk_list_store_iter_nth_child): ditto
1082         (gtk_list_store_iter_parent): ditto
1083
1084         * gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
1085         on iter->user_data != NULL instead of silently accepting it.
1086         (gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
1087         we are returning TRUE.
1088         (gtk_tree_store_iter_children): ditto
1089         (gtk_tree_store_iter_nth_child): ditto
1090         (gtk_tree_store_iter_parent): ditto
1091         (gtk_tree_store_insert): remove handling of parent->user_data ==
1092         NULL, replace with parent == NULL       
1093
1094         * gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
1095         and a comment explaining things
1096
1097         * gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
1098         interface support to GtkTreeStore.
1099
1100         * gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
1101         FALSE if no prev, fix
1102
1103         * gtk/gtktreeview.c (set_source_row): use a row reference
1104         (set_dest_row): use a row reference
1105
1106 Sat Jan 27 15:52:02 2001  Jonathan Blandford  <jrb@redhat.com>
1107
1108         * gtk/gtktreeselection.c (gtk_tree_selection_unselect_iter): Fix
1109         stupid typo pointed out by Kristian Rietveld <kristian@planet.nl>.
1110         (gtk_tree_selection_select_iter): The same as above.
1111
1112 2001-01-26  Havoc Pennington  <hp@redhat.com>
1113
1114         * gtk/gtktreemodel.c, gtk/gtktreemodel.h: add GtkTreeRowReference
1115         which holds a handle to a specific row (particular set of values
1116         in the model, i.e. pointer-identity row).
1117
1118         * gtk/gtktreeview.c, gtk/gtktreeprivate.h, gtk/gtktreeselection.c:
1119         use GtkTreeRowReference for anchor, cursor, and drag_dest_row.
1120         Still need to use it for the src/dest row saved on the drag context.
1121
1122 2001-01-26  Havoc Pennington  <hp@redhat.com>
1123
1124         * gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor
1125
1126         * gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
1127         not offset by TREE_VIEW_HEADER_HEIGHT
1128         (gtk_tree_view_tree_to_widget_coords): fix to not offset by
1129         TREE_VIEW_HEADER_HEIGHT
1130
1131         * configure.in (included_loaders): for me, --with-included-loaders
1132         generates the error "the specified loader yes does not exist",
1133         i.e. the arg defaults to "yes", so change test for value ""
1134         to test for value "yes", and include all loaders in that case.
1135
1136         * gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function
1137
1138         * gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
1139         handle TREE_VIEW_VERTICAL_SEPARATOR
1140         (gtk_tree_view_bin_expose): fix to consider the row offset as
1141         pointing halfway into vertical separator.       
1142         (gtk_tree_view_draw_node_focus_rect): ditto
1143
1144         * gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
1145         --gtk-debug=updates, which causes gdk_window_set_debug_updates
1146         (TRUE) to be called.
1147
1148         * gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
1149         debug mode where the invalid region is colored in on invalidate,
1150         so you can see the flicker and know whether your redraw code is 
1151         doing a good job.
1152
1153         * gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in 
1154         tree window coordinates (clip rect is in tree window coords)
1155
1156         * gtk/Makefile.am: add gtktreednd.[hc]
1157
1158         * gtk/gtkliststore.c: implement gtktreednd interfaces.
1159
1160         * gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
1161         drag-and-drop data operations on a model (so we can set up tree
1162         drag-and-drop automatically)
1163
1164         * gtk/testgtk.c: Add a window to change sensitivity in the
1165         GtkLabel test; add a way to change the entry frame in GtkEntry
1166         test
1167
1168         * gtk/gtkentry.c (gtk_entry_set_has_frame): 
1169         (gtk_entry_get_has_frame): new functions to remove the frame
1170         around an entry
1171         (gtk_entry_size_request): shrink requisition if no frame
1172         (gtk_entry_draw_focus): don't draw frame if no frame
1173
1174         * gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
1175         checks inside a cell renderer
1176         (gtk_default_draw_option): ditto for options
1177
1178         * gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
1179         children from the alignment, not the button
1180         (gtk_tree_view_column_init): ref/sink the column, to emulate
1181         GObject refcounting.
1182
1183         * gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink
1184         
1185         * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
1186         Use theme functions to draw the toggles 
1187
1188         * gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors
1189
1190         * gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
1191         GdkPangoAttrEmbossed to use in rendering insensitive text
1192
1193         * gdk/gdkpango.c (gdk_draw_layout_line): render new properties
1194
1195         * gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
1196         using new GDK features
1197         
1198 2001-01-24  Alexander Larsson  <alexl@redhat.com>
1199
1200         * gtk/gtkimage.c:
1201         Splitted gtk_image_clear into gtk_image_clear() and
1202         gtk_image_reset(). Call gtk_image_clear() in ::destroy
1203         to avoid leaks.
1204
1205         * gtk/gtklabel.c (set_markup):
1206         Don't leak text.
1207
1208         * gtk/gtktextlayout.c:
1209         Always free display->shaped_objects.
1210
1211         * gtk/testgtk.c (create_clist):
1212         Don't leak custom style.
1213
1214 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1215
1216         * gtk/gtkcolorsel.c (grab_color_at_mouse):
1217         Don't leak image. Simplify using gdk_colormap_query_color().
1218         (gtk_color_selection_init): Don't leak dropper_pixmap and mask.
1219
1220         * linux-fb/gdkcolor-fb.c:
1221         Implemented gdk_colormap_query_color.
1222
1223 2001-01-23  Alexander Larsson  <alexl@redhat.com>
1224
1225         * linux-fb/gdkcursor-fb.c:
1226         Don't leak built-in cursors.
1227
1228         * linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_polygon):
1229         Don't leak tmp_points.
1230
1231         * linux-fb/gdkfont-fb.c (gdk_font_from_description):
1232         Don't modify desc. Don't leak font if the PangoFont
1233         isn't found.
1234         
1235         * linux-fb/gdkgc-fb.c (gdk_fb_gc_finalize):
1236         Free dash_list.
1237
1238         * linux-fb/gdkkeyboard-fb.c (gdk_fb_handle_key):
1239         Don't leak string.
1240         
1241 2001-01-20  Havoc Pennington  <hp@pobox.com>
1242
1243         * gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
1244         from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to 
1245         me, matches Pango
1246
1247 2001-01-22  Havoc Pennington  <hp@redhat.com>
1248
1249         * demos/testanimation.c: fix to reflect gdk-pixbuf changes
1250
1251         * demos/testpixbuf.c: fix to reflect gdk-pixbuf changes
1252
1253         * gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h: 
1254         Remove, move back to gdk-pixbuf
1255
1256         * gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
1257         to all the word functions
1258
1259         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
1260         before doing anything on NULL layout or if we don't have the focus
1261
1262         * gtk/testtext.c (fill_example_buffer): "justification"
1263
1264         * gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
1265         to be called "justification" not "justify"
1266
1267         * demos/gtk-demo/textview.c (create_tags): "justification"
1268         
1269         * gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
1270
1271 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1272
1273         * gdk/gdkwindow.c (gdk_window_invalidate_region):
1274         Don't leak visible_region. Use visible_region instead of region.
1275         
1276         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
1277         Don't do extra gdk_drawable_ref(). This is not X.
1278         (gdk_fb_window_find_focus, gdk_fb_change_focus): make sure
1279         gdk_fb_focused_window is ref:ed.
1280         (gdk_fb_window_send_crossing_events): Watch out for destroyed
1281         windows.
1282
1283 2001-01-22  Alexander Larsson  <alexl@redhat.com>
1284
1285         * gtk/gtkwindow-decorate.c (gtk_decorated_window_realize):
1286         Don't leak the PangoFontDescriptor.
1287
1288 Sun Jan 21 09:58:00 2001  Jonathan Blandford  <jrb@redhat.com>
1289
1290         * gtk/gtktreeview.c (gtk_tree_view_scroll_to_point): Make fail
1291         when not realized.
1292         (gtk_tree_view_scroll_to_cell): Make work when not realized.
1293         (gtk_tree_view_realize): add scroll_to support
1294         (gtk_tree_view_finalize): add a finalize method.  Populate.
1295         (gtk_tree_view_insert_column): ref and sink the column.
1296         (gtk_tree_view_append_column): ref and sink the column.
1297         (gtk_tree_view_queue_draw_node): New function to handle redrawing
1298         individual nodes.  Should make the code much more efficient, if
1299         actually used.
1300
1301 2001-01-19  Havoc Pennington  <hp@redhat.com>
1302
1303         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
1304         byte_offset variable was being used to mean both "offset into
1305         layout" and "offset into buffer line" which was no longer true
1306         with addition of preedit string; fix
1307
1308 2001-01-19  Havoc Pennington  <hp@redhat.com>
1309
1310         * demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes
1311
1312         * gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
1313         function
1314
1315         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
1316         implement
1317
1318         * gtk/gtktreeview.c (gtk_tree_view_move_to): rename
1319         scroll_to_cell, matches TextView scroll functions better
1320         (gtk_tree_view_tree_to_widget_coords): new function
1321         (gtk_tree_view_widget_to_tree_coords): new function
1322         (gtk_tree_view_get_visible_rect): new function
1323         (gtk_tree_view_get_path_at_pos): accept negative coordinates
1324         (gtk_tree_view_draw_node_focus_rect): new function moved from
1325         draw_focus, also, use width of bin_window as width of the focus
1326         rect
1327         (gtk_tree_view_expand_row): fix bug where it didn't recognize
1328         already-expanded rows
1329         (gtk_tree_view_get_cell_rect): new function
1330         (gtk_tree_view_get_path_at_pos): return the click position
1331         relative to the passed-in cell
1332         (gtk_tree_view_set_expander_column): new function
1333
1334         * configure.in: remove gtk-config-2.0 chmod
1335
1336         * gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
1337         and properly handle drags with targets we don't understand
1338         (gtk_text_view_drag_end): don't stop scrolling, the source isn't
1339         scrolling anyway
1340         (gtk_text_view_drag_drop): stop scrolling here though, and set the
1341         mark invisible
1342
1343         * gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
1344         function
1345         (gtk_drag_dest_get_target_list): new function
1346         (gtk_drag_dest_set_target_list): new function
1347         
1348         * gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation
1349
1350         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
1351         related to drag-and-drop
1352
1353 2001-01-19  Alexander Larsson  <alexl@redhat.com>
1354
1355         * gdk/linux-fb/gdkprivate-fb.h:
1356         Define EMULATE_GDKFONT.
1357         Add extra pango_font stuff to GfkFontPrivate.
1358         
1359         * gdk/linux-fb/gdkdrawable-fb2.c:
1360         * gdk/linux-fb/gdkfont-fb.c:
1361         If EMULATE_GDKFONT defined, implement a slow lame GdkFont
1362         emulation using PangoFont.
1363
1364 2001-01-17  Havoc Pennington  <hp@pobox.com>
1365
1366         * gtk/gtkprogressbar.c, gtk/gtkprogressbar.h: Add "getters" for
1367         all the non-deprecated set_foo functions. Added missing object
1368         properties, and added g_object_notify() to setters. 
1369         Wrote docs.
1370         
1371 2001-01-18  Tor Lillqvist  <tml@iki.fi>
1372
1373         * gtk/gtkmain.c
1374         * gtk/gtkrc.c: (Win32) Use the new
1375         g_win32_get_package_installation_(sub)directory() functions.
1376
1377         * config.h.win32.in: New file.
1378         
1379         * config.h.win32: Removed.
1380
1381         * configure.in: Output config.h.win32.
1382
1383         * Makefile.am: Add it to EXTRA_DIST.
1384
1385         * gtk/gtk.def: Update.
1386
1387 Wed Jan 17 16:22:54 2001  Owen Taylor  <otaylor@redhat.com>
1388
1389         * gtk/gtklabel.c (gtk_label_size_request): Set the
1390         attributes onto the PangoLayout even if they are newly
1391         created from label->pattern.
1392
1393 Tue Jan  9 11:20:48 2001  Owen Taylor  <otaylor@redhat.com>
1394
1395         * gdk/x11/gdkdnd-x11.c: Remove unused variable.
1396
1397         * gtk/gtkdnd.c: Encapsulate storing and retrieving info
1398         structures in functions. Fixes bug where gtk_dataset_*
1399         was accidentally still being used in one place, causing
1400         every dest side event to be treated independently.
1401
1402         * gtk/gtkdnd.c: Remove last vestages of handling
1403         ::draw (fixes warning)
1404         
1405         * gtk/gtkentry.[ch]: Add drag and drop support.
1406
1407         * gtk/gtkdnd.[ch] gtk/gtktextview.c gtk/gtkentry.c: Add
1408         new function gtk_check_drag_threshhold() for checking
1409         to check if (dx,dy) has exceeded the threshhold for starting
1410         a drag and use it everywhere.
1411
1412 Mon Jan  8 11:58:05 2001  Owen Taylor  <otaylor@redhat.com>
1413
1414         * gtk+-2.0.pc.in gdk-pixbuf-2.0.pc.in (Cflags): Remove -I${includedir},
1415         add -I{includedir}/gtk-2.0.
1416
1417         * gtk/gtktreeview.[ch] gtktreemodelsort.[ch] gtknotebook.c
1418         gdk/gdk-pixbuf.h: Doc fixups.
1419         
1420         * gtk/gtkobject.h: Remove trailing , from enum
1421
1422 2001-01-17 Alexander Larsson <alexl@redhat.com> 
1423
1424         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_shadow_fb_draw_arc):
1425         Doh! Mixed up x and y.
1426
1427         * gdk/linux-fb/gdkglobals-fb.c:
1428         Removed gdk_fb_pointer_grab_window_events,
1429         added _gdk_fb_pointer_grab_owner_events and
1430         _gdk_fb_keyboard_grab_owner_events.
1431
1432         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab):
1433         Set all button mask if GDK_BUTTON_MOTION_MASK set. Send
1434         crossing events before grabbing. Set _gdk_fb_pointer_grab_owner_events.
1435         (gdk_fb_pointer_ungrab): Unset _gdk_fb_pointer_grab_owner_events
1436         Send crossing events after ungrab finished.
1437         (gdk_keyboard_grab): Set ..._owner_events
1438         (type_masks): Move out of function.
1439         (gdk_fb_other_event_window, gdk_fb_pointer_event_window,
1440         gdk_fb_keyboard_event_window): New functions, return the
1441         window an event should be targeted at. Handles grabs and
1442         event propagation. Can return NULL.
1443         (gdk_event_make): Remove event_mask checking. Now always
1444         returns an event.
1445                 
1446         * gdk/linux-fb/gdkkeyboard-fb.c:
1447         * gdk/linux-fb/gdkproperty-fb.c:
1448         * gdk/linux-fb/gdkselection-fb.c:
1449         Use new event_window/gdk_event_make() behaviour.
1450         
1451         * gdk/linux-fb/gdkmouse-fb.c:
1452         Use new event_window/gdk_event_make() behaviour.
1453         Only send motion events if in the same window.
1454         If grabbed, use cursor from window if sibling of grabbed
1455         window, and cursor from grabbed window otherwise.
1456
1457         * gdk/linux-fb/gdkprivate-fb.h:
1458         Update gdk_fb_window_send_crossing_events, gdk_event_make
1459         and grab varaible declarations. Add gdk_fb_*_event_window().
1460
1461         * gdk/linux-fb/gdkwindow-fb.c:
1462         Use new event_window/gdk_event_make() behaviour.
1463         Keep correct track of focus window.
1464         (gdk_window_set_events): Set all specific button motion masks
1465         if GDK_BUTTON_MOTION_MASK set.
1466
1467         * gtk/gtkdnd.c (gtk_drag_update):
1468         Free info->last_event if gdk_drag_motion returned FALSE.
1469
1470 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1471
1472         * gdk/win32/gdkwindow-win32.c (gdk_window_show, gdk_window_hide):
1473         Eliminate redraws when input-only windows are shown or
1474         hidden. Thanks to jpe@archaeopteryx.com.
1475
1476 Tue Jan 16 13:13:13 GMT 2001  Tony Gale <gale@gtk.org>
1477
1478         * docs/faq/gtk-faq.sgml: FAQ update:
1479           - Update to bugzilla
1480           - Add GTK+ and security/SUID/SGID
1481           - Add DnD question
1482
1483 2001-01-16  Alexander Larsson  <alla@lysator.liu.se>
1484
1485         * gdk/linux-fb/gdkdnd-fb.c:
1486         Some cleanups.
1487         
1488 2001-01-15  Havoc Pennington  <hp@pobox.com>
1489
1490         * tests/testtreeview.c: add test stuff for CellRendererToggle
1491
1492         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
1493         accessor
1494
1495         * gtk/gtkcellrenderertoggle.c: distinguish different event types,
1496         only toggle on button press (would do release like GtkButton, but
1497         we'd need implicit grab code for treeview cells)
1498
1499 2001-01-16  Tor Lillqvist  <tml@iki.fi>
1500
1501         * gdk/win32/gdkvisual-win32.c: Include <stdlib.h> for getenv().
1502
1503         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Don't use
1504         GDK_COLORMAP_PRIVATE_DATA on a potentially NULL GdkColormap.
1505
1506         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Adapt calls
1507         to g_{locale,filename}_{to,from}_utf8 to match current API.
1508
1509         * gtk/makefile.msc.in (gtk_OBJECTS)
1510         * gtk/makefile.mingw.in (gtk_OBJECTS): Add gtkwindow-decorate.
1511
1512         * gtk/gtk.def: Update.
1513
1514 2001-01-15  Tor Lillqvist  <tml@iki.fi>
1515
1516         * gdk/win32/gdkevents-win32.c (synthesize_crossing_events): New
1517         implementaion that more closely mimics the events that an X server
1518         would generate. Especially, properly generate GDK_NOTIFY_VIRTUAL and
1519         GDK_NOTIFY_NONLINEAR_VIRTUAL crossing events. This makes buttons
1520         with nested preview widgets, for instance, more responsive when
1521         you move the mouse quickly into them.
1522         (find_window_for_pointer_event): Make it actually compile.
1523         (gdk_event_translate): Set send_event to the value of
1524         InSendMessage (). This doesn't really mean the same as X11's
1525         send_event flag, but is close enough, says jpe@archaeopteryx.com
1526
1527 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1528
1529         * gdk/linux-fb/gdkdnd-fb.c:
1530         Implemented drag and drop.
1531         Seems to be mostly working. I sometimes get an assert from gtkdnd.c:2664
1532         when it tries to free and then copy the same event (info->last_event).
1533         I am not sure about why this happens, but will continue looking.
1534
1535 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1536
1537         * gdk/linux-fb/gdkwindow-fb.c:
1538         Use gdk_window_invalidate_rect instead of
1539         gdk_window_invalidate_rect_clear to minimise flashing.
1540         When hiding windows you need to clear the root window though.
1541
1542 2001-01-15  Alexander Larsson  <alexl@redhat.com>
1543
1544         * gdk/linux-fb/gdkdrawable-fb2.c:
1545         For optization, add an full_shapes argument to gdk_fb_clip_region.
1546         If this is false, only the cliprects of the shapes are used.
1547
1548         * gdk/linux-fb/gdkprivate-fb.h:
1549         Export gdk_fb_window_peek_shape.
1550         Add full_shapes to gdk_fb_clip_region.
1551
1552         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
1553         When moving a window, don't clear everything under the it, just the
1554         root window. Makes stuff faster and flash less.
1555         (gdk_window_get_pointer): Correctly handle offseted shapes, due to
1556         USE_CHILD_SHAPE. (gdk_fb_window_peek_shape): Return the correct
1557         offset of the shape.
1558         
1559
1560 2001-01-12  Havoc Pennington  <hp@redhat.com>
1561
1562         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the 
1563         current invalid region, fixes redraw bug while scrolling the 
1564         text widget
1565
1566         * gtk/gtktextview.c, gtk/gtktextview.h:
1567         Rearrange the scrolling/validation/etc. code in a major way, 
1568         so it seems to make sense to me. Probably isn't genuinely that
1569         much better, but...
1570
1571         * gtk/gtktexttag.c (set_fg_color): fix name of property used for
1572         notifies
1573
1574         * gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
1575
1576 2001-01-12  Alexander Larsson  <alla@lysator.liu.se>
1577
1578         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_set_rotation):
1579         Hide mouse pointer while rotation. Show it afterwards.
1580
1581 2001-01-12  Alexander Larsson  <alexl@redhat.com>
1582
1583         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped
1584         windows in consideration when generating clip region.
1585
1586         * gdk/linux-fb/gdkfb.h:
1587         Huge HACK. Added GDK_FB_USE_CHILD_SHAPE.
1588
1589         * gdk/linux-fb/gdkprivate-fb.h:
1590         Add shape to GdkWindowFBDatat.
1591         exported gdk_fb_window_get_abs_shape().
1592         removed gdk_fb_draw_lines declaration.
1593
1594         * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init):
1595         Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't
1596         send focus changes when there is a grabbed window.
1597         (gdk_window_get_pointer): Handle shaped windows.
1598         (gdk_fb_region_create_from_bitmap): Convert bitmap to region.
1599         (gdk_fb_window_peek_shape): Returns the shape for a window,
1600         handles GDK_FB_USE_CHILD_SHAPE.
1601         (gdk_fb_window_get_abs_shape): Returns the shape of the window,
1602         offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE.
1603         (gdk_window_shape_combine_mask): Implement.
1604
1605         * gtk/gtkwindow-decorate.c:
1606         HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure
1607         setting the shape of a window makes the window transparent.
1608
1609 2001-01-11  Havoc Pennington  <hp@redhat.com>
1610
1611         * gtk/gtktreemodelsimple.h: Oops, broke some macros
1612
1613 2001-01-10  Havoc Pennington  <hp@redhat.com>
1614
1615         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear_attributes):
1616         add this function, bug 40251
1617
1618         * gtk/gtktreemodelsimple.h (GTK_TYPE_TREE_MODEL_SIMPLE): fix name
1619         of type macro   
1620
1621 2001-01-11  Alexander Larsson  <alexl@redhat.com>
1622
1623         * acconfig.h:
1624         Added ENABLE_SHADOW_FB
1625
1626         * configure.in:
1627         Added --disable-shadowfb
1628
1629         * gdk/linux-fb/gdkcursor-fb.c:
1630         Update shadowfb when updating cursor
1631
1632         * gdk/linux-fb/gdkdrawable-fb2.c:
1633         Added wrappers for shadowfb that calls  the normal drawable
1634         methods, but calls gdk_shadow_fb_update(bounding box) when
1635         GdkWindows are drawed to.
1636         Moved gdk_draw_glyphs implementation to _gdk_draw_glyphs
1637         which also returns the bounding box.
1638
1639         * gdk/linux-fb/gdkfb.h:
1640         Added GdkFBAngle type and gdk_fb_set_rotation declaration.
1641
1642         * gdk/linux-fb/gdkgeometry-fb.c:
1643         Update shadowfb when scrolling window.
1644
1645         * gdk/linux-fb/gdkglobals-fb.c:
1646         Add _gdk_fb_screen_angle.
1647         
1648         * gdk/linux-fb/gdkkeyboard-fb.c:
1649         Test code for screen rotation. Shift-F2 in the xlate driver
1650         rotates the screen.
1651
1652         * gdk/linux-fb/gdkmain-fb.c:
1653         Handle shadowfb. Add gdk_fb_set_rotation(). Remove CM and RP.
1654
1655         * gdk/linux-fb/gdkmouse-fb.c:
1656         Use fb_width/height instead of modeinfo.xres/yres.
1657
1658         * gdk/linux-fb/gdkprivate-fb.h:
1659         Added fb_men, fb_width, fb_height & fb_stride. When using
1660         shadow fb these can differ from the framebuffer stuff.
1661         Declarations for gdk_shadow_fb_update, gdk_shadow_fb_init,
1662         gdk_shadow_fb_stop_updates, gdk_fb_recompute_all,
1663         _gdk_fb_screen_angle. Removed CM, RP.
1664
1665         * gdk/linux-fb/gdkrender-fb.c:
1666         Added code for shadowfb handling and screen rotation using
1667         shadowfb.
1668
1669         * gdk/linux-fb/gdkwindow-fb.c:
1670         Use fb_mem, fb_stride, fb_width, fb_height.
1671         Added recompute_rowstride to reset the rowstride of all windows.
1672         Added gdk_fb_recompute_all() which recomputes rootwindow size,
1673         window abs positions and window rowstrides. Usefull when the
1674         rotation has changed.
1675
1676 Thu Jan 11 13:16:50 GMT 2001  Tony Gale <gale@gtk.org>
1677
1678         * docs/faq/gtk-faq.sgml: update to make web site updating easier
1679
1680 2001-01-10  Havoc Pennington  <hp@redhat.com>
1681
1682         * gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
1683         where sibling == iter
1684         (gtk_tree_store_insert_after): handle sibling == iter
1685         (gtk_tree_store_prepend): remove stamp checks
1686         (gtk_tree_store_insert_before): ditto
1687         (gtk_tree_store_append): ditto
1688         (gtk_tree_store_get_path): ditto
1689         (gtk_tree_store_get_value): ditto
1690         (gtk_tree_store_iter_has_child): ditto
1691         (gtk_tree_store_iter_n_children): ditto
1692         (gtk_tree_store_iter_nth_child): ditto
1693         (gtk_tree_store_insert_after): ditto
1694         (gtk_tree_store_is_ancestor): ditto
1695         (gtk_tree_store_iter_depth): ditto
1696         (gtk_tree_store_insert_before): assert that sibling's parent is
1697         the same as the passed-in parent
1698         (gtk_tree_store_insert_after): assert that sibling's parent is
1699         the same as the passed-in parent
1700
1701         
1702         * gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience 
1703         function to get the first iterator in a model
1704         
1705         * gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
1706         conventionally the "root" in this sense is just NULL afaict.
1707
1708         * gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
1709         where sibling == iter
1710         (gtk_list_store_insert_after): handle case where sibling == iter
1711
1712         * tests/testtreeview.c (run_automated_tests): fairly lame basic
1713         automated tests for ListStore, TreeStore
1714
1715         * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
1716         (gtk_list_store_insert): update tail pointer, and fix it to work
1717         (gtk_list_store_insert_before): update tail pointer, and fix it to work
1718         (gtk_list_store_append): use tail to be faster
1719         (gtk_list_store_prepend): fix it, update tail pointer
1720         (gtk_list_store_insert_after): fix it, update tail pointer
1721
1722         * gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for 
1723         the list
1724
1725 2001-01-09  Havoc Pennington  <hp@redhat.com>
1726
1727         * gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
1728         is NULL due to a pending resize
1729
1730         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
1731         column width to values less than 1
1732
1733         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
1734         width to be between min/max width, and still set the width 
1735         even if autosize is turned on, so the tree view can use this 
1736         function in order to autosize.
1737         (gtk_tree_view_column_init): set initial width to 1 not 0
1738
1739         * gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
1740         setter function to modify column width, so we get notification
1741         (gtk_tree_view_insert_iter_height): ditto
1742         (gtk_tree_view_calc_size): ditto
1743         (gtk_tree_view_check_dirty): ditto
1744
1745         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
1746         properties to change all the interesting attributes of the tree
1747         view column.
1748         (gtk_tree_view_column_set_header_clickable): rename set_clickable
1749         (gtk_tree_view_column_get_clickable): add
1750         (gtk_tree_view_column_set_cell_renderer): don't unset the current
1751         attributes; assume a cell renderer with equivalent object
1752         properties has been swapped in. Do g_object_notify().
1753         (gtk_tree_view_column_set_visible): g_object_notify
1754         (gtk_tree_view_column_get_sizing): rename from get_col_type
1755         (gtk_tree_view_column_set_sizing): g_object_notify
1756         (gtk_tree_view_column_set_width): add g_object_notify
1757         (gtk_tree_view_column_set_min_width): ditto
1758         (gtk_tree_view_column_set_max_width): ditto
1759         (gtk_tree_view_column_set_title): ditto
1760         (gtk_tree_view_column_set_clickable): ditto
1761         (gtk_tree_view_column_set_widget): ditto
1762         (gtk_tree_view_column_set_justification): ditto
1763
1764 2001-01-09  Havoc Pennington  <hp@redhat.com>
1765
1766         * gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
1767         there are no rows in the model
1768
1769         * gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
1770         NULL, then return the start of the list
1771
1772         * gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
1773         if we can't get any rows from an empty model 
1774
1775         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
1776         extraneous * after function pointer typedef usage
1777
1778         * Makefile.am: don't specify full path to cp and rm
1779
1780         * gtk/gtkcellrenderertextpixbuf.c
1781         (gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
1782         NULL before dereferencing, fixes a segfault that happened from
1783         time to time
1784
1785         * gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
1786         use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
1787         and reindent the function
1788         (gtk_cell_renderer_pixbuf_get_size): indentation
1789
1790         * gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
1791         we quit it
1792         (gtk_dialog_add_buttons_valist): add g_return_if_fail
1793         (gtk_dialog_set_default_response): New function, to set default
1794         button
1795         (gtk_dialog_set_response_sensitive): New function, to set 
1796         sensitivity of buttons
1797
1798         * gtk/gtkcellrendererpixbuf.c
1799         (gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
1800         (gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
1801
1802         * gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
1803         handle any G_TYPE_OBJECT subclass, not just the base class, and 
1804         also boxed types.
1805         (_gtk_tree_data_list_value_to_node): ditto
1806
1807         * gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if 
1808         --gtk-debug=tree
1809
1810         * gtk/gtkmain.c: add GTK_DEBUG_TREE
1811
1812         * gtk/gtkdebug.h: add GTK_DEBUG_TREE
1813
1814 2001-01-09  Tor Lillqvist  <tml@iki.fi>
1815
1816         * gdk/win32/gdkevents-win32.c: Implement better mouse
1817         capturing. Do use SetCapture(). Thanks to jpe@archaeopteryx.com.
1818         (find_window_for_pointer_event): New function.
1819         (gdk_event_translate): Use it when handling mouse events.
1820
1821 2001-01-09  Alexander Larsson  <alla@lysator.liu.se>
1822
1823         * configure.in:
1824         Added --with-included-loaders option
1825
1826         * gdk-pixbuf/Makefile.am:
1827         * gdk-pixbuf/gdk-pixbuf-io.c:
1828         Add support for including selected gdk-pixbuf loaders only.
1829
1830         * gtk/gtkwindow.c (gtk_window_set_frame_dimensions,
1831         gtk_window_set_has_frame):
1832         Added inline documentation.
1833
1834         * gdk/x11/gdkwindow-x11.c (gdk_window_get_decorations):
1835         * docs/reference/gdk/tmpl/windows.sgml:
1836         Added inline documentation.
1837
1838 Mon Jan  8 14:42:06 2001  Jonathan Blandford  <jrb@redhat.com>
1839
1840         * gtk/gtktreeview.c (gtk_tree_view_realize_buttons): Skip
1841         realizing buttons that have already been realized.
1842
1843 Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>
1844
1845         * tests/testtreeview.c (main): Show menu items before adding to
1846         option menu.
1847
1848         * gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
1849         around if we kill them.
1850
1851         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
1852         Return if we pass in a NULL model.
1853
1854 2001-01-08  Havoc Pennington  <hp@redhat.com>
1855
1856         * tests/testtreeview.c: hack on this some
1857
1858         * gtk/gtktreestore.c (gtk_tree_store_setv): rename
1859         gtk_tree_store_set_valist, v is for arrays, valist for varargs
1860         list
1861         (gtk_tree_store_getv): rename gtk_tree_store_get_valist
1862
1863         * gtk/gtkliststore.h: Add varargs set() and get() convenience
1864         functions
1865
1866 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1867
1868         * gtk/gtkwindow-decorate.[hc]:
1869         * gtk/Makefile.am:
1870         New files. Contains an implementation of a minimal WM for
1871         linux-fb.
1872
1873         * gtk/gtkwindow.h:
1874         Add the possibility for GtkWindows to specify a frame. This
1875         is used for the window decoration code, but could concievably
1876         be used for X programs too (xmms style windows).
1877         GtkWindow->frame is the toplevel window if the window is framed.
1878         The signal frame_event gets all events that are targeted to
1879         GtkWindow->frame.
1880         (_gtk_window_constrain_size): Exported for usage by gtkwindow-decorate.c.
1881         
1882         * gtk/gtkwindow.c:
1883         Implement gtk_window_set_has_frame and gtk_window_set_frame_dimensions.
1884         Call out to gtkwindow-decorate.c for WM support in linx-fb.
1885
1886 2001-01-08  Alexander Larsson  <alexl@redhat.com>
1887
1888         * docs/README.linux-fb:
1889         Correct filename ~/.pangoft2_aliases
1890
1891         * gdk/gdkwindow.h:
1892         Added new function gdk_window_get_decorations.
1893
1894         * gdk/linux-fb/gdkfb.h:
1895         Removed _gdk_window_get_decorations declaration.
1896         Renamed _gdk_window_set_child_handler to
1897         gdk_fb_window_set_child_handler.
1898
1899         * gdk/linux-fb/gdkwindow-fb.c:
1900         Renamed _gdk_window_set_child_handler to
1901         gdk_fb_window_set_child_handler.
1902
1903         * gdk/x11/gdkwindow-x11.c:
1904         New function gdk_window_get_mwm_hints().
1905         Implemented gdk_window_get_decorations.
1906
1907         * docs/reference/gdk/tmpl/windows.sgml:
1908         * docs/reference/gdk/gdk-sections.txt:
1909         Added gdk_window_get_decorations docs.
1910         
1911 2001-01-08  Alexander Larsson  <alla@lysator.liu.se>
1912
1913         * gdk/linux-fb/gdkwindow-fb.c (_gdk_fb_window_find_focus,
1914         gdk_fb_window_find_focus, gdk_fb_send_focus_change,
1915         gdk_fb_window_send_crossing_events):
1916         Possibly send focus events when the mouse moves from one
1917         window to another.
1918
1919 2001-01-07  Tor Lillqvist  <tml@iki.fi>
1920
1921         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title,
1922         gdk_window_new): Adapt calls to g_{locale,filename}_{to,from}_utf8
1923         to match current API.
1924
1925         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): If a secret
1926         environment variable is set, don't call g_error when on a
1927         palettized (PseudoColor) display. Some people want to use GTK+ 
1928         in 256-colour mode even though works only partially.
1929
1930         * gdk/gdk.def
1931         * gtk/gtk.def
1932         * gtk/makefile.mingw.in: Update.
1933
1934 2001-01-05  Havoc Pennington  <hp@redhat.com>
1935
1936         * tests/testtreeview.c: hack on this a bit
1937
1938         * gtk/gtktextlayout.c (gtk_text_layout_class_init):
1939         s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST
1940
1941         * gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS): 
1942         was spelled incorrectly
1943         (GTK_IS_TREE_MODEL_SIMPLE): ditto
1944
1945         * gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
1946         from gtk_tree_view_set_headers_active   
1947
1948         * gtk/gtktexttag.c:
1949         (gtk_text_tag_get_property): handle PROP_DIRECTION
1950         (gtk_text_tag_set_property): g_object_notify when we toggle the _set
1951         properties, bug 40235
1952
1953         * gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
1954         forward_to_line_end
1955
1956 Fri Jan  5 16:16:29 2001  Owen Taylor  <otaylor@redhat.com>
1957
1958         * gtk/{gtkcalender.c,gtkfilesel.c,gtkimcontext.c},
1959         modules/input/gtkimcontextxim.c: Adapt to new prototypes
1960         for unicode,locale,filename conversion functions.
1961
1962 2001-01-05  Havoc Pennington  <hp@redhat.com>
1963
1964         * gtk/gtktextiter.c (gtk_text_iter_ends_line): this function was
1965         broken if called on the first position in the buffer.
1966
1967         * gtk/gtktextlayout.c (line_display_index_to_iter): fix
1968         forward_to_delimiters to be called only if we aren't already at
1969         the delimiters.
1970
1971 2001-01-05  Havoc Pennington  <hp@redhat.com>
1972
1973         * demos/gtk-demo/main.c (create_tree): Oops, that didn't link. Fix.
1974
1975 2001-01-05  Alexander Larsson  <alexl@redhat.com>
1976
1977         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_drawable_finalize): free
1978         colormap in here. Sync from X port.
1979         (gdk_fb_set_colormap): allow the colormap to be NULL if you like.
1980         Sync from X port.
1981         (gdk_fb_clip_region): Comment out g_warning about empty clip region.
1982         This happens now and then, and i don't think it is a bug.
1983         (gdk_fb_draw_polygon): Correctly add extra point if startpoint
1984         != endpoint.
1985         (gdk_fb_draw_lines): Don't draw dashed lines if line_style is
1986         GDK_LINE_SOLID.
1987
1988         * gdk/linux-fb/gdkfont-fb.c: Return bogus GdkFont that has
1989         some of the fields filled in at least.
1990
1991         * gdk/linux-fb/miwideline.c: The widths argument to miLineArcI, and
1992         miLineArcD is no more, remove it from the function definition.
1993
1994 2001-01-04  Havoc Pennington  <hp@redhat.com>
1995
1996         * gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
1997         this
1998
1999         * gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
2000         user_data instead of tree_node
2001
2002         * gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
2003         TREE_VIEW_COLUMN_SIZE
2004
2005         * gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
2006         "size" field to "width" finishes bug 40061
2007
2008         * gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
2009         for bitfields, bug 40268
2010
2011 2001-01-04  Havoc Pennington  <hp@redhat.com>
2012
2013         Rename some stuff:
2014         
2015         s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;
2016
2017         s/GtkModelSimple/GtkTreeModelSimple/g;
2018         s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
2019         s/gtk_model_simple/gtk_tree_model_simple/g;
2020         s/gtkmodelsimple/gtktreemodelsimple/g;
2021
2022         s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;
2023
2024         s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
2025         s/column_set_col_type/column_set_sizing/g;
2026
2027         s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
2028         s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;
2029
2030         s/GtkCellRendererType/GtkCellRendererState/g;
2031         
2032         * gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
2033         (gtk_cell_renderer_toggle_class_init): change "state" property to
2034         "active", to match GtkToggleButton
2035         (gtk_cell_renderer_toggle_get_active): new function, bug
2036         40269
2037         (gtk_cell_renderer_toggle_set_active): new function
2038         (gtk_cell_renderer_toggle_set_property): route changes to toggle
2039         state through gtk_cell_renderer_set_active
2040
2041 Thu Jan  4 15:46:18 2001  Jonathan Blandford  <jrb@redhat.com>
2042
2043         * gtk/gtkmodelsimple.c: Changed a bunch of boxed types to pointers
2044         temporarily until they work again.  Brought up to date with
2045         changes in the model.
2046         * gtk/gtkmodelsimple.h: Brought up to date with changes in the
2047         model.
2048
2049 2001-01-04  Havoc Pennington  <hp@redhat.com>
2050
2051         * gtk/gtktextlayout.c (line_display_index_to_iter): if index is
2052         equal to the line length, then position iterator before paragraph 
2053         separators. Fixes crash reported by Mikael Hermansson when
2054         pressing left arrow from the start of a line.   
2055
2056         * gtk/gtktextiter.c (iter_set_from_byte_offset): Add g_error
2057         about byte indexes off the end
2058         (iter_set_from_char_offset): add g_error about char offsets
2059         off the end
2060
2061 2001-01-03  Havoc Pennington  <hp@redhat.com>
2062
2063         * gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate
2064
2065         * gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use 
2066         of private functions; remove inclusion of private headers.
2067
2068         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this 
2069         function, so we don't need private functions in gtktextdisplay.c
2070
2071         * gtk/gtktextiterprivate.h: underscore-ification
2072
2073         * gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
2074         to instead say "only useful to implement widgets"
2075
2076         * gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
2077         GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
2078         GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.
2079
2080         * gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
2081         This function was completely broken
2082
2083         * gtk/testtext.c (line_numbers_expose): use gtk_paint_layout
2084
2085         * gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout
2086
2087         * gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout
2088
2089         * gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout
2090
2091         * gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout
2092
2093         * gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout
2094
2095         * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
2096         gtk_paint_layout
2097
2098         * gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
2099         gtk_paint_layout
2100
2101         * gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
2102         Progress on bug 40103. Add draw_layout to draw a PangoLayout.
2103         (struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
2104         which were not implemented.     
2105
2106         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
2107         insert_pixbuf signal. Rename delete_text to delete_range since it
2108         also deletes pixbufs and child anchors. This almost closes bug
2109         40245 (still need to deal with child anchors)
2110
2111         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
2112         insert_pixbuf, change signal names as appropriate, change types of
2113         signals taking marks/tags to have the specific type, not just
2114         G_TYPE_OBJECT
2115         
2116         * gtk/gtkmain.c (gtk_get_current_event_state): Add this function; 
2117         closes bug 40051
2118
2119         * gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
2120         unnecessary remove_contents() call
2121         (gtk_option_menu_class_init): add a "changed" signal, closes
2122         bug 40039
2123         (gtk_option_menu_update_contents): emit "changed" if the 
2124         active menu item changes
2125
2126         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
2127         cast to GtkObject, reported by Jonas Borgstrom
2128         (gdk_pixbuf_loader_finalize): don't close the loader on finalize;
2129         we can't do stuff with side effects in finalize. Instead, spew a
2130         warning if the loader isn't closed.
2131
2132         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
2133         colormap in here, non-X ports probably need to sync to this change
2134
2135         * gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove 
2136         assertion that colormap != NULL, you can set the colormap to NULL
2137         if you like.
2138         
2139         * Makefile.am: remove gtk-config-2.0
2140
2141         * configure.in: Use pkg-config to locate GLib. Remove
2142         separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
2143         and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
2144         Use pkg-config to locate Pango. Output correct Pango libs to
2145         gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).
2146
2147         * Makefile.am (pkgconfig_DATA): install only target-specific pc
2148         files
2149         (install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
2150         X11 pc files
2151
2152         * gtk+-2.0.pc.in (Requires): require the GDK for the current target
2153         unref from here
2154
2155 2001-01-03  Alexander Larsson  <alla@lysator.liu.se>
2156
2157         * configure.in:
2158         Change GTK_NO_CHECK_CASTS to G_DISABLE_CAST_CHECKS.
2159
2160 Tue Jan  2 16:23:05 2001  Owen Taylor  <otaylor@redhat.com>
2161
2162         * gtk/gtktextlayout.c
2163         (gtk_text_layout_move_iter_to_previous_line): Fix unitialized
2164         variable when moving back onto a single line.
2165
2166 2001-01-01  Havoc Pennington  <hp@redhat.com>
2167
2168         * gtk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2169
2170         * gdk/Makefile.am (LDFLAGS): add @LIBTOOL_EXPORT_OPTIONS@
2171
2172         * configure.in (LIBTOOL_EXPORT_OPTIONS): define
2173         LIBTOOL_EXPORT_OPTIONS with options to control symbol export
2174
2175 2001-01-01  Havoc Pennington  <hp@redhat.com>
2176
2177         * gtk/gtktexttagprivate.h: uscore-prepend all the stuff in here.
2178
2179         * gtk/gtk-boxed.defs (GtkTextAttributes): Add boxed type for 
2180         GtkTextAttributes
2181
2182         * gtk/gtktexttag.c: Fix up GtkTextAttributes copying to close bug 
2183         #40246
2184         (gtk_text_attributes_copy_values): rename from 
2185         gtk_text_attributes_copy
2186         (gtk_text_attributes_copy): a more standard GTK copy function, 
2187         which returns a new object
2188
2189 2001-01-01  Havoc Pennington  <hp@redhat.com>
2190
2191         * gtk/gtktreeview.c: Adapt to GtkTreeSelection changes
2192         
2193         * gtk/gtktreeselection.c (_gtk_tree_selection_set_tree_view):
2194         don't fill in tree_view->priv->selection, kind of an unexpected
2195         side effect
2196
2197         * gtk/gtkcellrenderertext.c: Remove definition of _ and include
2198         gtkintl.h
2199         
2200         * gtk/gtkcellrenderer.c: Remove definition of _ and include
2201         gtkintl.h
2202         (gtk_cell_renderer_get_property): remove calls to g_value_init
2203
2204         * gtk/gtkcellrendererpixbuf.c: Remove definition of _ and include
2205         gtkintl.h
2206
2207         * gtk/gtkcellrenderertextpixbuf.c: Remove definition of _ macro
2208         and include gtkintl.h
2209         (gtk_cell_renderer_text_pixbuf_class_init): remove spaces from
2210         property names
2211
2212         * gtk/gtktreeselection.c (_gtk_tree_selection_new): rename, return
2213         GtkTreeSelection
2214         (_gtk_tree_selection_new_from_with_view): rename, return
2215         GtkTreeSelection
2216         (_gtk_tree_selection_set_tree_view): rename with uscore
2217         (gtk_tree_selection_get_selected): fill in the "model" out param
2218         first, so it gets filled in even if we return at the top of the 
2219         function
2220         (gtk_tree_selection_real_select_all): add a comment and an else{}
2221         to clarify this a bit
2222         (gtk_tree_selection_real_unselect_all): add the same else{}
2223
2224         * gtk/gtktreeselection.h: Rename new, new_with_tree_view, and
2225         set_tree_view to have underscore prefixes, move them to the
2226         private header, fix return type of new_with_tree_view
2227         (struct _GtkTreeSelection): mark struct
2228         fields private  
2229
2230         * gtk/gtktreemodel.c (gtk_tree_model_get_flags): return
2231         GtkTreeModelFlags, not a guint
2232         (gtk_tree_path_prev): return gboolean not gint
2233         (gtk_tree_path_up): return gboolean not gint
2234
2235         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): make get_flags
2236         return GtkTreeModelFlags, not a guint
2237
2238         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_finalize): check
2239         that child model is non-null before unrefing it
2240         (g_value_int_compare_func): make this a qsort compare func, not 
2241         a boolean predicate
2242
2243         * gtk/gtktreemodelsort.h: rename gtk_tree_model_set_sort_column,
2244         (add -umn to the end), and mark it unimplemented
2245         (gtk_tree_model_sort_resort): remove, this wasn't implemented, and 
2246         I don't see what it's for - doesn't the model always sort itself?
2247         (gtk_tree_model_sort_set_compare): this had the wrong signature
2248
2249         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_attributes):
2250         Fix the docs to say that it destructively replaces existing
2251         attributes (previously said that it added attributes).
2252         (gtk_tree_view_column_set_visible): canonicalize bool before
2253         equality testing. Also, check for realization before
2254         hiding/showing the tree_column->window; if this window could exist
2255         before realization, then it's busted and needs fixing, we can't 
2256         create GDK resources pre-realization. Also, remove
2257         superfluous queue_resize(), since set_size() does that for us.
2258         (gtk_tree_view_column_set_col_type): check realization before 
2259         using tree_column->window
2260
2261         * gtk/gtktreedatalist.c: fix filename in copyright notice
2262
2263 2000-12-31  Havoc Pennington  <hp@pobox.com>
2264
2265         * gtk/gtktextview.c: Rearrange all the
2266         scroll-while-dragging-or-selecting code to be different, not
2267         necessarily better. ;-)
2268         (gtk_text_view_scroll_to_mark): Change this
2269         function to take within_margin as a fraction instead of a pixel
2270         value, and to take alignment arguments (indicating where to align 
2271         the mark inside the visible area)
2272         
2273         * gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
2274         to GtkObject
2275
2276         * gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
2277         behavior so that offsets past the end of the line are not 
2278         allowed, and an offset equal to the line length moves the iterator
2279         to the next line
2280         (gtk_text_iter_set_line_index): make parallel change
2281         (gtk_text_iter_get_bytes_in_line): add this function
2282         
2283         * gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
2284         of byte indexes off the end of the line; byte index at the end of
2285         the line now returns FALSE and doesn't fill in the requested
2286         values, byte index past the end of the line is an error.  Also,
2287         don't allow -1 offset anymore, since its meaning is unclear.
2288
2289         This change exposes some bug in visual cursor motion, where we
2290         end up with a huge invalid byte index; needs fixing. Symptom of 
2291         bug is a crash when you hit up arrow.
2292         
2293         (_gtk_text_line_char_locate): match the change to byte_locate
2294
2295         * gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
2296         from start of line properly. fixes bug reported by Mikael
2297         Hermansson where backspace would delete all text before the
2298         cursor.
2299
2300 2000-12-30  Tor Lillqvist  <tml@iki.fi>
2301
2302         * gdk/win32/gdkwindow-win32.c
2303         (gdk_window_impl_win32_get_visible_region): New function, as in
2304         the X11 backend.
2305         (gdk_window_new, gdk_window_set_title): Use g_locale_from_utf8()
2306         instead of duplicating the same code here.
2307
2308         * gdk/win32/gdkwin32.h (GDK_COLORMAP_PRIVATE_DATA): Use
2309         GDK_COLORMAP macro.
2310
2311         * gdk/win32/gdkevents-win32.c (gdk_event_funcs): Use NULL as
2312         destroy function.
2313         (gdk_event_translate): Use GDK_COLORMAP_PRIVATE_DATA to correctly
2314         access that.
2315
2316         * gtk/gtk.def: Update.
2317
2318         * gtk/makefile.mingw.in: Use glib-genmarshal from $(GLIB)/gobject.
2319
2320 2000-12-30  Havoc Pennington  <hp@pobox.com>
2321
2322         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Set the system
2323         colormap on input only windows, to avoid special cases all over
2324         the code for these windows.
2325
2326 2000-12-26  Tor Lillqvist  <tml@iki.fi>
2327
2328         * gdk/win32/gdkvisual-win32.c (gdk_visual_init): Call g_error if
2329         we are on a palettized display ("PseudoColor" in X11), as the code
2330         for that doesn't work anyway, and never has.
2331
2332 2000-12-22  Alexander Larsson  <alexl@redhat.com>
2333
2334         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_io):
2335         Don't use isprint() for chars > 255.
2336
2337 2000-12-21  Havoc Pennington  <hp@redhat.com>
2338
2339         * tests/testtreeview.c: more work
2340
2341 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2342
2343         * docs/README.linux-fb:
2344         Update the docs to the new pangoft2 way.
2345
2346 2000-12-21  Alexander Larsson  <alexl@redhat.com>
2347
2348         * configure.in:
2349         For linux-fb get the pangoft2 cflags and libs. This needs a recent
2350         pango version.
2351         Remove modules/linux-fb/Makefile.
2352
2353         * gdk/linux-fb/gdkdrawable-fb2.c:
2354         Render glyphs using freetype.
2355
2356         * gdk/linux-fb/gdkfb.h:
2357         Add new fb-specific functions needed for managing windows.
2358
2359         * gdk/linux-fb/gdkmain-fb.c:
2360         Remove gdk_font_init/fini() calls.
2361
2362         * gdk/linux-fb/gdkpango-fb.c:
2363         Remove old implementation. Use pangoft2 instead.
2364
2365         * gdk/linux-fb/gdkprivate-fb.h:
2366         Remove PangoFBFont and related stuff.
2367
2368         * gdk/linux-fb/gdkwindow-fb.c:
2369         Implement drawable->get_visible_region.
2370         Implement support for _gdk_window_set_child_handler () and
2371         _gdk_window_get_decorations().
2372
2373         * modules/Makefile.am:
2374         Remove linux-fb subdir.
2375
2376         * modules/linux-fb/*:
2377         Removed all.
2378         
2379 2000-12-20  Jonathan Blandford  <jrb@redhat.com>
2380
2381         * gtk/gtkcellrenderer*.c (::get_property): remove g_value_init
2382         calls, as they are no longer needed.
2383
2384         * gtk/gtktreemodelsort.c: Fix up the comparison code.
2385         
2386         * gtk/gtktreemodel.h: Start work on ::reordered signal.  Need to
2387         figure out how to emit a signal on an interface.
2388
2389 2000-12-20  Havoc Pennington  <hp@redhat.com>
2390
2391         * tests: new directory to contain tests, gtk/test* should move
2392         here sometime (with appropriate on-cvs-server hackery)
2393
2394         * tests/testtreeview.c, tests/Makefile.am: a test
2395         
2396         * configure.in (AC_OUTPUT): add tests/Makefile
2397
2398         * gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
2399         and "invisible_set" which were missing
2400
2401         * gtk/gtkrbtree.h: some cheesy indentation fix
2402         
2403 2000-12-20  Alexander Larsson  <alexl@redhat.com>
2404
2405         * gtk/gtkinvisible.c (gtk_invisible_realize):
2406         Attach the style to the window so that the style it is not
2407         leaked when unrealizing the window.
2408
2409 2000-12-18  Havoc Pennington  <hp@redhat.com>
2410
2411         * gtk/gtktextview.c (gtk_text_view_delete_from_cursor): do
2412         begin/end user action where appropriate
2413         (gtk_text_view_commit_handler): add begin/end user action
2414
2415         * gtk/gtktextbuffer.c: add begin/end user action signals, and
2416         bracket interactive operations with begin/end user action pair.
2417         
2418         * gtk/gtktextbuffer.h (struct _GtkTextBufferClass): remove
2419         "interactive" arg from insert_text and delete_text signals.
2420         Add begin_user_action, end_user_action signals
2421         (gtk_text_buffer_begin_user_action): 
2422         (gtk_text_buffer_end_user_action): New functions to delimit 
2423         a user-visible action
2424
2425         * gtk/gtkmarshal.list: update to reflect changes to gtktextbuffer
2426         signals.
2427         
2428 2000-12-18  Havoc Pennington  <hp@redhat.com>
2429
2430         * gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
2431         was pretty non-working.
2432
2433         * gtk/testtext.c (fill_file_buffer): make this a bit more robust
2434         by passing the length to g_utf8_validate().
2435
2436 2000-12-16  Havoc Pennington  <hp@pobox.com>
2437
2438         * gtk/gdk-pixbuf-loader.h, gtk/gdk-pixbuf-loader.c: 
2439         Port to GObject, can go back in gdk-pixbuf after setting up 
2440         a gdk-pixbuf-marshal.h header over there.
2441
2442         * gtk/gtktreeview.c: s/SEPERATOR/SEPARATOR/g;
2443         (gtk_tree_view_class_init): specify GTK_TYPE_ADJUSTMENT for signal
2444         args
2445         (gtk_tree_view_init): don't unset GTK_NO_WINDOW, it shouldn't be
2446         set
2447         (gtk_tree_view_realize_buttons): don't gtk_widget_show() buttons
2448         here, do it when we create the buttons later
2449         (gtk_tree_view_realize_buttons): add some g_return_if_fail 
2450         (gtk_tree_view_map): paranoia checks that column->button is shown 
2451         and unmapped
2452         (gtk_tree_view_size_request): only request visible children.
2453         Move header size calculation in here, for cleanliness, and 
2454         to maintain invariants for child widgets if we eventually 
2455         let users set different children inside the buttons
2456         (gtk_tree_view_map_buttons): factor out code to map buttons,
2457         since it was being called several times
2458         (gtk_tree_view_size_allocate_buttons): move_resize the drag
2459         windows instead of just moving them; their height may change 
2460         if we allow random widgets in there, or the theme changes.
2461         (gtk_tree_view_size_allocate): move button size allocation 
2462         above emitting the scroll signals, to ensure a sane state when we
2463         hit user code
2464         (gtk_tree_view_button_release): remove queue_resize after
2465         tree_view_set_size(), set_size() will handle any resize queuing
2466         that's needed
2467         (gtk_tree_view_focus_in): just queue a draw, don't fool with
2468         draw_focus goo
2469         (gtk_tree_view_focus): use gtk_get_current_event() and
2470         gdk_event_get_state()
2471         (gtk_tree_view_deleted): don't queue_resize() after calling set_size()
2472         (gtk_tree_view_build_tree): fix a "if (foo); {}" bug - i.e. remove
2473         semicolon
2474         (gtk_tree_view_create_button): show the button here
2475         (gtk_tree_view_button_clicked): actually emit the clicked signal
2476         on the column
2477         (_gtk_tree_view_set_size): return right away if the size is
2478         unchanged, as a cheesy optimization
2479         (gtk_tree_view_setup_model): rename set_model_realized to 
2480         setup_model to match the flag that indicates whether we've 
2481         called it
2482         (gtk_tree_view_get_hadjustment): create adjustment if it doesn't
2483         exist, because set_scroll_adjustment does that and it shouldn't
2484         matter what order you call these in
2485         (gtk_tree_view_get_vadjustment): ditto
2486         (gtk_tree_view_set_headers_visible): canonicalize the bool, 
2487         for paranoia
2488         (gtk_tree_view_set_headers_visible): call
2489         gtk_tree_view_map_buttons() instead of using cut-and-paste code
2490         (gtk_tree_view_append_column): clarify whether the return value
2491         is the count of columns before or after, and do the increment 
2492         separately from the return statement so you can tell from the code.
2493         (gtk_tree_view_remove_column): ditto
2494         (gtk_tree_view_insert_column): ditto
2495         (gtk_tree_view_get_column): remove g_return_if_fail for columns
2496         outside the existing range, the docs say that outside-range
2497         columns are allowed, so we handle them as documented. (Presumably
2498         this allows a nice loop with column != NULL as test.)
2499         (gtk_tree_view_move_to): document what 0.0, 0.5, 1.0 alignments 
2500         mean (left/right/center etc.).
2501         (gtk_tree_view_collapse_all): only queue a draw if we're mapped
2502         (gtk_tree_view_expand_row): add docs
2503         (gtk_tree_view_collapse_row): add docs
2504
2505         * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clicked): new
2506         function to emit the clicked signal on a column
2507         
2508         * gdk/gdkevents.c (gdk_event_get_state): new function, to get the
2509         state of an event
2510         (gdk_event_get_time): don't treat GDK_SCROLL 
2511         as a button event, remove default case from switch so gcc 
2512         will whine if we don't explicitly handle all event types
2513
2514         * gtk/gtktreeselection.h: added some FIXME 
2515         
2516         * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): rename
2517         "columns" to "n_columns" and "column" to "columns" for clarity
2518
2519 2000-12-16  Havoc Pennington  <hp@pobox.com>
2520         
2521         * gtk/gtktextiter.c: General cleanup of the log attr iteration
2522         stuff. This should make e.g. the delete key work again in the
2523         text widget...
2524         (gtk_text_iter_forward_cursor_positions): handle negative count
2525         (gtk_text_iter_backward_cursor_positions): handle negative count
2526         (gtk_text_iter_forward_word_ends): handle negative count
2527         (gtk_text_iter_backward_word_starts): handle negative count
2528
2529         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
2530         gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c, 
2531         gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to 
2532         GObject. No doubt will cause breakage.
2533
2534         * demos/gtk-demo/textview.c: remove hacks around
2535         non-GObject-ification of the text objects
2536
2537         * demos/gtk-demo/main.c (main): use g_object_set() to manipulate 
2538         the text tag
2539         
2540 2000-12-14  Havoc Pennington  <hp@pobox.com>
2541
2542         * configure.in: only AC_DEFINE(HAVE_XFT) if we actually determined
2543         that we have Xrender
2544
2545 Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>
2546
2547         * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
2548         Add two virtualized functions gdk_drawable_get_clip_region - to
2549         get the clip region when drawing.
2550         
2551         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
2552         use invalidate_region.
2553
2554         * gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
2555         region.
2556
2557         * acconfig.h configure.in: Check for Xft. For now, assume
2558         that if Xft is found, Pango was compiled with Xft support
2559         as well.
2560
2561         * gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add 
2562         gdk_colormap_query_color().
2563         
2564         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
2565         with Xft if appropriate.
2566
2567         * gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
2568         a pangoxft context if we have XFT and the environment
2569         variable GD_USE_XFT is set.
2570         
2571         * gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
2572         and also possibly an XftDraw structure.
2573
2574         * gtk/gtkfontsel.c: Handle the case where the font from the
2575         style doesn't match any of the fonts a bit better.
2576         
2577         * gtk/testgtk.c: Add tabs between directional segments for
2578         hebrew/arabic test. (Not really necessary, just a little
2579         prettier.)
2580
2581 2000-12-14  Havoc Pennington  <hp@redhat.com>
2582
2583         * gtk/testtext.c (fill_file_buffer): fix unicode validation when
2584         reading a file
2585
2586 2000-12-14  Havoc Pennington  <hp@redhat.com>
2587
2588         * gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
2589         unused call to get_last_line()
2590
2591         * gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
2592         here until boxed is working (and maybe after that - we should
2593         really not gratuitously break old code)
2594
2595         * gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
2596         specific types for font_desc and tabs args, move them to
2597         GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get 
2598         fixed. Move GdkColor args to GTK_TYPE_POINTER also.
2599
2600         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
2601         use GTK_TYPE_POINTER for signal signatures as a hack-around
2602
2603         * gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
2604         PangoTabArray
2605
2606         * gtk/gtktextlayout.c (line_display_iter_to_index): 
2607         make static
2608         (line_display_index_to_iter): make static
2609
2610         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
2611         to marshal a string not a boxed
2612
2613         * gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text
2614
2615         * gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
2616         since the UTF-8 isn't validated yet
2617
2618         * gtk/gtktextsegment.c (char_segment_check_func): don't require
2619         lines to end in '\n'
2620         
2621         * gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
2622         forward_to_delimiters, and grapheme boundaries
2623         (gtk_text_view_delete_from_cursor): properly handle non-newline
2624         delimiters, and grapheme boundaries
2625
2626         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
2627         to gtk_text_iter_forward_to_delimiters, and make it work properly
2628         if empty lines end with a character other than '\n'
2629
2630         * gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
2631         position
2632
2633 2000-12-15  Tor Lillqvist  <tml@iki.fi>
2634
2635         * gdk/makefile.{mingw.in,msc} (gdk_OBJECTS): Add gdkkeys.
2636
2637         * gtk/gtk.def
2638         * gdk/gdk.def: Update.
2639
2640         * gdk/win32/gdkmain-win32.c
2641         * gdk/win32/gdkkeys-win32.c: New file. Move some functions from
2642         gdkmain-win32.c here.
2643
2644         * gdk/win32/makefile.mingw.in (all): No need to make
2645         gdk-win32res.o here, the makefile one step up will call us to make
2646         it.
2647
2648         * gdk/win32/makefile.{mingw.in,msc} (gdk_win32_OBJECTS): Add
2649         gdkkeys-win32.
2650
2651         * gdk/win32/gdkcolor-win32.c: Silence gcc -Wall.
2652
2653         * gdk/win32/gdkevents-win32.c (gdk_events_init): Remove leftover
2654         call to g_source_add().
2655
2656         * gdk/win32/gdkgc-win32.c (BitmapToRegion): Plug memory
2657         leak. Thanks to Andreas Kemnade.
2658
2659 2000-12-13  Havoc Pennington  <hp@pobox.com>
2660
2661         * gtk/gtktextbtree.h: Remove double _ in front of some functions
2662
2663         * gtk/gtktext*.[hc]: update accordingly
2664         
2665 2000-12-13  Havoc Pennington  <hp@pobox.com>
2666
2667         * gtk/gtktextbtree.h: Put _ in front of every function in this 
2668         header file
2669
2670         * gtk/gtktext*.[hc]: update to reflect renamed btree functions
2671
2672 2000-12-13  Alex Larsson  <alexl@redhat.com>
2673
2674         * gdk/linux-fb/gdkmouse-fb.c (mouse_devs):
2675         Add support for ps2 intellimouse.
2676
2677         * gdkkeyboard-fb.c:
2678         Move shift-F1 repaint handling to xlate handler only.
2679         
2680         * docs/README.linux-fb:
2681         Add imps2 to docs.
2682         Document the new refresh keys.
2683         
2684 Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
2685
2686         * gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
2687
2688         * gtk/gtkbox.c: change property types from (u)long to (u)int for
2689         ::position and ::padding.
2690
2691         * gtk/gtkcontainer.c: make ::border_width an INT property.
2692
2693         * gtk/gtkpacker.c: make ::position an INT property.
2694
2695         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
2696         guard against NULL h/v scrollbars, since this is used at construction
2697         time.
2698
2699         * gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
2700         internal gtk_clist_constructor().
2701
2702         * gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
2703         gtk_ctree_constructor().
2704
2705         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
2706         ::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
2707
2708         * docs/reference/Makefile.am: fun stuff, disabled docs generation
2709         again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
2710
2711         * gtk/gtkwidget.[hc]:
2712         removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
2713         and gtk_widget_get().
2714         (gtk_widget_new): use g_object_new_valist().
2715         (gtk_widget_set): use g_object_set_valist().
2716
2717         * gtk/gtkobject.[hc]:
2718         removed gtk_object_arg_get_info(), gtk_object_getv(),
2719         gtk_object_query_args(), gtk_object_newv(),
2720         gtk_object_class_add_signals(),
2721         gtk_object_class_user_signal_new(),
2722         gtk_object_class_user_signal_newv(),
2723         gtk_object_arg_set(), gtk_object_arg_get(),
2724         gtk_object_args_collect(),
2725         gtk_object_default_construct(),
2726         gtk_object_constructed(),
2727         GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
2728         removed nsignals, signals and n_args members from GtkObjectClass.
2729         (gtk_object_new): use g_object_new_valist().
2730         (gtk_object_set): use g_object_set_valist().
2731         (gtk_object_get): use g_object_get_valist().
2732         
2733         * gtk/gtkcompat.h: define gtk_object_default_construct().
2734         
2735         * gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
2736         g_object_new().
2737
2738         * gtk/*.c: removed gtk_object_class_add_signals() from class_init()
2739         fucntions, cleaned up method assignments (make sure your structures
2740         are setup properly before calling out). removed all GTK_CONSTRUCTED
2741         hacks ;)
2742
2743 Tue Dec 12 11:52:16 2000  Owen Taylor  <otaylor@redhat.com>
2744
2745         * gtk/gtkclist.c (gtk_clist_optimal_column_width): Fix 
2746         off-by-one error in checks. (Dave Lambert)
2747
2748 2000-12-12  Alexander Larsson  <alexl@redhat.com>
2749
2750         * gdk/linux-fb/gdkkeyboard-fb.c (xlate_close, raw_close):
2751         Don't free gdk_fb_keyboard twice.
2752
2753 Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>
2754
2755         * gtk/testgtk.c:
2756         (create_tooltips): 
2757         (create_statusbar): get rid of object_signal:: GtkObject argument uses,
2758         use GObject swapped_signal:: properties instead.
2759
2760         * gtk/gtkcellrenderertoggle.c: 
2761         * gtk/gtkcellrenderertextpixbuf.c: 
2762         * gtk/gtkcellrenderertext.c: 
2763         * gtk/gtkcellrendererpixbuf.c: 
2764         * gtk/gtkcellrenderer.c:
2765         * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
2766         missing warnings for invalid property ids, install properties
2767         with g_object_class_install_property() now.
2768         
2769         * gtk/gtksignal.c:
2770         (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
2771         
2772 Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>
2773         
2774         * gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
2775         to determine if a window is the focus widget within
2776         its toplevel.
2777
2778         * gtk/gtkcontainer.[ch]: Fix the return type of ::focus
2779         to be boolean.
2780
2781         * gtk/gtkcontainer.c (gtk_container_real_focus): Move handling 
2782         of the case where the container CAN_FOCUS to here instead
2783         of having it in each individual move-the-focus place.
2784
2785         * gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
2786         focusing to be geometric in a much more obvious sense. Arrowing
2787         around is still non-intuitive because it isn't perfect and
2788         because entries, etc, grab the arrow keys, but it at least
2789         usually will do what you expect now.
2790         
2791         * gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
2792         file.
2793
2794         * gtk/gtknotebook.c: Change tabs to be a single item in
2795         the focus chain. Make movement of focus on tabs with arrow
2796         keys wrap around.
2797         
2798         * gtk/gtknotebook.c (gtk_notebook_find_child): Add
2799         CHECK_FIND_CHILD macro to give informative error messages
2800         instead of silent returns.
2801
2802         * gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT 
2803         flag since we handle GdkReturn on the tabs.
2804
2805         * gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
2806         windows rather than sending expose events directly.
2807
2808         * gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure 
2809         definition for GtkNotebookPage into .c file, since it is private.
2810
2811         * gtk/testgtk.c (create_notebook): Add option for 
2812         testing borderless notebook.
2813
2814         * gtk/testgtk.c (page_switch): Removed egregious poking
2815         around in GTK+ internals.
2816
2817         * docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.
2818
2819         * gtk/gtkclist.[ch]: Remove key press handler, handle focusing
2820         properly through gtk_clist_focus. Make the title headers a
2821         single item in the tab-focus chain, and make left-right wrap
2822         around.
2823
2824         * gtk/gtkwindow.c (gtk_window_focus): Add a custom
2825         focus method so that wrapping around works properly.
2826
2827         * gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() - 
2828         that is handled for the widget now. 
2829
2830 Mon Dec 11 11:41:12 2000  Owen Taylor  <otaylor@redhat.com>
2831
2832         * gtk/gtkinvisible.c (gtk_invisible_init): Flag invisible
2833         widgets as TOPLEVEL.
2834
2835         * gtk/gtkwidget.c (gtk_widget_queue_resize): Don't assume
2836         TOPLEVEL widgets are containers.
2837
2838         * gtk/gtkinvisible.h: Remove useless include.
2839
2840 2000-12-11  Havoc Pennington  <hp@redhat.com>
2841
2842         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): 
2843         Handle chopping off \r\n and 0x2029 in addition to \n before
2844         passing to PangoLayout
2845
2846         * gtk/gtkimcontextsimple.c
2847         (gtk_im_context_simple_get_preedit_string): 
2848         return an empty string if no match is pending
2849
2850         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
2851         assertion that the returned preedit string was sane
2852
2853         * gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
2854         s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
2855         s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
2856
2857 Mon Dec 11 10:02:26 2000  Owen Taylor  <otaylor@redhat.com>
2858
2859         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_finalize): 
2860         Fix up finalizer to chain to its parent.
2861
2862 2000-12-11  Alexander Larsson  <alexl@redhat.com>
2863
2864         * docs/README.linux-fb (GDK_KEYBOARD_TYPE):
2865         Clearified the difference between the keyboard types. Wrote a note
2866         about the magic sysrq key to get out of raw mode.
2867
2868 2000-12-09  James Henstridge  <james@daa.com.au>
2869
2870         * gdk/linux-fb/gdkmouse-fb.c (GdkFBMouseDevice): add prot struct
2871         member to hold masks for detecting the start of a protocol packet.
2872         (mouse_devs): add packet start masks for ps2 and ms device types.
2873         Left the mask for fidmour blank, as I have no idea what it should
2874         be.
2875         (handle_mouse_io): skip bytes until we get to the start of a
2876         packet.  My Logitech mouse seems to be passing an extra NULL pad
2877         byte, and GPM does a similar thing here.
2878         (gdk_fb_mouse_ms_open): changed error message to not say psaux, as
2879         this is the ms mouse driver.
2880         (gdk_fb_mouse_ms_packet): fix up button handling, which was
2881         completely broken except for button1.  It was checking the wrong
2882         bit in the packet for the status of the right mouse button, and
2883         wrongly assuming right == button2 rather than 3.  I fixed that and
2884         also added support for middle button (button2).
2885
2886 2000-12-08  Havoc Pennington  <hp@redhat.com>
2887
2888         * gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
2889         that cause a segfault on text insertion
2890
2891         * gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix 
2892         warning
2893
2894         * gtk/gtktextiter.c (test_log_attrs): use
2895         _gtk_text_buffer_get_line_log_attrs to speed things up a bit
2896
2897         * gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs): 
2898         Get log attrs for a line, using a cache stored on the buffer
2899         
2900         * gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
2901         reported by Jeff Franks
2902
2903 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2904
2905         * gdk/linux-fb/gdkmouse-fb.c (gdk_fb_mouse_ms_open):
2906         /dev/ttyS0 -> /dev/mouse
2907
2908 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2909
2910         * gdk/linux-fb/gdkfont-fb.c (gdk_fontset_load):
2911         Added dummy gdk_fontset_load.
2912
2913 2000-12-08  Alexander Larsson  <alexl@redhat.com>
2914
2915         * docs/README.linux-fb:
2916         * docs/Makefile.am:
2917         Initial GtkFB docs.
2918         
2919         * gdk/linux-fb/Makefile.am:
2920         Define GDK_DATA_PREFIX.
2921
2922         * gdk/linux-fb/gdkmain-fb.c:
2923         Fix typo.
2924         Change default display to /dev/fb0.
2925
2926         * gdk/linux-fb/gdkpango-fb.c:
2927         Add $(prefix)/share/fonts/ to font path.
2928         
2929 2000-12-08  Alexander Larsson  <alla@lysator.liu.se>
2930
2931         * gdk/linux-fb/gdkkeyboard-fb.c:
2932         New file containing the abstracted keyboard driver. Most code
2933         taken from gdkinput-ps2.c
2934
2935         * gdk/linux-fb/gdkinput-ps2.c:
2936         Removed file.
2937         
2938         * gdk/linux-fb/Makefile.am:
2939         Added gdkkeyboard-fb.c, removed gdkinput-ps2.c.
2940
2941         * gdk/linux-fb/gdkcolor-fb.c:
2942         display->fb was renamed to display->fb_fd.
2943
2944         * gdk/linux-fb/gdkcursor-fb.c:
2945         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2946
2947         * gdk/linux-fb/gdkinput.c:
2948         Moved gdk_input_init here from gdkinput-ps2.c
2949
2950         * gdk/linux-fb/gdkmain-fb.c:
2951         display->fb was renamed to display->fb_fd.
2952         Now the tty and the console is opened here instead
2953         of in the keyboard driver. Also check GDK_VT to see what
2954         tty to open.
2955         Move gdk_beep () here from gdkinput-ps2.c
2956         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2957
2958         * gdk/linux-fb/gdkmouse-fb.c:
2959         Add header.
2960         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2961         Return correct keyboard modifiers.
2962         GDK_MOUSETYPE -> GDK_MOUSE_TYPE for consistancy
2963
2964         * gdk/linux-fb/gdkprivate-fb.h:
2965         Add tty and vt info to display.
2966         Add orignal modeinfo storage to display
2967         Update global functions
2968
2969         * gdk/linux-fb/gdkwindow-fb.c:
2970         Added gdk_fb_window_find_focus().
2971         gdk_mouse_get_info -> gdk_fb_mouse_get_info
2972
2973 2000-12-07  Havoc Pennington  <hp@pobox.com>
2974
2975         * gdk/x11/gdkkeys-x11.c (gdk_keymap_lookup_key): fix name of 
2976         function, noticed by Alex
2977
2978 2000-12-06  Elliot Lee  <sopwith@redhat.com>
2979
2980         * configure.in: Detect freetype properly
2981
2982         * modules/basic/Makefile.am, gdk/linux-fb/Makefile.am: Make use of
2983         above.
2984
2985 2000-12-06  Alexander Larsson  <alexl@redhat.com>
2986
2987         * gdk/linux-fb/Makefile.am:
2988         Add gdkmouse-fb.c
2989         
2990         * gdk/linux-fb/gdkmouse-fb.c:
2991         New file. Abstracted the mouse drivers a bit.
2992
2993         * gdk/linux-fb/gdkcursor-fb.c:
2994         The cursor hide/show functions was moved here from gdkinput-ps2.c.
2995
2996         * gdk/linux-fb/gdkinput-ps2.c:
2997         Removed old mouse handling code. Moved cursor handling code
2998         to gdkcursor-fb.c, moved gdk_fb_window_send_crossing_events() to
2999         gdkwindow-fb.c. gdk_input_get_mouseinfo was renamed to
3000         gdk_mouse_get_info.
3001
3002         * gdk/linux-fb/gdkmain-fb.c:
3003         Pass NULL pointers for x,y in gdk_mouse_get_info call.
3004
3005         * gdk/linux-fb/gdkprivate-fb.h:
3006         Removed public gdk_fb_find_common_ancestor, added and renamed
3007         functions for the new mouse handling code.
3008
3009         * gdk/linux-fb/gdkwindow-fb.c:
3010         Moved gdk_fb_window_send_crossing_events here. added global
3011         variable gdk_fb_window_containing_pointer. made
3012         gdk_fb_find_common_ancestor static. gdk_input_get_mouseinfo was
3013         renamed to gdk_mouse_get_info.
3014
3015 2000-12-06  Alexander Larsson  <alexl@redhat.com>
3016
3017         * gdk/linux-fb/gdkevents-fb.c:
3018         Update to match latest gmain/gsource changes.
3019
3020         * gdk/linux-fb/gdkinput-ps2.c:
3021         Bogus gdk_keymap_get_entries_for_keycode implementation so that
3022         it links. Will be implemented later.
3023
3024 2000-12-03  Havoc Pennington  <hp@pobox.com>
3025
3026         * gdk/Makefile.am: add gdkkeys.[hc]
3027
3028         * gdk/gdkkeys.h, gdk/gdkkeys.c: Move all the keyval stuff to these
3029         files from gdk.h, gdk.c; add GdkKeymap type and operations on it.
3030
3031         * acconfig.h, configure.in: add checks and command line options
3032         for XKB
3033
3034         * gdk/x11/gdkkeys-x11.c: Implement the above functions
3035         
3036         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Put the keycode
3037         and group in the key event
3038
3039         * gdk/gdkevents.h (struct _GdkEventKey): Add a hardware_keycode
3040         field with the low-level hardware key code, and a group
3041         field with the keyboard group
3042
3043         * gdk/x11/gdkprivate-x11.h: include config.h for HAVE_XKB,
3044         and declare a couple globals used for keymap handling
3045         
3046         * gtk/gtkimcontextsimple.c: Implement ISO 14755 input method,
3047         hold down Shift-Control and type a hex number to get a Unicode 
3048         character corresponding to the hex number
3049         (gtk_im_context_simple_get_preedit_string): Fix cursor position
3050         (return bytes not chars)
3051
3052 2000-12-05  Elliot Lee  <sopwith@redhat.com>
3053
3054         * gdk/gdkcolor.h: Make GdkColor specify element sizes
3055         to avoid waste on 64-bit platforms.
3056
3057 Tue Dec  5 15:49:31 2000  Owen Taylor  <otaylor@redhat.com>
3058
3059         * INSTALL: Fix link to PNG home, remove reference
3060         to fribidi.
3061
3062         * gdk/x11/gdkevents-x11.c: Fix up for new GMain API.
3063         
3064         * gdk/win32/gdkevents-win32.c: Fix up for new GMain API. (Not
3065         tested.)
3066
3067         * gtk/gtkcheckmenuitem.c: Permanently turn on
3068         always_show_toggle.
3069
3070         * gtk/gtkclist.c (gtk_clist_get_pixtext): Allow mask to 
3071         be NULL. (Vladimir Klebanov, #26545)
3072
3073         * gtk/gtkspinbutton.c (gtk_spin_button_insert_text): Fix 
3074         some signed/unsigned comparison problems. (#6510,
3075         David Kaelbling)
3076
3077         * gtk/gtkwidget.[ch] (gtk_widget_is_ancestor): Change
3078         return type to boolean (Oskar Liljeblad, #18648)
3079
3080 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3081
3082         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_display_new):
3083         Remove bogus colormap setting.
3084
3085 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3086
3087         * gdk/linux-fb/gdkcolor-fb.c:
3088         More complete colormap handling. Now GdkRGB work in 8 bpp modes.
3089
3090         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_image):
3091         Must set colormap.
3092         
3093 Tue Dec  5 13:17:53 GMT 2000  Tony Gale <gale@gtk.org>
3094
3095         * docs/tutorial/gtk-tut.sgml: DND updates
3096
3097 2000-12-05  Alexander Larsson  <alla@lysator.liu.se>
3098
3099         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3100         Remove old debug g_warning().
3101         (gdk_fb_draw_drawable): The src argument can be either a wrapper
3102         or an implementation, just pass the implementation to draw_drawable_2.
3103         
3104         * gdk/linux-fb/gdkprivate-fb.h:
3105         Added GDK_IS_DRAWABLE_IMPL_FBDATA()
3106
3107         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3108         clear and invalidate area when window is destroyed.
3109         (send_map_events): Remove old commented out code.
3110
3111 2000-12-05  Alexander Larsson  <alexl@redhat.com>
3112
3113         * gdk/linux-fb/gdkpango-fb.c:
3114         Use italic instead of oblique in font aliases.
3115         
3116         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_fill_span_generic,
3117         _gdk_fb_gc_calc_state): Support GDK_XOR, add g_warning for
3118         other unsupported functions.
3119
3120 2000-12-04  Havoc Pennington  <hp@redhat.com>
3121
3122         * gtk/gtkpaned.c (gtk_paned_expose): fix this to be sane
3123
3124         * gtk/gtkvpaned.c (gtk_vpaned_expose): Add an expose handler
3125
3126         * gtk/gtkhpaned.c (gtk_hpaned_expose): Add an expose handler
3127
3128         * gtk/gtknotebook.c (gtk_notebook_draw_tab): put in a temporary 
3129         hack to avoid infinite loops (synthetic expose event) - 
3130         Owen has more appropriate fixes in a branch he'll check in later.
3131
3132         * gtk/gtktextiter.c (gtk_text_iter_ends_line): handle paragraph
3133         separator, CR, and CRLF as line ends
3134
3135         * gtk/gtktextbtree.c (gtk_text_btree_insert): on insertion, break
3136         into lines using pango_find_paragraph_boundary(); other bits of
3137         the widget are still going to be broken if the boundary isn't '\n'
3138         though
3139
3140 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3141
3142         * gdk/linux-fb/gdkfont-fb.c (gdk_text_width): Divide size by 2, not
3143         multiply.
3144
3145         * gdk/linux-fb/gdkpango-fb.c:
3146         Copied some 26.6 scaling macros from pango to clean up the rounding.
3147         (pango_fb_font_get_glyph_info): Correct sign on x value.
3148
3149         * gdk/linux-fb/gdkprivate-fb.h:
3150         Removed unreferenced external functions.
3151
3152         * modules/linux-fb/Makefile.am: Use ` instead of '.
3153
3154         * modules/linux-fb/basic.c:
3155         Remove dead code. In particular the dummy lang engine which broke all
3156         pango layouts in GtkFB. Don't include tables-big.i anymore.
3157
3158         * modules/linux-fb/tables-big.i:
3159         Upgrade to latest version from pango. Left for reference, basic_ranges
3160         moved to basic.c.
3161         
3162 2000-12-04  Havoc Pennington  <hp@redhat.com>
3163
3164         Fix bugs Alex found:
3165         
3166         * gtk/gtktooltips.c (gtk_tooltips_force_window): nuke connection
3167         to "draw"
3168
3169         * gtk/gtkdnd.c (gtk_drag_highlight): nuke connection to "draw"
3170
3171         * gtk/gtkcolorsel.c (palette_new): nuke connection to "draw"
3172
3173         * gtk/gtklistitem.c (gtk_list_item_expose): Put the old _draw() 
3174         implementation in here, apparently the expose() implementation was
3175         dead code.
3176
3177 2000-12-04  Alexander Larsson  <alexl@redhat.com>
3178
3179         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3180         Return positive descent.
3181
3182 2000-12-02  Havoc Pennington  <hp@pobox.com>
3183
3184         * gtk/gtkwidget.h (struct _GtkWidgetClass): Remove "draw" virtual
3185         method and signal
3186         
3187         * gtk/gtkwidget.c (gtk_widget_draw): Now just queues a draw then
3188         calls gdk_window_process_updates() to push the exposes through
3189         (gtk_widget_class_init): No more draw signal, no
3190         gtk_widget_real_draw()  
3191         
3192         * gtk/gtkbin.c (gtk_bin_draw): remove
3193
3194         * gtk/gtkbox.c (gtk_box_draw): remove
3195
3196         * gtk/gtkbutton.c (gtk_button_draw): remove
3197
3198         * gtk/gtkcalendar.c (gtk_calendar_draw): remove
3199
3200         * gtk/gtkcheckbutton.c (gtk_check_button_draw): remove
3201
3202         * gtk/gtkcheckmenuitem.c (gtk_check_menu_item_draw): remove
3203
3204         * gtk/gtkclist.c (gtk_clist_draw): remove
3205
3206         * gtk/gtkentry.c (gtk_entry_draw): remove
3207
3208         * gtk/gtkeventbox.c (gtk_event_box_draw): remove
3209
3210         * gtk/gtkfixed.c (gtk_fixed_draw): remove
3211
3212         * gtk/gtkframe.c (gtk_frame_draw): remove
3213
3214         * gtk/gtkhandlebox.c (gtk_handle_box_draw): remove
3215
3216         * gtk/gtkhpaned.c (gtk_hpaned_draw): remove
3217
3218         * gtk/gtklayout.c (gtk_layout_draw): remove
3219
3220         * gtk/gtklist.c (gtk_list_draw): remove
3221
3222         * gtk/gtklistitem.c (gtk_list_item_draw): remove
3223
3224         * gtk/gtkmenu.c (gtk_menu_draw): remove
3225
3226         * gtk/gtkmenubar.c (gtk_menu_bar_draw): remove
3227
3228         * gtk/gtkmenuitem.c (gtk_menu_item_draw): remove
3229
3230         * gtk/gtknotebook.c (gtk_notebook_draw): remove
3231
3232         * gtk/gtkoptionmenu.c (gtk_option_menu_draw): remove
3233
3234         * gtk/gtkpacker.c (gtk_packer_draw): remove
3235
3236         * gtk/gtkrange.c (gtk_range_draw): remove
3237
3238         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_draw): remove
3239
3240         * gtk/gtkspinbutton.c (gtk_spin_button_draw): remove
3241
3242         * gtk/gtktable.c (gtk_table_draw): remove
3243
3244         * gtk/gtktearoffmenuitem.c (gtk_tearoff_menu_item_draw): remove
3245
3246         * gtk/gtktext.c (gtk_text_draw): remove
3247
3248         * gtk/gtktextview.c (gtk_text_view_draw): remove
3249
3250         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): remove
3251
3252         * gtk/gtktoolbar.c (gtk_toolbar_draw): remove
3253
3254         * gtk/gtktree.c (gtk_tree_draw): remove
3255
3256         * gtk/gtktreeitem.c (gtk_tree_item_draw): remove
3257
3258         * gtk/gtktreeview.c (gtk_tree_view_draw): remove
3259
3260         * gtk/gtkviewport.c (gtk_viewport_draw): remove
3261
3262         * gtk/gtkvpaned.c (gtk_vpaned_draw): remove
3263
3264         * gtk/gtkvscale.c (gtk_vscale_draw): remove
3265
3266         * gtk/gtkwindow.c (gtk_window_draw): remove
3267
3268 2000-20-01  Anders Carlsson  <andersca@gnu.org>
3269
3270         * gtk/gtktogglebutton.c (gtk_toggle_button_draw): Fix bug when
3271         a GtkToggleButton is both insensitive and active, it was being
3272         drawn by the GtkButton draw handler which doesn't check the
3273         state. Now it's calling gtk_toggle_button_paint instead.
3274         
3275 2000-12-01  Havoc Pennington  <hp@redhat.com>
3276
3277         * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
3278         dangling pointers to the appearance attributes from the 
3279         line display
3280
3281         * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
3282         width/height to mean "full width/height of drawable"
3283
3284         * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
3285         click to select word/line
3286         
3287         * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters 
3288         when getting log attrs. Get a slice, so that pixmaps and stuff
3289         are properly handled.
3290
3291         * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
3292         paste into the selection (replaces selection now, previously
3293         crashed or added to selection). Reveals longstanding btree bug -
3294         select multiple lines, middle-click on the selection, boom. This
3295         isn't related to my changes though.
3296
3297         * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
3298         PangoLogAttrs changes
3299         (gtk_entry_move_backward_word): ditto
3300
3301         * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
3302         functions return bool whether the iter moved onto a
3303         dereferenceable position.
3304  
3305         * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
3306         functions for motion in terms of display lines.
3307
3308         * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
3309         get the buffer a mark is inside
3310         
3311 2000-12-01  Alexander Larsson  <alexl@redhat.com>
3312
3313         * gdk/linux-fb/Makefile.am:
3314         * modules/linux-fb/Makefile.am:
3315         Freetype 2 final uses freetype-config
3316
3317         * gdk/linux-fb/gdkpango-fb.c:
3318         Upgrade to use Freetype 2 final.
3319         More flexible support for font aliases, this also fixes a bug with
3320         GtkFontSelector, as the aliases must be visible in the font/family list,
3321         or GtkFontSelector reads uninitialized memory.
3322
3323 2000-11-30 Hidetoshi Tajima  <tajima@eng.sun.com>
3324
3325         * modules/input/gtkimcontextxim.c (setup_im): Add NULL argument to
3326         XGetIMValues to properly terminate variable argument list, and do
3327         NULL return check for ic_values and xim_styles.
3328
3329         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset):
3330         Restore preedit state after XmbResetIC().
3331         
3332         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_get_ic):
3333         XvaCreateNestedList() should take XvaNestedList, but not
3334         XvaNestedList*.
3335
3336         * modules/input/gtkimcontextxim.c (gtk_im_context_xim_reset,
3337         preedit_draw_callback, preedit_caret_callback): Match
3338         "preedit-changed" signal name to "preedit_changed" to be
3339         consistent to the spec.
3340
3341         * gtk/gtkimcontextsimple.c (check_table):
3342         Match "preedit-changed" to "preedit_changed" to be consistent
3343         to the spec.
3344
3345 Thu Nov 30 23:03:04 2000  Owen Taylor  <otaylor@redhat.com>
3346
3347         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Properly handle
3348         gc->clip_region == NULL>
3349
3350 2000-11-30  Tor Lillqvist  <tml@iki.fi>
3351
3352         Changes by Hans Breuer:
3353         
3354         * gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
3355         Dont't use negative width and height as max_hints. This fixes
3356         Owen's recent testgtk changes for win32.
3357
3358         * gdk/win32/gdkgc-win32.c (gdk_win32_hdc_get,
3359         gdk_win32_hdc_release): These are exported and may be called with
3360         other drawable types than our GdkDrawableImplWin32 (?).
3361
3362         * gdk/gdkwindow.c: Backing store appears to work on Windows now,
3363         so always #define USE_BACKING_STORE.
3364
3365         * gtk/gtktextdisplay.c (render_layout_line): Use g_print instead
3366         of printf for debugging output.
3367
3368         * gtk/gtktextlayout.c (allocate_child_widgets): Ditto.
3369         
3370         * gtk/gtktextview.c (gtk_text_view_child_allocated): Ditto.
3371
3372         * gtk/gtkmain.h (GTKMAIN_C_VAR): Win32 fix for dllimport
3373         declaration.
3374
3375         * gtk/gtktexttypes.h: Ditto.
3376
3377         * gtk/gtklabel.c (gtk_label_set_markup_with_accel): Return a value
3378         (GDK_VoidSymbol) also if in case of arg check failure.
3379
3380         * gtk/gtkimcontextsimple.c
3381         (gtk_im_context_simple_get_preedit_string): Don't assign cursor
3382         position to the pointer, but to the variable it points to.
3383
3384         * gtk/makefile.msc.in (DEFINES): Define GTK_VERSION.
3385
3386         * gtk/gtk.def: Updates.
3387
3388 2000-11-29  Elliot Lee  <sopwith@redhat.com>
3389
3390         * gtk/gtkmodelsimple.c: Inherits from GTK_TYPE_OBJECT, not
3391         GTK_TYPE_TREE_MODEL.
3392
3393 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3394
3395         * gdk/linux-fb/gdkfont-fb.c (gdk_font_from_description):
3396         Set the size of the font from the description.
3397         (gdk_text_width): Gross hack that calculates the width
3398         of text by text_length * size/2. This is necessary because
3399         GtkLabel does some ugly gtk_string_width call to calculate
3400         an good size.
3401         (linux-fb/gdkprivate-fb.h): Removed unused field FT_Face.
3402
3403 Wed Nov 29 13:39:19 GMT 2000  Tony Gale <gale@gtk.org>
3404
3405         * docs/tutorial/gtk-tut.sgml: DND updates
3406
3407 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3408
3409         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_clear_area):
3410         If you pass width or height == 0 to gdk_window_clear_area they
3411         should be calculated from the window size.
3412
3413 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3414
3415         * gdk/linux-fb/gdkinput-ps2.c (move_pointer): If there is
3416         a grab, but no grab-cursor, use the cursor from the grabbed
3417         window. (gdk_fb_window_send_crossing_events): Send normal
3418         enter/leave notifications if grab and owner_events == TRUE.
3419
3420 2000-11-29  Alexander Larsson  <alexl@redhat.com>
3421
3422         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3423         Do implicit button grabs, even if the window doesn't
3424         want the event.
3425         (gdk_fb_window_send_crossing_events): If there is a
3426         grab, only the grabbed window gets normal enter/leave
3427         notifications. On ungrab go from grabbed window to current.
3428         Don't send any notification to b when propagating from c -> b.
3429         If setting a grab on window, don't set prev_window.
3430         (handle_mouse_input): Send enter/leave events to the window the
3431         mouse is over, not the grabbed one.
3432         
3433 2000-11-28  Elliot Lee  <sopwith@redhat.com>
3434
3435         * gdk/gdkregion-generic.c: Zap warning.
3436         * modules/input/Makefile.am: Only build im-xim if USE_X11 is enabled
3437         * gtk/gtkrc.c: s/strcpy/memcpy/ to save a few nanoseconds.
3438
3439 2000-11-28  Alexander Larsson  <alla@lysator.liu.se>
3440
3441         * gdk/linux-fb/gdkwindow-fb.c (gdk_fb_window_move_resize):
3442         The cursor should be hidden if it is part of either the
3443         source or destination region. Not only if it is in both.
3444         (gdk_window_set_transient_for): Silence warnings.
3445
3446 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3447
3448         * gdk/linux-fb/mifillarc.c (miFillArcSliceSetup):
3449         The default mode in X is Pie Arcs, therefore that is
3450         what Gtk+ uses.
3451
3452 2000-11-28  Alexander Larsson  <alexl@redhat.com>
3453
3454         * gdk/linux-fb/gdkinput-ps2.c:
3455         Implement correct EnterNotify/LeaveNotify:
3456         (gdk_fb_window_send_crossing_events): New function that sends
3457         all GdkCrossingEvents from the last mouse-window to the specified
3458         destination.
3459         (gdk_fb_window_visibility_crossing): Removed function.
3460         (handle_mouse_input): Use gdk_fb_window_send_crossing_events()
3461         (send_button_event, gdk_fb_cursor_reset): Use gdk_window_at_pointer
3462         instead of gdk_window_get_pointer() for better readability.
3463
3464         * gdk/linux-fb/gdkmain-fb.c (gdk_fb_pointer_grab,
3465         gdk_fb_pointer_ungrab): Use gdk_fb_window_send_crossing_events.
3466
3467         * gdk/linux-fb/gdkprivate-fb.h:
3468         removed gdk_fb_window_visibility_crossing, added
3469         gdk_fb_window_send_crossing_events and gdk_fb_find_common_ancestor.
3470
3471         gdk/linux-fb/gdkwindow-fb.c (gdk_fb_find_common_ancestor):
3472         New function that finds the least common ancestor of two windows.
3473         (gdk_window_show, gdk_window_hide):
3474         Use gdk_fb_window_send_crossing_events.
3475         (gdk_fb_window_move_resize): Send configure events to toplevel
3476         windows. Use gdk_fb_window_send_crossing_events.
3477
3478 2000-11-27  Havoc Pennington  <hp@redhat.com>
3479
3480         * gtk/gtkprivate.h (enum): Remove a trailing comma
3481
3482 2000-11-27  Federico Mena Quintero  <federico@helixcode.com>
3483
3484         * gtk/gtkspinbutton.c (gtk_spin_button_set_adjustment): Connect to
3485         the "changed" callback of the adjustment.  We need to redraw the
3486         spin button's arrows when the adjustment's range changes.
3487         (adjustment_changed_cb): Draw the arrows.
3488         (gtk_spin_button_value_changed): Draw the arrows.
3489
3490 2000-11-23  Alexander Larsson  <alexl@redhat.com>
3491
3492         * gdk/linux-fb/gdkselection-fb.c:
3493         Initial selection implementation.
3494
3495         * gtk/gtkselection.c:
3496         if GDK_WINDOWING_FB defined, include linux-fb/gdkfb.h and look up
3497         requestor in gtk_selection_request.
3498         
3499         * gdk/linux-fb/gdkfb.h, gdk/linux-fb/gdkglobals-fb.c:
3500         Added gdk_selection_property atom.
3501
3502         * gdk/linux-fb/gdkprivate-fb.h:
3503         Export _gdk_selection_window_destroyed.
3504         Removed mask_off_x/y from GdkCursorPrivateFB.
3505         Removed hbearing, added top, left to PangoFBGlyphInfo.
3506
3507         * gdk/linux-fb/gdkwindow-fb.c (_gdk_windowing_window_destroy):
3508         Call _gdk_selection_window_destroyed
3509         (_gdk_windowing_window_init): Don't call gdk_cursor_new() before
3510         the root window has been created.
3511         (static_dx_hack, static_dy_hack, compare_draw_rects,
3512         gdk_fb_window_move_resize): Remove unnecessary sort of rectangles
3513         in region. They are already sorted. Instead just traverse them in
3514         reverse if draw_direction < 0.
3515         
3516         * gdk/linux-fb/gdkinput-ps2.c (send_button_event):
3517         Double-clicks must be sent after the normal button_press.
3518         (gdk_fb_cursor_unhide): Remove usage of mask_off_x/y. Clean up.
3519         
3520         * gdk/linux-fb/gdkgeometry-fb.c (gdk_window_scroll):
3521         Pass _gdk_fb_screen_gc instead of NULL.
3522
3523         * gdk/linux-fb/gdkmain-fb.c (_gdk_windowing_init_check):
3524         Initialize gdk_selection_property.
3525         (gdk_event_make): Remove unused code.
3526
3527         * gdk/linux-fb/gdkcursor-fb.c:
3528         Make the pixmap for the cursor the same size as the mask. Also remove
3529         the mask_off_x/y fields in GdkCursorPrivateFB and combine
3530         _gdk_cursor_new_from_pixmap() and gdk_cursor_new_from_pixmap()
3531         Now the whole cursor is visible.
3532
3533         * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_draw_drawable_3):
3534         Fix bug where xdest+height instead of ydest+height was used
3535         to calculate if the source and dest overlapped. This fixes the
3536         redraw bug when the main window in testgtk was scrolled when
3537         partially covered by a tall window.
3538         Copy rectangles in region in order depending on draw_direction.
3539         Also moved the draw_direction flipping of start_y and end_y into
3540         the gc functions, as this might not be what all of them want.
3541         (gdk_fb_draw_lines): Support dashed lines.
3542         (gdk_fb_draw_glyphs): Clean up glyph placement. Also fix positioning
3543         so that the text is positioned correctly (was 1 pixel high).
3544
3545         gdk/linux-fb/gdkgc-fb.c:
3546         Initialize cap_style to GTK_CAP_BUTT. This fixes a problem where
3547         all lines were drawn a pixel to short. Also checked the default of
3548         the rest of the values, and they're the same as X now.
3549
3550         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_glyph_info):
3551         Clean up pixel positioning of the glyphs. Just use bgy->top and
3552         bgy->left. Also used PANGO_PIXEL where appropriate and added 0.5
3553         to all divisions to get correct rounding behaviour.
3554
3555         * gdk/linux-fb/gdkrender-fb.c (gdk_fb_draw_drawable_generic,
3556         gdk_fb_draw_drawable_memmove, gdk_fb_draw_drawable_aa_24):
3557         Moved start_y/end_y flip into draw_drawable implementations.
3558         Flip also x rendering when draw_direction < 0.
3559         Remove unneccesary multiply with draw_direction.
3560
3561 Wed Nov 22 14:11:19 GMT 2000  Tony Gale <gale@gtk.org>
3562
3563         * docs/tutorial/gtk-tut.sgml:
3564           - get rid of gtk_toggle_button_toggled FUD
3565           - start DND section - needs work - based on:
3566                 http://wolfpack.twu.net/docs/gtkdnd/
3567
3568 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3569
3570         * gdk/linux-fb/gdkpango-fb.c (pango_fb_font_get_metrics):
3571         Correct calculation of font metrics. Now GtkEntrys have sane
3572         size.
3573
3574 2000-11-22  Alexander Larsson  <alexl@redhat.com>
3575
3576         * gdk/gdktypes.h:
3577         Add new type GdkSpan
3578         
3579         * docs/reference/gdk/gdk-sections.txt,
3580         docs/reference/gdk/tmpl/regions.sgml, gdk/gdkregion-generic.c,
3581         gdk/gdkregion.h:
3582         Implement and document gdk_region_spans_intersect_foreach.
3583
3584         * gdk/linux-fb/Makefile.am, gdk/linux-fb/gdkrender-fb.c:
3585         Add new file gdkrender-fb.c which contains all core
3586         rendering code.
3587         Add gdk_fb_fill_rectangle_generic (old rectangle code) and
3588         gdk_fb_fill_rectangle_simple_16, gdk_fb_fill_rectangle_simple_32
3589         (optimized rectangle fillers).
3590
3591         * gdk/linux-fb/gdkdrawable-fb2.c:
3592         Move all rendering code to gdkrender-fb.c.
3593         Change from using GdkRectangles and GdkSegments for spans to GdkSpan.
3594         Use the new span intersection functions in gdk_fb_fill_spans.
3595         gdk_fb_draw_rectangle() clips filled rectangles and calls
3596         gc->fill_rectangle with the result.
3597         gdk_fb_fill_spans() gets extra argument "sorted".
3598
3599         * gdk/linux-fb/gdkevents-fb.c:
3600         Remove unused includes and defines.
3601         New function gdk_fb_get_time() to get correct time for events.
3602
3603         * gdk/linux-fb/gdkinput-ps2.c:
3604         Use gdk method of generating multiple-clicks (gdk_event_button_generate)
3605         Make sure to set the time of all events.
3606
3607         * gdk/linux-fb/gdkmain-fb.c:
3608         Use gdk_fb_get_time ().
3609
3610         * gdk/linux-fb/gdkprivate-fb.h:
3611         New virtual GC calls: fill_span & fill_rectangle.
3612         Export gdk_fb_get_time().
3613         gdk_fb_fill_spans() gets extra argument "sorted".
3614
3615         * gdk/linux-fb/mi*.c:
3616         Use GdkSpan instead of GdkRectangle.
3617         Pass correct sorted to gdk_fb_fill_spans. (sorted value taken
3618         from XFree 4 source)
3619         
3620 2000-11-22    <jrb@redhat.com>
3621
3622         * gtk/gtktreeview.c (gtk_tree_view_calc_size): It's amazing what
3623         reversing the order in an if statement will do.  Doing so managed
3624         to make the treemodelsort half work.  Other half will follow after
3625         I get the insert function fully fixed.
3626
3627 2000-11-21  Elliot Lee  <sopwith@redhat.com>
3628         * gtk/gtkmenushell.h: GdkEventButton->button can occupy significantly
3629         more than 2 bits. Besides, I need to implement an evil hack. :)
3630
3631 Tue Nov 21 14:17:51 GMT 2000  Tony Gale <gale@gtk.org>
3632
3633         * docs/tutorial/gtk-tut.sgml: minor corrections
3634
3635 2000-11-20  Jonathan Blandford <jrb@redhat.com>
3636         * gtk/gtktreemodelsort.h: Add convertion functions to let you
3637           convert to and from relative path's and iters.
3638
3639         * gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
3640           testing sorting functions a bit better.  Currently broken -- will
3641           fix in morning.
3642
3643 2000-11-20  Havoc Pennington  <hp@redhat.com>
3644
3645         * gtk/gtkwidget.c: Documented a bunch of functions in here
3646         (gtk_widget_realize): Warn if you try to realize
3647         a widget with no parent that isn't a toplevel
3648         (gtk_widget_intersect): return a gboolean
3649
3650 2000-11-20  Havoc Pennington  <hp@redhat.com>
3651
3652         * gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
3653         gtk/testtext.c: Semi-finish widget embedding. Need guffaw
3654         scrolling to be implemented in GDK to finish. Also, right now
3655         we just size_allocate all children on every layout change,
3656         which is pretty lame. Test commented out of testtext.c, 
3657         until it works better.
3658
3659 2000-11-20  Alexander Larsson  <alla@lysator.liu.se>
3660
3661         * gdk/linux-fb/gdkdrawable-fb2.c:
3662         Removed unused arguments from gdk_fb_drawable_get_pixel().
3663
3664         * gdk/linux-fb/gdkinput-ps2.c (handle_input_ps2):
3665         Renamed fidur specific mouse packet data in MouseDevice to
3666         generic. Used it in ps2 mouse handling code to avoid blocking
3667         reads.
3668
3669 Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
3670
3671         * demos/gtk-demo/main.c: Changed to have the list become
3672         non-italic when the demo window is destroyed through an external
3673         event (like a close button).  Doing so found three bugs in the
3674         widget.
3675
3676         * demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
3677
3678         * gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
3679         we actually set the cell.
3680
3681         * gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
3682
3683         * gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
3684         free a leaked path.  Thanks memprof.
3685
3686 Sat Nov 18 11:58:17 2000  Owen Taylor  <otaylor@redhat.com>
3687
3688         * gdk/gdkrgb.c (gdk_rgb_allocate_images): Fix 
3689         off-by-one error when destroying allocated segments
3690         on failure. (Elliot)
3691
3692 Sat Nov 18 11:45:09 2000  Owen Taylor  <otaylor@redhat.com>
3693
3694         * gtk/gtkcalendar.c: Patch from ChiDeok Hwang to fix
3695         memleaks found by Evan Martin.
3696
3697 Fri Nov 17 20:14:20 2000  Owen Taylor  <otaylor@redhat.com>
3698
3699         * Released 1.3.2
3700         
3701         * NEWS: Updates for 1.3.2
3702
3703 2000-11-17  Tor Lillqvist  <tml@iki.fi>
3704
3705         * gdk/gdkevents.h: Add comment that GdkXEvent isn't only for XEvent,
3706         but in general for window system specific events.
3707
3708         * gtk/gtk.def
3709         * gtk/makefile.mingw.in
3710         * gtk/makefile.msc.in: Update.
3711         
3712         * gtk/gtktexttypes.h: Mark variables for export/import from DLL.
3713
3714 Thu Nov 16 16:11:39 2000  Owen Taylor  <otaylor@redhat.com>
3715
3716         * gtk/Makefile.am (EXTRA_DIST): Do not, in any circumstances,
3717         distribute gtk.immodules.
3718
3719         * gtk/Makefile.am (install-data-local): Don't install the
3720         gtk.immodules file created for the uninstalled modules;
3721         instead run gtk-query-immodules after install
3722
3723 Wed Nov 15 21:51:31 2000  Owen Taylor  <otaylor@redhat.com>
3724
3725         * modules/input/Makefile.am (im_xim_la_LDFLAGS): Point
3726         -rpath to the right install location.
3727
3728         * modules/input/Makefile.am (im_inuktitut_la_LDFLAGS): Remove
3729         -export-dynamic.
3730
3731         * gtk/gtkthemes.c (gtk_theme_engine_get): Set engine->name
3732         properly.
3733
3734 2000-11-15  Havoc Pennington  <hp@pobox.com>
3735
3736         * gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
3737         patch from Mikael Hermansson to temporarily stop blinking while
3738         the user is using the keyboard to type or navigate. 
3739
3740         Also, when blinking, stay on for longer than we stay off. Also,
3741         return from start_cursor_blink if !cursor_visible, to save
3742         checking that flag all over the place before we call
3743         start_cursor_blink.
3744
3745 Thu Nov 16 01:25:51 2000  Robert Brady  <robert@suse.co.uk>
3746
3747         * gtk/gtkrc.*: Remove the locale-specific gtkrc's, as they
3748         only contain a "fontset" line, which is now ignored.
3749
3750         * gtk/gtkentry.c (gtk_entry_button_release): Make 
3751         double-click-to-select-word work.
3752         
3753 Wed Nov 15 20:16:54 2000  Owen Taylor  <otaylor@redhat.com>
3754
3755         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): 
3756         Don't move back one char when we are actually at the end of the 
3757         paragraph.
3758
3759 2000-11-15  Robert Brady  <robert@suse.co.uk>
3760
3761         * modules/input/iminuktitut.c (inuktitut_compose_seqs): 
3762         'o' < 'p'.
3763         
3764         * gtk/gtkmain.c: s/CODSET/CODESET/, include <libintl.h> for
3765         bind_textdomain_codeset.
3766
3767         (gtk_init_check): Make the warning about translating default:LTR
3768         sterner.
3769         
3770 Wed Nov 15 18:39:40 2000  Owen Taylor  <otaylor@redhat.com>
3771
3772         * **/Makefile.am : remove unecessary rules for win32-specific
3773         config-substituted targets. If you want these rules, use
3774         --enable-maintainer-mode (called automatically by autogen.sh).
3775         Stops a lot of unneccessary make-time warnings.
3776
3777         * gtk/gtktext{layout,display}.c: Factor in total width as
3778         well as screen when figuring alignment for word-wrap as well as
3779         no wrap; this is necessary to handle lines that cannot be wrapped
3780         at all.
3781
3782 2000-11-15  Havoc Pennington  <hp@redhat.com>
3783
3784         * gtk/testtext.c: Implement essential color cycling feature
3785
3786 2000-11-15  Havoc Pennington  <hp@redhat.com>
3787
3788         * gtk/gtktextview.c (changed_handler): Invalidate the side windows
3789         when we invalidate the main window.
3790
3791         * gtk/testtext.c (create_view): Get rid of text_changed_callback,
3792         GtkTextView will now invalidate the side windows for us when text
3793         changes.
3794
3795 Wed Nov 15 16:02:20 2000  Owen Taylor  <otaylor@redhat.com>
3796
3797         * gtk/gtktextview.c (changed_handler): Call scroll_calc_now()
3798         unconditionally, since we may need to update the horizontal
3799         scrollbars even if the height didn't change.
3800
3801         * gtk/gtktextlayout.c (add_preedit_attrs): Always get
3802         the extra attrs, since some of them affect size.
3803
3804         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Factor in
3805         x_offset correctly.
3806
3807 2000-11-15  Havoc Pennington  <hp@redhat.com>
3808
3809         * gtk/gtktextlayout.c (set_para_values): If indent is negative,
3810         don't move the first line out into the margin, instead move the
3811         whole paragraph in order to make space for the first line within 
3812         the margin
3813
3814 2000-11-15  Havoc Pennington  <hp@redhat.com>
3815
3816         * gtk/gtktextview.c (changed_handler): offset redraw rect by
3817         xoffset in addition to yoffset, so horizontal scrolling doesn't
3818         break redraws
3819
3820 2000-11-15  Havoc Pennington  <hp@redhat.com>
3821
3822         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Remove extra pixel
3823         from the cursor
3824         (render_layout_line): fix reversed test that caused weird
3825         underlines to get drawn
3826
3827 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3828
3829         * gdk/linux-fb/gdkprivate-fb.h:
3830         Fix debug macros.
3831         
3832 2000-11-15  Alexander Larsson  <alla@lysator.liu.se>
3833
3834         * gdk/linux-fb/gdkprivate-fb.h:
3835         Added virtual functions set_pixel, get_color,
3836         fill_span and draw_drawable to the GC.
3837         Added global _gdk_fb_screen_gc to use instead of
3838         NULL when drawing to the screen.
3839         Added _gdk_fb_gc_calc_state() prototype.
3840
3841         * gdk/linux-fb/gdkgc-fb.c:
3842         Call _gdk_fb_gc_calc_state() on any gc state change.
3843
3844         * gdk/linux-fb/gdkglobals-fb.c:
3845         Add _gdk_fb_screen_gc
3846                 
3847         * gdk/linux-fb/gdkdrawable-fb2.c:
3848         _gdk_fb_gc_calc_state() calculates best functions
3849         for the GC state and depth.
3850         Moved bpp specialized code to separate functions.
3851         Added optimized 24 bpp AA draw_drawable.
3852
3853         * gdk/linux-fb/gdkevents-fb.c:
3854         Silence gcc warning.
3855
3856         * gdk/linux-fb/gdkimage-fb.c:
3857         Use _gdk_fb_screen_gc
3858
3859         * gdk/linux-fb/gdkwindow-fb.c:
3860         Init and use _gdk_fb_screen_gc
3861
3862         * gdk/linux-fb/mitypes.h:
3863         Remove unused types.
3864
3865 2000-11-14  Havoc Pennington  <hp@pobox.com>
3866
3867         * gtk/gtktextlayout.c (add_cursor): use PANGO_PIXELS() to convert
3868         to pixels
3869
3870 2000-11-14  Havoc Pennington  <hp@pobox.com>
3871
3872         * gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"
3873
3874         * gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
3875         unknown char, no real reason we were using a variable. 
3876         Remove gtk_text_unknown_char variable. Fix all the text widget
3877         files accordingly.
3878
3879         * gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC, 
3880         since the Unicode spec seems to prefer that character for our
3881         purposes.
3882
3883 Wed Nov 15 02:18:01 2000  Robert Brady  <robert@suse.co.uk>
3884
3885         * gtk/gtkrc.c (gtk_rc_get_im_module_file): The return 
3886         value of g_getenv() isn't freeable, so g_strdup it.
3887
3888         * modules/input/inuktitut.c: Inuktitut input method.
3889
3890         * modules/input/Makefile.am: Build this.
3891         
3892 2000-11-14  Elliot Lee  <sopwith@redhat.com>
3893
3894         * gtk/Makefile.am: Install gtk.immodules, needed for operation
3895         of gtk programs.
3896
3897 Tue Nov 14 20:13:06 2000  Owen Taylor  <otaylor@redhat.com>
3898
3899         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): Fix
3900         reversed > that was causing Home to go to end of previous line.
3901
3902         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress): Ignore
3903         modified-keypresses (leave for bindings.)
3904
3905         * modules/input/Makefile.am: Remove useless -export-dynamic
3906         from module LDFLAGS.
3907
3908 2000-11-14  Havoc Pennington  <hp@redhat.com>
3909
3910         * gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
3911         higher.
3912
3913         * gtk/gtktextdisplay.c (render_layout_line): Take rise into
3914         account. Also, render rise, underline, background, etc. for
3915         pixbufs as well as text. Also, draw underlines one pixel higher.
3916
3917         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
3918         PangoAttribute for the rise, so it gets drawn properly. Also,
3919         add the GtkTextAppearance attribute for pixbuf/widget segments
3920         as well; we should go ahead and have rise, underline, background,
3921         stipple work for those
3922
3923         * gtk/gtktexttag.c: Rename "offset" property to "rise" to match
3924         Pango
3925
3926 2000-11-15  Tor Lillqvist  <tml@iki.fi>
3927
3928         * gtk/makefile.{mingw,msc}.in (gtk_OBJECTS): Add new objects.
3929
3930         * gtk/gtk.def: Update.
3931
3932         * gtk/gtkrc.c: Can't check for G_OS_WIN32 until glib.h has been
3933         included.
3934         (gtk_rc_get_im_module_file): Use run-time installation directory
3935         on Win32.
3936
3937         * gdk/win32/rc/gdk.rc: Remove.
3938         * gdk/win32/rc/gdk.rc.in: New file.
3939         * gdk/win32/rc/Makefile.am: New file
3940         * gdk/win32/Makefile.am: Corresponding changes.
3941
3942         * gtk/gtk.rc: Remove.
3943         * gtk/gtk-win32.rc.in: New file.
3944         * gtk/Makefile.am: Corresponding changes.
3945
3946         * configure.in: Corresponding changes.
3947
3948         * gtk/gtkcompat.h.win32: Remove, useless. A distribution already
3949         has a built gtkcompat.h. Developers using CVS code on Win32 can
3950         hand-edit it from gtkcompat.h.in.
3951
3952         * gtk/makefile.{mingw,msc}.in: Correspondingly don't try to make
3953         gtkcompat.h from gtkcompat.h.win32.
3954
3955 2000-11-14  Havoc Pennington  <hp@redhat.com>
3956
3957         * gtk/gtktextview.c (gtk_text_view_drag_motion): Fix drag-and-drop
3958         to default to GDK_ACTION_MOVE if the drag is within a single
3959         widget. Defaults to GDK_ACTION_COPY between widgets.
3960
3961 Mon Nov 13 14:43:48 2000  Owen Taylor  <otaylor@redhat.com>
3962
3963         * demos/Makefile.am (test-inline-pixbufs.h): Fix srcdir != builddir
3964
3965         * gtk/Makefile.am (INCLUDES): Add -I$(builddir)/gtk
3966
3967         * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Handles
3968         srcdir != builddir
3969
3970         * modules/input/Makefile.am (INCLUDES): add $(top_srcdir)/gdk
3971
3972         * configure.in (GTK_VERSION): Up to 1.3.2
3973
3974         * modules/input/Makefile.am (im_xim_la_SOURCES): Add 
3975         gtkimcontextxim.h
3976
3977         * gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): Add
3978         missing doc comment.
3979
3980 2000-11-14  Alexander Larsson  <alexl@redhat.com>
3981
3982         * modules/linux-fb/basic.c:
3983         Use the glib iconv wrappers.
3984
3985 2000-11-13  Havoc Pennington  <hp@pobox.com>
3986
3987         * demos/gtk-demo/textview.c: spiff up the demo a bit; reveals
3988         still more bugs.
3989
3990         * gtk/gtktextview.c (gtk_text_view_value_changed): don't try to
3991         scroll the GdkWindows before realization.
3992
3993 2000-11-13  Havoc Pennington  <hp@redhat.com>
3994
3995         * gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug 
3996         where GC didn't always get updated properly
3997
3998         * demos/gtk-demo/textview.c (create_tags): Use subattributes
3999         of fonts instead of setting the entire font
4000
4001         * gtk/testtext.c (fill_example_buffer): Use "size" instead of
4002         setting entire font
4003
4004         * gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings
4005
4006         * gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into 
4007         a bunch of individually-settable font attributes. You can still 
4008         use the "font" and "font_desc" args, they just set all the font
4009         attributes at once.
4010
4011 2000-11-13 Elliot Lee <sopwith@redhat.com>
4012
4013         * gdk/gdk.h: Add a couple of missing G_GNUC_CONST's.
4014
4015 Mon Nov 13 14:29:32 2000  Jonathan Blandford  <jrb@redhat.com>
4016
4017         * gtk/gtktreemodel.c (gtk_tree_path_copy): confirm path != NULL
4018         * gtk/gtktreemodel.c (gtk_tree_path_free): ditto
4019
4020         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): make
4021         work better.
4022
4023 2000-11-13  Havoc Pennington  <hp@redhat.com>
4024
4025         * gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of 
4026         the module file.
4027
4028         * gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
4029         dest->language
4030
4031         * gtk/testtext.c: Test pixels above/below/inside paragraphs
4032         settings
4033
4034         * gtk/gtktextview.c: Implement object args and setters/getters for
4035         all the aspects of the GtkTextAttributes that are not set from
4036         GtkWidget attributes. This is spacing, justification, margins,
4037         etc.
4038
4039         (gtk_text_view_set_arg)
4040         (gtk_text_view_get_arg): implement get/set for editable, wrap mode
4041         args
4042         (gtk_text_view_class_init): Add args for justify, left_margin,
4043         right_margin, indent, and tabs
4044         
4045
4046         * gtk/gtktextlayout.c (set_para_values): fix to display indent
4047         attribute properly
4048
4049         * gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute, 
4050         replace with indent attribute
4051
4052         * gtk/gtktextlayout.c (set_para_values): multiply indent by
4053         PANGO_SCALE
4054
4055         * gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
4056         rearranging code to do that
4057         (gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
4058         i.e. don't subtract the top_margin first, just to keep
4059         all margin-futzing in one place.
4060
4061         * gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter
4062
4063         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
4064         special case of last line, Pango now handles this itself.
4065         (gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the 
4066         Y coordinate
4067         (gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
4068         (find_display_line_above): wasn't moving the byte index as it
4069         iterated over lines, so always returned byte 0. Also, port to use
4070         PangoLayoutIter.
4071         (find_display_line_below): same problem as
4072         find_display_line_above. Also, port to use PangoLayoutIter.
4073
4074 2000-11-13  Alexander Larsson  <alexl@redhat.com>
4075
4076         * gdk/linux-fb/*.[ch]:
4077         Massive reindent to gtk+ standard. My hands hurt.
4078
4079         * gdk/linux-fb/gdkcolor-fb.c:
4080         Move GdkColorPrivateFB from inherited to windowing_data
4081
4082         * gdk/linux-fb/gdkcursor-fb.c:
4083         _gdk_cursor_new_from_pixmap made static
4084
4085         * gdk/linux-fb/gdkdnd-fb.c:
4086         GdkDragContextPrivate moved to windowing_data
4087
4088         * gdk/linux-fb/gdkdrawable-fb2.c:
4089         Removed endian.h, use glib endianness macros instead
4090         Some cleanups in the usage of GDK_DRAWABLE_FBDATA
4091         and GDK_DRAWABLE_IMPL_FBDATA
4092
4093         * gdk/linux-fb/gdkfont-fb.c:
4094         Add empty gdk_font_load(). Needed for linking of Gtk+.
4095
4096         * gdk/linux-fb/gdkimage-fb.c:
4097         Removed endian.h, use glib endianness macros instead
4098         Moved GdkImagePrivateFB to windowing_data
4099         gdk_image_new_bitmap didn't always allocate enough
4100         memory.
4101
4102         * gdk/linux-fb/gdkinput-ps2.c:
4103         Added semi-working support for MS serial mice.
4104
4105         * gdk/linux-fb/gdkprivate-fb.h:
4106         s/GdkWindowPrivate/GdkWindowObject/
4107         Removed GdkWindowPrivate typedef
4108         s/GDK_DRAWABLE_P/GDK_DRAWABLE_FBDATA/
4109         Removed GDK_DRAWABLE_P
4110         Move GdkColorPrivateFB from inherited to windowing_data
4111         Moved GdkImagePrivateFB to windowing_data
4112
4113         * gdk/linux-fb/gdkvisual-fb.c:
4114         Removed some unused debug code.
4115
4116         * gdk/linux-fb/gdkwindow-fb.c:
4117         Use stock cursors instead of including X headers.
4118         s/GdkWindowPrivate/GdkWindowObject/
4119
4120         * gdk/linux-fb/mitypes.h:
4121         Removed unused types.
4122
4123         * modules/linux-fb/basic.c:
4124         Use the pango fribidi wrappers.
4125
4126 2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
4127
4128         * gdk/linux-fb/gdkcolor-fb.c, gdk/nanox/gdkmain-nanox.c,
4129         gdk/win32/gdkcolor-win32.c, gdk/win32/gdkwin32id.c,
4130         gdk/x11/gdkcolor-x11.c, gdk/x11/gdkvisual-x11.c, gdk/x11/gdkxid.c,
4131         gtk/gtkgc.c, gtk/gtkrc.c, gtk/gtktext.c: GCompareFunc ->
4132         GEqualFunc where applicable.
4133         
4134         * gdk/linux-fb/gdkpango-fb.c: pango_font_description_compare ->
4135         pango_font_description_equal as changed in pango.
4136         
4137         * gdk/nanox/gdkmain-nanox.c: gdk_xid_compare -> gdk_xid_equal.
4138
4139         * gdk/win32/gdkcolor-win32.c: gdk_colormap_cmp -> gdk_colormap_equal.
4140
4141         * gdk/win32/gdkwin32id.c: gdk_handle_compare -> gdk_handle_equal.
4142
4143         * gdk/x11/gdkcolor-x11.c: gdk_colormap_cmp -> gdk_colormap_equal.
4144
4145         * gdk/x11/gdkvisual-x11.c: gdk_visual_compare -> gdk_visual_equal.
4146
4147         * gdk/x11/gdkxid.c: gdk_xid_compare -> gdk_xid_equal.
4148
4149         * gtk/gtkgc.c: gtk_gc_key_compare -> gtk_gc_key_equal and
4150         gtk_gc_drawable_compare -> gtk_gc_drawable_equal.
4151
4152         * gtk/gtkrc.c: gtk_rc_style_compare -> gtk_rc_style_equal and
4153         gtk_rc_styles_compare -> gtk_rc_styles_equal.
4154
4155 2000-11-12  Havoc Pennington  <hp@pobox.com>
4156
4157         * demos/gtk-demo/Makefile.am (democodedir): change demo install
4158         dir to datadir/gtk+-2.0/demo
4159
4160         * demos/gtk-demo/textview.c: Text widget demo; reveals all 
4161         sorts of text widget and Pango font bugs. Urgh.
4162
4163         * demos/gtk-demo/Makefile.am (demos): Add textview.c
4164
4165         * demos/gtk-demo/main.c (create_tree): Add instructions at top of
4166         tree that you should double click to see the demo. Fix 
4167         types of variables to reflect changed return values from 
4168         GtkTreeStore and GtkTreeViewColumn constructors.
4169
4170         * gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
4171         newly-created buffer to prepare for GObject semantics
4172
4173         * gtk/testtext.c: don't leak the buffer with GObject semantics
4174
4175         * gtk/testtextbuffer.c: ditto
4176         
4177 2000-11-12  Havoc Pennington  <hp@pobox.com>
4178
4179         Rename this testgtk to gtk-demo to avoid confusion, and 
4180         install it so people can use it as a supplement to 
4181         the documentation.
4182         
4183         * demos/gtk-demo: Moved from demos/testgtk
4184
4185         * demos/testgtk: Removed
4186
4187         * configure.in: make Makefile in gtk-demo
4188         
4189         * demos/gtk-demo/Makefile.am: Install sample source to 
4190         datadir/gtk-demo (maybe there's a better place?), and 
4191         rename the binary to gtk-demo
4192         
4193         * demos/gtk-demo/main.c (load_file): Load installed sample
4194         source if source isn't found in pwd.
4195
4196 2000-11-09  Havoc Pennington  <hp@pobox.com>
4197
4198         * gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char" 
4199         argument to set the char displayed when visibility == FALSE
4200         (gtk_entry_create_layout): If !entry->visible, replace 
4201         all chars with the "invisible char"
4202
4203         * gtk/testgtk.c: Test the invisible_char deal
4204         
4205 Mon Nov 13 02:16:33 2000  Robert Brady  <robert@suse.co.uk>
4206
4207         * gtk/gtkstyle.c (gtk_style_init): Fall back to "fixed" if we
4208         can't get a native font in the right encoding.
4209
4210 Mon Nov 13 00:09:29 2000  Robert Brady  <robert@suse.co.uk>
4211
4212         * configure.in: Chinese .pos have been renamed to zh_CN and zh_TW
4213         respectively.
4214
4215 Sun Nov 12 19:11:42 2000  Owen Taylor  <otaylor@redhat.com>
4216
4217         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_next_line):
4218         Fix warning when moving between paragraphs.
4219
4220         * gtk/gtkentry.[ch]: Change move => move_cursor, 
4221         delete => delete_from_cursor, insert => insert_at_cursor
4222
4223 Sun Nov 12 22:52:51 2000  Robert Brady  <robert@suse.co.uk>
4224
4225         * modules/input/imviqr.c: A vietnamese VIQR-based input method.
4226
4227         * modules/input/imthai-broken.c: A Thai input method for use if
4228         Thai keys are really generating Latin1 keysyms.
4229
4230         * modules/input/Makefile.am: Build these.
4231
4232 Sun Nov 12 22:15:35 2000  Robert Brady  <robert@suse.co.uk>
4233
4234         * gtk/gtkfileselection.c, gdk/win32/gdkfont-win32.c: 
4235         g_filename_{to,from}_utf8 now takes an extra parameter.
4236
4237         * gtk/gtkcalendar.c (gtk_calendar_init): Convert output of
4238         strftime into UTF-8.
4239
4240         (column_from_x, gtk_calendar_paint_day_names): Support RTL
4241         calendars.
4242
4243         (gtk_calendar_paint_day_names): Draw day names in the right 
4244         place.
4245         
4246 Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>
4247
4248         * gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
4249         problem with using result of g_get_charset() backwards -
4250         pointed out by Mikael Hermansson <mikeh@bahnhof.se>.
4251
4252         * gtk/gtkwindow.c (gtk_window_compute_hints): Support
4253         negative min_width/height and max_width/height to
4254         mean "requisition"; this allows setting a window
4255         to be user-resizable in only one direction easily.
4256
4257         * gtk/testgtk.c (create_main_window): Remove hard-coded
4258         usize - set a default size in the vertical direction.
4259
4260 Sun Nov 12 13:33:01 2000  Owen Taylor  <otaylor@redhat.com>
4261
4262         * gtk/gtkrange.c: Add some missing casts. Support 
4263         2 and 3 button clicks on the arrows to mean 
4264         "move by pages" and "jump to end". (Like gtkspinbutton)
4265
4266 2000-11-12 Hans Breuer <Hans@Breuer.Org>
4267
4268         * gdk/win32/makefile.msc : reflect build module changes
4269
4270         * gdk/win32/gdkcursor-win32.c : can't cast to impl type directly
4271         from GdkPixmap*, cast implementation member instead.
4272
4273         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_drawable) : The
4274         passed in drawable is of type GdkDrawableImplWin32, the GdkPixmap *src 
4275         maybe either GdkDrawable or GdkDrawableImpl. Corrected all casts, add
4276         more Gdi functions return value checking. 
4277         (gdk_win32_draw_image) : use IMAGE_PRIVATE_DATA to get on the
4278         GdkImagePrivateWin32 *.
4279
4280         * gdk/win32/gdkevents-win32.c : Disable the SetCapture call to make
4281         menus useable again. Add #pragma message to keep reminded on this issue.
4282         (gdk_event_translate) : don't generate GDK_EXPOSE events for InputOnly
4283         windows. This allows to enable backing store on Win32!
4284
4285         * gdk/win32/gdkimage-win32.c (_gdk_win32_get_image) : the passed
4286         in drawable is of impl type. Correct specific type checks appropriate.
4287  
4288         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_create_from_data) : check 
4289         GDK_WINDOW_DESTROYED before allocating new resources.
4290
4291         * gdk/win32/gdkselection-win32.c : Handle GDK_WINDOW_DESTROYED case
4292
4293         * gdk/win32/gdkwindow-win32.c : more Gdi return value checking,
4294         (gdk_window_foreign_new) initialize parent handle.
4295         (gdk_window_destroy_notify) add GDK_IS_WINDOW check
4296
4297         * gdk/win32/gdkgeometry-win32.c (_gdk_window_move_resize_child) :
4298         Let the GDI invalidate the window on MoveWindow call to fix scrolling
4299         problems (e.g. main buttons in testgtk). 
4300
4301 Sat Nov 11 23:07:30 2000  Owen Taylor  <otaylor@redhat.com>
4302
4303         * gtk/gtkentry.c (gtk_entry_key_press): Call 
4304         gtk_widget_activate for GDK_Return.
4305
4306         * gtk/gtkentry.c (gtk_entry_preedit_changed_cb): Fix handling
4307         of preedit cursor position.
4308
4309 Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>
4310
4311         * gtk/gtkcellrenderertextpixbuf.c: Make parent_class
4312         static.
4313
4314 Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>
4315
4316         * modules/input/{gtkimcontextxim.[ch],imxim.c}: Rip
4317         out support for multiple locales; that simple doesn't
4318         work reliably with current Xlib
4319
4320         * gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
4321         gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c: 
4322         Add support for positioning the cursor within the preedit string.
4323
4324 Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>
4325
4326         * modules/input/{imxim.c,gtkimcontextxim.[ch]}: Start
4327         at XIM input method module.
4328
4329         * gtk/gtktextview.c: Check for bindings after passing
4330         events to im context filter.
4331
4332 Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>
4333
4334         * gtk/gtktextlayout.c (add_preedit_attrs): Handle
4335         empty attribute lists properly.
4336
4337 Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>
4338
4339         * gtk/queryimmodules.c (main): Return non-zero exit
4340         status if errors were encountered querying any
4341         modules.
4342
4343         * modules/input/Makefile.am (moduledir): remove
4344         leftover bin program target.
4345
4346         * docs/make-todo: Fix typo in error message.
4347
4348 Sat Sep 16 14:04:30 2000  Owen Taylor  <otaylor@redhat.com>
4349
4350         * configure.in: Add modules/input/Makefile
4351
4352 Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>
4353
4354         * gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
4355         don't include gtkthemes.h.
4356
4357         * gtk/testgtk.c gtk/testtext.c: Set environment variables
4358         to point
4359
4360         * gtk/Makefile.am: Add new .c and .h files, build 
4361         gtk-query-immodules and use it to create a gtk.immodules
4362         file for use of test programs.
4363
4364         * gtk/gtkpreview.c: remove extra blank line.
4365
4366 Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>
4367
4368         * gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table): 
4369         Add the ability to add extra tables beyond the default
4370         one, and also the ability to have compose sequences 
4371         that are prefixes of other compose sequences. 
4372
4373         * gtk/gtkimcontextsimple.c: Export a preedit string which
4374         consists of possible candidates for keystrokes that have
4375         been entered but not yet committed.
4376
4377         * gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
4378         gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()
4379
4380         * gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems): 
4381         Add a function to add input-method switching menu items
4382         to a menu.
4383
4384         * gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
4385         when switching input methods.
4386
4387         * gtk/gtkimcontextsimple.[ch]: Change the format of
4388         the compose table to allow compose tables of different
4389         lengths / sequence.
4390
4391 Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>
4392
4393         * gtk/gtkimmodule.[ch]: Support routines for loading
4394         GtkIMContext implementations dynamically at runtime.
4395
4396         * modules/input/imcyrillic-translit.c: A sample input
4397         method (based on GtkIMContextSimple with an extra table),
4398         which demonstrates preedit strings and the module
4399         system for input modules
4400
4401         * gtk/queryimmodules.c: Program to query the available
4402         input modules and write the results into a file.
4403          
4404         * gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
4405         extra config options "im_module_file" (cache file for
4406         input method modules), and "im_module_path" - path
4407         to look for modules when generating cache file.
4408
4409         This doesn't scale.
4410
4411 Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>
4412
4413         * gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the 
4414         generic code from gtkthemes into a new abstraction
4415         GtkModule which has the logic for implementing
4416         a loadable module which implements a number of 
4417         GObject types.
4418
4419 Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>
4420
4421         * gtk/gtkeditable.[ch]: Convert GtkEditable from
4422         a class into an interface  
4423         
4424         * gtk/gtkoldeditable.[ch]: Move the old editable
4425         implementation into here, so legacy widgets can
4426         still rely on the implemenation. GtkOldEditable
4427         exports GtkEditable. Make selection handling
4428         code use new text conversion functions (and
4429         handle UTF-8 as a side-effect). Use GtkClipboard
4430         for CLIPBOARD.
4431
4432         * gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
4433         Adopt to match above changes.
4434
4435         * gtk/gtkentry.[ch]: Implement GtkEditable directly,
4436         avoid GtkOldEditable implementation. Restructure
4437         to reduce number of places that modify state directly.
4438         Move to GtkBindingSet. Display the preedit string.
4439         Queue recomputation of PangoLayout and scroll position
4440         to improve effiency of doing complex changes naively.
4441         Add a menu with cut/copy/paste and input method selection.
4442
4443 Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>
4444
4445         * gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
4446         to set preedit string and attributes; display preedit string by
4447         inserting string and attributes at cursor when creating the
4448         GtkTextLineDisplay.
4449
4450         * gtk/gtktextlayout.c: Move all conversions between byte
4451         positions in PangoLayout and GtkTextIter into new functions
4452         line_display_iter_to_index/index_to_iter that properly
4453         handle the preedit string.
4454
4455         * gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
4456         it to return const char * (eventually will end up
4457         as GCONST char *, most likely.)
4458
4459         * gtk/gtktextview.[ch]: Handle the preedit string, call
4460         gtk_im_context_reset() as necessary, add a menu to switch
4461         input methods.
4462         
4463         * gtk/gtktextlayout.[ch]: Remove useless
4464         gtk_text_layout_get_log_attrs() function.
4465
4466 2000-11-11  Tor Lillqvist  <tml@iki.fi>
4467
4468         * gdk/gdk.def
4469         * gtk/gtk.def: Update.
4470
4471         * gdk/win32/*.c: Add last argument to g_type_register_static()
4472         calls.
4473
4474         * gdk/win32/gdkwindow-win32.c: Silence gcc -Wall.
4475
4476         * gdk/win32/gdkevents-win32.c: Handle MSH_MOUSEWHEEL messages
4477         generated by older wheel mouse drivers. Get the correct y
4478         coordinate from WM_MOUSEWHEEL messages.
4479
4480         * gdk/win32/gdkgc-win32.c (gdk_win32_cap_style_to_string,
4481         gdk_win32_fill_style_to_string, gdk_win32_function_to_string,
4482         gdk_win32_join_style_to_string, gdk_win32_line_style_to_string):
4483         Debugging functions.
4484
4485         * gdk/win32/gdkprivate-win32.h: Declare them.
4486
4487         * gdk/win32/gdkinput-win32.h: Add declaration for
4488         gdk_input_window_destroy().
4489
4490         * gtk/makefile.mingw.in: Pass -DGTK_VERSION. Add gtktreemodel.o.
4491
4492 Fri Nov 10 19:06:41 2000  Jonathan Blandford  <jrb@redhat.com>
4493
4494         * gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): New
4495         function to help handle keeping things in sync.
4496
4497 Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
4498
4499         * gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
4500         BOXED marshallers.
4501
4502         * gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
4503         (gtk_list_store_class_init): use the new BOXED marshallers.
4504
4505         * gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
4506         new_with_values to new_with_types.
4507         (gtk_tree_store_get_column_type): add this.
4508         (gtk_tree_store_class_init): use the new BOXED marshallers.
4509
4510         * gtk/gtkmarshal.list: Added a number of BOXED marshallers to
4511         mirror some POINTER marshallers.
4512
4513 Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
4514
4515         * gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
4516         allow more interesting iterators.  Also, made the lifecycle of
4517         iterators more explicit.
4518
4519         * gtk/gtktreemodelsort.[ch]: New model for sorting.
4520
4521         * gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
4522         types.
4523
4524 2000-11-09  Alexander Larsson  <alexl@redhat.com>
4525
4526         * demos/testgtk/menus.c:
4527         Changes to make the new testgtk compile after
4528         gtk_menu_append was removed.
4529
4530         * gdk/linux-fb/gdkdrawable-fb2.c
4531         (gdk_fb_get_depth, gdk_fb_get_visual,
4532         gdk_drawable_impl_fb_class_init): Implement
4533         these drawable functions. Now GtkImages work again.
4534
4535         * gdk/linux-fb/gdkimage-fb.c (_gdk_fb_get_image): Change prototype.
4536
4537         * gdk/linux-fb/gdkprivate-fb.h (_gdk_fb_get_image): Change prototype.
4538         
4539         * gdk/linux-fb/gdkmain-fb.c (fb_modes_parse_mode,
4540         gdk_fb_setup_mode_from_name, gdk_fb_set_mode, gdk_fb_display_new);
4541         Parse /etc/fb.modes, use the environment variables GDK_DISPLAY_MODE,
4542         GDK_DISPLAY_DEPTH, GDK_DISPLAY_WIDTH, GDK_DISPLAY_HEIGHT.
4543
4544 2000-11-08  Havoc Pennington  <hp@pobox.com>
4545
4546         * gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
4547         visible_set args, don't know where these had gone, I thought they
4548         used to be there
4549
4550         * gtk/testtext.c: Add a menu item to apply invisibility tag;
4551         now we can test the feature and see that it's totally broken.
4552
4553 2000-11-08  Havoc Pennington  <hp@pobox.com>
4554
4555         Make DND copy pixbufs and tags when source and target share a 
4556         tag table.
4557         
4558         * gtk/gtktextview.c (gtk_text_view_drag_data_get): provide the
4559         in-process GTK_TEXT_BUFFER_CONTENTS target
4560         (gtk_text_view_drag_data_received): Paste from
4561         GTK_TEXT_BUFFER_CONTENTS if we receive it.
4562
4563 2000-11-08  Alexander Larsson  <alexl@redhat.com>
4564
4565         * docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
4566         API changes.
4567
4568         * gtk/gtkmenu.c: Add support for scrolling menus.
4569         Remove gtk_menu_append/prepend/insert, these have been moved to
4570         gtkcompat.h as #defines.
4571
4572         * gtk/gtkcompat.h.in:
4573         Add compatibility #defines for gtk_menu_append/prepend/insert
4574
4575         * gtk/gtkmenu.h: Add data needed for scrolling menus.
4576         GtkMenuPositionFunc gets an extra argument push_in.
4577         gtk_menu_append/prepend/insert removed.
4578         
4579         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
4580         positioning behaviour to fit to scrolling menus.
4581
4582         * gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
4583         into menuitem->submeny. That is wrong, and broke torn
4584         off submenus of torn off menus, since they were unrealized
4585         when the first menu was unrealized.
4586
4587         * gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
4588         gtk_menu_shell_select_item() since these need to be overridden in
4589         GtkMenu.
4590
4591         * gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
4592         positioning behaviour to fit to scrolling menus.
4593         (gtk_option_menu_key_press, gtk_option_menu_button_press): Select
4594         the current item so that it is prelighted when the menu pops up.
4595         This is a workaround to the fact that the menu doesn't get the
4596         initial enter event (due to grabs).
4597
4598         * gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
4599         s/gtk_menu_append/gtk_menu_shell_append/
4600
4601         * gtk/gtknotebook.c:
4602         s/gtk_menu_insert/gtk_menu_shell_insert/
4603
4604         * gtk/testgtk.c (create_menu, create_menus):
4605         Create the first menu with 50 items so that menu scrolling
4606         can be tested.
4607         
4608         
4609         Patch from Jonathan Blandford  <jrb@redhat.com>
4610
4611         * gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
4612         system to handle size requests.  First, we ask what the size of
4613         the toggle is.  Then, when allocating the size, we allocate the
4614         toggle_size first.  This way we can have multiple menu-item
4615         classes w/o needing a seperate class for each.
4616
4617         * gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
4618         * gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.
4619
4620         * gtk/gtkcheckmenuitem.c
4621         (gtk_check_menu_item_toggle_size_request): New function to handle
4622         the toggle size-request.
4623
4624 2000-11-07  Havoc Pennington  <hp@redhat.com>
4625
4626         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
4627         Half-ass somewhat fix this function, so that scrolling to the
4628         insertion point works. Pango hacking is in the future to really
4629         fix it.
4630
4631         * gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
4632         length of data, no longer used.
4633
4634         * gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
4635         method contents in here, get rid of destroy method
4636         (gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
4637         that were backward. Remove debug spew.
4638         (cut_or_copy): Make the clipboard work with insert_range to
4639         preserve tags and pixbufs, not just the primary selection.
4640
4641 2000-11-07  Havoc Pennington  <hp@redhat.com>
4642
4643         * gtk/gtktextmark.c (gtk_text_mark_is_visible): rename 
4644         to gtk_text_mark_get_visible
4645
4646         * gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
4647         bug that was generating an invalid iterator
4648
4649         * gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
4650         ensure_char_offsets() in front of code placing the iter in an
4651         invalid state.
4652
4653         * gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
4654         make override_location arg const
4655         (paste): Replace the selection if we paste into the 
4656         current selection
4657
4658         * gtk/gtkselection.h: Remove "GtkSelectioData"
4659         (struct _GtkSelectionData): move the definition here.
4660
4661         * gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
4662         Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies
4663
4664         * gtk/gtktextiter.c (gtk_text_iter_get_tags): New function
4665
4666         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
4667         (gtk_text_buffer_insert_range_interactive): implement
4668         (gtk_text_buffer_get_tags): Remove, replaced by
4669         gtk_text_iter_get_tags()
4670
4671         * gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
4672         limit parameter, to avoid infinite linear scan.
4673         (gtk_text_iter_backward_search): Add search limit
4674         (gtk_text_iter_forward_find_char): Add search limit
4675         (gtk_text_iter_backward_find_char): Add search limit
4676
4677 2000-11-07  Alexander Larsson  <alla@lysator.liu.se>
4678
4679         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4680         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkimage-fb.c,
4681         gdk/linux-fb/gdkpango-fb.c, gdk/linux-fb/gdkpixmap-fb.c,
4682         gdk/linux-fb/gdkwindow-fb.c:
4683         use g_object_new() instead of g_type_create_instance() which
4684         is a private function for fundamental type implementations.
4685
4686         * gdk/linux-fb/gdkinput-ps2.c:
4687         Use MEDIUMRAW instead of RAW keycodes. Remove keyboard state-table
4688         instead just store the current modifier state. Add a (somewhat broken)
4689         keyboard input parser for XLATE mode too, if we couldn't use MEDIUMRAW.
4690         Rename exported function gdk_input_ps2_get_mouseinfo to
4691         gdk_input_get_mouseinfo.
4692
4693         * gdk/linux-fb/gdkmain-fb.c, gdk/linux-fb/gdkprivate-fb.h,
4694         gdk/linux-fb/gdkwindow-fb.c:
4695         gdk_input_ps2_get_mouseinfo was renamed to gdk_input_get_mouseinfo.
4696         
4697
4698 2000-11-02  Havoc Pennington  <hp@redhat.com>
4699
4700         * gtk/gtkfilesel.h, gtk/gtkfilesel.c: Derive from GtkDialog, and
4701         use stock buttons. Should be 100% source compatible, appropriate
4702         filesel fields now point to dialog->vbox and dialog->action_area.
4703         On the bizarre side, dialog->action_area and filesel->action_area
4704         are not the same widget.
4705         (gtk_file_selection_init): Put some padding around the selection
4706         entry, so it isn't touching the GtkDialog separator.    
4707
4708         * gtk/gtkfontsel.h, gtk/gtkfontsel.c: Derive from GtkDialog, 
4709         use stock buttons, etc. Should also be source compatible.
4710         Set the dialog default title in _init not _new().
4711         
4712         * gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init): 
4713         Use stock buttons; don't put a button box inside the existing
4714         dialog button box. Don't bother with push/pop colormap anymore.
4715
4716         * gtk/gtkdialog.h (GtkResponseType): Add a bunch of more 
4717         specific GTK_RESPONSE_* values. This is clearer than ACCEPT/REJECT
4718         for message dialog, and necessary for the font selection and color
4719         selection with help and apply buttons.
4720         
4721         * gtk/gtkdialog.c (gtk_dialog_add_button): Return a pointer 
4722         to the created button widget. Set GTK_CAN_DEFAULT on the button.
4723         (gtk_dialog_init): Default to GTK_BUTTONBOX_END, put less spacing
4724         between buttons, put less padding around the action area.
4725         (gtk_dialog_run): Exit on unmap rather than on destroy. 
4726         This will also exit the loop if the widget is hidden.
4727         (gtk_dialog_delete_event_handler): Use GTK_RESPONSE_DELETE_EVENT
4728         instead of GTK_RESPONSE_NONE; since we're already adding a bunch
4729         of GTK_RESPONSE_* stuff, this seems cleaner, and lets you 
4730         special-case delete event.
4731
4732         * gtk/gtktexttagtable.c, gtk/gtktextview.c: Fix doc comment
4733         formatting
4734         
4735 Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>
4736
4737         * gtk/testgtk.c (uposition_stop_configure): provide a toggle
4738         button to temporarily disable position recording in the
4739         "saved position" test.
4740
4741 Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>
4742
4743         * gtk/gtkthemes.c: added compat code that temporarily implements
4744         GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
4745         going to be revamped by owen's upcoming GtkModule patches, but
4746         untill then people want gtk to build, right? ;)
4747
4748 2000-11-04  Havoc Pennington  <hp@pobox.com>
4749
4750         * gtk/gtkenums.h: remove trailing comma from GtkDeleteType member
4751         list
4752
4753         * docs/Changes-2.0.txt: Add note about
4754         gtk_container_get_toplevels()
4755
4756         * gtk/gtktextview.h: formatting
4757         
4758         * gtk/gtktextview.c: don't start descriptions with "Returns",
4759         confuses gtk-doc
4760
4761 Sat Nov  4 10:12:27 2000  Owen Taylor  <otaylor@redhat.com>
4762
4763         * autogen.sh: When doing sanity checking on ACLOCAL_FLAGS,
4764         look for glib-2.0.m4 not glib.m4. (Ali Abdin)
4765
4766 2000-11-03  Havoc Pennington  <hp@redhat.com>
4767
4768         * gtk/gtktexttagtable.c: Docs
4769         (gtk_text_tag_table_size): return a signed int
4770
4771         * gtk/gtktexttag.c: s/tkxt/text/g; write documentation
4772         (gtk_text_tag_event): make the event_object a GObject
4773
4774         * gtk/gtktextview.c: Write API docs for all functions.
4775
4776         * gtk/gtktextview.h: add GTK_TEXT_WINDOW_PRIVATE as return value
4777         for gtk_text_view_get_window_type() called on one of the private
4778         windows.
4779
4780         * gtk/gtktextview.c: Instead of accessing text_view->buffer
4781         directly, call get_buffer() which demand-creates a default
4782         buffer. So gtk_text_view_new() can be used to create a view with a
4783         default buffer in it, if you just want an empty text box users can
4784         put data in. Useful for GUI builders also.
4785
4786 2000-11-03  Pablo Saratxaga <pablo@mandrakesoft.com>
4787
4788         * gtk/gtkrc.zh_TW.*: moved gtkrc.zh_TW.Big5 to gtkrc.zh_TW.big5;
4789         the charset encodign portion MUST be in lowercase.
4790         * gtk/gtkrc.az: added file for Azeri language
4791
4792 2000-11-03  Havoc Pennington  <hp@redhat.com>
4793
4794         Get widgets working on the btree/buffer side. Display of them 
4795         still doesn't work.
4796         
4797         * gtk/gtktextview.c: start implementing child widget stuff
4798
4799         * gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
4800
4801         * gtk/gtktextlayout.c: handle embedded widgets
4802
4803         * gtk/gtktextdisplay.c: handle embedded widgets
4804
4805         * gtk/gtktextchild.c: Implement all the child anchor goo
4806
4807         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
4808         function
4809
4810         * gtk/gtktextbtree.c: Add child anchor table to the btree struct
4811         (insert_pixbuf_or_widget_segment): abstract out common portions of 
4812         creating a child anchor or a pixbuf segment.
4813         (gtk_text_btree_create_child_anchor): new function
4814         (gtk_text_btree_unregister_child_anchor): new function
4815
4816         * gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
4817         allocate_child signal on GtkTextLayout
4818
4819         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
4820         values
4821         (gtk_text_iter_get_child_anchor): new function
4822
4823         * gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
4824         default handler for the changed signal, which calls
4825         gtk_text_buffer_set_modified(), instead of just always emitting
4826         changed then calling set_modified() manually. I guess this is
4827         maybe more flexible. It seems logical.
4828
4829 Fri Nov  3 08:58:38 2000  Tim Janik  <timj@gtk.org>
4830
4831         * gtk/gtkobject.c: _g_signal_handlers_destroy() is prefixed with '_'
4832         now.
4833
4834         * gtk/gtksignal.c: use g_signal_connect_closure_by_id() now.
4835
4836 Thu Nov  2 14:10:51 2000  Owen Taylor  <otaylor@redhat.com>
4837
4838         * gdk/x11/gdkdnd-x11.c: Fix a bunch of functions that should have
4839         been marked static.
4840
4841 2000-11-02  Havoc Pennington  <hp@redhat.com>
4842
4843         * gtk/testgtk.c (create_labels): had a test backward
4844
4845         * gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
4846         fields, so the dest GC ends up with the correct clip origin, 
4847         etc. Fixes a bug where colored labels didn't redraw 
4848         properly.
4849
4850 2000-11-02  Alexander Larsson  <alexl@redhat.com>
4851
4852         * gdk/linux-fb/gdkcolor-fb.c, gdk/linux-fb/gdkdnd-fb.c,
4853         gdk/linux-fb/gdkgc-fb.c, gdk/linux-fb/gdkpango-fb.c,
4854         gdk/linux-fb/gdkpixmap-fb.c, gdk/linux-fb/gdkwindow-fb.c:
4855         Add last argument to t_type_register_static call.
4856         
4857         * gdk/linux-fb/gdkdrawable-fb2.c:
4858         Add last argument to t_type_register_static call.
4859         export the get_image drawable virtual function.
4860
4861         * gdk/linux-fb/gdkimage-fb.c:
4862         Add last argument to t_type_register_static call.
4863         rename gtk_image_get to _gdk_fb_get_image and
4864         export it for use by gdkdrawable-fb2.
4865
4866         * gdk/linux-fb/gdkprivate-fb.h:
4867         export _gdk_fb_get_image.
4868
4869         * gdk/linux-fb/gdkselection-fb.c:
4870         Add new api call stubs.
4871
4872         * gtk/Makefile.am:
4873         Missing ( in linux-fb part.
4874
4875         * modules/linux-fb/Makefile.am:
4876         Must link with gdk_pixbuf or get unresolved symbol.
4877
4878 2000-11-01  Havoc Pennington  <hp@pobox.com>
4879
4880         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use 
4881         GTK_TYPE_TEXT_ITER and BOXED marshallers
4882
4883         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
4884
4885         * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
4886         
4887         * gtk/gtk-boxed.defs: add GtkTextIter
4888
4889         * gtk/gtkmarshal.list: Add marshallers for text widget that 
4890         properly use OBJECT and BOXED
4891
4892 2000-11-01  Havoc Pennington  <hp@redhat.com>
4893
4894         * gtk/testgtk.c (create_labels): Test set_markup_with_accel()
4895
4896         * gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
4897         before returning it. 
4898         
4899 2000-11-01  Havoc Pennington  <hp@redhat.com>
4900
4901         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4902         Clip the rectangle to be rendered to the drawable, since
4903         get_from_drawable() requires a region within the drawable
4904
4905 2000-11-01  Havoc Pennington  <hp@redhat.com>
4906
4907         * gtk/gtkimage.c (gtk_image_expose): Um, don't randomly subtract 4
4908         from coordinates.
4909
4910 Wed Oct 25 20:10:57 2000  Owen Taylor  <otaylor@redhat.com>
4911
4912         * gdk/gdkevents.c (gdk_event_copy): Only ref the window if
4913         it isn't NULL.
4914
4915 2000-11-01  Havoc Pennington  <hp@pobox.com>
4916
4917         * gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
4918         on a label
4919         (gtk_label_finalize): unref the attr list if any.
4920
4921         * gtk/testgtk.c (create_get_image): close test on second click
4922         (make_message_dialog): close dialog if it exists
4923
4924         * gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute
4925
4926         * gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
4927         gdk-pixbuf
4928
4929         * gtk/gtklabel.c (gtk_label_set_markup): new function to set label
4930         from Pango markup format
4931         (gtk_label_set_markup_with_accel): ditto but with accelerator
4932         parsing
4933
4934         * gtk/gtkimage.c (gtk_image_expose): reformatting.
4935
4936         * gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
4937         reflect current state of GDK - use gdk_drawable_get_colormap, etc.
4938         Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to 
4939         call gdk_window_get_origin().
4940
4941         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
4942         implement GDK_PIXBUF_ALPHA_FULL
4943         
4944 Wed Nov  1 03:43:42 2000  Tim Janik  <timj@gtk.org>
4945
4946         * gtk/gtksignal.c (gtk_signal_compat_matched): make use of
4947         g_signal_handlers_block_matched, g_signal_handlers_unblock_matched and
4948         g_signal_handlers_disconnect_matched to block/unblock and disconnect
4949         multiple handlers respectively, instead of only treating the
4950         first handler found (bug reported by owen).
4951
4952 Mon Oct 30 19:23:50 2000  Jonathan Blandford  <jrb@redhat.com>
4953
4954         * gtk/gtktreeview.c (gtk_tree_view_expand_row): New function.
4955
4956         * gtk/gtktreeview.c (gtk_tree_view_collapse_row): New function.
4957
4958         * gtk/gtktreeview.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c
4959         gtk/gtktreestore.h, gtk/gtktreeview.h, gtk/gtktreeviewcolumn.c,
4960         gtk/gtktreeviewcolumn.h: Fixed inline docs.
4961
4962         * docs/reference/gtk/tree_widget.sgml: Proto intro to the tree
4963         widget.  Needs writing someday.
4964
4965         * docs/reference/gtk/tmpl/gtktree*sgml: Added the tree widget to
4966         the docs.
4967
4968 2000-10-30  Havoc Pennington  <hp@redhat.com>
4969
4970         * gtk/gtktextview.h, gtk/gtktextview.c:
4971         Rename delete_at_cursor delete_from_cursor, and 
4972         move to move_cursor.
4973
4974 2000-10-30  Havoc Pennington  <hp@redhat.com>
4975
4976         * gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
4977         gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
4978         gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
4979         gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
4980         gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
4981         gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
4982         gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
4983         gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
4984         gtktexttypes.h, gtktextview.c, gtktextview.h:
4985
4986         Massive reindentation and reformatting. Arg alignment and comments
4987         still need fixing in various places.
4988
4989 2000-10-30  Havoc Pennington  <hp@redhat.com>
4990
4991         * gtk/gtktextview.h, gtk/gtktextview.c: Change run action signals
4992         to be named insert_at_cursor and delete_at_cursor so C++ can
4993         handle them.
4994
4995 2000-10-28  Tor Lillqvist  <tml@iki.fi>
4996
4997         * gtk/gtkrc.c (gtk_rc_append_default_module_path): Make sure not
4998         to get a double directory separator in case the home directory
4999         ends with one. This would cause trouble especially on Windows,
5000         where the path will be confused with the syntax for an an UNC
5001         (network share) path \\server\share\path.
5002         (gtk_rc_add_initial_default_files): Ditto.
5003
5004 Sat Oct 28 02:33:09 2000  Robert Brady  <robert@suse.co.uk>
5005
5006         * gtk/gtkmarshal.list: add new marshallers for GtkTextView.
5007
5008         * gtk/gtktextview.c: Use correct marshallers.
5009
5010 Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>
5011
5012         * gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
5013         use new iter stuff, and added all the appropriate signals et al.
5014
5015         * gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
5016         code is internal to gtk only.
5017
5018 2000-10-28  Tor Lillqvist  <tml@iki.fi>
5019
5020         * gtk/gtk.def
5021         * gtk/makefile.{mingw,msc}.in: Adjust to Tim's changes. Use
5022         glib-genmarshal etc.
5023
5024 Fri Oct 27 20:15:00 2000  Tim Janik  <timj@gtk.org>
5025
5026         * gtk/Makefile.am: added dependancies for testtextbuffer which broke
5027         parallel builds.
5028
5029 Fri Oct 27 18:51:44 2000  Tim Janik  <timj@gtk.org>
5030
5031         * gtk/gtksignal.[hc]: adapt to GSignal signature changes.
5032
5033 2000-10-27  Robert Brady  <robert@suse.co.uk>
5034
5035         * configure.in (ALL_LINGUAS): Add en@IPA (English, phonetic), 
5036         en_GB (British), ia (Interlingua).
5037
5038 2000-10-26  Havoc Pennington  <hp@redhat.com>
5039
5040         * gtk/gtktextiter.c (my_strrstr): fix constness warning
5041
5042         Fixed output of:
5043         nm -g -l .libs/libgtk-x11-1.3.so | grep ' T ' | grep -v gtk_ | grep -v GTK_
5044         
5045         * gtk/gtktextsegment.c (char_segment_new): rename
5046         (_char_segment_new_from_two_strings): rename
5047         (_toggle_segment_new): rename
5048         
5049         * gtk/gtkclipboard.c (ensure_clipboard_widget): make this static
5050         (make_clipboard_widget): make it static
5051         (text_get_func): static
5052         (text_clear_func): static
5053
5054         * gtk/gtkcolorsel.c (adjustment_changed): make this function
5055         static
5056         (hex_changed): make it static
5057         (hsv_changed): make it static
5058         (opacity_entry_changed): make it static
5059
5060         * gtk/gtktextbtree.c (change_node_toggle_count): rename with _gtk
5061         (toggle_segment_check_func): rename with _gtk
5062
5063         * gtk/gtktextchild.c (_pixbuf_segment_new): rename with _gtk
5064         (_widget_segment_new): rename
5065         (_widget_segment_add): rename
5066         (_widget_segment_remove): rename
5067         (_widget_segment_ref): rename
5068         (_widget_segment_unref): rename
5069
5070         * gtk/gtktextmark.c (_mark_segment_new): Rename
5071         _gtk_mark_segment_new   
5072
5073 2000-10-26  Havoc Pennington  <hp@redhat.com>
5074
5075         * gtk/gtkmarshal.list: add new marshallers used by the text widget
5076         * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
5077         types
5078
5079         * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
5080         marshaller types
5081
5082         * gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
5083         gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
5084         license on these files.
5085
5086         * gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
5087         work.
5088
5089         * gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to 
5090         runtime random number different for each tree, instead of 
5091         a constant I made up.
5092
5093 Thu Oct 26 07:36:16 2000  Tim Janik  <timj@gtk.org>
5094
5095         * gtk/Makefile.am: buncha cleanups, kludged build sources
5096         dependencies with a Makefile: oldest-source-stamp dependancy
5097         for the moment. automake is really fighting us here, with
5098         intentionally not allowing user-defined rules or dependancies
5099         prior to it's -include $(DEP_FILES) statement. sucks rocks!
5100
5101         * gtk/Makefile.am: added gtktextlayout.h and gtktextdisplay.h
5102         to public headers. tehy have a comment stating that they are
5103         "semi-public" aren't included by gtk.h and if enums popup there,
5104         they can be /*< skip >*/-ed.
5105
5106         * gtk/gtktextlayout.h: 
5107         * gtk/gtktextdisplay.h: indentation fixes, comment fixes,
5108         added LGPL... <SIGH>
5109
5110 Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
5111
5112         * gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
5113         GtkTreeIter.  Added iterators everywhere.
5114
5115         * gtk/gtktreeviewcolumn.c: Changed to use the iterators.
5116
5117         * gtk/gtktreeviewselection.c: Changed to use the iterators.
5118
5119         * gtk/gtktreestore.c: Changed to use the iterators.
5120
5121         * gtk/gtkliststore.c: Commented out the code.  Will convert to
5122         iterators tomorrow.
5123
5124         * gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
5125         iterators tomorrow.
5126
5127         * gtk/treestoretest.c: Changed to use iterators.
5128
5129         * demos/testgtk/main.c: Moved to use the new iterator system.
5130
5131 Thu Oct 26 02:10:32 2000  Tim Janik  <timj@gtk.org>
5132
5133         * gtk/Makefile.am: invoke maketypes.awk with LC_ALL=C to avoid
5134         localization misbehaviour.
5135
5136         * gtk/gtk-boxed.defs: nuked "boxed" type GtkCTreeNode, since it's
5137         a useless type without copy/free.
5138
5139         * gtk/gtkctree.c (gtk_ctree_class_init): use GTK_TYPE_POINTER instead
5140         of GTK_TYPE_CTREE_NODE.
5141
5142 Thu Oct 26 00:51:52 2000  Tim Janik  <timj@gtk.org>
5143
5144         * gtk/gtksignal.c:
5145         (gtk_signal_emitv): use g_value_set_static_{string|boxed} where
5146         applicable.
5147
5148         * gtk/gtk-boxed.defs (GtkSelectionData): specify
5149         gtk_selection_data_copy and gtk_selection_data_free
5150         do GtkSelectionData work as params in signals.
5151
5152 Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
5153
5154         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
5155         implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
5156         couldn't they at least give it a non-standard name?
5157         
5158         * gtk/gtktextlayout.c: arg! yet another implementation of
5159         gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
5160
5161         * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
5162         gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
5163         home. now i know this _is_ a conspiracy.
5164
5165         * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
5166         ::state-changed.
5167
5168         * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove): 
5169         (gtk_accel_group_create_add): marshaller signature fixups.
5170
5171         * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
5172         pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
5173
5174         * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
5175         anymore.
5176
5177 Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
5178
5179         * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
5180         due to the signal system changes, it wouldn't build currently. to
5181         be fixed soon.
5182
5183         * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
5184
5185         * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
5186         so it needs gtk_marshal_VOID__ENUM() instead of
5187         gtk_marshal_NONE__UINT().
5188
5189         * gdk/gdk*.c: adapted type registration functions.
5190
5191         * gtk/gtkbindings.c:
5192         * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
5193         gone.
5194
5195         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
5196
5197         * gtk/gtkobject.c:
5198         (gtk_object_destroy):
5199         (gtk_object_shutdown): fixed recursion guards. basically we have to
5200         catch the case where any of GObject.shutdown() or gtk_object_destroy()
5201         is called during ::destroy, and avoid recursion there.
5202
5203         * gtk/gtktypeutils.c:
5204         * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
5205         boxed_copy/boxed_free. this needs a more general solution based on a
5206         publically installed code-generator utility.
5207
5208         * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
5209         glib's gobject has support for that now.
5210         define GtkSignalMarshaller in terms of GSignalCMarshaller.
5211
5212 Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
5213
5214         * gtk/gtksignal.[hc]:
5215         * gtk/gtkmarshal.[hc]:
5216         * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
5217         compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
5218         removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
5219         care of that.
5220
5221         * *.c: marshaller name fixups.
5222
5223         * gtk/gtkmarshal.list: added a comment briefing the format.
5224
5225 Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
5226
5227         * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
5228         compatibility macros here now. more specifically, most of
5229         the API is preserved (yes, _most_, nonwithstanding the
5230         following exceptions listed, the API is stil lHUGE ;)
5231         things that got removed completely:
5232         GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
5233         gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
5234         gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
5235         gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
5236         gtk_signal_remove_emission_hook().
5237         non-functional functions variants:
5238         gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
5239         the GtkCallbackMarshal argument to gtk_signal_connect_full() is
5240         not supported anymore.
5241         (gtk_signal_compat_matched): new internal function to aid
5242         implementation of the compatibility macros, it  provides
5243         functionality to block/unblock/disconnect handlers based
5244         on func/data.
5245
5246         * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
5247
5248         * *.c: adaptions to new type registration API signatures.
5249
5250 Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
5251
5252         * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
5253
5254 2000-10-25  Robert Brady  <robert@suse.co.uk>
5255
5256         * gdk/x11/gdkproperty-x11.c (gdk_property_get, gdk_property_change,
5257         gdk_property_delete): If window == NULL, assume the root window.
5258         (restoring the behaviour that was in 1.2).
5259         
5260         * gtk/testtext.c (save_buffer): Allow creation of new files when
5261         saving.
5262
5263         (fill_file_buffer): Don't die if a UTF-8 sequence is split across
5264         calls to read().
5265
5266 2000-10-25  Tor Lillqvist  <tml@iki.fi>
5267
5268         * gdk/gdkwindow.c: Include x11/gdkx.h only when building for X11.
5269
5270         * gdk/win32/gdkdrawable-win32.c
5271         * gdk/win32/gdkimage-win32.c
5272         * gdk/win32/gdkprivate-win32.h: Corresponding changes as in the
5273         X11 backend.
5274
5275         * gdk/win32/gdkcc-win32.c
5276         * gdk/win32/gdkcolor-win32.c
5277         * gdk/win32/gdkfont-win32.c
5278         * gdk/win32/gdkinput-win32.c
5279         * gdk/win32/gdkmain-win32.c
5280         * gdk/win32/gdkproperty-win32.c: Silence gcc -Wall.
5281
5282 2000-10-24  Havoc Pennington  <hp@redhat.com>
5283
5284         * gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
5285         it a static function
5286
5287         * gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
5288         redraw text when a tag is applied to it.
5289
5290         * gtk/gtktexttag.c (gtk_text_tag_affects_size)
5291         (gtk_text_tag_affects_nonsize_appearance): private functions to
5292         see if a tag requires various kinds of redraw/layout to be queued
5293         up.
5294
5295         * gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock
5296
5297         * gtk/testtext.c (fill_example_buffer): Put the cursor 
5298         at the start of the buffer, so search works by default
5299
5300         * gtk/gtktextiter.c (lines_match): init match_start always
5301
5302         * gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
5303         function, get iter at a line + a byte index
5304
5305         * gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
5306         to set byte position within a line
5307         (gtk_text_iter_check): remove leftover G_BREAKPOINT thing
5308
5309 2000-10-23  Havoc Pennington  <hp@redhat.com>
5310
5311         * gtk/testtext.c: Re-enable the "find" dialog
5312
5313         * gtk/testgtk.c: Add test for gdk_drawable_get_image
5314         
5315         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
5316         the arguments to gdk_draw_drawable were in the wrong order
5317         (gdk_window_paint_init_bg): This function was ignoring the
5318         init_region, instead of clipping to it, so the entire backing
5319         pixmap was cleared on every begin_paint()
5320         (gdk_window_begin_paint_region): Hmm, the same list-walking bug
5321         was in here again, the loop kept using the same GtkWindowPaint
5322         over and over.
5323         (gdk_window_begin_paint_region): Fix a bug where we had two
5324         x_offset instead of x_offset and y_offset
5325
5326         * gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
5327         before we get the image.
5328         (gdk_draw_drawable): get the composite before we draw the drawable.
5329         (gdk_drawable_real_get_composite_drawable): default
5330         get_composite_drawable implementation that returns the drawable 
5331         itself
5332
5333         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
5334         get_composite_drawable virtual function
5335
5336         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
5337         list-walking bug
5338
5339         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
5340         make this work if the source drawable is a GdkDrawableImplX11
5341         instead of a public drawable type. This is really broken; the
5342         problem is that GdkDrawable needs a virtual method get_xid(), but
5343         of course that doesn't work in practice. Enter RTTI.
5344
5345         Also, improve mismatched depth message.
5346
5347         * gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
5348         GdkPixmap
5349
5350         * gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
5351         install _gdk_x11_get_image as our implementation of get_image
5352         
5353         * gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
5354         _gdk_x11_get_image and export for use in gdkdrawable-x11.c
5355
5356         * gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
5357         gdk_drawable_get_image
5358
5359         * gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image
5360
5361         * gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
5362         get_image
5363
5364         * gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
5365         trailing semicolon after for loop
5366
5367 Mon Oct 23 12:07:57 2000  Owen Taylor  <otaylor@redhat.com>
5368
5369         * gtk/gtkwidget.c (gtk_widget_set_style_internal): Fix problem
5370         where font_desc for widget's context lagged widget's font_desc by
5371         one step.
5372
5373 2000-10-22  Tor Lillqvist  <tml@iki.fi>
5374
5375         * gdk/win32/gdkgc-win32.c
5376         * gdk/win32/gdkimage-win32.c: Remove gcc -Wall warnings.
5377
5378         * gtk/makefile.mingw.in
5379         * gtk/gtk.def: Updates.
5380
5381         * gtk/testgtk.c: sleep() is called _sleep in MS's C
5382         library.
5383
5384         * gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().
5385
5386         * gtk/makefile.msc: Remove
5387
5388         * gtk/makefile.msc.in: New file, like makefile.mingw.in.
5389
5390         * gtk/Makefile.am: Add it.
5391
5392         * configure.in: Generate it.
5393
5394         * gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
5395         * gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
5396         something even if not implemented, to satisfy picky MSVC.
5397
5398         Patches by Hans Breuer:
5399         
5400         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_glyphs): Call
5401         SetBkMode() and SetTextAlign() before calling
5402         pango_win32_render().
5403
5404         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_values_to_win32values):
5405         Set hcliprgn to NULL after destroying it.
5406         (gdk_gc_set_clip_rectangle): Delete hcliprgn and set to NULL.
5407
5408         * gdk/win32/gdkgeometry-win32.c
5409         (_gdk_windowing_window_queue_antiexpose): More effective
5410         implementation.
5411
5412         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new): Use drawable's
5413         depth as default, not the visual's.
5414
5415         * gdk/win32/gdkwindow-win32.c (gdk_window_set_title): Guard
5416         against empty title.
5417
5418         * gdk/win32/gdkprivate-win32.h: Define a helper macro,
5419         IMAGE_PRIVATE_DATA.
5420
5421         * gdk/win32/gdkimage-win32.c: Use it.
5422
5423 2000-10-22  Robert Brady  <robert@suse.co.uk>
5424
5425         * configure.in: Check for bind_textdomain_codeset
5426
5427         * gtk/gtkmain.c (gtk_init_check): If bind_textdomain_codeset 
5428         present, make use of it.
5429
5430         Add a translatable string "default:LTR" which, if translated
5431         to "default:RTL", will cause the default direction to be
5432         Right-to-Left.
5433
5434         * gtk/gtkrange.h, gtk/gtkrange.c: Take into account the widget 
5435         direction if marked as flippable.
5436
5437         * gtk/gtkhscale.c: Mark widget as flippable.
5438         
5439 2000-10-04  Havoc Pennington  <hp@redhat.com>
5440
5441         * gtk/testgtk.c (create_buttons): create some stock buttons
5442         with the default accel group
5443         (create_image): test some new GtkImage features
5444         (make_message_dialog): test GtkMessageDialog
5445         (create_modal_window): fix someone's bizzarro indentation
5446
5447         * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement 
5448         GTK_WIN_POS_CENTER_ON_PARENT. 
5449         Add "destroy with parent" setting, which means the window goes
5450         away with its transient parent.
5451         (gtk_window_get_default_accel_group): get the default accel group
5452         for the window.
5453         (gtk_window_set_destroy_with_parent): set/unset destroy with
5454         parent flag
5455         (gtk_window_read_rcfiles): invalidate icon set caches
5456         after reloading rcfiles 
5457
5458         * gtk/gtkenums.h (GtkWindowPosition): add
5459         GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog 
5460         on its parent window when the dialog is mapped for the first time.
5461
5462         * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add 
5463         a simple message dialog class
5464         
5465         * gtk/gtkdialog.c (gtk_dialog_init): Connect delete event 
5466         handler to emit response signal, and maybe later it would
5467         honor a hide_on_delete flag - though that isn't there yet.
5468         Set border width on the vbox to 2, so we get some padding.      
5469         Use a button box for the action area.
5470         (gtk_dialog_key_press): synthesize a delete event if Esc
5471         is pressed and the GtkWidget key press handler didn't 
5472         handle the escape key.
5473         (gtk_dialog_new_with_buttons): new function creates a dialog
5474         with some default buttons in it.
5475         (gtk_dialog_add_action_widget): add an activatable widget
5476         as a button in the dialog - you can also add a non-activatable
5477         widget by accessing the action area directly.
5478         (gtk_dialog_add_button): add a simple button - stock ID or 
5479         label - to the action area
5480         (gtk_dialog_response): emit response signal
5481         (gtk_dialog_run): block waiting for the dialog, return 
5482         the response. Override normal delete_event behavior, so that 
5483         delete_event does nothing inside gtk_dialog_run().
5484
5485         * gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
5486         emitted when an action widget is clicked or the dialog gets
5487         delete_event
5488
5489         * gtk/gtk.h: add gtkmessagedialog.h
5490
5491         * gtk/Makefile.am: add gtkmessagedialog.[hc]
5492
5493 2000-10-18  Havoc Pennington  <hp@redhat.com>
5494
5495         * gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug 
5496         where any number of empty lines would get skipped
5497
5498         * gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
5499         edge.
5500
5501         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
5502         warning about invalid iterators (explain more thoroughly)
5503         (gtk_text_iter_in_region): rename gtk_text_iter_in_range
5504
5505         * gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
5506         big
5507
5508         * demos/*.c: Add error handling
5509
5510         * gtk/gtktextbuffer.c: don't modify const iterators
5511
5512         * gtk/gdk-pixbuf-loader.c: Add full error handling here
5513
5514         * gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
5515         on file load
5516
5517         * gtk/gtkiconfactory.c: Update to reflect addition of error
5518         handling to gdk-pixbuf loaders
5519
5520 Wed Oct 18 11:14:05 2000  Owen Taylor  <otaylor@redhat.com>     
5521
5522         * configure.in demos/Makefile.am demos/testgtk/*: Start of work to
5523         move to new modularized testgtk.
5524
5525 2000-10-17  Jonathan Blandford  <jrb@redhat.com>
5526
5527         * gtk/gtktreeview.c: Draw the arrows correctly.
5528
5529         * gtk/gtktreemodel.c: Added user docs.
5530
5531         * gtk/gtk.h: remove gtktreedatalist.h.
5532
5533         * gtk/gtktreestore.c (gtk_tree_store_get_type): Get the correct
5534         parent when generating my type.
5535
5536         * gtk/gtkmarshal.list: Added four more marshallers: INT:NONE,
5537         POINTER:NONE, POINTER:POINTER, and POINTER:POINTER,INT.
5538
5539 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5540
5541         * gtk/gtktreemodel.h (struct _GtkTreeModelIface): Move
5542         GtkTreeModel from object to interface.
5543
5544 2000-10-16  Havoc Pennington  <hp@redhat.com>
5545
5546         * gtk/gtktreeviewcolumn.c: #include gtklabel.h, fixing 
5547         compilation
5548
5549 2000-10-16  Jonathan Blandford  <jrb@redhat.com>
5550
5551         * gtk/gtktreeselection.c: Add API documentation to all public
5552         functions.
5553
5554         * gtk/gtktreeviewcolumn.c: Added API documentation to all public
5555         functions.
5556
5557 2000-10-15  Jonathan Blandford  <jrb@redhat.com>
5558
5559         * gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
5560         proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
5561         docs to all public functions.
5562
5563         * gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
5564         gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
5565         gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
5566         gtk/gtktreemodel.h, gtk/gtktreeselection.c,
5567         gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
5568         issue.
5569
5570 2000-10-14  Robert Brady  <robert@suse.co.uk>
5571
5572         * configure.in: Added "fa" (Persian) to ALL_LINGUAS.
5573
5574 2000-10-12  Jonathan Blandford  <jrb@redhat.com>
5575
5576         * gtk/gtktreedatalist.[ch] (gtk_tree_data_list_value_to_node): Added
5577         values other then G_TYPE_STRING.
5578         * gtk/gtktreeselection.c: Minor commenting updates.
5579         * gtk/gtktreeview.c: Format updates.
5580
5581 2000-10-09  Tor Lillqvist  <tml@iki.fi>
5582
5583         * README.win32: Update.
5584
5585         * gdk/win32/gdkgeometry-win32.c (gdk_window_clip_changed): Add two
5586         lines that had been deleted by mistake (?).
5587
5588         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Handle
5589         also the case fg==white and bg==black (but still not randomly
5590         coloured cursors). Thanks to Wolfgang Sourdeau.
5591
5592         * gdk/win32/*.c: Silence gcc -Wall.
5593
5594         * gtk/gtk.def: Add missing entry points.
5595
5596         Fixes by Hans Breuer:
5597
5598         * gdk/makefile.msc
5599         * gdk/win32/makefile.msc: Update.
5600
5601         * gdk/testgdk.c: If compiling with debugging (with _DEBUG defined,
5602         some MSVC thing, presumably), cause breakpoint on failures. Add
5603         GDK_NOR case. Call g_log_set_always_fatal.
5604
5605         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_insert): Handle
5606         should be pased by reference.
5607         
5608         * gdk/win32/gdkprivate-win32.h: Correct declaration accordingly.
5609         
5610         * gdk/win32/*.c: Correct calls to gdk_win32_handle_table_insert.
5611
5612         * gdk/win32/gdkevents-win32.c
5613         * gdk/win32/gdkwindow-win32.c: Handle WM_CREATE.
5614
5615         * gdk/win32/gdkgc-win32.c: Fix mixups of drawable and
5616         implementation object.
5617
5618         * gdk/win32/gdkimage-win32.c (gdk_image_get): Handle drawables,
5619         not just windows.
5620         
5621         * gdk/win32/gdkpixmap-win32.c (gdk_pixmap_impl_win32_finalize):
5622         Use the wrapper object.
5623         
5624 2000-10-06  Havoc Pennington  <hp@redhat.com>
5625
5626         * Makefile.am (SRC_SUBDIRS): contrib subdir
5627
5628         * gdk/gdkpixbuf.h: Move GdkPixbufAlphaMode to gdk-pixbuf library,
5629         so it can be used in Xlib version
5630
5631         * demos/testpixbuf.c (update_timeout): error checking from 1.0
5632         tree
5633
5634         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_get_pixbuf): Sync
5635         change from 1.0 tree that returns first frame of animation
5636         if the loaded file is an animation.
5637
5638         * contrib: add new directory to hold stuff that comes with GTK+
5639         but isn't really part of GTK+ (for now, gdk-pixbuf-xlib)
5640         
5641         * configure.in: add contrib/*
5642
5643 2000-10-05  Havoc Pennington  <hp@redhat.com>
5644
5645         * demos/testpixbuf-save.c: add pixbuf save test
5646
5647         * demos/Makefile.am: add testpixbuf-save.c
5648
5649 2000-10-05  Jonathan Blandford  <jrb@redhat.com>
5650
5651         * gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
5652         GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
5653         * gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
5654         * gtk/gtktreeselection.[ch]: Replaced
5655         "node_selected"/"node_unselected" signal with "selection_changed"
5656         signal.
5657
5658 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5659
5660         * gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
5661         tree widget.
5662
5663 2000-10-04  Jonathan Blandford  <jrb@redhat.com>
5664
5665         * gdk/gdkwindow.c (gdk_window_draw_arc): Fix obvious bug in circle
5666         drawing.
5667
5668 Wed Oct  4 15:52:15 2000 Owen Taylor  <otaylor@redhat.com>
5669
5670         * gdk/x11/gdkselection-x11.c (_gdk_selection_window_destroyed):
5671         Move list pointer forwards before removing item from
5672         list. (Crash reported by Salmaso Raffaele)
5673
5674         * gdk/gdkwindow.h: Remove spurious trailing ,
5675
5676         * gdk/Makefile.am (LDFLAGS): You can't do interlibrary
5677         dependencies on uninstalled libraries, sorry folks.
5678
5679 2000-10-04  Havoc Pennington  <hp@redhat.com>
5680
5681         * gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
5682         gtk/gtkiconfactory.c: Fix copyrights    
5683
5684         * demos/testpixbuf.c: add inline pixbuf test
5685         
5686 Mon Sep 25 15:05:17 2000  Owen Taylor  <otaylor@redhat.com>
5687
5688         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c (gdk_window_iconify):
5689         Add gdk_window_iconify.
5690
5691         * gdk/gdkwindow.h gdk/x11/gdkwindow-x11.c
5692         (gdk_window_set_geometry_hints): Add win_gravity
5693         to geometry structure.
5694
5695         * gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter):
5696         Implement _NET_WM_PING.
5697
5698         * gdk/x11/gdkmain-x11.c (_gdk_windowing_init_check):
5699         Set _NET_WM_PID on the client leader.
5700
5701         * gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_name):
5702         Handle UTF-8 better.
5703
5704         * gdk/x11/gdkwindow-x11.c (gdk_window_set_title): Handle
5705         UTF-8 better, set _NET_WM_NAME as well. Only set
5706         icon name if it hasn't previously been explicitely 
5707         set.
5708
5709 2000-10-03  Havoc Pennington  <hp@redhat.com>
5710
5711         * gtk/testtextbuffer.c: clean up trailing whitespace,
5712         add extensive tests for tag toggle iteration.
5713         
5714         * gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan 
5715         distance
5716
5717         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
5718         optimize case where the tag root is on level 1
5719         (gtk_text_line_previous_could_contain_tag): attempt to implement
5720         (gtk_text_line_next_could_contain_tag): Abstract out node_compare
5721         functionality
5722
5723         * gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
5724         Implement this, though not very efficiently.
5725
5726         * gtk/gtktextiterprivate.h: reformat
5727
5728         * gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
5729         iterator
5730
5731         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
5732         this to properly revalidate the iterators.
5733
5734         * gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
5735         properly at the end of the line (and therefore on empty lines)
5736
5737         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
5738         maybe we should return a value...
5739
5740 2000-10-03  Tor Lillqvist  <tml@iki.fi>
5741
5742         * config.h.win32: Guard definition of alloca(). glib.h now handles
5743         that.
5744
5745         * gdk/gdk.def
5746         * gtk/gtk.def: Add new entry points.
5747
5748         Changes just to make GTK+ build without errors on Win32. No hope
5749         of it working in its current state, though...:
5750         
5751         * gdk/win32/gdkselection-win32.c: Remove gcc -Wall warnings.  Add
5752         some functions from the X11 backend, just to make GTK+ build.
5753
5754         * gdk/makefile.mingw.in
5755         * gtk/makefile.mingw.in: Use correct gdk_pixbuf version
5756         number. Add new object files.
5757
5758         * gtk/gtkclipboard.c: Include gdkwin32.h on Win32. Use
5759         GetMessageTime to get timestamp (where on X11 uses
5760         gdk_x11_get_server_time()).
5761
5762 2000-10-02  Havoc Pennington  <hp@pobox.com>
5763
5764         * gtk/gtktextview.c: text_window_* weren't static and should have
5765         been.
5766         Start work on child widgets; not yet complete, syncing to 
5767         office computer.
5768
5769         * gtk/gtktextchild.h: change this to contain a public interface,
5770         starting work on child interfaces.
5771         * gtk/gtktextchildprivate.h: move private interfaces here
5772
5773         * gtk/Makefile.am: update to reflect gtktextchildprivate.h
5774
5775         * gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
5776         gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c, 
5777         gtk/gtktextmark.c: copyright notices
5778
5779         * gtk/gtktextmarkprivate.h: reformat, and put _ in front of
5780         internal functions      
5781
5782         * gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
5783         internal function
5784
5785         * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
5786         Reformatting    
5787
5788 2000-09-30  Havoc Pennington  <hp@pobox.com>
5789
5790         * gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
5791         NULL start/end pointers
5792
5793         * gtk/gtktextbuffer.c: Write some docs
5794         (gtk_text_buffer_get_selection_bounds): Allow start/end to be
5795         NULL, so you can just check whether there's a selection.        
5796
5797         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to 
5798         cleanup_line or segments_changed ourselves, it gets done 
5799         in unlink_segment
5800
5801         * gtk/gtktextmark.h:
5802         s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/
5803         
5804         * gtk/gtktextsegment.h: Clean up some indentation and naming mess
5805
5806         * gtk/gtktextmark.c: delete some more old Tk cruft
5807
5808         * gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
5809         mark before removing it, so we can emit MARK_DELETED with a valid
5810         pointer.
5811         (gtk_text_buffer_mark_set): hold ref across signal emission
5812
5813         * gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
5814         whining about attempts to delete special marks
5815
5816         * gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
5817         underscore, since it's internal.
5818
5819         * gtk/gtktextbuffer.h: Remove find_string prototype, this is 
5820         now implemented in terms of iterators in gtktextiter.h
5821
5822         * gtk/gtktextbuffer.c (gtk_text_buffer_set_text): 
5823         New function, destructively sets contents of buffer. Also 
5824         a convenient way to clear the buffer by setting text to ""
5825
5826         * gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
5827         multiline string literal
5828
5829         * gtk/testtext.c (text_changed_callback): Redraw line numbers if
5830         text changes.
5831
5832         * gtk/gtktextiter.c (forward_char): Return FALSE if new location 
5833         is not dereferenceable
5834         (gtk_text_iter_forward_lines): fix return value
5835
5836 2000-09-29  Havoc Pennington  <hp@redhat.com>
5837
5838         * gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation
5839
5840         * gtk/gtktextview.c: Implement drag thresholding; change functions 
5841         that set border window size to have nicer name
5842         (gtk_text_view_mark_set_handler):  Fix this to have the 
5843         right signature.
5844
5845         * gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes
5846
5847         * gtk/testtext.c: Update with API changes, put line numbers on 
5848         both sides.
5849         
5850         * gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
5851         with this
5852
5853         * gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
5854         pixbuf; delete a big block of #if 0 Tk code
5855
5856         * gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace 
5857         insert_pixmap with insert_pixbuf
5858
5859 2000-09-29  Martin Baulig  <baulig@suse.de>
5860
5861         * gdk-pixbuf.pc.in: Renamed to gdb-pixbuf-2.0.pc.in to avoid
5862         confusion with the GdkPixbuf of the GNOME 1.x platform.
5863
5864 2000-09-29  Havoc Pennington  <hp@pobox.com>
5865
5866         * gtk/gtktextview.c: Implement the side windows.
5867
5868         * gtk/testtext.c: Implement simple line numbering in the 
5869         left side window; seems to make scrolling sloooow. Oops.
5870         Also, cursor blink is for some reason causing redraws
5871         of the line numbers. Should investigate...
5872
5873 2000-09-28  Havoc Pennington  <hp@redhat.com>
5874
5875         * gtk/gtktextview.c: Set up infrastructure to deal with lots of 
5876         scrolling child windows, and draw focus rectangle properly.
5877         
5878         (gtk_text_view_buffer_to_window_coords):
5879         Coordinate transformation to deal with all these freaking windows
5880         and offsets
5881         (gtk_text_view_window_to_buffer_coords): transform the other way
5882
5883         * gtk/testtext.c (create_buffer): Update to match Pango API change
5884
5885         * gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
5886         anonymous tags
5887         (foreach_unref): don't emit remove signal from finalize, just
5888         set tag's parent to NULL
5889
5890 2000-09-26  Havoc Pennington  <hp@redhat.com>
5891
5892         * gtk/gtkiconfactory.c (gtk_icon_set_clear): remove
5893         Fix some warnings       
5894
5895 2000-09-26  Havoc Pennington  <hp@redhat.com>
5896
5897         * gtk/Makefile.am (gtk_private_h_sources): Move more text widget
5898         headers into the private header list
5899
5900         * Makefile.am (pkgconfig_DATA): install pkg-config files
5901
5902         * configure.in: add pkg-config files
5903
5904         * gdk-2.0.pc.in, gdk-pixbuf.pc.in, gtk+-2.0.pc.in: pkg-config files
5905
5906         * gtk/gtkwindow.c (gtk_window_read_rcfiles): Invalidate
5907         outstanding icon caches on theme change.
5908
5909         * gtk/gtkiconfactory.h, gtk/gtkiconfactory.c: New icon system. Three 
5910         important types:
5911
5912         (GtkIconSource): Specification for creating a pixbuf 
5913         appropriate for a direction/state/size triplet from 
5914         a source pixbuf or filename
5915
5916         (GtkIconSet): List of GtkIconSource objects that are used to
5917         create the "same" icon (e.g. an OK button icon), and cache for
5918         rendered icons
5919
5920         (GtkIconFactory): Hash from stock ID to GtkIconSet; used to look
5921         up the icon set for a given stock ID.  GTK maintains a stack of
5922         GtkIconFactory to search, and applications or libraries can add
5923         additional icon factories on top of the stack
5924         
5925         * gtk/gtkrc.h, gtk/gtkrc.c: When loading an RcStyle, parse 
5926         the set of GtkIconSource specified for a given stock ID into 
5927         a GtkIconSet, and put the GtkIconSet into a GtkIconFactory for the 
5928         RcStyle, under the specified stock ID.
5929
5930         * gtk/gtkstyle.h, gtk/gtkstyle.c: Add a virtual function
5931         render_icon used to derive a GdkPixbuf from a GtkIconSource.
5932         This allows people to theme how prelight, insensitive, etc. are
5933         done.
5934
5935         (gtk_style_lookup_icon_set): Look up a stock ID in the list of
5936         icon factories for a style, and return the resulting 
5937         icon set if any.
5938
5939         (gtk_style_render_icon): Render an icon using the render_icon 
5940         method in the GtkStyleClass.
5941
5942         * gtk/gtkwidget.h, gtk/gtkwidget.c (gtk_widget_render_icon): 
5943         Use the style for a given widget to look up a stock ID, get the
5944         icon set, and render an icon using the render_icon method 
5945         of the style
5946
5947         * gtk/gtkstock.h, gtk/gtkstock.c: Header with the GtkStockItem type
5948         (contains information about a stock item), the built-in stock item
5949         IDs, and functions to add/lookup stock items.
5950
5951         * gtk/stock-icons/*: Stock icons that come with GTK
5952
5953         * gtk/gtkbutton.h, gtk/gtkbutton.c (gtk_button_new_stock): Returns
5954         a button based on a GtkStockItem
5955         (gtk_button_new_accel): Takes a uline string and accel group, and
5956         installs the accelerator.
5957
5958         * gtk/gtkimage.h, gtk/gtkimage.c: Make this into a generic
5959         image-display widget.
5960
5961 2000-09-25  Havoc Pennington  <hp@redhat.com>
5962
5963         * gtk/gtktexttypes.c: Remove Latin1 conversion stuff
5964
5965         * gtk/gtktextbtree.c (gtk_text_btree_node_remove_data): 
5966         Fix a bug when removing node data, we didn't properly 
5967         re-splice the linked list after removing the data.
5968
5969         * gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through 
5970         GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget
5971
5972         * gtk/gtktextbuffer.c (selection_received): fix g_convert usage
5973
5974         * gtk/gtktextlayout.c (set_para_values): Set tab array 
5975         for the layout from the GtkTextTag.
5976
5977         * gtk/gtktexttypes.h: delete tab and search cruft, 
5978         remove g_convert() in favor of GLib version
5979
5980         * gtk/gtktexttypes.c: remove tab implementation from here,
5981         move to Pango
5982
5983         * gtk/gtktexttag.h, gtk/gtktexttag.c: Implement 
5984         tab stuff using new PangoTabArray from Pango
5985
5986         * gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
5987         unused border_width stuff
5988
5989 Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
5990
5991         * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
5992         glib) and now useless utf_to_latin1() latin1_to_utf()
5993
5994         * gtk/gtktextview.[ch]: Change ::move_insert and
5995         ::delete_text action signals to ::move and ::delete;
5996         create the signals with the right enumeration type,
5997         not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
5998         C-v bindings, change Home, End to move to beginning/end
5999         of line, Add C-Home C-End to move to beginning/end
6000         of buffer. Change ::cut_text to ::cut_clipboard, etc;
6001         combine ::scroll_text into ::move; use new GtkSelectionData
6002         functions to simplify DND text handling.
6003         
6004         * gtk/gtkenums.h gtk/gtktextview.h: Move movement,
6005         deletion enumerations here, rename enumeration values to 
6006         be consistently plural.
6007
6008         * gtk/gtktextbuffer.c: Use new clipboard interfaces
6009         for cut/copy/paste and primary selection.
6010
6011         * gtk/gtktextbuffer.[ch]: Remove excess time and
6012         'interactive' arguments from cut/copy/paste;
6013         rename cut to cut_clipboard, etc; remove
6014         gtk_text_buffer_get_clipboard_contents().
6015
6016         * gtk/gtktextlayout.[ch]: Add 
6017         gtk_text_layout_move_iter_to_line_end() to move the iter to 
6018         line ends.
6019
6020         * gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
6021         Functions to set or get a UTF-8 string on the selection
6022         data.
6023
6024         * gtk/gtkclipboard.[ch]: New, simplified selection handling
6025         interfaces.
6026
6027         * gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
6028         created widgets - one of these is useless if we don't.
6029
6030         * gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
6031         a public function clear all targets registered for the
6032         widget.
6033
6034         * gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
6035         Never call gtk_widget_realize() - that was just asking
6036         for bizarre side-effects.
6037
6038         * gtk/gtkselection.c (gtk_selection_owner_set): Call
6039         gdk_selection_owner_set even if the widget is the
6040         same so that we reliably update the timestamp on
6041         the server.
6042
6043         * gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a 
6044         gdk_x11_get_server_time() function.
6045         
6046         * gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
6047         gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
6048         Add some tricky filtering on serial numbers for
6049         selection clear events to fix up long-standard
6050         race condition FIXME's in gtkselection.c.
6051
6052         * gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
6053         routines to convert from utf8 to compound text or
6054         STRING and from a text property to UTF-8.
6055
6056         * gtk/gtkmain.[ch] (gtk_get_current_event_time): Add 
6057         a convenience function gdk_get_current_event_time().
6058
6059         * gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
6060         and free selection_data->data properly
6061
6062 Sat Sep  9 10:23:53 2000  Owen Taylor  <otaylor@redhat.com>
6063
6064         * gtk/gtkthemes.c: Remove some unecessary includes.
6065
6066 2000-09-08  Jonathan Blandford  <jrb@redhat.com>
6067
6068         * gtk/gtktextdisplay.c
6069         * gtk/gtktextlayout.c
6070         * gtk/gtktexttag.c
6071         * gtk/gtktexttag.h
6072         * gtk/testtext.c: Change the overstrike property to strikethrough,
6073         to closer match pango.
6074
6075 Fri Sep  8 14:28:00 2000  Owen Taylor  <otaylor@redhat.com>
6076
6077         * gtk/gtktextview.c: Fix up visibility so that focus,
6078         cursor_visible and blink interact properly.  Reenable cursor blink
6079         which had been roughly disabled. Make blink and focus
6080         properly per-view.
6081
6082         * gtk/gtktextlayout.[ch] (gtk_text_layout_set_cursor_visible):
6083         Add a flag for whether to display insertion cursor and
6084         a function to set the flag.
6085
6086         * gtk/gtktextlayout.c (gtk_text_layout_get_line_yrange): Change
6087         get_line_y() to get_line_yrange(), to be a bit more generally
6088         useful.
6089
6090 Thu Sep 07 20:54:33 2000  George Lebl <jirka@5z.com>
6091
6092         * gtk/gtkmenu.c:  in gtk_menu_set_submenu_navigation_region
6093           do stop_navigating_submenu, to clear last timeout properly.
6094           Also in gtk_menu_motion_notify move ignore_enter above
6095           the conditional to make it always happen as suggested by Owen
6096
6097 2000-09-07  Tor Lillqvist  <tml@iki.fi>
6098
6099         * gdk/win32/makefile.mingw.in: Use -Wall. Add gdkpango-win32.o
6100
6101         * gdk/win32/gdkwin32.h: Add more definitions missing from the free
6102         w32api headers.
6103
6104         * gdk/win32/gdkprivate-win32.h: Add a couple of missing
6105         declarations.
6106
6107         * gdk/win32/gdkdrawable-win32.c: Remove gcc -Wall warnings.
6108         (gdk_win32_get_colormap): A line had been deleted by mistake.
6109
6110         * gdk/win32/gdkevents-win32.c: Remove lint (gcc -Wall) here, too.
6111         (gdk_event_translate): Handle more virtual keycodes to be able to
6112         generate GDK events for Control-comma, Control-period, etc.
6113
6114         * gtk/gtk.def: Add some missing entry points.
6115
6116 Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>
6117
6118         * gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
6119         Doc comment fixing. (Mostly non-matching parameter names.)
6120
6121         * gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
6122         comments a little to avoid looking like a doc comment.
6123
6124         * gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
6125         GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
6126         conversions be changed to GError?)
6127
6128         * gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT): 
6129         Move private #defines into .c file.
6130
6131         * gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
6132         order of argument addition, remove duplicates.
6133
6134         * gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
6135         parent class is FrameClass, not BinClass.
6136
6137         * gtk/gtk.h: Add gtkinvisible, which was missing.
6138         (It's occasionalyl useful for client apps, if seldom.)
6139
6140         * gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
6141         #define.
6142
6143 Wed Sep  6 09:53:15 2000  Owen Taylor  <otaylor@redhat.com>
6144
6145         * gdk/x11/gdkwindow-x11.c (gdk_window_new): Use X-space
6146         coordinates when creating window, instead of GDK-space
6147         coordinates. (Avoid BadValue on too large windows.)
6148
6149 2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6150
6151         * configure.in (use_mmx_asm): Remove conftest* after use along the
6152         lines of AC_TRY_COMPILE.        
6153         
6154         * gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
6155         of g_dirname, which is deprecated.
6156         (gtk_rc_parse_any): Removed calls to
6157         g_scanner_{freeze,thaw}_symbol_table, which are deprecated.
6158
6159         * gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
6160         Removed calls to g_hash_table_{freeze,thaw}, as they are
6161         deprecated now.
6162
6163         * gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
6164         instead of g_basename.
6165         
6166 2000-09-04 Elliot Lee <sopwith@redhat.com>
6167         
6168         * gdk/gdkpixbuf.h: Put text after #endif inside a comment to avoid
6169         ANSI warning.
6170
6171 Sun Sep 03 00:47:08 2000  George Lebl <jirka@5z.com>
6172
6173         * gtk/gtkwidget.h:  Add some documenting comments about 
6174           GTK_CAN_DEFAULT, GTK_HAS_DEFAULT and GTK_RECEIVES_DEFAULT
6175           just as owen said on irc.
6176
6177         * gtk/gtkwindow.c (gtk_window_set_default):  Don't blindly
6178           set HAS_DEFAULT.  Only set it if there isn't another window
6179           holding it (a focus window which RECEIVES_DEFAULT) and only unset
6180           it if the widget is not the focused window with RECEIVES_DEFAULT.
6181           This fixes weird double default bugs in dialogs which has things
6182           call gtk_window_set_default at times.
6183
6184 Fri Sep  1 22:39:07 2000  Owen Taylor  <otaylor@redhat.com>
6185
6186         * gtk/gtkmenu.[ch] TODO.xml: Apply patch from
6187         Nils Barth and David Santiago to improve submenu
6188         navigation. The patch does this by creating a triangular
6189         region from the point where the pointer leaves the
6190         menu to the submenu.  While the pointer is in
6191         that region and a timeout has not expired, events 
6192         that would cause the active submenu to change are
6193         ignored.
6194
6195 Fri Sep  1 15:34:46 2000  Owen Taylor  <otaylor@redhat.com>
6196
6197         * gdk/x11/gdkwindow-x11.c (gdk_window_move): Fix bug where
6198         moving a toplevel window immediately after sizing it would
6199         result in it being sized back to the old size since 
6200         impl->width, impl->height aren't updated until we hear
6201         back from the server. There is still a (longstanding) bug
6202         here that gdk_window_get_size() will give the wrong size
6203         until we do hear back.
6204
6205 2000-08-31  Havoc Pennington  <hp@redhat.com>
6206
6207         * gtk/gtktextiter.h, gtk/gtktextiter.c, gtk/gtktextlayout.h, 
6208         gtk/gtktextlayout.c, gtk/gtktexttag.h, gtk/gtktexttag.c, 
6209         gtk/gtktexttagprivate.h, gtk/gtktextview.c:
6210         Rename GtkTextStyleValues to GtkTextAttributes
6211
6212 2000-08-31  Havoc Pennington  <hp@pobox.com>
6213
6214         * gtk/gtktextbtree.c (GtkTextBTree): cache end line, 
6215         for rapid testing whether an iterator is the end iterator
6216         (gtk_text_btree_new): init end line cache
6217         (gtk_text_line_is_last): use fast cached line to 
6218         see if we're the last line.
6219         (get_last_line): use cached line here too, should 
6220         speed up some random unrelated code.
6221         
6222 2000-08-30  Havoc Pennington  <hp@pobox.com>
6223
6224         * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
6225         signals.
6226
6227         * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
6228         delete_text signals. This allows the signals to be used for
6229         implementing undo.
6230
6231         * gtk/gtktextbuffer.c: Change signal handler signatures; 
6232         provide "interactive" argument when emitting insert_text or
6233         delete_text signal.
6234         
6235 2000-08-30  Havoc Pennington  <hp@pobox.com>
6236
6237         * gtk/gtktextbuffer.c: Docs
6238
6239 Fri Aug 25 12:16:15 2000  Owen Taylor  <otaylor@redhat.com>
6240
6241         * gdk/x11/gdkimage-x11.c: remove GDK_IMAGE_SHARED_PIXMAP
6242         from switch statements, since Tor removed the enumeration
6243         value.
6244         
6245         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6246         s/GDK_IS_WINDOW/GDK_IS_DRAWABLE/.
6247
6248 2000-08-29 Elliot Lee <sopwith@redhat.com>
6249         * */*.h: Use G_GNUC_CONST.
6250
6251 2000-08-27  Havoc Pennington  <hp@pobox.com>
6252
6253         * gtk/gtktextiter.c, gtk/gtktextiter.h: wrote lots of API docs,
6254         minor indentation fixes, inserted some FIXME about stuff I
6255         realized was broken while documenting it.
6256         (gtk_text_iter_get_pixmap): allow out params to be NULL, following
6257         GTK convention  
6258
6259 Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>
6260
6261         * gtk/testgtk.c (create_styles): Fix double free of
6262         font desc.
6263
6264 Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>
6265
6266         * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.
6267         
6268         * gtk/testgtk.c (create_styles): Add a test for modifying
6269         the style through gtk_widget_modify_*.
6270
6271         * gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
6272         a function to get the current modifier style.
6273
6274         * gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
6275         of the passed in GtkRcStyle instead of ref'ing it.
6276
6277         * gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
6278
6279 2000-08-20  Tor Lillqvist  <tml@iki.fi>
6280
6281         * gdk/gdkimage.h
6282         * gdk/win32/gdkimage-win32.c: No need any longer on Win32 for the
6283         shared memory image+pixmap GdkImage type, or
6284         gdk_image_bitmap_new(). They were used in the gdk_imlib port, but
6285         I am dropping that.
6286
6287         * gtk/gtkmain.h: On Win32, use a #define to map gtk_init() to
6288         actually call gtk_init_abi_check(), passing also
6289         sizeof(GtkWindow). Ditto for gtk_init_check(). 
6290
6291         * gtk/gtk.def
6292         * gtk/gtkmain.c: (gtk_init_abi_check, gtk_init_check_abi_check):
6293         New functions, used to check that the GTK+-using code has been
6294         compiled using the correct compiler and switches. In particular,
6295         with gcc one has to use the -fnative-struct switch as GTK+ is
6296         compiled with that.
6297
6298 Fri Aug 18 17:27:46 2000  Owen Taylor  <otaylor@redhat.com>
6299
6300         * gtk/gtkclist.c (gtk_clist_merge): Don't leave dangling
6301         ->prev fields when merging lists. (Found simultaneously
6302         by Pawel Salek and Jakub Jelinek)
6303
6304 2000-08-12  Tor Lillqvist  <tml@iki.fi>
6305
6306         * gdk/gdk.def
6307         * gtk/gtk.def: Add missing entries.
6308
6309         * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Use
6310         OUT_TT_ONLY_PRECIS, try to get a TrueType font.
6311
6312         * gdk/win32/gdkinput-win32.c (gdk_device_get_state): New
6313         function. Dummy implementation at this point.
6314
6315         * gtk/makefile.mingw.in: Fix typo. Add testtext and testtextbuffer
6316         rules. Undefine GTK_COMPILATION when compiling the test programs.
6317         
6318         * gtk/gtkdebug.h: Mark gtk_debug_flags for export/import.
6319
6320 2000-08-11  Tor Lillqvist  <tml@iki.fi>
6321
6322         * gtk/gtkfilesel.c: Add more calls to g_filename_{to,from}_utf8()
6323         to convert back and forth from UTF-8 and the "system" (or "current
6324         locale") charset when necessary. Indentation/spacing cleanup.
6325
6326 2000-08-10  Havoc Pennington  <hp@redhat.com>
6327
6328         * Makefile.am (snapshot): Change the format of the snapshot
6329         version to match glib
6330
6331         * gdk/win32/Makefile.am (EXTRA_DIST): remove gdkinputprivate.h
6332         from EXTRA_DIST since it doesn't seem to exist
6333
6334 2000-08-10  Tor Lillqvist  <tml@iki.fi>
6335
6336         * gtk/gtkfilesel.c (open_new_dir): Use the "system codepage"
6337         version of the directory name (not the UTF-8 one) when building
6338         the path name to stat().
6339
6340 2000-08-03  Elliot Lee  <sopwith@redhat.com>
6341
6342         * gdk/gdkpango.c (gdk_draw_layout_line): Don't shape runs with a
6343         PANGO_ATTR_SHAPE set.
6344
6345 Thu Aug  3 09:17:06 2000  Owen Taylor  <otaylor@redhat.com>
6346
6347         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from
6348         Peter Osterlund to simplify the code while keeping the
6349         functionality the same.
6350
6351 Wed Aug  2 14:57:38 2000  Owen Taylor  <otaylor@redhat.com>
6352
6353         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Move
6354         is_viewable() test further inside the function, since removing the 
6355         window from the redraw list without clearing ->update_area
6356         was also very broken.
6357
6358 2000-08-02  Tor Lillqvist  <tml@iki.fi>
6359
6360         * configure.in: Check for <unistd.h>.
6361
6362 2000-08-01  Martin Baulig  <baulig@suse.de>
6363
6364         * gtk/gtkmain.c (gtk_init_check): Use g_message() and not g_warning()
6365         to display the message that this is a development version of GTK+.
6366
6367 Mon Jul 31 18:37:36 2000  Owen Taylor  <otaylor@redhat.com>
6368
6369         * gtk/gtkentry.c (entry_adjust_scroll): Fix problem where computation
6370         was depending on widget->allocation instead of the width of text_area,
6371         which was incorrect for subclasses like GtkSpinButton.
6372
6373         * gdk/gdkpango.c (gdk_draw_layout): Fix a couple of typos
6374         with width == 1 tests that should be width == -1.
6375
6376 Mon Jul 31 16:45:48 2000  Owen Taylor  <otaylor@redhat.com>
6377
6378         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Replace broken, 
6379         (broken, Elliot, every single window blank on X) custom code with call
6380         to gdk_window_is_viewable() which a) prevents code duplicate and
6381         b) works. 
6382
6383 2000-07-31  Elliot Lee  <sopwith@redhat.com>
6384
6385         * gtk/gtkcolorsel.c: We really do need to include gdkfb.h in order
6386         to get the GDK_PARENT_ROOT() macro to work.
6387         * gtk/gtkmarshal.list: Add NONE:STRING,POINTER
6388         * gdk/gdkwindow.c: Don't send expose events, or invalidate pieces
6389         of, windows that aren't shown.
6390         * gdk/linux-fb: Redraw-when-menu-hidden solved, plus a bunch of
6391         pointer grab stuff.
6392
6393 Mon Jul 31 13:53:16 BST 2000  Tony Gale <gale@gtk.org>
6394
6395         * docs/gtkfaq.sgml docs/gtk-faq.sgml:
6396           s/gtk_main_iteration/g_main_iteration/
6397
6398           Did this already in change:
6399                 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
6400           don't know how it got reverted.
6401
6402 2000-07-31  Stanislav Brabec  <utx@penguin.cz>
6403
6404         * gdk/gdk.c: #ifdef G_ENABLE_DEBUG around gdk_arg_debug_cb and
6405         gdk_arg_no_debug_cb to fix compilation problem with --disable-debug.
6406
6407         * gdk/Makefile.am: Link gdk against actually compiled gdk_pixbuf-1.3,
6408         not gdk_pixbuf.
6409
6410 2000-07-30  Pablo Saratxaga <pablo@mandrakesoft.com>
6411
6412         * configure.in,po/{sp,sr}.po: Added Serbian files
6413
6414 2000-07-30  Tor Lillqvist  <tml@iki.fi>
6415
6416         * gdk/Makefile.am: Add makefile.mingw.in to EXTRA_DIST.
6417
6418         * gdk/win32/gdkevents-win32.c (gdk_events_init, gdk_events_queue):
6419         Remove the g_pipe_readable_msg stuff. Not needed with new GLib
6420         GIOChannel implementation.
6421
6422         * gdk/win32/gdkinput.c
6423         * gdk/win32/gdkpango-win32.c: Update license name here, too.
6424
6425         * gdk/win32/gdkwin32id.c (gdk_win32_handle_table_lookup): Fix
6426         definition to match prototype.
6427
6428         * gtk/makefile.mingw.in: Add libiconv CFLAGS and LIBS.
6429
6430 2000-07-27  Elliot Lee  <sopwith@redhat.com>
6431
6432         * gtk/gdk-pixbuf-loader.[ch]: Add gdk_pixbuf_loader_new_with_type
6433         function, to allow handling image formats that cannot be detected
6434         by looking at content alone.
6435
6436 Thu Jul 27 13:13:21 BST 2000  Tony Gale <gale@gtk.org>
6437
6438         * docs/tutorial/*.gif *.jpg *.eps
6439           Update these to the same look-n-feel.
6440           Why does including images in DocBook suck so badly?
6441
6442 Thu Jul 27 05:06:29 2000  Tim Janik  <timj@gtk.org>
6443
6444         * gtk/gtktable.c: applied patch from Phil Thompson
6445         <phil@river-bank.demon.co.uk> that enables space settings for
6446         the last row/columns as well.
6447
6448 Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>
6449
6450         * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
6451         updates the license headers to the GNU Lesser General Public License,
6452         as well as updating the copyright year to 2000.
6453
6454 2000-07-26  Robert Brady  <rwb197@zepler.org>
6455
6456         * configure.in: Cause GETTEXT_PACKAGE to be consistent in config.h
6457           and po/Makefile, was installing and looking for them under gtk20
6458           and gtk2 respectively.
6459
6460 2000-07-25  Havoc Pennington  <hp@redhat.com>
6461
6462         * gtk/testtext.c: Comment out some stuff that depends on the rest
6463         of my patches.
6464
6465 2000-07-25  Havoc Pennington  <hp@redhat.com>
6466
6467         * gtk/gtkmarshal.list: Add NONE:POINTER,POINTER,INT for the text
6468         buffer
6469
6470 2000-07-25  Havoc Pennington  <hp@redhat.com>
6471
6472         * gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
6473         widget changes.
6474
6475         * gtk/gtktextview.h: To be consistent with usage of "line"
6476         throughout the API to mean "newline-terminated thingy", change
6477         MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
6478         to MOVEMENT_LINE.
6479
6480         (GtkTextView): Add flags for default editability, and whether to
6481         show the cursor. Add functions to get/set that. Add 
6482
6483         (gtk_text_view_get_iter_location): new function
6484
6485         * gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
6486         gtktextlayout.h
6487         (g_convert): Add g_convert temporarily, will go in glib in a bit
6488         
6489         * gtk/gtktexttagtable.h: include gtktexttag.h, and define
6490         GtkTextTagTableForeach instead of brokenly using GHFunc.
6491         Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.
6492
6493         * gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
6494         moved to public header.
6495
6496         * gtk/gtktexttag.h: Rename the "elide" attribute of tags to
6497         "invisible", since "elide" was a bad name.
6498         (gtk_text_tag_get_priority): Added
6499
6500         (GtkTextStyleValues): put this in public header, along with
6501         functions to use it.
6502
6503         * gtk/gtktextmarkprivate.h: Include more headers, since we no
6504         longer include gtktextbtree.h.
6505
6506         * gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
6507         gtk_text_mark_deleted
6508
6509         * gtk/gtktextlayout.h: Don't include the "really private" headers,
6510         only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
6511         to make this possible. Now we only need to install
6512         gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
6513         (However the Makefile.am isn't changed yet because of the
6514         logistics of merging gtk-hp-patches piecemeal)
6515
6516         * gtk/gtktextiterprivate.h: include btree header, so it compiles;
6517         rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
6518         gtk_text_iter_get_line is now used in the public API for a
6519         different purpose.
6520
6521         * gtk/gtktextiter.h: Clean up function names to be more
6522         consistent. Always call char offset "offset" and byte index
6523         "index". A "line" is always a line number. 
6524
6525         (gtk_text_iter_is_last): new function, more efficient than 
6526         the existing way to check
6527         (gtk_text_iter_is_first): new function, also more efficient
6528
6529         (gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these
6530
6531         (gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from 
6532         gtk_text_iter_forward_char, etc.
6533
6534         (gtk_text_iter_forward_to_tag_toggle): Renamed from
6535         forward_find_tag_toggle, since this isn't a linear search
6536
6537         (GtkTextCharPredicate): rename from GtkTextViewCharPredicate
6538
6539         (gtk_text_iter_forward_search, gtk_text_iter_backward_search): 
6540         New functions, search for a buffer substring.
6541
6542         * gtk/gtktextbuffer.h: Add fields to store whether a paste is
6543         interactive and default editable (since we need to store that info
6544         until we receive the selection data).
6545
6546         Remove all the _at_char and at_line etc. versions of functions;
6547         only have iterator versions.
6548
6549         Add _interactive() versions of functions, that consider the
6550         editability of text. (FIXME add interactive flag to the 
6551         insert/delete signals per Darin's suggestion)
6552
6553         (gtk_text_buffer_get_tag_table): new function, demand-creates the
6554         tag table if necessary
6555
6556         Remove declaration of gtk_text_buffer_get_iter_from_string
6557
6558         (_gtk_text_buffer_get_btree): private/internal function, added.
6559         
6560
6561         * gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
6562         (gtk_text_line_is_last): new function
6563
6564 2000-07-25  Havoc Pennington  <hp@redhat.com>
6565
6566         * gtk/gtkprogressbar.h: Implement new sane, 5-function API for
6567         using GtkProgressBar. See Changes-2.0.txt for details.
6568
6569         * gtk/gtkprogressbar.c: Add object arguments "fraction" and
6570         "pulse_step" which are the equivalent of
6571         gtk_progress_bar_set_pulse_step and gtk_progress_bar_set_fraction.
6572         Implement new API.
6573         
6574         * gtk/gtkprogress.h (struct _GtkProgress): Add a field
6575         (use_text_format) to mark whether text set on the progress bar is
6576         a format string. Deprecate entire GtkProgress interface.
6577
6578         * gtk/gtkprogress.c (gtk_progress_init): init use_text_format to TRUE
6579         (gtk_progress_build_string): make this a no-op if use_text_format
6580         is FALSE
6581
6582         * docs/Changes-2.0.txt: Describe progress bar changes.
6583
6584 2000-07-25  Tor Lillqvist  <tml@iki.fi>
6585
6586         * Makefile.am: Include the build directory.
6587
6588         * configure.in: Generate build/Makefile, build/win32/Makefile,
6589         gdk/, gdk/win32/, and gtk/makefile.mingw.
6590
6591         * config.h.win32: Add USE_GMODULE and USE_MMX for gdk-pixbuf.
6592         Add GETTEXT_PACKAGE.
6593         
6594         * gdk/gdk.def
6595         * gtk/gtk.def: Updates.
6596
6597         * gdk/gdkfont.h
6598         * gdk/gdkpixmap.h: Remove temporary Win32-only functions, we don't
6599         need them any longer.
6600
6601         * gdk/gdkinput.h: Mark gdk_core_pointer for export/import.
6602
6603         * gdk/makefile.mingw.in: Define GDK_COMPILATION. Link with
6604         PANGOWIN32_LIBS and gdk_pixbuf.
6605
6606         * gdk/win32: Compiles, but no doubt doesn't work at all.
6607
6608         * gdk/win32/makefile.mingw.in: Define GDK_COMPILATION. 
6609
6610         * gdk/win32/gdkinput.c: New file, temporarily.
6611         
6612         * gdk/win32/gdkinput-win32.h: New file
6613
6614         * gdk/win32/gdkinputprivate.h: Remove.
6615
6616         * gdk/win32/gdkpango-win32.c: New file.
6617
6618         * gtk/makefile.mingw.in: New file
6619
6620         * gtk/makefile.cygwin: Removed
6621         
6622         * gtk/Makefile.am: Update accordingly.
6623
6624         * gtk/gtkrc.[ch] (gtk_win32_get_installation_directory): Renamed and
6625         made externally visible.
6626
6627         * gtk/gtkmain.c: Use it.
6628         
6629         * gtk/gtktextdisplay.c: No need to include pangox.h, pango.h
6630         is enough.
6631
6632         * gtk/gtktypeutils.c: Mark glib_debug_objects for import.
6633
6634 2000-07-24 Elliot Lee <sopwith@redhat.com>
6635         * gdk/gdkprivate.h: Remove gdk_*_lookup() defines, since they are defined by the
6636         individual backends already.
6637         * gdk/gdkregion-generic.h, gdk/gdktypes.h: Put gdkregionbox & gdksegment back together
6638         again. Yes, there really is a good reason for this, if you are using the gdkregion
6639         internals, and if you're not, why do you care?
6640         * gdk/gdkwindow.c: Fix inverted condition
6641         * gdk/linux-fb: Compiles (for me - it will not work elsewhere most likely).
6642         * gtk/gtkcolorsel.c, gtk/gtkwindow.c: Add include for linux-fb
6643         * gtk/gtkrange.c: Redraw trough when moving.
6644         * gtk/gtktypeutils.c: Fix warning by adding const cast.
6645         * modules/linux-fb/basic.c: Fix unknown glyph retrieval.
6646
6647 2000-07-23  Tor Lillqvist  <tml@iki.fi>
6648
6649         * configure.in: Check for mkstemp and sigsetjmp. Output
6650         gdk-pixbuf/makefile.mingw and gdk-pixbuf/pixops/makefile.mingw.
6651
6652         More work on GDK for Win32. Still in an intermediate state.
6653
6654         * gdk/makefile.cygwin
6655         * gdk/win32/makefile.cygwin: Removed.
6656         
6657         * gdk/makefile.mingw.in
6658         * gdk/win32/makefile.mingw.in: New files.
6659
6660         * gdk/Makefile.am
6661         * gdk/win32/Makefile.am: Generate and distribute them.
6662
6663         * gdk/win32/gdkwindow-win32.h
6664         * gdk/win32/gdkdrawable-win32.h
6665         * gdk/win32/gdkpixmap-win32.h: New files.
6666
6667         * gdk/win32/gdkcolor-win32.c
6668         * gdk/win32/gdkcursor-win32.c
6669         * gdk/win32/gdkdrawable-win32.c
6670         * gdk/win32/gdkgc-win32.c
6671         * gdk/win32/gdkimage-win32.c
6672         * gdk/win32/gdkprivate-win32.h
6673         * gdk/win32/gdkwin32.h: Update data structures. Cosmetics:
6674         Rename fields and variables called xcursor, xid, etc (these names
6675         were leftovers from the X11 backend) to hcursor, hwnd, hbitmap etc.
6676
6677 Sat Jul 22 17:41:26 2000  Owen Taylor  <otaylor@redhat.com>
6678
6679         * gtk/gtkentry.[ch]: Fix some problems with vertical
6680         alignment.
6681
6682         * gtk/gtkentry.c (gtk_entry_find_position): Fix 
6683         char/byte confusion.
6684
6685 Sat Jul 22 11:16:05 2000  Owen Taylor  <otaylor@redhat.com>
6686
6687         * gtk/gtktextview.c (changed_handler): Fix bug where
6688         redraw wasn't being done properly when height of
6689         dirty region changed.
6690
6691         * demos/Makefile.am: Remove various references to
6692         -lgmodule
6693
6694 Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>
6695
6696         * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
6697         PangoAttrShape to reserve space for pixmaps, add 
6698         GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
6699         in the display functions.
6700         
6701         * gtk/testgtk.c (create_layout): Set some more exotic
6702         scrolled window options
6703
6704         * gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
6705         Add function to set the shadow type of a window, to allow
6706         putting a shadow around widgets such as GtkLayout or GnomeCanvas
6707         which don't draw their own frame.
6708
6709 Fri Jul 21 16:34:42 BST 2000  Tony Gale <gale@gtk.org>
6710
6711         * docs/tutorial/package-db-tutorial.sh: New file for
6712           packaging DocBook format tutorial
6713
6714 Fri Jul 21 14:23:51 BST 2000  Tony Gale <gale@gtk.org>
6715
6716         * docs/tutorial/gtk-tut.sgml: Minor updates
6717
6718         * docs/tutorial/*.jpg *.eps: Screenshots for tutorial
6719
6720 2000-07-19  Tor Lillqvist  <tml@iki.fi>
6721
6722         * gtk/gtksignal.c: Fix C++ comment.
6723
6724         * gtk/gtkimmulticontext.c
6725         * gtk/gtktextbtree.c: Remove gccisms: Don't use __FUNCTION__,
6726         don't return value from void functions.
6727
6728         * gtk/gtk.def: Add gtk_rc_style_unref.
6729
6730 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
6731
6732         * gdk-pixbuf/gdk-pixbuf.h, gtk/gtkhsv.h, gtk/gtktextbtree.h,
6733         gtk/gtktextbuffer.h, gtk/gtktextchild.h, gtk/gtktextdisplay.h,
6734         gtk/gtktextiter.h, gtk/gtktextiterprivate.h, gtk/gtktextlayout.h,
6735         gtk/gtktextmarkprivate.h, gtk/gtktextsegment.h, gtk/gtktexttag.h,
6736         gtk/gtktexttagtable.h, gtk/gtktexttypes.h, gtk/gtktextview.h,
6737         gtk/gtktypeutils.h: Include files outside of the extern "C"
6738         block. Makes some C++ compiler happy. Reported by Denis Vakatov
6739         <vakatov@peony.nlm.nih.gov>.
6740
6741 Wed Jul 19 14:07:57 BST 2000  Tony Gale <gale@gtk.org>
6742
6743         * docs/tutorial/gtk-tut.sgml: Yet more clean ups.
6744           Completes first pass. Hurrah!
6745
6746 Tue Jul 18 17:17:55 BST 2000  Tony Gale <gale@gtk.org>
6747
6748         * docs/tutorial/gtk-tut.sgml: More clean ups.
6749
6750 Mon Jul 17 18:52:38 2000  Owen Taylor  <otaylor@redhat.com>
6751
6752         * gtk/gtkentry.c (gtk_entry_draw_text): Restore code to
6753         paint the background of the text area which was accidentally
6754         removed at some point.
6755
6756         * gtk/gtkrc.[ch] gtk/gtkstyle.[ch] gtk/gtkthemes.[ch]: 
6757           
6758          - Move most of the functionality from the theme vtable
6759            into GtkRcStyleClass and GtkStyleClass. The moved
6760            vtable functions were changed a bit in the move to
6761            work better in their new home.
6762
6763          - Get rid of the engine and engine_data fields from
6764            GtkRcStyle and GtkStyle; instead the theme
6765            engine derives theme-specific subclasses of GtkRcStyle
6766            and GtkStyle
6767
6768          - Add extra dlsym() found entry point to themes,
6769            theme_create_rc_style().
6770
6771         * gtk/gtkstyle.c: Copy xthickness, ythickness fields
6772         in gtk_style_real_copy.
6773
6774         * gtk/themes.[ch]: add a function gtk_theme_engine_register_type()
6775         to register a type associated with an engine. (The engine
6776         won't be unloaded as there is an instance of the type.)
6777
6778
6779 Mon Jul 17 18:19:06 BST 2000  Tony Gale <gale@gtk.org>
6780
6781         * docs/tutorial/gtk-tut.sgml: Clean ups.
6782
6783 Mon Jul 17 13:59:29 BST 2000  Tony Gale <gale@gtk.org>
6784
6785         * docs/tutorial/gtk-tut.sgml: Initial DocBook version. Lots
6786           of cleaning up to do.
6787
6788 2000-07-15  Tor Lillqvist  <tml@iki.fi>
6789
6790         * gdk/testgdk.c: New file, quick hack to test backends for
6791         pixel-by-pixel correctness of the most simple graphic operations.
6792
6793 Fri Jul 14 20:30:25 2000  Owen Taylor  <otaylor@redhat.com>
6794
6795         * Really release 1.3.1
6796         
6797         * gtk-config-2.0.in gtk-2.0.m4: Fix up to correspond to new
6798         include structure.
6799
6800 Fri Jul 14 18:40:39 2000  Owen Taylor  <otaylor@redhat.com>
6801
6802         * Released 1.3.1
6803
6804 Fri Jul 14 16:21:26 2000  Owen Taylor  <otaylor@redhat.com>
6805
6806         * gtk/gtktextlayout.c: use FALSE for size_only most
6807         of the time when calling gtk_text_layout_get_line_display()
6808         to avoid causing double reshapes when a redraw follows
6809         immediately after.
6810
6811 Tue Jul 11 11:13:40 2000  Owen Taylor  <otaylor@redhat.com>
6812
6813         * gtk/gtkrange.c (gtk_range_default_[hv]slider_update): Invalidate
6814         appropriate region and gdk_window_process_updates() so trough
6815         updating doesn't lag behind the window being scrolled.
6816
6817         * gdk/gdkgc.c: Make parent_class pointer static.
6818          
6819 Sun Jul  9 21:31:23 2000  Owen Taylor  <otaylor@redhat.com>
6820
6821         * gdk/gdk-pixbuf.c gtk/gdk-pixbuf-loader.c gtk/gtktextview.c:
6822         include <string.h>.
6823          
6824         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Fix
6825         cut-and-paste error in computing memory offset for 4 channels.
6826
6827 Fri Jul 14 14:05:02 2000  Owen Taylor  <otaylor@redhat.com>
6828
6829         * gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string): Remove
6830         gtk_rc_append_default_pixmap_path(), since it wasn't
6831         adding an interesting path and we don't have a meaningful
6832         default for this value.
6833
6834 Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>
6835
6836         * configure.in Makefile.am gtk-config.m4 gtk.m4: Move
6837         gtk-config to gtk-config-2.0 move gtk_.m4 to
6838         gtk-2.0.m4
6839
6840         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6841         gdk/Makefile.am demos/Makefile.am: Change 
6842         library names to libgtk-1.3.la, etc, so that we
6843         can distinguish gtk-1.2 and gtk-2.0 on the linkline.
6844
6845         * Makefile.am gtk/Makefile.am gdk-pixbuf/Makefile.am
6846         gdk/Makefile.am gdk/x11/Makfile.am
6847         Move include files into /usr/include/gtk-2.0, 
6848         /usr/lib/gtk-2.0/include/
6849          
6850         * autogen.sh acconfig.h configure.in gtk/gtkmain.c
6851         gtk/gtkintl.h: Change package for gettext from 
6852         gtk+ to gtk20. Put hack in autogen.sh to modify
6853         po/Makefile.in.in after gettextize to make this
6854         possible.
6855
6856         * gtk+.spec: Some updates, not tested.
6857
6858         * gdk-pixbuf/Makefile.am: Move loaders into
6859         $(libdir)/gtk-2.0/$(GTK_VERSION)/loaders.
6860
6861         * gtk/Makefile.am gtk/gtkrc.c: Move RC file locations
6862         $(sysconfdir)/gtk-2.0 ~/.gtkrc-2.0; theme subdir
6863         to THEMENAME/gtk-2.0/. Move engine directory  to
6864         $(libdir)/gtk-2.0/$(GTK_VERSION)/engines.
6865         
6866 2000-07-12  Tor Lillqvist  <tml@iki.fi>
6867
6868         Win32 changes, still doesn't build though.
6869
6870         * gdk/makefile.cygwin
6871         * gdk/win32/makefile.cygwin
6872         * gtk/makefile.cygwin: Updates.
6873
6874         * gdk/win32/gdkgc-win32.c (_gdk_win32_gc_new): Use the same
6875         default values for fg and bg pixel as X11 does (0 and 1), not
6876         black and white. Use PS_ENDCAP_FLAT and PS_JOIN_MITER by default.
6877         Use 0 for pen width by default (treated as 1 anyway later, but for
6878         apps that might check the value in the GdkGC).
6879         (gdk_win32_hdc_get, gdk_win32_hdc_release): New functions, public
6880         interface to gdk_gc_predraw and _postdraw.
6881
6882         * gdk/win32/gdkwin32.h
6883         * gdk/gdk.def: Add gdk_win32_hdc_{get,release}.
6884
6885         * gdk/win32/gdkcolor-win32.c (gdk_colormap_alloc1): Remove
6886         extraneous semicolon.
6887
6888         * gdk/win32/gdkdrawable-win32.c: Check also for pen_width == 0.
6889
6890         * gdk/win32/gdkimage-win32.c (gdk_image_new): Use the visual's depth,
6891         not the Win32 bitspixel value.
6892
6893         * gdk/win32/gdkcc-win32.c:
6894         * gdk/win32/gdkcolor-win32.c 
6895         * gdk/win32/gdkprivate-win32.h
6896         * gdk/win32/gdkwin32.h: Changes to make compilable, with new
6897         GDK object structure.
6898
6899 Tue Jul 11 20:59:35 2000  Tim Janik  <timj@gtk.org>
6900
6901         * docs/tutorial/gtk_tut_12.es.sgml (name): 
6902         * docs/tutorial/gtk_tut_it.sgml (name): 
6903         * docs/tutorial/gtk_tut_fr.sgml (name): 
6904         * docs/tutorial/gtk_tut.sgml (name): scratched notion of completely
6905         outdated email adress: s/timj@psynet.net/timj@gtk.org/.
6906
6907 Tue Jul 11 13:10:57 BST 2000  Tony Gale <gale@gtk.org>
6908
6909         * docs/faq/gtk-faq.sgml: Cleanup indenting and various
6910           small changes.
6911
6912 Tue Jul 11 08:04:58 2000  Tim Janik  <timj@gtk.org>
6913
6914         * gtk/gtktree.c (gtk_real_tree_select_child): eek, i've never seen
6915         a bug here, never been here and never fixed anything ;(
6916         (don't segfault if tree->root_tree is NULL, which happens prior
6917         to widget realization, but puke instead).
6918
6919 Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>
6920
6921         * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
6922         add the necessary tokens.
6923
6924         * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
6925         (gtk_rc_style_to_style): copy thicknesses.
6926         (gtk_rc_init_style): apply thicknesses.
6927         (gtk_rc_parse_style): parse xthickness and ythickness.
6928
6929         * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.
6930
6931         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): 
6932         (gdk_window_new): 
6933         (_gdk_windowing_window_init): 
6934         * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new): 
6935         (gdk_pixmap_create_from_data): 
6936         (gdk_bitmap_create_from_data): 
6937         (gdk_pixmap_new): 
6938         * gdk/x11/gdkimage-x11.c (gdk_image_get): 
6939         (gdk_image_new): 
6940         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): 
6941         * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new): 
6942         * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
6943         (gdk_colormap_get_system): 
6944         (gdk_colormap_new): 
6945         * gdk/gdkwindow.c (gdk_window_init): 
6946         * gtk/gtkstyle.c (gtk_style_new):
6947         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
6948         * gdk/gdkpixmap.c (gdk_pixmap_init): 
6949         * gtk/gtkrc.c (gtk_rc_style_new):
6950         use g_object_new() instead of g_type_create_instance() which
6951         is a private function for fundamental type implementations.
6952
6953 Thu Jul  6 16:12:14 2000  Owen Taylor  <otaylor@redhat.com>
6954
6955         * configure.in: Add check for db2html
6956
6957 Thu Jul  6 14:53:05 2000  Owen Taylor  <otaylor@redhat.com>
6958
6959         * gtk/gtktypeutils.c (gtk_type_init): Add a temporary 
6960         hack to set glib_debug_objects based on gtk_debug_flags.
6961
6962 Thu Jul  6 14:12:13 2000  Owen Taylor  <otaylor@redhat.com>
6963
6964         * INSTALL.in: Update the Prerequisites section.
6965
6966         * Makefile.am demos/Makefile.am docs/Makefile.am
6967         docs/tutorial/Makefile.am gdk/x11/Makefile.am
6968         gdk/linux-fb/Makefile.am: Dist fixes
6969
6970 Thu Jul  6 12:26:03 2000  Owen Taylor  <otaylor@redhat.com>
6971
6972         * NEWS: 10,000 foot view of 1.3.1 changes.
6973
6974 Thu Jul  6 11:54:03 2000  Owen Taylor  <otaylor@redhat.com>
6975
6976         * gdk/gdk.h gdk/gdktypes.h gdk/linux-fb/gdkmain-fb.c
6977         gdk/nanox/gdkmain-nanox.c gdk/win32/gdkevents-win32.c
6978         gdk/win32/gdkinput-win32.c gdk/win32/gdkwin32.h
6979         gdk/x11/gdkmain-x11.c: 
6980
6981         Patch from George Lebl to add a GdkGrabStatus enumeration to use
6982         as a return value of gdk_*_grab(). Previously, we just
6983         returned the X11 values directly.
6984
6985 Thu Jul  6 11:27:44 2000  Owen Taylor  <otaylor@redhat.com>
6986
6987         * gdk/x11/Makefile.am: Patch from George Lebl to 
6988         install all the headers in the right place.
6989
6990 Tue Jul  4 13:13:01 BST 2000  Tony Gale <gale@gtk.org>
6991
6992         * docs/faq/gtk-faq.sgml: Add remaining sections. Completes
6993           initial conversion to DocBook.
6994
6995 2000-07-04  Tor Lillqvist  <tml@iki.fi>
6996
6997         * README.win32: Improve a bit.
6998
6999         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle also
7000         WM_SYSCHAR, and other changes to get handling of Alt+nnn or
7001         Alt+0nnn on the numpad (used to enter characters by numeric code
7002         from current DOS or ANSI codepage) working correctly, as in other
7003         Windows apps.
7004
7005         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new_from_pixmap): Use
7006         same argument validity tests as in X11 version.
7007         (_gdk_cursor_destroy): Use DestroyCursor, not DestroyIcon.
7008
7009         * gdk/win32/gdkwin32.h: Add also WM_MOUSEWHEEL and CopyCursor
7010         definitions in case missing from headers.
7011
7012         * gdk/win32/gdkwindow-win32.c (gdk_win32_window_destroy): Also
7013         destroy the window-specific cursor.
7014         (RegisterGdkClass): Use the global gdk_ProgInstance instead of
7015         calling GetModuleHandle(NULL).
7016         (gdk_window_set_cursor): Reworked to always copy the passed cursor
7017         with CopyCursor before setting it as the window-specific
7018         cursor. It is OK for the caller to destroy the GdkCursor (and thus
7019         also its Windows cursor) after calling this function. Destroy any
7020         previous window-specific cursor.
7021
7022 Mon Jul  3 17:54:49 2000  Owen Taylor  <otaylor@redhat.com>
7023
7024         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): 
7025         font charset is iso8859-1, not iso-8859-1.
7026
7027 Mon Jul  3 17:08:14 2000  Owen Taylor  <otaylor@redhat.com>
7028
7029         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale):
7030         Use g_get_charset() instead of g_get_codeset().
7031
7032         * gtk/gtkframe.[ch] gtkframe.h gtk/gtktextmark.h: 
7033         Comment out some strdup'ing functions to keep timj
7034         happy until we finish fighting this out.
7035
7036 Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>
7037
7038         * gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
7039         <= width or height.
7040
7041         * gtk/gtktable.c (gtk_table_attach): Fix missed merge
7042         from 1.2 for parent/child states.
7043
7044         * gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
7045         of typos.
7046
7047         * gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
7048         event structures, replace with a generic axes field. Replace 
7049         deviceid/sourec with GdkDevice *device.
7050
7051         * gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
7052         to extract particular axis use value from event. (Also
7053         can be used for normal X/Y.)
7054
7055         * gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
7056         allow for arbitrary number of axes, namespace everything
7057         as gdk_device_*. Replace guint32 deviceid with GdkDevice *
7058         everywhere.
7059
7060         * gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}: 
7061         Get rid of the gdk_input_vtable setup if favor of simply
7062         defining the functions in gdkinput-none/gxi/xfree.c in
7063         a similar fashion to the way that the port structure is 
7064         done.
7065
7066         * gtk/gtkdnd.c: Fix fields of synthesized button press event
7067         for new event structures. 
7068
7069         * gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
7070         new device interfaces.
7071
7072 Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
7073
7074         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
7075         set the initial text.
7076
7077         * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
7078         gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
7079         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
7080         gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
7081
7082         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7083         pango_layout_set_font_description to simplify.
7084
7085 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
7086
7087         * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
7088         pango_layout_set_font_description to simplify.
7089
7090 Sun Jul  2 17:06:40 2000  Owen Taylor  <otaylor@redhat.com>
7091
7092         * gtk/gtkcalendar.c gtk/gtkclist.c gtk/gtkctree.c gtk/gtkhscale.c
7093         gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvscale.c gtk/gtkaccellabel.c: Use
7094         pango_layout_get_pixel_extents() to remove a large number of '/ PANGO_SCALE'.
7095
7096         * gtk/gtk[hv]ruler.c gtk/gtklabel.c: replace some / PANGO_SCALE with
7097         PANGO_PIXELS() macro.
7098
7099 Sun Jul  2 15:24:41 2000  Owen Taylor  <otaylor@redhat.com>
7100
7101         * gtk/gtkwidget.[ch] (gtk_widget_get_pango_context): Add new function
7102         that returns a PangoContext owned by the widget and updated to
7103         match future changes in the widget. Also, make 
7104         gtk_widget_create_pango_layout() use this context. If we ever
7105         add a ::changed signal to PangoContext, this will make things
7106         much more convenient. 
7107
7108         * gtk/gtkentry.c gtk/gtklabel.c: Call pango_layout_context_changed()
7109         in the appropriate places instead of destroying the layouts and
7110         creating new ones.
7111
7112         * gtk/gtkfontsel.[ch] gtk/gtkclist.c: Use gtk_widget_get_pango_context()
7113         in a few strategic places.
7114
7115 Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>
7116
7117         * gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call 
7118         gtk_widget_size_request() on reparented child, if one. Otherwise,
7119         queue_resize() on the child never results in it getting size-requested
7120         at all.
7121
7122         * gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
7123         in option menus, so that (with luck) people won't copy it into
7124         their apps in the future.
7125
7126         * gtk/gtkoptionmenu.c: Connect ::size_request on the menu
7127         to gtk_option_menu_calc_size. This isn't perfect, but should fix
7128         a lot of problems with changing the size of the menu's menu
7129         items after adding it to the option menu.
7130
7131         * gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().
7132
7133         * gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
7134         the text direction for a widget changes.
7135
7136         * gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
7137         ::direction_changed to get rid of various hacks.
7138
7139 Sun Jul  2 13:19:12 2000  Owen Taylor  <otaylor@redhat.com>
7140
7141         * docs/Changes-2.0.txt: Move Changes-1.4.txt to the appropriate
7142         name.
7143
7144 Sun Jul  2 13:06:26 2000  Owen Taylor  <otaylor@redhat.com>
7145
7146         * gdk/x11/gdkpixmap-x11.[ch] Changes-1.4.txt: Add a is_foreign
7147         flag to the structure. Do not call XFreePixmap on pixmaps created
7148         by gdk_pixmap_foreign_new().
7149
7150 Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>
7151
7152         * gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
7153         value using GdkRGB functionality given GdkColormap and GdkColor.
7154         (name not final, waiting for inspiration.)
7155         
7156         * gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
7157         set the foreground/background of a GC using the GC's colormap
7158         and GdkRGB. (name not final, waiting for inspiration.)
7159
7160         * gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from 
7161         gdk_rgb_get_cmap(), put #define in gdkcompat.h.
7162
7163         * gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
7164         gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
7165         purely a function of the corresponding colormap. Make
7166         gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.
7167
7168         * gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
7169         gdk_pixbuf_*create_from_xpm_* in terms of
7170         gdk_pixbuf_new_from_xpm_data(), move into platform independent
7171         code.
7172
7173         * gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
7174         advantage of the new draw_rgb_32_image_dithalign.
7175
7176         * gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.
7177
7178         * gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
7179         on each created GC.
7180
7181         * gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.
7182
7183         * gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
7184         which we initialize from the drawable when the GC is created,
7185         if the drawable has a colormap.
7186
7187         * gdk/x11/gdkgc-x11.c: include string.h for memset.
7188
7189         * gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.
7190
7191         * gtk/gtklayout.[ch]: Remove unsed configure serial member.
7192
7193 Sat Jul  1 16:28:32 2000  Owen Taylor  <otaylor@redhat.com>
7194
7195         * gdk/x11/gdkevents-x11.c (gdk_event_translate): When
7196         actually returning expose events, make sure to set
7197         the count field properly.
7198
7199         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): Fix
7200         accidentally reintroced bug which always cleared
7201         the graphics_exposures value. 
7202
7203 Wed Jun 28 18:03:09 BST 2000  Tony Gale <gale@gtk.org>
7204
7205         * docs/faq/gtk-faq.sgml: Change DocBook layout slightly
7206
7207 Wed Jun 28 17:49:05 BST 2000  Tony Gale <gale@gtk.org>
7208
7209         * docs/faq/gtk-faq.sgml: Finish Section 6. Add Section 7.
7210
7211 Wed Jun 28 13:31:55 BST 2000  Tony Gale <gale@gtk.org>
7212
7213         * docs/faq/gtk-faq.sgml: Start of Section 6.
7214
7215 Mon Jun 26 19:37:04 2000  Owen Taylor  <otaylor@redhat.com>
7216
7217         * configure.in: Put 1.3.1 in warning message, not 1.3.0.
7218         
7219         (Fixes problem with drawing childless frames. Pointed out
7220         by and a first patch from Anders)
7221         
7222         * gtk/gtkframe.c (gtk_frame_compute_child_allocation): Always
7223         compute a child_allocation, even if we don't have a child.
7224
7225         * gtk/gtkaspectframe.c (gtk_aspect_frame_compute_child_allocation):
7226         Always chain to the parent's impl, even if we don't have a child.
7227
7228 Mon Jun 26 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7229
7230         * gdk/gdkrgb.c: If possible, create only a single shm segment and
7231         use multiple parts of it instead of creating a bunch of separate
7232         segments, since the maximum number of segments per system is not
7233         large. (This might be worth backporting to GTK+-1.2.x if we make a
7234         new release )
7235
7236         * gdk/gdkrgb.c: Localize a bunch of variables into the GdkRgbInfo
7237         structure in preparation for per-colormap GdkRGB.
7238
7239         * gdk/x11/gdkimage-x11.c (gdk_image_new): Don't set gdk_use_xshm
7240         to False when we get EINVAL from shmget so that the caller of
7241         gdk_image_new can retry with a smaller segment size.
7242
7243 Mon Jun 26 13:01:16 BST 2000  Tony Gale <gale@gtk.org>
7244
7245         * docs/faq/gtk-faq.sgml: Add Sections 4 & 5.
7246
7247 Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>
7248
7249         * configure.in: make the current version number 1.3.1 (binary age 0,
7250         interface age 0).
7251         
7252         * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
7253         gtkcompat.h is all we want.
7254
7255         * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
7256         GLib primitive types. fixed g_type_register_fundamental() argument
7257         ordering.
7258
7259         * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
7260         compiles.
7261
7262         * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
7263         object code cleanup, comment trigraph fixes, etc...
7264
7265 2000-06-23  Havoc Pennington  <hp@redhat.com>
7266
7267         * gtk/gtktextview.c (gtk_text_view_set_buffer): Use anonymous mark 
7268         instead of making up a bogus name for first_para_mark
7269
7270         * gtk/gtkstatusbar.h, gtk/gtkstatusbar.c: Allow 
7271         0 as a context ID
7272
7273 Thu Jun 22 17:43:51 BST 2000  Tony Gale <gale@gtk.org>
7274
7275         * docs/faq/gtk-faq.sgml: Change filename. Add Section 3.
7276
7277 2000-06-21  Havoc Pennington  <hp@pobox.com>
7278
7279         * gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Fix bug where
7280         we didn't check window->bg_pixmap != GDK_NO_BG.
7281
7282         * gtk/gdk-pixbuf-loader.c: Change to reflect GObject-ification of
7283         gdk-pixbuf
7284
7285 Thu Jun 22 14:02:19 BST 2000  Tony Gale <gale@gtk.org>
7286
7287         * docs/faq/gtk-faq.sgm: Move file to here.
7288           TODO: Update Makfile.am 
7289
7290 Thu Jun 22 13:41:09 BST 2000  Tony Gale <gale@gtk.org>
7291
7292         * docs/gtk-faq.sgm: Add Section 2
7293
7294 Thu Jun 22 08:43:45 BST 2000  Tony Gale <gale@gtk.org>
7295
7296         * docs/gtk-faq.sgm: New file. Start of DocBook
7297           version of the FAQ.
7298
7299 Wed Jun 21 23:04:17 2000  Owen Taylor  <otaylor@redhat.com>
7300
7301         * configure.in (GDK_PIXBUF_MAJOR): Define version
7302         numbers for GDK_PIXBUF_*, as they get substituted
7303         into a header file. Need to consider versioning
7304         for gdk-pixbuf more carefully later.
7305
7306 2000-06-21  Raja R Harinath  <harinath@cs.umn.edu>
7307
7308         Work with srcdir != builddir.   
7309         * demos/testanimation.c: Don't include "gdk-pixbuf.h".  Use
7310         <gtk/gdk-pixbuf-loader.h>, not "gtk-pixbuf/gdk-pixbuf-loader.h".
7311         * demos/testpixbuf.c: Likewise.
7312         * demos/testpixbuf-scale.c: Don't include "gdk-pixbuf.h".
7313         * demos/testpixbuf-drawable.c: Don't include "gdk-pixbuf.h".  Use
7314         <gdk/x11/gdkx.h>.
7315         * demos/pixbuf-demo.c: Use <gtk/gtk.h> not "gtk.h".  Don't include
7316         "gdk-pixbuf.h".
7317         * demos/Makefile.am (INCLUDES): Remove unneeded directories.
7318
7319 Wed Jun 21 19:45:02 2000  Owen Taylor  <otaylor@redhat.com>
7320
7321         * TODO.xml: Change 1.4 version numbers to 2.0.
7322
7323 Wed Jun 21 19:29:08 2000  Owen Taylor  <otaylor@redhat.com>
7324
7325         * gdk/gdkpixbuf-render.c gdk/gdkpixbuf-drawable.c: Indentation
7326         fixups to GTK+ standard.
7327
7328 Wed Jun 21 16:38:13 2000  Owen Taylor  <otaylor@redhat.com>
7329
7330         * gdk-pixbuf/* docs/reference/gdk-pixbuf/*: Welcome aboard,
7331         gdk-pixbuf.
7332
7333         * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init):
7334         fixups for GObject.
7335
7336         * gdk/Makefile.am gdk/gdkpixbuf-render.[ch] gdk/gdkpixbuf.[ch]: Bits of 
7337         gdk-pixbuf with GDK dependencies moved into GDK.
7338         
7339         * gtk/Makefile.am gtk/gdk-pixbuf-loader.[ch]: Temporarily
7340         move gdk-pixbuf-loader here until GObject has signals.
7341
7342         * demos/: New directory of demos. Move demos from
7343         gdk-pixbuf here.
7344
7345         * demos/pixbuf-init.c: Small bit of code to check for
7346         loaders in ../gdk-pixbuf/.libs/gdk-pixbuf, and if found,
7347         set GDK_PIXBUF_MODULEDIR appropriately.
7348
7349         * gdk/gdkcompat.h: Remove GDK_DRAWABLE_PIXMAP compat
7350         define which no longer makes sense.
7351
7352 2000-06-21  Havoc Pennington  <hp@redhat.com>
7353
7354         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Use
7355         gtk_get_default_language
7356
7357         * gtk/gtkmain.h, gtk/gtkmain.c (gtk_get_default_language): 
7358         new function to get the default language
7359
7360         * gtk/gtktexttagprivate.h, gtk/gtktexttag.c, gtktextview.c: 
7361         s/gtk_text_view_style_values/gtk_text_style_values/
7362
7363         * gtk/gtktexttag.c, gtk/gtktexttag.h, gtk/gtktexttagprivate.h:
7364         Add a "language" field to tags.
7365
7366         (gtk_text_tag_set_arg): Fix bug in setting
7367         "bg_full_height_set" tag.
7368
7369 2000-06-21  Havoc Pennington  <hp@redhat.com>
7370
7371         * gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
7372         in the interfaces
7373
7374         * gtk/gtktexttypes.c: Remove UTF functions, use glib 
7375         stuff instead when possible.
7376
7377         * gtk/gtktexttypes.h: Delete some unused constants
7378
7379         * gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
7380         testtextbuffer.c: use glib instead of custom unicode routines
7381
7382 Wed Jun 21 12:50:58 2000  Owen Taylor  <otaylor@redhat.com>
7383
7384         * docs/es/: Removed mistakenly added generated sgml
7385
7386         * docs/{gdk.texi,gtk.texi,gdk.sgml} macros.texi texinfo.tex:
7387         Remove outdated info files.
7388
7389         * docs/gtk_tut* docs/package_tutorial.sh docs/tutorial:
7390         Moved tutorial files into subdir
7391
7392         * docs/gtkfaq.sgml docs/faq/gtkfaq.sgml: Move FAQ into
7393         subdir.
7394
7395         * docs/man/gtk_button.pod: Remove. (contents will be
7396         integrated into gtk-reference button page.)
7397
7398         * configure.in docs/Makefile.am docs/tutorial/Makefile.am
7399         docs/faq/Makefile.am: Adjust for new organization
7400
7401 2000-06-21 Christopher Blizzard  <blizzard@redhat.com>
7402
7403         * gdk/x11/Makefile.am (install-data-local): use $(mkinstalldirs)
7404         not $(MKINSTALLDIRS)
7405
7406 Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>
7407
7408         * gtk/testgtk.c (create_text): Finish the job Elliot started
7409         of removing font setting test for text widget. (Since text widget
7410         and GdkFont are not deprecated, and cause portability problems.)
7411
7412 Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>
7413
7414         * gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
7415         gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
7416         Remove use of libunicode in favor of new GLib functions.
7417
7418         * gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
7419         nano-x, framebuffer. The X11 include is just a hack until we get
7420         the necessary functions in gdkcolor.h, so there is no reason to
7421         add other includes of platforms.
7422
7423         * gtk/gtkwindow.c (gtk_window_compute_default_size): Revert 
7424         window bigger than the screen change.
7425
7426         * gtk/testgtk.c: Revert some random changes from Elliot
7427         that had no particular point and were causing testgtkrc
7428         not to function correctly.
7429         
7430         * gdk/gdkregion-generic.h: Revert change from Elliot. Just
7431         because GdkSegment and GdkRegionBox have the same fields,
7432         it doesn't mean that 'typedef GdkSegment GdkRegionBox'
7433         results in clearer code.
7434
7435         * gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
7436         gdk_input_translate_coordinates): Fix missed GdkObjectification
7437
7438 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7439
7440         * gdk/Makefile.am, gdk/*/Makefile.am: Fix conditionality to work the "right" way.
7441         * gtk/gtk{plug,socket}.h: Missed commits from previous.
7442
7443 2000-06-20  Havoc Pennington  <hp@redhat.com>
7444
7445         * modules/linux-fb/Makefile.am: Make this compile
7446         without framebuffer enabled
7447
7448         * gdk/linux-fb/Makefile.am: Add conditional to not build
7449         framebuffer unless specified in configure
7450
7451         * gdk/gdkdraw.c (gdk_draw_drawable): Fix bug where I was getting
7452         the size of the target instead of source if -1 was passed for
7453         width/height
7454
7455         * gdk/x11/gdkgeometry-x11.c (gdk_window_compute_position): Fix 
7456         width/height confusion.
7457
7458 2000-06-19  Havoc Pennington  <hp@redhat.com>
7459
7460         * gdk/x11/gdkx.h (GDK_WINDOW_XWINDOW): change this to be
7461         GDK_DRAWABLE_XID. In the future, we probably want to make it
7462         faster with G_DISABLE_CHECKS turned on.
7463
7464 2000-06-14  Havoc Pennington  <hp@redhat.com>
7465
7466         * gdk/Makefile.am: add gdkpixmap.c
7467
7468         * gdk/gdk.c: s/gdk_window_init/_gdk_windowing_window_init/
7469         s/gdk_image_init/_gdk_windowing_image_init
7470
7471         * gdk/gdkcolor.c: make ref/unref compat wrappers for GObject
7472         ref/unref
7473
7474         * gdk/gdkcolor.h: make GdkColormap a GObject subclass
7475
7476         * gdk/gdkcompat.h: remove GdkWindowType compat, since
7477         GdkWindowType is now non-deprecated; 
7478         change gdk_window_get_type() compat to be
7479         gdk_window_get_window_type().
7480
7481         * gdk/gdkdnd.h: make GdkDragContext a GObject.
7482
7483         * gdk/gdkdraw.c, gdk/gdkdraw.h: Convert GdkDrawable to a pure
7484         virtual GObject. Make all functions call into the vtable.
7485         Move gdk_image_put() guts in here. Remove GdkDrawableType
7486         and gdk_drawable_get_type(), these are now GdkWindow-specific.
7487         draw_image, get_depth, get_size, set_colormap, get_colormap,
7488         get_visual added to the vtable.
7489         
7490         * gdk/gdkgc.h, gdk/gdkgc.c: Convert GdkGC to a pure virtual 
7491         GObject. Virtualize everything. 
7492         (gdk_gc_new_with_values): remove check for destroyed window,
7493         because now GdkWindow::create_gc will check this.
7494         (gdk_gc_set_values): New function to set GC values, this 
7495         was already implemented but wasn't in the header
7496
7497         * gdk/gdkimage.h, gdk/gdkimage.c: Convert GdkImage to a GObject.
7498
7499         * gdk/gdkinternals.h: Remove _gdk_window_alloc(), remove
7500         _gdk_window_draw_image(), remove _gdk_windowing_window_class,
7501         remove _gdk_window_class; add _gdk_window_impl_get_type() and
7502         _gdk_pixmap_impl_get_type(). Rename gdk_window_init to
7503         _gdk_windowing_window_init, rename gdk_image_init to
7504         _gdk_windowing_image_init.
7505         
7506         * gdk/gdkpango.c: Reflect GObject-ification of PangoContext.
7507         (gdk_draw_layout): Remove check for destroyed window, 
7508         because all the drawable methods already check it.
7509         
7510         * gdk/gdkpixmap.h, gdk/gdkpixmap.c: Convert GdkPixmap to GObject.
7511         Add gdkpixmap.c which contains implementation of GdkDrawable
7512         virtual table (by chaining to a platform-specific implementation
7513         object).
7514         
7515         * gdk/gdkprivate.h: Remove GDK_IS_WINDOW, GDK_IS_PIXMAP, 
7516         GDK_DRAWABLE_DESTROYED. Add GDK_WINDOW_DESTROYED. Replace
7517         GDK_DRAWABLE_TYPE with GDK_WINDOW_TYPE. Remove GdkDrawablePrivate,
7518         GdkWindowPrivate, GdkImageClass, GdkImagePrivate, GdkGCPrivate,
7519         GdkColormapPrivate. 
7520
7521         * gdk/gdktypes.h: #include <glib-object.h>
7522
7523         * gdk/gdkwindow.h, gdk/gdkwindow.c: Convert GdkWindow to GObject.
7524         Move most functionality to platform-specific implementation
7525         object. GdkWindow itself now handles the backing store, then
7526         chains to the platform-specific implementation.
7527         (gdk_window_get_window_type): return GdkWindowType of the window.
7528         (gdk_window_peek_children): New routine, returns the children of 
7529         a GdkWindow
7530         (gdk_window_get_children): Was in X11-specific code and did 
7531         XQueryTree. Changed to simply return a copy of window->children; 
7532         so it can go in cross-platform code.
7533         
7534         * gdk/x11/Makefile.am: fix broken MKINSTALLDIRS path
7535
7536         * gdk/x11/gdkcolor-x11.c: implement X-specific parts of 
7537         GdkColormap; just changed to use the new private data instead
7538         of casting to GdkColormapPrivate.
7539
7540         * gdk/x11/gdkcursor-x11.c: added a couple typechecks to 
7541         gdk_cursor_new().
7542
7543         * gdk/x11/gdkdnd-x11.c: Change the way we access private fields 
7544         (private data member in the GObject). 
7545         (xdnd_manager_source_filter): Function had broken 
7546         error handling, fix it (use gdk_error_trap_push).
7547
7548         * gdk/x11/gdkdrawable-x11.c: This file now implements
7549         a base class for GdkWindowImplX11/GdkPixmapImplX11. This 
7550         base class is purely for the convenience of the X port,
7551         and not part of the interface to cross-platform GDK.
7552
7553         * gdk/x11/gdkevents-x11.c: Reflect various renamings.
7554         
7555         * gdk/x11/gdkgc-x11.c: Implement a subclass of GdkGC that's
7556         specific to X, and returned by the create_gc virtual method
7557         of GdkDrawableImplX11. 
7558         (gdk_x11_gc_set_dashes): Change this to take an array of gint8
7559         rather than gchar, this was also changed in the GdkGC vtable.
7560         (gdk_x11_gc_values_to_xvalues): If GdkGCValues is NULL, or the
7561         mask is 0, return immediately, instead of checking every flag.
7562         This is faster, and keeps us from segfaulting if values is NULL
7563         and the mask contains some nonzero flags.
7564
7565         * gdk/x11/gdkgeometry-x11.c: deal with all the rearranging of
7566         GdkWindow.
7567
7568         * gdk/x11/gdkglobals-x11.c: change type of grab window, since 
7569         GdkWindowPrivate is gone.
7570
7571         * gdk/x11/gdkim-x11.c: rename things that got renamed.
7572
7573         * gdk/x11/gdkimage-x11.c: implement in terms of GObject, and 
7574         remove the image_put stuff that got transferred to GdkDrawable.
7575         
7576         * gdk/x11/gdkinput.c: renamings
7577
7578         * gdk/x11/gdkmain-x11.c: #include <pango/pangox.h>
7579
7580         * gdk/x11/gdkpixmap-x11.c: GObject conversion
7581
7582         * gdk/x11/gdkprivate-x11.h: indentation fixes
7583
7584         * gdk/x11/gdkproperty-x11.c: renamings
7585
7586         * gdk/x11/gdkselection-x11.c: renamings
7587
7588         * gdk/x11/gdkwindow-x11.c: Restructuring and renaming; this now 
7589         implements the platform-specific "impl" object.
7590         Moved gdk_window_get_children to gdk/gdkwindow.c
7591
7592         * gdk/x11/gdkx.h: Remove all the private structs and private datas
7593         that no longer exist. Add declaration of GdkGCX11 object here.
7594         Fix all the macros to still work. 
7595
7596         * gtk/gtk-boxed.defs: Remove GtkStyle, GdkColormap, GdkWindow,
7597         GdkDragContext from the boxed types since they are now GObjects.
7598
7599         * gtk/gtkstyle.h, gtk/gtkstyle.c: Converted GtkStyle to a GObject,
7600         moved xthickness/ythickness into the instance. GtkStyleClass
7601         functions are now in the standard vtable for GtkStyle, so you have
7602         to create a GObject subclass to write a theme engine.
7603         (gtk_style_copy): fixed a leaked PangoFontDescription
7604         (gtk_style_init): renamed gtk_style_realize, so gtk_style_init
7605         can be the standard GObject function.
7606         
7607         * Throughout GTK:
7608         s/style->klass->[xy]thickness/style->[xy]thickness
7609         s/pango_layout_unref/g_object_unref/
7610
7611         * gtk/gtkrc.h, gtk/gtkrc.c: Converted GtkRcStyle to a GObject.
7612         
7613         * gtk/gtksocket.c: Use gdk_window_get_user_data() instead of 
7614         accessing GDK internals.
7615
7616         * gtk/gtkwidget.c: Use gdk_window_peek_children() instead of 
7617         accessing GDK internals.
7618
7619 2000-06-18  Elliot Lee  <sopwith@redhat.com>
7620
7621         * gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.
7622
7623         * gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
7624         problem by calculating event position relative to the trough
7625         rather than the slider.
7626         * gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.
7627
7628         * gdk/gdkgc.h: Add GDK_NOR.
7629
7630         * configure.in, Makefile.am: Add modules top level dir
7631         * configure.in: Only use pangox library if building x11 target.
7632         * gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
7633
7634 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7635
7636         * gtk/gtkcolorsel.c: Change private class member to be named
7637         private_data throughout the file.
7638
7639         * gtk/gtkcolorsel.h (struct _GtkColorSelection): Change private to
7640         private_data to avoid clashing with keyword.
7641
7642 Fri Jun 16 22:24:22 2000  Christopher Blizzard  <blizzard@redhat.com>
7643
7644         * gdk/gdkdnd.h: Add comment to remove warning.
7645
7646 Sun Jun 18 15:35:35 2000  Pablo Saratxaga <pablo@mandrakesoft.com>
7647
7648         * gtk/gtkrc.cp1251,gtk/Makefile.am: the cp1251 is also used by
7649         Byelorussian language; changed the Makefile and file names 
7650         to reflect that.
7651
7652 Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>
7653
7654         * gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
7655         rather than gdk_window_hide; this makes things work
7656         correctly if the window is programmatically hidden while
7657         iconified.
7658
7659 Sun Jun 11 12:46:19 2000  Owen Taylor  <otaylor@redhat.com>
7660
7661         * gtk/gtkdnd.c (gtk_drag_set_default_icon): Fix
7662         cut and paste typo where wrong pixmap was being
7663         unref'ed. (Pointed out by a friend of KUSANO Takayuki.)
7664
7665 Sun Jun 11 10:22:36 2000  Owen Taylor  <otaylor@redhat.com>
7666
7667         * gtk/gtkselection.c (gtk_selection_bytes_per_item):
7668         Add helper function to compute format / bytes 
7669         relationship. Use in a couple places to fix up
7670         errors which assume 8 * format.
7671
7672         * gtk/gtkselection.c (gtk_selection_request): Use 32
7673         rather than 8 * sizeof (GdkAtom), to work correctly
7674         on Alpha.
7675
7676 Thu Jun  8 21:54:51 2000 Christopher Blizzard  <blizzard@redhat.com>
7677
7678         * gtk/Makefile.am (DEPS): deps include libgtk-x11.la, not
7679         libgtk.la
7680         (LDADDS): include libgtk-x11.la and libgdk-x11.la, not the non-x11
7681         versions
7682
7683         * gtk/gtklabel.c (gtk_label_get_text): Make sure that the error
7684         checking macros return NULL since the function has a return value.
7685
7686 Wed Jun  7 15:44:42 2000  Owen Taylor  <otaylor@redhat.com>
7687
7688         * gtk/Makefile.am (LDFLAGS): Add missing backslash that was keeping
7689         GTK+ from building at all.
7690
7691         * gdk/Makefile.am (gdk_c_sources): Fix up some indentation issues.
7692
7693 Mon Jun  5 19:32:53 CEST 2000 Paolo Molaro <lupus@linuxcare.com>
7694
7695         * configure.in, gtk-config.in, gdk/Makefile.am, gdk/*/Makefile.am,
7696         gtk/Makefile.am: make it possible to configure gtk for different
7697         targets on the same platform. The library name is now 
7698         libgtk-$target-$version.so. gtk-config accepts a --target x11|nanox|linux-fb
7699         flag. Only the x11 target compiles right now.
7700         * gdk/gdkregion-generic.h, gdk/gdkregion-generic.c, gdk/gdkpoly-generic.h,
7701         gdk/gdkpolyreg-generic.c: move generic region code in the main GDK dir.
7702         * gdk/nanox/gdk*generic*: delete generic region code.
7703         * gdk/linux-fb/gdk*generic*: delete generic region code.
7704         * README.nanox: update information.
7705         
7706 Tue Jun  6 10:53:59 2000  Owen Taylor  <otaylor@redhat.com>
7707
7708         * gtk/gtktoolbar.c (gtk_toolbar_prepend_widget): Fix to
7709         prepend not append. (Pointed out by Brett Hall.)
7710
7711 Tue Jun  6 01:59:57 2000  Owen Taylor  <otaylor@redhat.com>
7712
7713         * gtk/gtkentry.c (gtk_entry_finalize): Unref the entry's layout.
7714
7715 Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>
7716
7717         * gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
7718         need this later, and this makes sure that the atexit for
7719         glib gets called after that for GDK, so atexits are
7720         properly ordered for object leak checking.
7721
7722         * gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().
7723
7724         * gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call 
7725         pango_x_shutdown_display()
7726
7727         * gtk/simple.c (main): Close window on destroy.
7728
7729 Mon Jun  5 11:50:02 2000  Owen Taylor  <otaylor@redhat.com>
7730
7731         * gdk/x11/gdkgc-x11.c (gdk_x11_gc_values_to_xvalues): We need
7732         to treat initial creation different from setting with 
7733         regards to the graphics-exposures parameter, so add a parameter
7734         indicating whether this is initial or not.
7735
7736 Mon Jun  5 13:29:31 2000  Owen Taylor  <otaylor@redhat.com>
7737
7738         * gdk/x11/gdkevents-x11.c: Hack gdk_event_get_graphics_expose()
7739         to sort of work by adding an extra return_exposes arg
7740         to gdk_event_translate() - it might be better to simply
7741         deprecate the function altogether and force people to rewrite
7742         without it. gdk_window_scroll() handles most of it, and where
7743         gdk_window_scroll() doesn't work, simply redrawing more does.
7744
7745         * gtk/gtkwidget.c (gtk_widget_set_default_direction): Fix up
7746         assertion.
7747
7748         * gtk-config.in: Include PANGO_CFLAGS/LIBS.
7749
7750         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Remove a 
7751         bunch of pretty much useless /* Print debugging info */ comments 
7752         which had drifted away from the code they were commenting.
7753
7754 2000-06-02  Havoc Pennington  <hp@pobox.com>
7755
7756         * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
7757         is in working order.
7758         
7759         * gtk/testtext.c: Change to reflect anonymous mark API
7760
7761         * gtk/gtktextview.c: Convert from mark names to GtkTextMark*.
7762
7763         * gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
7764         field, which was unused.
7765
7766         * gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
7767         saves some typing.
7768
7769         * gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*   
7770
7771         * gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
7772         flag on the insertion point and selection bound
7773
7774         Throughout, use GtkTextMark instead of GtkTextLineSegment, and 
7775         make mark-manipulation functions take a GtkTextMark* instead of a
7776         mark name.
7777         
7778         * gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to 
7779         GtkTextMarkBody; will be used to detect attempts to delete
7780         the permanent marks (insert and selection bound)
7781
7782         * gtk/Makefile.am (noinst_PROGRAMS): add testtextbuffer 
7783
7784 Fri Jun  2 12:56:01 2000  Owen Taylor  <otaylor@redhat.com>
7785
7786         * gtk/gtkwidget.c (gtk_widget_init): Initialize DOUBLE_BUFFERED
7787         flag to on.
7788
7789         * gtk/gtkwidget.c (gtk_widget_draw) gtk/gtkmain.c (gtk_main_do_event): 
7790         Honor DOUBLE_BUFFRED_FLAG
7791
7792         * gtk/gtkwidget.c (gtk_widget_set_double_buffered): Add a
7793         function to set the DOUBLE_BUFFERED flag.
7794
7795         * gtk/gtkwidget.h: Add GTK_DOUBLE_BUFFERED flag to indicate whether
7796         or not exposes done on the widget should be double-buffered.
7797
7798         * gtk/gtkenums.h (GtkTextDirection): Reverse order of enumerations
7799         to be what would be expected. (Fixes problem with a
7800         g_return_if_fail() validating a TextDirection enumeration)
7801
7802 Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>
7803
7804         * gtk/gtkwidget.c: Remove all references to 
7805         offscreen flag which was no longer used.
7806
7807         * gtk/gtkprivate.h (enum): Remove unused flags and compress.
7808
7809         * gtk/gtkframe.c (gtk_frame_set_label_widget): Check
7810         for non-null label_widget->parent.
7811
7812         * gtk/gtkentry.c: Get rid of code to deal with PangoAttribute 
7813         which no longer was used.
7814
7815         * gdk/gdkpango.c (gdk_pango_context_get_info): make static.
7816
7817         * gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
7818         for null arguments.
7819
7820         * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
7821         check for destroyed windows.
7822
7823 Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>
7824
7825         * gtk/gtkimmulticontext.c: Add a finalize method and unref
7826         the slave context there.
7827
7828         * gtk/gtkinvisible.[ch]: Make reference counting behavior
7829         identical to GtkWindow.
7830
7831 Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>
7832
7833         * Makefile.am gdk/gdkpango.c: Copy the layout render function from
7834         pangox to here, so we can write them independent of rendering
7835         system, using GDK primitives.
7836
7837         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
7838         gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
7839         since we have a rendering-system independent implementation in
7840         terms of draw_glyphs().
7841         
7842         * gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
7843         function to render a single line.
7844
7845         * gdk/x11/gdkpango.c: Move the guts of this file mostly
7846         into ../gdkpango.c, which simplifies things, since we
7847         don't have to deal with raw X gc's.
7848
7849 Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>
7850
7851         * gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
7852         get the logical attributes for a given GtkTextLine.
7853
7854 Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>
7855
7856         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
7857         g_locale_get_codeset() to g_get_codeset() change.
7858
7859 Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>
7860
7861         * gtk/testcalendar.c (calendar_font_selection_ok): Use font
7862         descriptions.
7863
7864         * gtk/gtkentry.c (gtk_entry_draw_text): Center text within
7865         the entry.
7866
7867         * gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
7868         redoing (vastly simplifying) for Pango. Still needs quite
7869         a bit of work. (Size selection is currently poor. List of 
7870         predefined sizes is not a good idea, since all of these
7871         sizes won't necessarily be distinct.)
7872
7873 Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>
7874
7875         * gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
7876         CODESET results for LANG=C.
7877
7878 Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>
7879
7880         * gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
7881         which takes a stringized pango font description;
7882         ignore the older 'font' and 'fontset' declarations.
7883
7884         * gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
7885         field with a GdkFont derived via gdk_font_from_description(),
7886         for compatibility. (Should we just remove it entirely?
7887         Probably too much compatibility breakage, but people
7888         should be migrating to the new Pango stuff as quickly
7889         as possible.)
7890
7891 Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>
7892
7893         * gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.
7894
7895 Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>
7896
7897         * gtk/gtkcalender.c: Roughly pango-ized. Really needs 
7898         redoing; there are some bugs in size allocation right
7899         now, the semi-existant distinction between header / day
7900         fonts was removed, but, with Pango, could actually
7901         be made functional in a nice way.
7902         
7903         * gtk/testcalender: Move calender from examples into this
7904         directory as a test program. (We really need to restrcture
7905         testgtk into a whole directory full of tests for every
7906         widget or functionality group, separated into multiple .c
7907         files.)
7908
7909 Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>
7910
7911         * gtk/testgtk.c (file_exists): Fix stupid typo that
7912         was keeping RC file from being loaded.
7913
7914         * gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
7915         RC file font code.
7916
7917 Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>
7918
7919         * gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
7920         Add function to load a GdkFont from a PangoFontDescription.
7921
7922 2000-05-29  Tor Lillqvist  <tml@iki.fi>
7923
7924         * gdk/win32/gdkevents-win32.c (gdk_WindowProc): The local "event"
7925         variable should be of type GdkEventPrivate.
7926
7927 Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>
7928
7929         * gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
7930         to have any widget for the label, use a GtkLabel widget
7931         to display the text. (Based partially on a patch from
7932         Anders Carlson.)
7933
7934         (Quite a bit of code reorganization - strip 90% of the
7935         guts out of gtkaspectframe and add a single virtual
7936         func to GtkFrameClass - compute_child_allocation.)
7937
7938 Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>
7939
7940         * gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
7941         (Removed clist->row_center_offset field because caching
7942         it wasn't saving time or code, added private function
7943         _gtk_clist_create_cell_layout()).
7944
7945 Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>
7946
7947         * gtk/gtkaccellabel.c: Pangoized.
7948
7949         * gtk/[hv]ruler.c: Pangoized
7950
7951 Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>
7952
7953         * gtk/gtkfilesel.c (gtk_file_selection_init):
7954         Use gtk_clist_set_column_auto_resize() to remove need
7955         need for manual column width computations.
7956
7957 Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>
7958
7959         * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel, 
7960         ensuring Pango correctness, and considerably simplifying the
7961         code.
7962         
7963         * gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.
7964
7965         * gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
7966         getting of numbers of lines.
7967
7968         * gtk/gtklabel.c (gtk_label_size_request): Set the requisition
7969         to the actual requested width of the lable, not to the wrap
7970         width we set.
7971
7972         * gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.
7973
7974         * gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
7975           gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.
7976
7977         * gtk/gtktextview.c: Fix structure inheritance.
7978
7979         * gtk/gtkprogressbar.c: Pangoize.
7980
7981 Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>
7982
7983         * gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
7984         in a function.
7985
7986         * gtk/gtktextlayout.c (find_display_line_above): Fixed
7987         bug with computing line tops.
7988
7989         * gtk/gtktextview.c (changed_handler): Fix < , <= confusion.
7990
7991 Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>
7992
7993         * gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
7994         and y_offset coordinates to do what we need now. (The offset between
7995         buffer and layout coordinates has been reintroduced, but is a 
7996         bit different than before.)
7997
7998         * gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
7999         handle the adjustments ourselves, and scroll as necessary using
8000         the new gdk_window_scroll().
8001         
8002         The advantage of this is that when we are incrementally revalidating,
8003         we are essentially rearranging things around the visible portion
8004         of the screen. With the old setup, the visible portion of the
8005         screen was moved around in the layout, so scrolling and redrawing
8006         to track that caused jumping of the display. Since we now
8007         control the scrolling ourselves, we can suppress this and
8008         only redraw when things actually change.
8009
8010 Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>
8011
8012         * gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
8013         the region not just redisplay it after-all, since we store the
8014         cursors in the LineDisplay. (Ugly interactions here between
8015         GtkLayout and GtkTextBTree here.)
8016         
8017         * gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.
8018
8019 Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>
8020
8021         * gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): 
8022         Added function to scroll contents of a window while keeping the
8023         window constant. Works by XCopyArea or guffaw-scrolling depending
8024         on the details of how the window is set up. (guffaw-scrolling
8025         still needs to be filled in.)
8026
8027 Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>
8028
8029         * gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
8030         move the debugging that was tied to a global variable
8031         to that.
8032
8033         * gtk/gtkmarshal.list: Add NONE:INT,INT,INT
8034
8035         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
8036         validated flag, in line data instead of setting height/width to
8037         -1. This allows us to perform operations with partially invalid
8038         buffer (using the old size for invalid lines) and thus to do
8039         incremental vaidation. Keep height/width aggregates up to date
8040         when deleting text and rebalancing the tree.
8041
8042         * gtk/gtktextbtree.[ch]: Add functions validate a line
8043         (gtk_text_btree_validate_line), and to validate up
8044         to a number of pixels (gtk_text_btree_validate).
8045
8046         * gtk/gtktextlayout.[ch]: Add an ::invalidated signal
8047         that indicates that something is changed and a revalidation
8048         pass is needed. Change ::need_repaint to ::changed, and
8049         make it take old and new yranges instead of a rectangle.
8050
8051         * gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
8052         the line_data_destroy() function from 
8053         gtk_text_btree_add_view() to a virtual function in 
8054         GtkTextLayout
8055
8056         * gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
8057         since we are handling partial repaints in a different fashion
8058         now.
8059
8060         * gtk/gtktextbtree.[ch]: Only repaint the changed portion
8061         of the selection instead of queueing a repaint on the
8062         entire widget.
8063
8064         * gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
8065         get_selection_bounds() down to btree, make the function
8066         in buffer a wrapper around the btree function.
8067
8068         * gtk/gtktextlayout.[ch]: Add functions to check if the
8069         layout is valid and to recompute either a range of pixels
8070         aroudn a line or a certain total number of pixels.
8071
8072         * gtk/gtktextlayout.[ch]: Cache a single line display;
8073         now that we only redraw the needed portions, the hit rate
8074         for this cache is quite high.
8075         
8076         * gtk/gtktextview.[ch]: Keep track of the first paragraph
8077         on the screen so that when re-laying-out the buffer, we can
8078         keep the same place. This requires connecting to ::value_changed
8079         on the adjustments
8080
8081         * gtk/gtktextview.[ch]: Add idle functions to revalidate
8082         the buffer after we receive an ::invalidated signal.
8083         
8084 Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>
8085
8086         * gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
8087         to max of allocation and layout size, not just to the
8088         layout size.
8089
8090         * gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size): 
8091         Invalidate window so it gets redrawn properly.
8092
8093         * gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
8094         to mean the entire window.
8095
8096         * gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
8097         into public header.
8098
8099 Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>
8100
8101         * gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
8102         to get the name of a mark.
8103
8104         * gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
8105         to find the paragraph from a y position.
8106
8107 Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>
8108
8109         * gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
8110         nodes have width/height >= 0, not > 0.
8111
8112 Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>
8113
8114         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
8115         Add a size_only flag, so when we only need the size, we don't create
8116         useless appearance attributes.
8117
8118         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
8119         duplicate setting of font description.
8120
8121         * gtk/gtkscale.c: Use PANGO_SCALE instead of 1000 
8122
8123 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8124
8125         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8126         EXTRA_DIST. It does not work well when the file that
8127         everything depends on is not in the tarball.
8128
8129 Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>
8130
8131         * gtk/testgtk.c: Some hacks and fixes so that it basically
8132         works when not sitting in the GTK+ build tree.
8133
8134 2000-05-03  Havoc Pennington  <hp@redhat.com>
8135
8136         * gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
8137         Properly determine the ordering of the tag root and the current
8138         line within the tree. Previous algorithm only worked if the tag
8139         root's immediate parent was the common root of both the current
8140         line and the tag root.
8141
8142 Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>
8143
8144         * gtk/gtktextlayout.c (set_para_values): Fix some bugs in
8145         alignment.
8146
8147         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
8148         the widget text directional dynamically.
8149
8150         * gtk/gtktextview.[ch]: Added functions to get and set default
8151         wrap mode.
8152
8153 Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>
8154
8155         * gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
8156         in cursor location computation.
8157
8158 Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>
8159
8160         * gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
8161         vadjusment values properly when layout gets smaller.
8162
8163         * gtk/gtktextview.c (need_repaint_handler): Areas being
8164         passed in are far completely inaccurate, and sometimes
8165         too small, so, for now, just queue a redraw on the
8166         whole visible region.
8167
8168 2000-04-25  Havoc Pennington  <hp@redhat.com>
8169
8170         * gtk/gtktextbtree.c (summary_destroy): new function to 
8171         destroy tag summary nodes
8172         (gtk_text_line_next_could_contain_tag): this function was 
8173         totally broken if the line passed in wasn't below the tag
8174         root. Fix it.
8175         (gtk_text_btree_first_could_contain_tag): In the tag == NULL 
8176         "wildcard" case, we have to do a linear scan. Blah.
8177         (gtk_text_btree_last_could_contain_tag): In tag == NULL case,
8178         we have to do the linear scan
8179         (tag_removed_cb): When a tag is removed from the tag table, 
8180         remove the GtkTextTagInfo node from the btree.
8181         (gtk_text_btree_spew): Implement the spew function, for 
8182         our debugging pleasure.
8183
8184 Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>
8185
8186         * gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
8187         a problem with referring to the wrong buffer.
8188
8189         * gtk/gtkentry.c: Fix focus-in/focus-out confusion.
8190
8191         * gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
8192         font description to gtk_style_new() - otherwise things
8193         don't work without a .gtkrc file.
8194
8195         * gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
8196         tags table if we create it ourself, too.
8197
8198         * gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
8199         it was conflicting with XKB modifiers.
8200
8201         * gtk/gtktextview.[ch]: Add simple support for 
8202         GtkIMContext.
8203
8204 Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>
8205
8206         * gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
8207         with deletion from last commit.
8208
8209 Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>
8210
8211         * gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
8212         in the context from the current locale.
8213         
8214         * gtk/gtkentry.c (gtk_entry_size_request): Use language from the
8215         context, not hardcoded value.
8216
8217         * gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
8218         not logical.
8219
8220 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8221
8222         * gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
8223         attributes - that doesn't handle partial-glyph selection
8224         properly. Instead use new pango_layout_line_get_x_ranges()
8225         functionality to draw the selection.
8226
8227         * gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
8228         now properly handles out-of-range coordinates.
8229
8230         * gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.
8231
8232         * gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
8233         public.
8234
8235         * gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
8236         for paragraphs opposite to the base direction of the widget.
8237
8238         * gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.
8239
8240         * gtk/gtktextlayout.c: Don't split segments on marks, since that
8241         causes Arabic words to reshape as you cursor through.
8242
8243         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
8244         cursor position when moving vertically with the arrow keys and
8245         scrolling with page-up/page-down. (Arrow keys save only the X,
8246         scrolling saves both X and Y.)
8247
8248         This means you can line-up / line-down or page-up / page-down
8249         without losing your place, and also that moving vertically
8250         with the cursor keys keeps the same X position, not the same
8251         character count:
8252
8253         * gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
8254         arrow keys move by display lines, not paragraphs.
8255
8256 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8257
8258         * gtk/gtklayout.c: Make sure that the bin window is at least
8259         as big as the allocation. (Should we also make sure that the
8260         bin window is big enough to completely cover widget->window?)
8261
8262         * gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
8263         function to get the onscreen rectangle.
8264
8265         * gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
8266         for offsets in window coordinates.
8267
8268 Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>
8269
8270         * gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
8271         confusion.
8272
8273         * gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
8274         from the widget direction.
8275
8276         * gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg): 
8277         Add a "direction" attribute.
8278
8279         * gtk/gtktextview.c: global s/tkxt/text_view/.
8280
8281         * gtk/testtext.c: Added long block of text in Arabic, to test out
8282         the direction attributes. (Some problems with the shaping system
8283         for arabic become obvious - like the fact the cursor splits words
8284         into unjoined pieces.)
8285
8286 Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>
8287
8288         * gtk/gtktextdisplay.c (render_layout): Add overstrike handling.
8289
8290         * gtk/gtktextlayout.c: Fix up alignment.
8291
8292         * gtk/testtext.c: Add some tests for centering, wrapping.
8293
8294 Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>
8295
8296         * gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8297         Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
8298         If we wrote GTK+-specific layout-render function this could just replace
8299         the draw_layout() operation in the vtable.
8300
8301         * gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to 
8302         pango_layout_get_cursor_pos() and use that function.
8303
8304         * gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
8305         is a non-static symbol.
8306
8307         * gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
8308         with gtk_text_btree_find_line_by_y()
8309
8310         * gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
8311         renderer that handles GtkTextAppearance attributes.
8312
8313         * gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h: 
8314
8315           - Move the values in the style that don't affect geometry into a
8316             GtkTextAppearance structure.
8317           - Change underline to take a PangoUnderline and "font" a string
8318             representation of a font description
8319           - Add a "font_desc" attribute which takes a FontDescription structure.
8320
8321         * gtk/gtktextlayout.[ch]:
8322
8323           - Get rid of the display-line list per each line. Instead, we
8324             generate, on demand, a GtkTextLineDisplay structure which]
8325             contains a PangoLayout * and other necesary information
8326             (offsets, cursor locations) for displaying a paragraph.
8327           - Get rid of the code to wrap lines, create display chunks,
8328             etc. Instead, we just go through a paragraph and convert
8329             it into the necessary inputs to a PangoLayout.
8330           - Implement a new attribute type, GtkTextAttrAppearance. This
8331             holds a GtkTextAppearance, and is used to pass colors, 
8332             stipple, etc, through from the layout to the display without
8333             having to use lots and lots of individual attributes.
8334           - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
8335             in terms of PangoLayout functions.
8336         
8337         * gtk/gtktextview.c: 
8338          
8339           - Handle passing the necessary PangoContext to the layout
8340           - Some fixups in painting to deal with the automatic backing store
8341             and offsetting of GTK+-1.4
8342           - Add a style_set handler so that the default style reacts
8343             properly to theme changes.
8344         
8345         * gtk/gtktext?*.[ch]: Random code-style fixes.
8346
8347         * gtk/testtext.c: Substitute in languages that Pango handles now for Thai
8348
8349 Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>
8350
8351         * gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
8352         in original form preparatory to Pango-ization and gdkimcontext-ization.
8353
8354 Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>
8355
8356         * gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
8357         so that we can derive from gtkimcontext in language bindings properly.
8358
8359 Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>
8360
8361         * gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
8362         Add a compose table including (almost) all the compose combinations
8363         from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
8364         data in the XIM implementation.
8365
8366         * gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
8367         Moved functions to convert keyvalues from and to unicode here from
8368         the win32 port and made them public.
8369
8370 Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>
8371
8372         * gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.
8373
8374 Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>
8375
8376         * gtk/gtkimcontext.[ch]: Base class for new input context system
8377
8378         * gtk/gtkimmulticontext.[ch]: Proxy input context that allows
8379         the real input context implementation to be loaded from modules
8380         and switched on the fly.
8381
8382         * gtk/gtkcontextsimple.[ch]: Simple implementation of an input
8383         context that just does direct keysymbol => unicode translation.
8384
8385         * gtk/gtkentry.[ch]: Start switching editing over to using
8386         GtkInputContext. (No handling of preedit yet.)
8387
8388 Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>
8389
8390         * gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
8391         many substitutions. (klass should not be subsituted.)
8392
8393 Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>
8394
8395         * configure.in: Add checks for Pango
8396
8397         * configure.in docs/Makefile.am: Add test for sgml2html
8398         and allow 'make dist' without building html, but print out
8399         warnings in that case. (For making snapshots)
8400
8401         * gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
8402         Add Pango libraries and C flags
8403
8404         * gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
8405         Add function (gdk_draw_layout) to draw a pango layout.
8406
8407         * gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
8408         for getting Pango contexts for GDK.
8409
8410         * gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()
8411
8412         * gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
8413         editing.
8414
8415         * gtk/gtkentry.c: Hack in simple Hebrew input with direct
8416         keysym => unicode translations. More languages can be added
8417         here, but real input-method support is needed.
8418
8419         * docs/Changes-1.4.txt: Added note about entry behavior.
8420         
8421         * gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
8422         to set the reading direction for a widget and the global direction.
8423         Add test which allows toggling the global direction. Two private
8424         flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)
8425
8426         * gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
8427           gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c 
8428
8429         * gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango
8430
8431         * gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
8432         underlining now handled by Pango.
8433
8434         * gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
8435         to RCStyle and Style. (Having both this and the old font name and GdkFont 
8436         is temporary.)
8437
8438         * gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added 
8439         convenience functions for creating contexts and layouts for widgets.
8440
8441         * gtk/testgtk.c: Enhance label tests with multilingual labels.
8442
8443 2000-05-29  Jonathan Blandford  <jrb@redhat.com>
8444
8445         * gtk/gtkclist.c (gtk_clist_column_titles_active): let you set the
8446         titles to be active, even if they aren't visible.
8447         (gtk_clist_column_titles_passive):  Ditto.
8448
8449 2000-05-21  Nils Barth  <nils_barth@post.harvard.edu>
8450
8451         * gtkmenu.c:
8452         * gtkmenu.h:
8453         * gtktypeutils.h: Spelling/grammar fixes in comments.
8454
8455 Tue May 23 12:25:07 CEST 2000 lupus <lupus@debian.org>
8456
8457         * gdk/nanox/*.h: add missing header files.
8458
8459 Fri May 19 11:52:59 2000  Tim Janik  <timj@gtk.org>
8460
8461         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set
8462         send_event to TRUE.
8463         (gtk_drawing_area_size): queue a resize.
8464
8465 Sun Mar 26 03:21:28 2000  Tim Janik  <timj@gtk.org>
8466
8467         * gtk/gtksignal.c (gtk_signal_handlers_destroy): when unref-ing
8468         the handlers, also invalidate them. bug nailed down by Karl Nelson
8469         <kenelson@ece.ucdavis.edu>.
8470
8471 Fri May 19 06:49:23 2000  Tim Janik  <timj@gtk.org>
8472
8473         * gtk/gtkfontsel.c (gtk_font_selection_get_font_name): handle
8474         "(nil)" foundries, patch from Grigorios Magklis.
8475
8476         * gtk/gtkfontsel.c (gtk_font_selection_load_font): don't crash
8477         on non-available fonts, based on a patch by Grigorios Magklis
8478         <maglis@cs.rochester.edu>.
8479
8480 2000-05-18  Elliot Lee  <sopwith@redhat.com>
8481
8482         * gdk/x11/gdkregion-generic.c: If a region does not have any
8483         rectangles, or if the specified rectangle is not in the region, then return GDK_OVERLAP_RECTANGLE_OUT
8484         instead of GDK_OVERLAP_RECTANGLE_IN.
8485
8486 2000-05-17  Jonathan Blandford  <jrb@redhat.com>
8487
8488         * gtk/gtklayout.c (gtk_layout_map): Remove references to
8489         OFFSCREEN, as it is no longer necessary.
8490
8491 Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>
8492
8493         * gtk/gtkcolorsel.c: Patch from David Santiago
8494         <mrcooger@cyberverse.com> to change things so that the 
8495         indicator of the active palette entry is done independently,
8496         not via the focus, since it should always be visible.
8497
8498 2000-05-17  Tor Lillqvist  <tml@iki.fi>
8499
8500         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Plug same
8501         refcount leaks as in the X11 backend.
8502
8503         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Logging
8504         cosmetics.
8505
8506         * gdk/win32/gdkwindow-win32.c: Similar changes as in X11
8507         backend. Add _gdk_windowing_window_destroy().
8508
8509         * gtk/gtkcolorsel.c: Include correct backend-specific header.
8510         Don't use XColor unless on X11. (No GDK_VISUAL_STATIC_COLOR
8511         either, but these probably do exist on nanox?)
8512         
8513         * gtk/gtkhsv.c: Use G_PI (fresh from <glib.h>) instead of M_PI
8514         which isn't necessarily defined by <math.h>.
8515
8516         * gtk/gtkobject.c (gtk_object_init): Don't go up the class
8517         ancestry past GtkObject.
8518
8519         * gtk/gtktypeutils.h: Mark GTK_TYPE_IDENTIFIER for export/import
8520         from DLL on Win32.
8521
8522         * gtk/gtk.def: Update corresponding to recent changes.
8523
8524         * gtk/makefile.{cygwin,msc}: Updates.
8525
8526 Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>
8527
8528         * docs/Changes-1.4.txt: A bit of editing.
8529
8530         * gdk/gdkwindow.c (_gdk_window_clear_update_area) 
8531         * gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
8532         to clear the update area for the window, and clear it
8533         when hiding a window.
8534
8535         * gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
8536         if window destroyed.
8537
8538         * gdk/gdkwindow.c (gdk_window_end_paint): Likewise.
8539
8540         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move 
8541         gdk_window_destroy() to the generic code, since there was a lot of 
8542         window-system-independent logic it in. Add a function:
8543         
8544          _gdk_window_destroy() 
8545
8546         to the internal API to destroy a window without unreferencing it.
8547         Add a function:
8548
8549          _gdk_windowing_window_destroy()
8550
8551         That does the windowing-system-dependent part of destroying 
8552         the window.
8553
8554 Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>
8555
8556         * gtk/testgtk.c: Fix various memory leaks of pixmaps.
8557
8558 Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>
8559
8560         * gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask): 
8561         Make gtk_widget_shape_combine_mask() keep a reference count on
8562         the pixmap since it keeps it around.
8563
8564 Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>
8565
8566         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
8567         leak.
8568
8569         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
8570         leak with event filters.
8571
8572 Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>
8573
8574         * gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
8575         signal handlers with the right data arguments. (Fixes
8576         some warnings when a widget was repeatedly set as a drag
8577         destination.)
8578
8579         * gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
8580         window so we can avoid avoid setting the DND properties on the
8581         toplevel window repeatedly.
8582
8583 2000-05-13  Tor Lillqvist  <tml@iki.fi>
8584
8585         * gdk/win32/gdkwin32.h: Define more message types missing from
8586         mingw headers.
8587
8588         * gdk/win32/gdkevents-win32.c (gdk_event_translate): On WM_DESTROY
8589         call gdk_window_destroy_notify(). It was never called. This
8590         probably meant that the GdkWindow was never freed. Thanks Owen for
8591         noticing (!).
8592
8593         * gdk/win32/gdkwindow-win32.c (gdk_window_internal_destroy): Mark
8594         window as destroyed before calling DestroyWindow(). DestroyWindow()
8595         causes a call to the window procedure (gdk_WindowProc), which
8596         calls gdk_event_translate(), which calls
8597         gdk_window_destroy_notify(), which gets confused unless the window
8598         is set as destroyed.
8599
8600         * gdk/win32/gdkcolor-win32.c (gdk_win32_color_to_string): Rename
8601         this function to indicate it's win32 only. Put inside #ifdef
8602         G_ENABLE_DEBUG.
8603
8604         * gdk/win32/gdkevents-win32.c (gdk_win32_message_name): New
8605         debugging function. (gdk_event_translate:) Add a default branch
8606         that uses the above function to print debug messages with all
8607         Windows messages symbolically.
8608
8609         * gdk/win32/gdkprivate-win32.h: Declare it, and
8610         gdk_win32_color_to_string, but only if G_ENABLE_DEBUG.
8611
8612 Fri May 12 20:07:32 2000  Tim Janik  <timj@gtk.org>
8613
8614         * gtk/gtkcolorseldialog.c: don't include gtk/gtkintl.h in a
8615         public header file.
8616
8617 Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>
8618
8619         * docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.
8620
8621         * gtk/gtktext.c: made the adjustments no-construct args, simply
8622         provide default adjustments.
8623         (gtk_text_destroy): release adjustments.
8624
8625         * gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
8626         adjustment argument non-construct.
8627
8628         * gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
8629         instead of in finalize.
8630         (gtk_progress_get_text_from_value): 
8631         (gtk_progress_get_current_text): 
8632         (gtk_progress_set_value): 
8633         (gtk_progress_get_percentage_from_value): 
8634         (gtk_progress_get_current_percentage): 
8635         (gtk_progress_set_percentage): 
8636         (gtk_progress_configure): ensure an adjustment is present.
8637
8638 Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>
8639
8640         * gtk/gtkcolorsel.[hc]:
8641         * gtk/gtkcolorseldialog.[hc]:
8642         * gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
8643         their parent implementation, use bit fields for boolean values, don't
8644         create unused widgets, usage of glib types, braces go on their own
8645         lines, function argument alignment, #include directives etc. etc. etc..
8646
8647         * gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.
8648
8649 Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>
8650
8651         * gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.
8652
8653         * gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
8654         of NULL.
8655
8656         * gtk/gtkcombo.c (gtk_combo_item_destroy): don't keep references
8657         to freed data.
8658         (gtk_combo_destroy): don't keep a pointer to a destroyed window.
8659
8660         * gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
8661         to NULL when the toplevel is getting destroyed.
8662         (gtk_menu_set_tearoff_state): same here for the tearoff_window.
8663         (gtk_menu_destroy): 
8664         (gtk_menu_init): store the information of whether we have to
8665         readd the initial child ref_count during destruction in a new
8666         GtkMenu field needs_destruction_ref_count.
8667
8668         * gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
8669         here, those reading: learn from my mistake! ;)
8670         in order for set_?adjustment to support a default adjustemnt if
8671         invoked with an adjustment pointer of NULL, the code read (pseudo):
8672         if (v->adjustment) unref (v->adjustment);
8673         if (!adjustment) adjustment = adjustment_new ();
8674         if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
8675         now imagine the first unref to actually free the old adjustment and
8676         adjustment_new() creating a new adjustment from the very same memory
8677         portion. here, the latter comparision will unintendedly fail, and
8678         all hell breaks loose.
8679         (gtk_viewport_set_hadjustment):
8680         (gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
8681         after unreferencing it.
8682
8683         * gtk/gtkcontainer.[hc]: removed toplevel registration
8684         functions: gtk_container_register_toplevel(),
8685         gtk_container_unregister_toplevel() and
8686         gtk_container_get_toplevels() which had wrong semantics
8687         anyways: it didn't reference and copy the list.
8688
8689         * gtk/gtkwindow.c: we take over the container toplevel registration
8690         bussiness now. windows are registered across multiple destructions,
8691         untill they are finalized. the initial implicit reference count
8692         users are holding on windows is removed with the first destruction
8693         though.
8694         (gtk_window_init): ref & sink and set has_user_ref_count, got
8695         rid of gtk_container_register_toplevel() call. add window to
8696         toplevel_list.
8697         (gtk_window_destroy): unref the window if has_user_ref_count
8698         is still set, got rid of call to
8699         gtk_container_unregister_toplevel().
8700         (gtk_window_finalize): remove window from toplevel list.
8701         (gtk_window_list_toplevels): new function to return a newly
8702         created list with referenced toplevels.
8703         (gtk_window_read_rcfiles): use gtk_window_list_toplevels().
8704
8705         * gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
8706         adjustment a non-construct arg.
8707         * gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
8708         * gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
8709         * gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.
8710
8711         * gtk/gtkrange.c: added some realized checks.
8712         (gtk_range_destroy): get rid of the h/v adjustments in the
8713         destroy handler instead of finalize. remove timer.
8714         (gtk_range_get_adjustment): demand create adjustment.
8715
8716         * gtk/gtkviewport.c: made h/v adjustment non-construct args.
8717         we simply create them on demand now and get rid of them in
8718         the destroy handler.
8719         (gtk_viewport_destroy): get rid of the h/v adjustments in the
8720         destroy handler instead of finalize.
8721         (gtk_viewport_get_hadjustment): 
8722         (gtk_viewport_get_vadjustment): 
8723         (gtk_viewport_size_allocate): demand create h/v adjustment
8724         if required.
8725
8726         * gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
8727         gtk_widget_real_destroy () functionality.
8728         (gtk_widget_real_destroy): reinitialize with a new style, instead
8729         of setting widget->style to NULL.
8730
8731 Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>
8732
8733         * gtk/gtkcalendar.c:
8734         * gtk/gtkbutton.c: ported _get_type() implementation over to
8735         GType, either to preserve memchunks allocation facilities,
8736         or because Gtk+ 1.0 GtkTypeInfo was still being used.
8737
8738         * gtk/gtkobject.[hc]: derive from GObject. ported various functions
8739         over. prepare for ::destroy to be emitted multiple times.
8740         removed reference tracer magic. chain into GObjectClass.shutdown()
8741         to emit ::destroy signal.
8742
8743         * gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
8744         fundamental.
8745
8746         * gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
8747         cludge.
8748
8749         * gtk/gtksocket.c:
8750         * gtk/gtkplug.c:
8751         * gtk/gtklayout.c:
8752         * gtk/gtklabel.c:
8753         * gtk/gtkargcollector.c:
8754         * gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
8755         not being a fundamental anymore, and to work with the new
8756         type system (nuked fundamental type varargs clutter).
8757
8758         * gtk/*.c: install finalize handlers in the GObjectClass
8759         part of the class structure.
8760         changed direct GTK_OBJECT()->klass accesses to
8761         GTK_*_GET_CLASS().
8762         changed direct object_class->type accesses to GTK_CLASS_TYPE().
8763
8764         * gtktypeutils.[hc]: use the reserved fundamental ids provided by
8765         GType. made most of the GTK_*() type macros and Gtk* typedefs
8766         simple wrappers around macros and types provided by GType.
8767         most notably, a significant portion of the old API vanished:
8768         GTK_TYPE_MAKE(),
8769         GTK_TYPE_SEQNO(),
8770         GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
8771         GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
8772         GTK_TYPE_ARGS,
8773         GTK_TYPE_CALLBACK,
8774         GTK_TYPE_C_CALLBACK,
8775         GTK_TYPE_FOREIGN,
8776         GtkTypeQuery,
8777         gtk_type_query(),
8778         gtk_type_set_varargs_type(),
8779         gtk_type_get_varargs_type(),
8780         gtk_type_check_object_cast(),
8781         gtk_type_check_class_cast(),
8782         gtk_type_describe_tree(),
8783         gtk_type_describe_heritage(),
8784         gtk_type_free(),
8785         gtk_type_children_types(),
8786         gtk_type_set_chunk_alloc(),
8787         gtk_type_register_enum(),
8788         gtk_type_register_flags(),
8789         gtk_type_parent_class().
8790         replacements, where available are described in ../docs/Changes-1.4.txt.
8791         implemented compatibility functions for the remaining API.
8792
8793         * configure.in: depend on glib 1.3.1, use gobject module.
8794
8795 Thu May 11 12:39:50 2000  Owen Taylor  <otaylor@redhat.com>
8796
8797         * TODO.xml: Various updates to current status.
8798
8799 Wed May 10 20:25:04 2000  Owen Taylor  <otaylor@redhat.com>
8800
8801         * gtk.m4: Print out version when test succeeds.
8802
8803 Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>
8804
8805         * gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
8806         gtk/gtkhsv.[ch]: Color selection dialog rewrite.
8807         
8808         (Original triangle color selector from Simon Budig
8809         <Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
8810         from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
8811         Santiago <mrcooger@cyberverse.com>)
8812
8813         * gtk/gtkcolorseldialog.[ch]: Split color selection dialog
8814         out into a separate widget.
8815
8816         * gtk/testgtk.c: Add some checkbuttons for toggling palette
8817         and opacity controls.
8818
8819 Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>
8820
8821         * configure.in (GTK_LIBS_EXTRA): Remove references to gobject that 
8822         snuck in prematurely.
8823
8824 2000-05-07  Tor Lillqvist  <tml@iki.fi>
8825
8826         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Fix typo. I
8827         had deleted a ! operator by mistake, which caused
8828         GDK_SELECTION_CLEAR events never to be generated, which caused
8829         only the first copy to the clipboard from an gtkeditable to
8830         actually cause a copy to the Windows clipboard.
8831
8832 2000-05-06  Tor Lillqvist  <tml@iki.fi>
8833
8834         * gdk/win32/gdkdnd-win32.c: Enable shortcut resolution for gcc
8835         compilation, too. Current mingw gcc distributions include the
8836         necessary headers. Also the necessary IIDs are now in mingw
8837         headers/libraries, and own definitions unnecessary.
8838
8839         More hacking on OLE2 DND, still doesn't work though, and thus
8840         ifdeffed out.
8841
8842         * gdk/win32/gdkwindow-win32.c: Remove gdk_window_clear() from
8843         here, too.
8844
8845 Sat,  6 May 2000 13:31:34 +0200 Paolo Molaro <lupus@linuxcare.com>
8846
8847         * gdk/nanox/*: nano-X port work in progress.
8848         * gdk/simple.c: simple test for Gdk.
8849         * README.nanox: notes about the port: read this first!
8850         * gtk/gtk{dnd,plug,selection,window}.c: minimal changes to make gtk compile
8851         with nano-X.
8852
8853 Fri May  5 11:18:47 2000  Owen Taylor  <otaylor@redhat.com>
8854
8855         * gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c (gdk_window_clear): Move
8856         gdk_window_clear() into common code, implement in terms of
8857         gdk_window_clear_area(). (Fixes bug where gdk_window_clear() was
8858         not redirected to the backing rectangle.
8859
8860 Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>
8861
8862         * gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into 
8863         EXTRA_DIST. It does not work well when the file that
8864         everything depends on is not in the tarball.
8865
8866 Tue Apr 25 22:20:41 2000  Owen Taylor  <otaylor@redhat.com>
8867
8868         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix error
8869         with recursion where process_updates() is called from
8870         an expose handler. (GtkTextView is highly broken in
8871         doing this, but it should work, so it is a nice test
8872         case.)
8873
8874 Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>
8875
8876         * gdk/gdkwindow.c (gdk_window_process_updates_internal): Gracefully
8877         handle the case where updates are queued during processing of
8878         updates.
8879
8880 Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>
8881
8882         * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new): We already assume
8883         window is on gdk_display - use that instead of segfaulting.
8884
8885 Thu May  4 02:04:46 2000  Tim Janik  <timj@gtk.org>
8886
8887         * configure.in (STRIP_DUMMY): some Make 3.79 $(strip ) versions are
8888         broken and require an empty arg, give it to them.
8889
8890 Fri Apr 28 19:34:32 2000  Tim Janik  <timj@gtk.org>
8891
8892         * gtk/gtklabel.h: indentation fixes.
8893
8894 2000-05-02  Tor Lillqvist  <tml@iki.fi>
8895
8896         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_arc): Don't try to
8897         draw too narrow or too low arcs, they seem to fail, at least with
8898         some display drivers.
8899
8900         * gdk/gdk.c (gdk_init_check): Use G_DIR_SEPARATOR.
8901
8902         Large changes to the Win32 backend, partially made necessary by
8903         the changes to the backend-independent internal
8904         structures. Attempts to implement similar backing store stuff as
8905         on X11. The current (CVS) version of the Win32 backend is *not* as
8906         stable as it was before the no-flicker branch was merged. A
8907         zipfile with that version is available from
8908         http://www.gimp.org/win32/. That should be use by "production"
8909         code until this CVS version is usable. (But note, the Win32
8910         backend has never been claimed to be "production quality".)
8911
8912         * README.win32: Add the above comment about versions.
8913
8914         * gdk/gdkwindow.c: Don't use backing store for now on Win32.
8915
8916         * gdk/gdk.def: Update.
8917
8918         * gdk/gdkfont.h: Declare temporary Win32-only functions. Will
8919         presumably be replaced by some more better mechanism as 1.4 gets
8920         closer to release shape.
8921
8922         * gdk/makefile.{cygwin,msc}: Update.
8923
8924         * gdk/win32/*.c: Correct inclusions of the backend-specific and
8925         internal headers. Change code according to changes in these. Use
8926         gdk_drawable_*, not gdk_window_* where necessary.
8927
8928         * gdk/win32/gdkdnd-win32.c: Use MISC selector for GDK_NOTE, not
8929         our old DND.
8930
8931         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_text): Don't try
8932         to interpret single characters as UTF-8. Thanks to Hans Breuer.
8933         Use correct function name in warning messages.
8934
8935         * gdk/win32/gdkevents-win32.c: Use correct parameter lists for the
8936         GSourceFuncs gdk_event_prepare and gdk_event_check.
8937         (gdk_event_get_graphics_expose): Do implement, use
8938         PeekMessage. Thanks to Hans Breuer.
8939         (event_mask_string): Debugging function to print an GdkEventMask.
8940         (gdk_pointer_grab): Use it.
8941
8942         * gdk/win32/gdkfont-win32.c: The Unicode subrange that the
8943         (old) book I used claimed was Hangul actually is CJK Unified
8944         Ideographs Extension A. Also, Hangul Syllables were missing.
8945         Improve logging.
8946
8947         * gdk/win32/gdkgc-win32.c: Largish changes.
8948
8949         * gdk/win32/gdkim-win32.c (gdk_set_locale): Use
8950         g_win32_getlocale() from GLib, and not setlocale() to get current
8951         locale name.
8952
8953         * gdk/win32/gdkprivate-win32.h
8954         * gdk/win32/gdkwin32.h: Move stuff from gdkprivate-win32.h to
8955         gdkwin32.h, similarily as in the X11 backend.
8956
8957         * gdk/win32/gdkwindow-win32.c (gdk_propagate_shapes): Bugfix,
8958         assignment was used instead of equals in if test. Thanks to Hans
8959         Breuer.
8960
8961         * gdk/win32/gdkgeometry-win32.c: New file, just a quick hack of
8962         the X11 version.
8963
8964         * gdk/win32/makefile.{cygwin,msc}
8965         * gtk/makefile.{cygwin,msc}: Updates. Better kludge to get the
8966         path to the Win32 headers that works also with the mingw compiler.
8967
8968         * gtk/gtkstyle.c: Include <string.h>.
8969
8970 2000-04-26  Havoc Pennington  <hp@redhat.com>
8971
8972         * gtk/gtklabel.c (gtk_label_get_text): Add this function,
8973         replacing the broken gtk_label_get ()
8974
8975 2000-04-15  Havoc Pennington  <hp@pobox.com>
8976
8977         * gdk/gdkdnd.h: clean up enum format, remove extra comma, 
8978         this keeps scanner scripts from getting confused.
8979
8980         * gdk/gdkdraw.c (gdk_drawable_get_data): This should return the
8981         data, rather than void
8982
8983 2000-04-15  Tor Lillqvist  <tml@iki.fi>
8984
8985         * gtk/gtkclist.c (gtk_clist_motion)
8986         * gtk/gtklist.c (gtk_list_motion_notify): If we get a motion event
8987         with is_hint FALSE, get x and y from the event. They used to be
8988         used uninitialised. The Win32 backend never sends motion events
8989         marked as hints. This for instance fixes the annoying file and
8990         font selector behaviour in the Win32 version.
8991
8992 2000-04-14  Tor Lillqvist  <tml@iki.fi>
8993
8994         * gtk/gtksignal.c: (Win32:) Export the gtk_private_signals and
8995         gtk_private_n_signals variables, they are used by some software,
8996         sigh.
8997
8998         * gtk/gtkrc.c (get_gtk_sysconf_directory): (Win32:) Fetch the
8999         installation directory from the Registry, where the installer
9000         should have put it.
9001
9002 Fri Apr  7 17:19:27 2000  Owen Taylor  <otaylor@redhat.com>
9003
9004         * gdk/x11/Makefile.am: Fix problem with installation directory for
9005         gdkx.h
9006
9007         * gtk/gtkmenuitem.c gtk/gtkmenushell.c: Patch from David Santiago
9008         <mrcooger@cyberverse.com> so that when selecting menus with the
9009         mouse, the first item will not be selected, but when selecting
9010         with an accelerator, or navigating left-right on a menubar with
9011         the menus popped up, the first item will be selected.
9012
9013 2000-04-05  Dan Damian  <dand@dnttm.ro>
9014
9015         * configure.in: Added "ro" to ALL_LINGUAS.
9016
9017 Wed Apr  5 00:08:36 2000  Owen Taylor  <otaylor@redhat.com>
9018
9019         * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new): Fix screwy
9020         indentation.
9021
9022         * Makefile.am (EXTRA_DIST): Fix typo.
9023
9024         * gdk[/x11]/Makefile.am (INCLUDES): Add $(top_builddir)/gdk
9025         to catch gdkconfig.h
9026
9027         * gtk/gtkitemfactory.c: Added FIXME.
9028
9029 2000-03-30  Jonathan Blandford  <jrb@redhat.com>
9030
9031         * gtk/gtkpaned.c (gtk_paned_get_position): oops.
9032         s/return_if_fail/return_val_if_fail/g and add a return value.
9033
9034 Mon Mar 27 20:56:14 2000  Owen Taylor  <otaylor@redhat.com>
9035
9036         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Fix up 
9037         merge slipup.
9038
9039         * gdk/gdkinput.h: Fix missing line from merge.
9040
9041 Mon Mar 27 20:39:49 2000  Owen Taylor  <otaylor@redhat.com>
9042
9043         * gdk/gdkcolor.c cursor.c gdkdraw.c gdkfont.c: Include gdkinternals.h
9044         instead of gdkprivate.h.
9045
9046 Sun Mar 12 15:19:24 2000  Owen Taylor  <otaylor@redhat.com>
9047
9048         * gtk/gtkinputdialog.h (struct _GtkInputDialogClass): Fix
9049         parent class to correctly be GtkDialogClass.
9050
9051 Thu Feb 24 23:58:21 2000  Owen Taylor  <otaylor@redhat.com>
9052
9053         * gdk/x11/gdkgeometry-x11.c: Don't worry about clipping of
9054         toplevel windows and their immediate children by their parents,
9055         since the size of toplevel windows is out of our immediate
9056         control and we don't get any real benefit from trying to track
9057         this size for clipping.
9058
9059         * gdk/gdkprivate.h (struct _GdkWindowPrivate) gdk/x11/gdkwindow-x11.c : Add a flag
9060         for input_only windows.
9061
9062         * gdk/gdkwindow.c gdk/x11/gdkgeometry-x11.c: Use the above flag
9063         to fix some hacks and make sure that we don't try to set the
9064         background of input only windows.
9065
9066 Thu Feb 24 18:11:46 2000  Owen Taylor  <otaylor@redhat.com>
9067
9068         * gdk/gdkinternals.h gdk/gdkprivate.h gdk/Makefile.am: Add a header file for
9069         the _really_ internal stuff, and leave gdkprivate.h for the fake private
9070         stuff that we've traditionally exposed.
9071
9072         * gdk/**.c: Use gdkinternals.h where appropriate.
9073
9074         * gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h gdk/x11/*.c: Make gdkx.h
9075         not include gdkprivate-x11.h, move all stuff of conceivable public
9076         interest into gdkx.h; keep all really private stuff in
9077         uninstalled header gdkprivate-x11.h.
9078
9079         * gdk/gdkdraw.c gdk/gdkwindow.c gdk/gdkinternals: Redirect all calls to
9080         image->image_put on windows through a new function _gdk_window_draw_image()
9081         to allow us to do backing store for images. (Sort of ugly)
9082
9083         * gdk/gdkgc.c gdk/gdkprivate.h: Cache the ts and clip origins for graphics
9084         contexts locally so that we can offset them properly when drawing 
9085         onto backing pixmaps.
9086
9087         * gdk/gdkinput.h: Reindented
9088
9089         * gdk/gdkprivate.h gdk/x11/gdkwindow-x11.c: Store the background
9090         pixmap or color for the window, so we can properly initialize
9091         our double-buffer pixmaps, and also so that we temporarily set
9092         a background of None while scrolling.
9093
9094         * gdk/gdkregion.h: Revise region boolean operators to have an
9095         interface that is actually convenient - switch from creating new
9096         regions on every op, to "methods" that modify existing regions
9097         (A = A OP B). 3 argument forms which allow dest == src, would also
9098         be possible, but the current interfaces seem to map nicely
9099         onto what needs to be done. (There is quite a lot of region
9100         code in GDK now.)
9101
9102         * gdk/gdkregion.h: Add constructor from rectangle and a copy
9103         operator.
9104
9105         * gdk/x11/{gdkregion-generic.[ch],gdkpolyreg-generic.c,
9106         gdkpoly-generic.h: Copy region code from Xlib, switch it over
9107         to 32 bit coordinates, modify it to be mostly GTK+ style
9108         and to have interfaces that match gdkregion.h.
9109
9110         * gdk/gdkwindow.c gdk/gdkprivate.h: Add facility for
9111         double-buffered drawing. gdk_window_begin_paint_{rect,region}()
9112         create a backing pixmap and redirect all drawing to
9113         that backing pixmap until a matching gdk_window_end_paint().
9114
9115         * gdk/gdkwindow.[ch] gdk/gdkinternals.h gdk/x11/gdkdrawable-x11.c:
9116         Create a special drawable class for GtkWindow's that 
9117         redirects the drawing to the backing pixmap as necessary
9118         and then calls the real operations in _gdk_windowing_window_class.
9119
9120         * gdk/gdkprivate.h gdk/gdkwindow.[ch] gdk/x11/gdkevents-x11.c:
9121         Store invalid region for each window. Generate expose events for invalid
9122         region in an idle. This replaces both the expose compression
9123         and the redrawing queuing in GTK+. It is both more efficient and
9124         simpler than either one individually and far more so then the
9125         combination.
9126
9127         * gdk/x11/gdkgeometry.c gdk/x11/gdkwindow.c gdk/x11/gdkprivate-x11.h:
9128         Emulate 32 bit coordinates for windows with 16 bit coordinates
9129         by offsetting drawing, guffaw scrolling techniques and
9130         mapping/unmapping child windows as necessary.
9131
9132         * gdk/gdkwindow.[ch] gdk/x11/gdkgeometry.c: Add anti-exposes,
9133         where, when invalid regions are processed, the region is stored,
9134         and if expose events come in that are detectably duplicate
9135         the processed exposes (by comparison of event serial numbers),
9136         the stored region is subtracted out of those exposes.
9137
9138         * gdk/x11/gdkgeometry.c: Temporarily unset backing pixmaps of
9139         regions newly exposed when scrolling or resizing windows.
9140         This, combined with forcing processesing of queued invalidated
9141         regions, gives nice flicker-free scrolling.
9142
9143         * gtk/gtklayout.c gtk/gtkviewport.c: Force processing of
9144         invalidated regions after every scroll.
9145
9146         * gtk/gtklayout.c: Vastly simplify using the new 32 bit coordinate
9147         emulation in GDK. Its, for all practical purposes just a
9148         GtkViewport/GtkFixed hybrid now.
9149
9150         * gdk/gdkdrawable-x11.c: Convert from GDK (32 bit) to X11
9151         (16-bit) structures as necessary instead of just casting.
9152
9153         * gdk/x11/gdkgc-x11.c gdk/x11/gdkx.h: Replace XSetRegion with code
9154         in terms of the structures from gdkregion-generic.c, using appropriate
9155         offsets from GDK to X11 coordinates. Cache clip mask and
9156         origin and ts origin locally and only flush to the server
9157         when drawing, to avoid constantly setting and resetting these
9158         values when offsetting GC's for scrolling and backing pixmaps.
9159
9160         * gdk/x11/gdkinput-x11.c: Fix leak of axes structures.
9161
9162         * gtk/gtkcontainer.c: Call process_all_updates at end
9163         of resizing to reduce flicker. (Avoids having redraw
9164         lag arbitrarily behind resize under some circumstances)
9165
9166         * gtk/gtkentry.c: Remove old backing store code, and simply take
9167         advantage of the new backing store capabilities of GDK.
9168
9169         * gtk/gtkmain.c: Simple implementation of widget backing
9170         store - simply push a paint while handling each expose.
9171         (Should really be configurable widget for widget.)
9172         
9173         * gtk/gtkwidget.c: Remove all the old complicated redraw
9174         code, and simply invalidate the GDK windows from
9175         gdk_window_queue_clear(), etc. (Sigh, so much carefully
9176         debugged complexity ... gone to the winds.)
9177
9178         Remove all the code for suppressing expose events while
9179         resizes are pending; this isn't needed since the invalid
9180         areas won't be processed until after the resizes are
9181         processed, since they are in a lower priority idle.
9182
9183 Thu Feb 24 15:37:41 2000  Owen Taylor  <otaylor@redhat.com>
9184
9185         * gdk/gdkrectangle.c (gdk_rectangle_intersect): Set width
9186         and height of dest rectangle for non-intersecting rectangles.
9187
9188 Sun Feb 20 16:47:31 2000  Owen Taylor  <otaylor@redhat.com>
9189
9190         * gtk/gtkwidget.h: Make GtkAllocation just a typedef
9191         for GdkRectangle.
9192
9193 Sun Feb 20 11:27:00 2000  Owen Taylor  <otaylor@redhat.com>
9194
9195         * gdk/gdk{events,image,private,types,window}.h
9196          gdk/x11/gdkinputprivate.h: Change all coordinates
9197          from int16 to int. Also, Change width and height from
9198          unsigned to signed to avoid all the stupid C 
9199          signedness bugs.
9200
9201 Sat Feb 19 12:01:53 2000  Owen Taylor  <otaylor@redhat.com>
9202
9203         * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable):
9204         Use gdk_drawable_get_depth instead of gdk_drawable_get_visual.
9205         Add some more detailed checking.
9206
9207         * gdk/gdkdraw.c gdk/gdkdrawable.h (gdk_drawable_get_depth):
9208         New function to retrieve the depth of a drawable.
9209
9210         * gdk/gdkprivate.h (struct _GdkDrawablePrivate): Add a depth
9211         field, reorder fields to save memory. 
9212
9213 Mon Dec 13 14:06:03 1999  Owen Taylor  <otaylor@redhat.com>
9214
9215         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): Draw a small portion
9216         of the background image instead of scaling the background down to
9217         a line.
9218
9219         * gtk/gtk[hv]scrollbar.c (gtk_hscrollbar_size_allocate): Removed mysterious
9220         which temporarily set slider to wrong size.
9221
9222         * gtk/gtkaspectframe.c gtkbin.c: Remove unecessary calls to
9223         queue_clear().
9224
9225 Wed Nov 17 18:36:05 1999  Owen Taylor  <otaylor@redhat.com>
9226
9227 2000-03-23  Jonathan Blandford  <jrb@redhat.com>
9228
9229         * gtk/gtkpaned.c (gtk_paned_get_position): add getter.
9230
9231 2000-03-17  Tor Lillqvist  <tml@iki.fi>
9232
9233         * gdk/win32/gdkevents-win32.c: Remove the #ifndef
9234         USE_DISPATCHMESSAGE sections, we do want to use DispatchMessage.
9235
9236         * gdk/win32/gdkfont-win32.c
9237         * gdk/win32/gdkproperty-win32.c
9238         * gdk/win32/gdkselection-win32.c
9239         * gdk/win32/gdkwindow-win32.c: Add const to some arguments that are
9240         now declared such.
9241
9242 Wed Mar 15 02:59:38 PST 2000 Manish Singh <yosh@gimp.org>
9243
9244         * gtk/gtkvpaned.c: removed stray gutter_size reference, a 1.2 relic
9245
9246 Mon Mar 13 18:37:55 2000  Owen Taylor  <otaylor@redhat.com>
9247
9248         * gdk/gdkdnd.c: Fix a bunch of cases where XGetWindowProperty()
9249         is called without trapping X errors.
9250
9251 Fri Feb 25 10:48:53 2000  Owen Taylor  <otaylor@redhat.com>
9252
9253         * gtk/gtkrc.*: Fix problem where stray '"' characters found their
9254         way into the fontset lists.
9255
9256 Tue Feb 22 08:52:52 2000  Tim Janik  <timj@gtk.org>
9257
9258         * gtk/gtkthemes.h: add extern "C" scope.
9259
9260 Mon Feb 21 20:16:42 2000  Lars Hamann  <lars@gtk.org>
9261
9262         * gtk/gtkclist.c: applied  patch from Guy Harris <guy@netapp.com>
9263         to make appends to the list constant. (gtk-guy-990901-0.patch)
9264
9265 Mon Feb 14 22:50:10 2000  Tim Janik  <timj@gtk.org>
9266
9267         * gtk/gtktypeutils.c (gtk_type_init): use g_str_hash() and g_str_equal()
9268         for the typename hash table.
9269
9270 Mon Feb 14 15:01:23 2000  Owen Taylor  <otaylor@redhat.com>
9271
9272         * gtk/gtkpaned.c (gtk_paned_compute_position): Add some sanity checks
9273         to make sure we never divide by zero. 
9274         (Problem pointed out by Michal Jaegermann <michal@ellpspace.math.ualberta.ca>)
9275
9276 Mon Feb 14 12:29:38 2000  Owen Taylor  <otaylor@redhat.com>
9277
9278         * gtk/gtkfontsel.c: Apply patch from
9279         SHIRASAKI Yasuhiro <yasuhiro@awa.tohoku.ac.jp> to make font selector work a little
9280         better with 2-byte fonts. (Load a fontset instead of a font for two byte fonts.)
9281
9282         Also, some cleanups in atom handling.
9283
9284 Sun Feb 13 08:02:21 2000  Tim Janik  <timj@gtk.org>
9285
9286         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9287         not GtkWidget.
9288
9289 Fri Feb 11 02:19:32 2000  Tim Janik  <timj@gtk.org>
9290
9291         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): 
9292         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): 
9293         * gtk/gtkpaned.c (gtk_paned_compute_position): had to squeeze some
9294         more guint wrap-around bugs before going to bed.
9295
9296 Thu Feb 10 16:16:35 2000  Tim Janik  <timj@gtk.org>
9297
9298         * gtk/gtkspinbutton.c (gtk_spin_button_size_allocate): guard against
9299         guint wrap arounds in allocation.width.
9300
9301         * gtk/gtktable.c (gtk_table_size_allocate_pass1): repeat shrinking
9302         process untill we fit the allocation given.
9303
9304 Tue Feb  8 09:38:29 2000  Tim Janik  <timj@gtk.org>
9305
9306         * gtk/gtkwidget.c:
9307         (gtk_widget_unrealize): guard widget access with ref/unref
9308         around signal emission.
9309         (gtk_widget_hide): same here, but also check its destroyed
9310         state before queueing a resize.
9311
9312 Tue Feb  8 03:05:55 2000  Tim Janik  <timj@gtk.org>
9313
9314         * gtk/gtkstyle.c (gtk_style_new): use gtk_default_prelight_bg instead
9315         of gtk_default_insensitive_bg as insensitive base color.
9316
9317         * gtk/gtktext.c (gtk_text_style_set): set the background color according
9318         to the widget's state.
9319         (gtk_text_realize): same here.
9320         (gtk_text_state_changed): same here.
9321         (draw_bg_rect): compare background color against base[] from
9322         GTK_WIDGET_STATE (text) not GTK_STATE_NORMAL.
9323
9324 Mon Feb  7 04:01:55 2000  Tim Janik  <timj@gtk.org>
9325
9326         * gtk/gtkmain.c (gtk_main_do_event): ignore delete events when
9327         grabs are active, unless a delete event is send to the toplevel
9328         of the currently grab holding widget.
9329
9330 Sun Feb  6 10:13:15 2000  Owen Taylor  <otaylor@redhat.com>
9331
9332         * gtk/gtkctree.c (gtk_ctree_drag_data_received): Remove
9333         debugging g_print's.
9334
9335 Fri Feb  4 15:54:54 2000  Owen Taylor  <otaylor@redhat.com>
9336
9337         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_request): Don't
9338         ever make the scrolled-window requisition ever depend on the 
9339         visibility state of the scrollbars for the AUTOMATIC policy. 
9340         This breaks the GTK+ requisition model, and causes loops.
9341
9342 Fri Feb  4 15:09:12 2000  Owen Taylor  <otaylor@redhat.com>
9343
9344         * gtk/gtkstyle.c (gtk_style_new): Set the charset explicitely for
9345         the default font to avoid problems with XFree86-4.0 where the
9346         default charset is iso10646-1, not iso8859-1.
9347
9348 Thu Feb  3 14:58:48 PST 2000 Manish Singh <yosh@gimp.org>
9349
9350         * acinclude.m4
9351         * config.guess
9352         * config.sub
9353         * ltconfig
9354         * ltmain.sh: upgrade to libtool 1.3.4 (bugfix only release)
9355
9356         * gtk/Makefile.am: minor cosmetic consistency tweak
9357
9358 Thu Feb  3 14:46:01 2000  Owen Taylor  <otaylor@redhat.com>
9359
9360         * gtk/gtkmenushell.c (gtk_menu_shell_button_release): Set
9361         the activate_time to 0, so that we handle a quick
9362         press/release press/release properly and don't suppress
9363         the second release. (Red Hat bug #7545)
9364
9365 Wed Feb  2 22:25:17 2000  Tim Janik  <timj@gtk.org>
9366
9367         * gtk/gtkctree.c (row_delete):
9368         (gtk_ctree_node_set_row_data_full): fixed very evil reentrancy
9369         bugs with destruction notifier, *always* update internal
9370         structures *before* calling user code.
9371
9372 Sun Jan 30 20:10:52 2000  Lars Hamann  <lars@gtk.org>
9373
9374         A few more fixes for bug #5487, #2051, #2677.
9375         * gtk/gtkclist.c : 
9376         (gtk_clist_button_press):  Reset clist->anchor to -1 if event->type is
9377         not GDK_BUTTON_PRESS.
9378         (resync_selection): resync only if selection_mode is
9379         GTK_SELECTION_EXTENDED
9380         * gtk/gtkctree.c (resync_selection): same here
9381
9382 Sun Jan 30 12:29:20 2000  Owen Taylor  <otaylor@redhat.com>
9383
9384         * gdk/gdk.h gtk/gtkmenu.h: Removed duplicate prototypes for
9385         gdk_drag_get_selection() and gtk_menu_detach().
9386
9387         [ From Jeroen Ruigrok/Asmodai ]
9388
9389 Sat Jan 29 10:11:56 2000  Owen Taylor  <otaylor@redhat.com>
9390
9391         * gtk/gtknotebook.c (gtk_notebook_size_request): 
9392         page->tab_label can be NULL.
9393
9394 2000-01-25  Havoc Pennington  <hp@pobox.com>
9395         
9396         * gdk/gdkwindow.c (gdk_window_set_back_pixmap): parent_relative
9397         arg is boolean
9398
9399         * gdk/gdkselection.c (gdk_selection_owner_set): return boolean
9400
9401         * gdk/gdkrectangle.c (gdk_rectangle_intersect): return boolean
9402
9403         * gdk/gdkproperty.c (gdk_property_get): return boolean
9404
9405         * gdk/gdkinput.c (gdk_input_set_mode): return boolean
9406
9407         * gdk/gdkim.c (gdk_im_ready): return boolean
9408
9409         * gdk/gdkgc.c (gdk_gc_set_exposures): gboolean arg
9410
9411         * gdk/gdkfont.c (gdk_font_equal): return gboolean (mild
9412         glib clash, should fix glib)
9413
9414         * gdk/gdkevents.c (gdk_set_show_events): take gboolean arg
9415         (gdk_get_show_events): return gboolean, and canonicalize 
9416         to TRUE/FALSE
9417
9418         * gdk/gdkcolor.c (gdk_colormap_new): gboolean flag whether the
9419         colormap is private
9420         (gdk_colors_alloc): gboolean whether to be contiguous
9421         (gdk_color_equal): return gboolean since we are a predicate
9422         and not a qsort() (this looks semi-wrong due to glib breakage,
9423         IMO glib should be fixed)
9424         
9425         * gdk/gdk.c (gdk_set_use_xshm): take gboolean arg
9426         (gdk_get_use_xshm): return gboolean
9427         (gdk_pointer_is_grabbed): return gboolean
9428
9429         * gdk/gdk.h: Change prototypes to match all the above changes,
9430         and re-run egtk-format-protos as required.
9431
9432 Fri Jan 28 12:28:17 2000  Owen Taylor  <otaylor@redhat.com>
9433
9434         * gtk/gtkctree.c (resync_selection): 
9435         * gtk/gtkclist.c (resync_selection):
9436
9437         Return immediately if clist->drag_pos < 0. This is a workaround
9438         for the corrupt state that the clist gets into when a
9439         GDK_2BUTTON_PRESS occurs. See note in gtk_clist_button_press().
9440
9441         Bug #5487, #2051, #2677; fix suggested by David Helder and T. Alexander Popiel.
9442         
9443         * gtk/gtknotebook.c (gtk_notebook_size_request): Fix uninitialized
9444         variable from recent commit.
9445
9446 Thu Jan 27 15:22:09 2000  Owen Taylor  <otaylor@redhat.com>
9447
9448         * gtk/gtkdnd.c (gtk_drag_begin): Fix stupid typo in last commit.
9449
9450 Thu Jan 27 18:00:55 2000  Tim Janik  <timj@gtk.org>
9451
9452         * gtk/Makefile.am: prefix all autogenerated source that get build in
9453         $(srcdir) with $(srcdir)/, so make doesn't assume they got generted
9454         in builddir. since we subsequently cd into srcdir for autogeneration,
9455         the paths have to be stripped from the target file names, thusly we
9456         use $(@F) as target names now.
9457         put a comment about configure.in's --disable-rebuilds option,
9458         which can be used for non-writable source directories, for development
9459         setups though, srcdir has to be *writable*.
9460
9461 hu Jan 27 00:15:03 2000  Owen Taylor  <otaylor@redhat.com>
9462
9463         * gtk/gtkdnd.c (gtk_drag_begin gtk_drag_get_event_actions):
9464           Finish the job of allowing event to be NULL.
9465           (Fixes bug #4283, reported by Chris Blizzard)
9466
9467         * gtk/gtkentry.c (entry_adjust_scroll): When calculating
9468           things so that the cursor appears on screen, properly
9469           take into account INNER_BORDER.
9470           (Fixes bug #4754, reported by Antonio Campos)
9471
9472 Wed Jan 26 23:12:28 2000  Owen Taylor  <otaylor@redhat.com>
9473
9474         * gtk/gtknotebook.c (gtk_notebook_map): Don't
9475           show the tab_label unless it itself is visible.
9476
9477           gtk/gtknotebook.c (gtk_notebook_size_request):
9478           Do a better job of making sure that the visibility
9479           of the tab label corresponds to whether it should
9480           be mapped or not.
9481
9482 Wed Jan 26 21:17:03 2000  Owen Taylor  <otaylor@redhat.com>
9483
9484         * gtk/gtkoptionmenu.c (gtk_option_menu_position):
9485           Use the requisition, not the allocation, since the
9486           allocation has not necessarily been computed yet.
9487           (Pointed out by Eugene Osintsev)
9488
9489 Wed Jan 26 19:44:25 2000  Owen Taylor  <otaylor@redhat.com>
9490
9491         * gtk/gtkstyle.c (gtk_style_new): Dont' set
9492           style/base[GTK_STATE_INSENSITIVE] both to
9493           gtk_default_insensitive_bg!
9494           (Bug #2187, reported by Jonathan Blandford)
9495
9496         * gtk/gtkaccelgroup.c (gtk_accelerator_valid):
9497           Add Alt_L, Alt_R to list of invalid accelerators.
9498           (Bug #3736, reported by Vlad Harchev)
9499
9500 Wed Jan 26 19:01:56 2000  Owen Taylor  <otaylor@redhat.com>
9501
9502         * gtk/gtkfilesel.c (open_ref_dir): Fix several
9503         bugs which occured after an attempt to open 
9504         invalid home directory left cmpl_state->reference_dir == NULL.
9505
9506          - completion on files in home directory didn't work
9507          - completion on an empty string caused  segfault
9508
9509          (Bug #3678, reported by Steve Ratcliffe)
9510
9511         * gtk/gtkscale.c (gtk_scale_get_value_width): Fix
9512         cut and paste error that was causing scales to
9513         be incorrectly positioned.
9514         (Bug #2956,
9515          patch from Steve Ratcliffe <steve@parabola.demon.co.uk>)
9516
9517 2000-01-27  Shirasaki Yasuhiro  <yasuhiro@gnome.gr.jp>
9518
9519         * acinclude.m4 (AM_GTK_WITH_NLS): Add -lintl to libs
9520         when checking for dcgettext, if we've found we needed
9521         it for dgettext.
9522 +
9523 Wed Jan 26 18:06:07 2000  Owen Taylor  <otaylor@redhat.com>
9524
9525         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
9526         queue_clear on NO_WINDOW widgets during a reparent,
9527         since at that point the window and widget heirarchies
9528         are out of sync. This stops crashing in some cases
9529         (the scrolled window reparent test, for instance), and
9530         _probably_ won't cause drawing errors.
9531
9532         * gtk/testgtk.c: Make the reparenting-a-scrolled-window
9533         test do what it was supposed to do and be robust against
9534         window closings, etc. (Bug #2443)
9535
9536 Wed Jan 26 16:56:54 2000  Owen Taylor  <otaylor@redhat.com>
9537
9538         * gtk/gtkentry.c: Fix return values on mouse events.
9539         (Bug #2686, Sky <seb_sky@yahoo.com>)
9540
9541         * gtk/genmarshal.pl: Fix up handling of FOREIGN.
9542         (pointed out by George Lebl)
9543
9544         * gdk/gdkcolor.c (gdk_color_copy): Made const-safe.
9545         (From Ettore Perazzoli  <ettore@helixcode.com>)
9546  
9547 Mon Jan 24 10:44:48 2000  Owen Taylor  <otaylor@redhat.com>
9548
9549         * gtk/gtkcalendar.c (gtk_calendar_main_button): Handle
9550         clicks between rows or outside calender area correctly.
9551         (Patch from Damon Chaplin)
9552
9553         * gtk/gtkclist.c (gtk_clist_set_row_data_full): 
9554         * gtk/gtkctree.c (gtk_ctree_node_set_row_data_full): 
9555           Call destroy function when overwriting existing data. 
9556           (Pointed out by Damon Chaplin)
9557
9558 Tue Jan 25 09:55:41 2000  Owen Taylor  <otaylor@redhat.com>
9559
9560         * gdk/gdk.c: Remove useless #include of <X11/Xmu/WinUtil.h>,
9561           which was causing problems on various systems with Xmu.
9562           This hasn't been needed for a very long time.
9563           (Fixes #1185 3167)
9564
9565 Sun Jan 23 22:27:36 2000  Owen Taylor  <otaylor@redhat.com>
9566
9567         * gdk/gdki18n.h: Include <ctype.h> when defining
9568           gdk_isw* in terms of is* as a fallback.
9569           (Bug #4106 - Dan Winship <danw@MIT.EDU>)
9570
9571 Sun Jan 23 22:12:36 2000  Owen Taylor  <otaylor@redhat.com>
9572
9573         * gtk/gtkviewport.c (gtk_viewport_size_allocate): Don't
9574           realize the widget when it is size allocated!
9575           (old, old bug)
9576
9577         * gtk/gtkviewport.c (gtk_viewport_adjustment_value_changed):
9578           Removed unused call to gdk_window_get_size() that
9579           showed up when the above was fixed.
9580
9581 Sat Jan 22 15:44:30 2000  Owen Taylor  <otaylor@redhat.com>
9582
9583         * gtk/gtkwidget.c (gtk_widget_reparent): Correctly
9584           fix up widget->window when the widget is a
9585           NO_WINDOW container widget.
9586
9587 Sat Jan 22 12:40:48 2000  Owen Taylor  <otaylor@redhat.com>
9588
9589         * gdk/gdkpixmap.c (gdk_pixmap_seek_string): Rewrite
9590           to account for the fact that feof() does _not_ 
9591           return TRUE on errors, and thus avoid infinite loops
9592           when trying to use gdk_pixmap_create_from_xpm()
9593           on unreadable values.
9594
9595 Fri Jan 21 18:32:43 2000  Owen Taylor  <otaylor@redhat.com>
9596
9597         * gtk/gtkaspectframe.h (struct _GtkAspectFrame): s/gint/gboolean/.
9598
9599 Fri Jan 21 16:24:08 2000  Owen Taylor  <otaylor@redhat.com>
9600
9601         * gdk/gdkgc.c (gdk_gc_set_dashes): Change from
9602           gdk_gc_set_dashes to take gint8 instead of gchar to
9603           make it clearer that it is _not_ a NULL terminated string.
9604
9605         * gdk/gdk.h gdk/gdkfont.c gdk/gdkgc.c gdk/gdkselection.c
9606           gdk/gdkwindow.c gtk/gtkprogress.[ch] gtk/gtkthemes.[ch]
9607           gtk/gtktreeitem.[ch] gtk/gtkwidget.[ch]: Constify string
9608           arguments.
9609
9610 Thu Dec 30 04:51:05 1999  Tim Janik  <timj@gtk.org>
9611
9612         * gtk/gtkvscale.c (gtk_vscale_pos_background): 
9613         * gtk/gtkhscale.c (gtk_hscale_pos_background): when calculating the
9614         background size relative to our allocation, guard against small
9615         allocations, we may have not yet been size allocated.
9616
9617 Thu Dec  2 10:59:14 1999  Owen Taylor  <otaylor@redhat.com>
9618
9619         * gdk/gdkdnd.c (xdnd_check_dest): Allow version >= 3,
9620         not just version == 3. We implement all 3 + most of 4 - 
9621         (we don't support matching text/plain;charset=iso-8859-1
9622         to a dest that expects text/plain). We'll still advertise
9623         3 to be safe, but any client implementing version >= 3
9624         must interoperate with 3.
9625         
9626 Tue Mar 14 11:53:31 2000  Owen Taylor  <otaylor@redhat.com>
9627
9628         * gtk/gtktooltips.[ch] (struct _GtkTooltips): Remove foreground,
9629         background and gc members, add a warning in gtk_tooltips_set_color()
9630         indicating that this function is deprecated.
9631
9632 Thu Mar  9 22:10:56 GMT 2000  Tony Gale <gale@gtk.org>
9633
9634         * docs/gtkfaq.sgml: FAQ Update:
9635           - Minor cleanups (Emmanuel, me)
9636           - New questions:
9637                 I need to add a new signal to a GTK+ widget. Any idea? (timj)
9638                 How can I retrieve the text from a GtkMenuItem? (timj)
9639                 How do I validate/limit/filter the input to a GtkEntry? (me)
9640                 Memory does not seem to be released when I free the list
9641                         nodes I've allocated (timj)
9642
9643 2000-03-07  Tor Lillqvist  <tml@iki.fi>
9644
9645         * gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
9646         (gdk_win32_gdi_failed) New function for reporting errors from GDI,
9647         for which it is no use to call GetLastError onWin9x.
9648         (gdk_other_api_failed) New function, for general error
9649         reporting without calling GetLastError.
9650         (gdk_win32_api_failed) OTOH, this function always calls
9651         GetLastError. (gdk_win32_last_error_string) Remove this function,
9652         GLib has the equivalent now.
9653
9654         * gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
9655         call them with function name, file name and line number in the
9656         arguments.
9657
9658         * gdk/win32/*.c: Use the new macros for reporting errors from GDI
9659         functions.
9660         
9661         * gtk/gtk.def: Add some missing entry points.
9662
9663         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9664         gtk_paned_set_gutter_size, which don't exist any longer, as void.
9665         
9666         Fixes by Hans Breuer:
9667
9668         * gdk/makefile.msc: Update for debugging.
9669
9670         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
9671         implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
9672         PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
9673         in the dash_list.
9674
9675         * gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
9676         the x11 backend.
9677
9678         * gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.
9679
9680         * gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
9681
9682 2000-03-04  Tor Lillqvist  <tml@iki.fi>
9683
9684         * gdk/win32/gdkprivate-win32.h (struct _GdkWindowWin32Data): Store
9685         just pixel value of background colour.
9686
9687         * gdk/win32/gdkgc-win32.c (gdk_colormap_color): New function
9688         containing code snippet previously duplicated in a couple of
9689         places.
9690         
9691         * gdk/win32/gdkdrawable-win32.c (gdk_win32_draw_points): Use
9692         gdk_colormap_color.
9693
9694         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Generate
9695         GDK_SCROLL events for WM_MOUSEWHEEL messages. Don't generate
9696         events for autorepeated Shift, Control and Alt keys. Use
9697         gdk_colormap_color.
9698
9699         * gdk/win32/gdkwindow-win32.c (gdk_window_set_cursor): If the
9700         pointer is inside the window the cursor of which we are setting,
9701         call SetCursor immediately.
9702
9703         * gdk/win32/makefile.cygwin
9704         * gtk/makefile.cygwin: If we don't have the build number stamp
9705         file, use zero.
9706
9707         * gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
9708         gtk_paned_set_gutter_size as empty.
9709
9710         * gtk/gtk.def: Remove gtk_paned_set_gutter_size.
9711         
9712 Tue Feb 29 13:10:00 GMT 2000  Tony Gale <gale@gtk.org>
9713
9714         * gdk/gdkwindow.h gdk/x11/gxid.c gtk/gtkclist.c gtk/gtkclist.h
9715           gtk/gtkctree.c gtk/gtkmenu.h gtk/gtkwidget.c gtk/testgtk.c
9716           docs/styles.txt docs/refcounting.txt docs/gtkfaq.sgml
9717           docs/gtk_tut.sgml docs/gtk.texi TODO:
9718
9719           Spelling/grammar fixes from Martin Buchholz <martin@xemacs.org>
9720
9721 Sat Feb 26 11:46:25 GMT 2000  Tony Gale <gale@gtk.org>
9722
9723         * gtk/gtkcalendar.c: Implement num_marked_dates,
9724           and don't emit mutiple day_selected signals on
9725           month_prev.
9726
9727 2000-02-25  Jonathan Blandford  <jrb@redhat.com>
9728
9729         * docs/make-todo (lineno): let title and logo be configurable so
9730         that GNOME can use this script too.
9731
9732         * TODO.xml: added logourl and a title
9733
9734 Fri Feb 25 11:12:00 2000  Owen Taylor  <otaylor@redhat.com>
9735
9736         * TODO.xml: Added some UI items, and an explanatory
9737         comment at the top of the file.
9738
9739 Thu Feb 24 09:07:28 2000  Tim Janik  <timj@gtk.org>
9740
9741         * TODO.xml: some updates, added abunch of new entries.
9742         a note for those fiddeling with this file, when done
9743         with it, invoke:
9744         $ ./docs/make-todo TODO.xml >/dev/null
9745         and correct output errors before comitting changes.
9746
9747 Wed Feb 23 22:59:50 2000  Owen Taylor  <otaylor@redhat.com>
9748
9749         * TODO.xml: Added XML-structured TODO file.
9750         * docs/make-todo: python script to turn TODO.xml into
9751           pretty XML output. 
9752
9753 2000-02-23  Jonathan Blandford  <jrb@redhat.com>
9754
9755         * gtk/gtkstyle.c (gtk_default_draw_handle): add a 'paned' mode to
9756         the function to let it draw the seven dots, instead of the old,
9757         much maligned, method.
9758         (draw_dot): New function to draw a dot.
9759
9760         * gtk/gtkhpaned.c (gtk_hpaned_size_allocate): changed allocation
9761         to draw the handle inside the border width as opposed to outside.
9762         Use paint function instead of gdk_draw_point.
9763
9764         * gtk/gtkvpaned.c (gtk_vpaned_size_allocate): changed allocation
9765         to draw the handle inside the border width as opposed to outside.
9766         Use paint function instead of gdk_draw_point.
9767
9768         * gtk/gtkfilesel.c (gtk_file_selection_update_history_menu):
9769         Change indenting to be more GTK like.
9770
9771 Wed Feb 23 10:54:14 GMT 2000  Tony Gale <gale@gtk.org>
9772
9773         * docs/gtk_tut.sgml: New section on GtkCalendar
9774         * examples/calendar: Update example code
9775
9776 Tue Feb 22 13:54:12 GMT 2000  Tony Gale <gale@gtk.org>
9777
9778         * docs/gtkfaq.sgml: FAQ Update
9779
9780 2000-02-19  Anders Carlsson  <andersca@gnu.org>
9781
9782         * gtk/gtkrange.c (gtk_range_scroll_event): Return TRUE
9783         to prevent the scroll event to be propagated upwards.
9784
9785 Fri Feb 18 14:37:29 2000  Owen Taylor  <otaylor@redhat.com>
9786
9787         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Remove
9788         OwnerGrabButtonMask from button entries for
9789         GDK_BUTTON_PRESS / GDK_BUTTON_RELEASE.
9790
9791         * gtk/gtklayout.c (gtk_layout_realize): Always add GDK_SCROLL
9792         to the event mask (which will result in button/press release
9793         being added to the event mask on Unix) so scrolling works
9794         for layouts in scroll windows.
9795
9796         * gdk/gdkevents.h (enum): Fix up GDK_ALL_EVENTS_MASK.
9797
9798         Patch from Anders Carlsson  <andersca@gnu.org> to add
9799         a scroll event.
9800
9801         * gtk/testgtk.c (scroll_test_scroll): Added an example of mouse wheel
9802         scrolling to the "Test Scrolling" part of testgtk.
9803  
9804         * gtk/gtkwidget.h (struct _GtkWidgetClass): Added scroll_event signal.
9805  
9806         * gtk/gtkwidget.c: Added "scroll_event" GTK+ signal and matched
9807         it against GDK_SCROLL.
9808  
9809         * gtk/gtkrange.c (gtk_range_scroll_event): Updated to use the new
9810         way of mouse wheel scrolling.
9811  
9812         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_scroll_event): Likewise.
9813  
9814         * gtk/gtkspinbutton.c (gtk_spin_button_scroll): Likewise.
9815  
9816         * gtk/gtkmain.c: Removed previous mouse wheel hack.
9817  
9818         * gdk/x11/gdkwindow-x11.c (gdk_event_mask_table): Added entry in
9819         gdk_event_mask_table.
9820  
9821         * gdk/x11/gdkevents-x11.c (gdk_event_translate): Added 
9822         GdkEventScroll handler.
9823  
9824         * gdk/gdkevents.h: Added GdkEventScroll structure.
9825  
9826 Thu Feb 17 17:10:12 2000  Owen Taylor  <otaylor@redhat.com>
9827
9828         * gtk/gt{h,k,}vpaned.[ch]: Add patch from Jonathan Blandford
9829         and Anders Carlsson to change the Paned widgets so that they
9830         can be dragged from anywhere along the length. Also change
9831         the way that this is drawn to make this apparent.
9832
9833         * gtk/gtkoptionmenu.c (gtk_option_menu_get_history): Apply patch
9834         from George Lebl to check that option_menu->menu is present
9835         before getting history.
9836
9837 2000-02-14  Tor Lillqvist  <tml@iki.fi>
9838
9839         * gdk/gdkdraw.c (gdk_draw_segments): Move the test for no segments
9840         before the assertion for non-NULL segment list.
9841
9842         * gdk/win32/gdkgc-win32.c: (gdk_win32_gc_values_to_win32values):
9843         Seems that pattern brushes *must* be 8x8 pixels! At least on my
9844         machine, but it might be display driver dependent. Sigh, so make
9845         sure the stipple is that size. Does Windows suck or what?
9846
9847         * gdk/win32/gdkdrawable-win32.c: Improve error handling in a few
9848         places.
9849
9850 2000-02-13  Havoc Pennington  <hp@pobox.com>
9851
9852         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): init
9853         refcount to 1
9854         (gdk_cursor_new): init refcount to 1
9855
9856         * gdk/win32/gdkcursor-win32.c (gdk_cursor_new): init refcount to 1
9857
9858 2000-02-13  Tor Lillqvist  <tml@iki.fi>
9859
9860         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Add an extra parameter
9861         so that we don't have to do unnecessary settings to the HDC.
9862
9863         * gdk/win32/gdkdrawable-win32.c
9864         * gdk/win32/gdkimage-win32.c: Corresponding changes to the calls of
9865         gdk_gc_predraw.
9866
9867         * gdk/win32/gdkdrawable-win32.c: Special-casing for GdkGCs where
9868         the fill style is GDK_OPAQUE_STIPPLED. In those cases we construct
9869         GDI paths, call WidenPath to get the outline of the stroken path,
9870         and then fill the outline (with the brush that was built from the
9871         stipple).
9872
9873         * gdk/win32/gdkgc-win32.c: Factor out common code from
9874         _gdk_win32_gc_new and gdk_win32_gc_set_values into
9875         gdk_win32_gc_values_to_win32values. Use correct colour for
9876         SetBkColor() (Until now the code actually used a random colour in
9877         the call to SetBkColor()... but that didn't show up as not many
9878         GDI APIs use the background colour. Pattern (opaque stippled)
9879         brushes do.)
9880
9881         * gdk/win32/gdkmain-win32.c (gdk_win32_last_error_string,
9882         gdk_win32_api_failed): New functions for error logging.
9883
9884         * gdk/win32/gdkprivate-win32.h: Declare them, and define a macro
9885         WIN32_API_FAILED to call them, passing function or file name and
9886         line number.
9887
9888         * gdk/win32/*.c: Use the WIN32_API_FAILED macro.
9889
9890         * gdk/win32/gdkprivate-win32.h: Store just the pixel values from
9891         GdkColor for foreground and background in GdkGCWin32Data.
9892
9893         * gdk/makefile.cygwin: Link in the resource object separately.
9894
9895         * gdk/win32/rc/gdk.rc
9896         * gtk/gtk.rc (New file)
9897         * gdk/win32/makefile.cygwin
9898         * gtk/makefile.cygwin: Update build number in DLLs automatically,
9899         as in GLib.
9900
9901 Sun Feb 13 08:54:45 2000  Tim Janik  <timj@gtk.org>
9902
9903         * gdk/gdkcursor.h (struct _GdkCursor): s/refcount/ref_count/.
9904         * gdk/x11/gdkcursor-x11.c (gdk_cursor_new_from_pixmap): 
9905         * gdk/x11/gdkcursor-x11.c (_gdk_cursor_destroy): 
9906         * gdk/gdkcursor.c (gdk_cursor_ref): insert assertments for the
9907         parameters given and cursor->ref_count. coding style fixups.
9908
9909         * gtk/gtksocket.c (gtk_socket_class_init): parent class is GtkContainer,
9910         not GtkWidget.
9911         
9912         * gtk/*.h: applied patch from Mathieu Lacage <lacage@email.enst.fr> to
9913         fix up widget macros and add _GET_CLASS() variant.
9914         
9915         * gtk/*.c: some GtkType fixups.
9916
9917 2000-02-09  Tor Lillqvist  <tml@iki.fi>
9918
9919         * gdk/win32/gdkproperty-win32.c
9920         * gdk/x11/gdkproperty-x11.c: The assertions for GDK_IS_WINDOW
9921         were reversed.
9922
9923 2000-02-04  Tor Lillqvist  <tml@iki.fi>
9924
9925         * gdk/win32/gdkfont-win32.c (logfont_to_xlfd): Use
9926         g_filename_to_utf8 to convert the font names Windows gives us from
9927         whatever is the default codepage to UTF-8.
9928         (gdk_font_load_internal) Use g_filename_from_utf8 for conversion
9929         in the other direction.
9930
9931         * gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_values): Fix cut&paste
9932         error in debugging output.
9933
9934 2000-02-02  Tor Lillqvist  <tml@iki.fi>
9935
9936         * gdk/win32/gdkwindow-win32.c (gdk_window_clear): Pass zero width
9937         and height parameters to gdk_window_clear_area(). Not minus one.
9938
9939 Wed Feb  2 11:58:05 2000  Owen Taylor  <otaylor@redhat.com>
9940
9941         * gtk/gtkdnd.c (gtk_drag_selection_received): Add some sanity
9942         checks if the widget passed to gtk_drag_get_data() was not the
9943         dest widget.
9944
9945 2000-02-01  Tor Lillqvist  <tml@iki.fi>
9946
9947         * gtk/gtkfilesel.c: Use the g_filename_to_utf8 and
9948         g_filename_from_utf8 functions (which were added a moment ago to
9949         GLib). Some cleanups: Use gbooleans. Use GStrings instead of fixed
9950         size buffers.
9951
9952         gtk_file_selection_get_filename returns the filename in the C
9953         runtime encoding. It calls g_filename_from_utf8, but copies the
9954         returned string to a static buffer, which is returned. I think
9955         this is better than returning the result from g_filename_from_utf8
9956         directly, which would mean all apps that use it would have to free
9957         the return value. Or should this function care about this issue at
9958         all? Maybe a new function with clearly defined semantics.
9959
9960         * gtk/gtkfilesel.h: Add comment about
9961         gtk_file_selection_get_filename returning the filename in the C
9962         runtime's encoding.
9963
9964         * README.win32
9965         * gdk/gdk.def
9966         * gdk/makefile.{cygwin,msc}
9967         * gtk/gtk.def: Updates.
9968
9969         * gdk/gdkcursor-win32.c: Initialise refcount.
9970
9971 2000-01-31  Yuan-Chung Cheng <platin@linux.org.tw>
9972
9973         * configure.in: Added "zh_CN.GB2312" to ALL_LINGUAS.
9974
9975 2000-01-30  Havoc Pennington  <hp@pobox.com>
9976
9977         * gtk/testgtk.c (set_cursor): use gdk_cursor_unref instead of
9978         destroy
9979
9980         * gdk/gdkimage.c (gdk_image_ref): image wasn't being returned
9981
9982         * gdk/gdkprivate.h: declare _gdk_cursor_destroy which is then 
9983         implemented in platform-specific code
9984
9985         * gdk/Makefile.am (gdk_c_sources): add gdkcursor.c
9986
9987         * gdk/x11/gdkcursor-x11.c (gdk_cursor_destroy): rename with an
9988         underscore in front
9989
9990         * gdk/win32/gdkcursor-win32.c (gdk_cursor_destroy):
9991         put an underscore in front
9992
9993         * gdk/gdkcursor.c: new file, implements
9994         gdk_cursor_ref/gdk_cursor_unref
9995
9996         * gdk/gdkcursor.h: Refcount GdkCursor
9997
9998         * gdk/gdkcompat.h (gdk_cursor_destroy): compat
9999
10000 2000-01-29  Tor Lillqvist  <tml@iki.fi>
10001
10002         * gdk/gdkwindow.h
10003         * gdk/gdkpixmap.h: Remove prototypes for renamed functions.
10004
10005 Tue Jan 25 11:43:21 2000  Owen Taylor  <otaylor@redhat.com>
10006
10007         * gtk/gtkinvisible.h (struct _GtkInvisible[Class]): Fix
10008         structures to properly inherit from GtkWidget not GtkBin.
10009
10010 Sun Jan 23 20:28:24 2000  Owen Taylor  <otaylor@redhat.com>
10011
10012         * gtk+.spec.in: Added lib/gtk+/include/* to %files
10013         (bug #5178 - Peter Wainright)
10014         
10015         * gtk/Makefile.am (gtk_public_h_sources): Add gtkcompat.h
10016         so that it will be installed.
10017         (bug #4889 - "david d `zoo' zuhn" <zoo@mnnr.org>)
10018
10019 Fri Jan 21 16:29:28 2000  Owen Taylor  <otaylor@redhat.com>
10020
10021         * gtk/gtkstyle.[ch] docs/Changes-1.4.txt: Make the @detail argument
10022         for the GtkStyleClass vtable const.
10023
10024         * gtk/gtkitemfactory.[ch] docs/Changes-1.4.txt: Make GtkPrintFunc
10025         take a const string argument like GtkTranslateFunc. This will
10026         require changes in use code.
10027
10028 2000-01-19  Tor Lillqvist  <tml@iki.fi>
10029
10030         * gdk/win32/gdkwindow-win32.c (gdk_window_clear_area): The correct
10031         semantics (to mimic the X11 backend, which just calls XClearArea)
10032         is to check for zero width (and height), and in that case use the
10033         window's width minus x (height minus y). This fixes for instance
10034         some redraw problems with gtkclist, which were easily noticeable
10035         in the gtk file selection widget.
10036
10037         (gdk_window_new): Don't set WS_EX_TOPMOST for dialog
10038         windows.
10039
10040 2000-01-13  Tor Lillqvist  <tml@iki.fi>
10041
10042         * configure.in
10043         * gdk/Makefile.am
10044         * gdk/x11/Makefile.am
10045         * gdk/win32/Makefile.am: Small fixes, thanks to Peter Wainwright
10046         (bug #5177).
10047         * gdk/win32/gdkcc-win32.c: Reintroduce, to be thrown
10048         out later.
10049
10050 2000-01-09  Tor Lillqvist  <tml@iki.fi>
10051
10052         * gdk/win32/gdkevents-win32.c (gdk_event_translate): Ignore
10053         WM_MOVE for iconified or invisible windows. This fixes various
10054         problems when minimising windows. Thanks to Bernd Herd.
10055
10056 2000-01-05  Tor Lillqvist  <tml@iki.fi>
10057
10058         * gdk/gdkdraw.c (gdk_draw_lines): Fix copy&paste error: Call the
10059         backend's draw_lines method, not draw_points.
10060
10061 2000-01-02  Tor Lillqvist  <tml@iki.fi>
10062
10063         * gdk/win32/gdkevents-win32.c: Clean up some more leftovers from
10064         before Owen's reorganisation: Don't have queued_events and
10065         queued_tail statics in this file, but use gdk_queued_events and
10066         gdk_queued_tail. This makes exposure event compression work again.
10067
10068         (gdk_WindowProc): Comment out a posting of gdk_ping_msg, doesn't
10069         seem to be needed?
10070
10071 1999-12-30  Tor Lillqvist  <tml@iki.fi>
10072
10073         * gdk/gdk.c: If we don't HAVE_XCONVERTCASE we must #include
10074         gdkkeysyms.h to get the GDK_* keysym constants that are needed by
10075         gdk_keyval_convert_case(). Otherwise, gdk_keyval_convert_case()
10076         doesn't do anything.
10077
10078         * gdk/gdk.def: Add gdk_xid_table_insert.
10079
10080         * gdk/win32/gdkprivate-win32.h
10081         * gdk/win32/gdkevents-win32.c
10082         * gdk/win32/gdkinput-win32.c
10083         
10084         * gdk/win32/gdkwindow-win32.c: Remove the superfluous
10085         extension_events field in the GdkWindowWin32Data struct. Use only
10086         the extension_events field in GdkWindowPrivate. Previously one was
10087         set, and the other one tested, which broke tablet
10088         functionality. Thanks to Keishi Suenaga for pointing this out.
10089
10090 1999-12-18  Tor Lillqvist  <tml@iki.fi>
10091
10092         * gdk/win32/gdkfont-win32.c (gdk_text_size, gdk_text_extents):
10093         When handling a single character (text length == 1), don't handle
10094         it as if it was UTF-8.
10095
10096 1999-12-11  Tor Lillqvist  <tml@iki.fi>
10097
10098         * Makefile.am: Distribute README.win32.
10099         
10100         * gdk/Makefile.am
10101         * gdk/win32/Makefile.am: Distribute Win32 files.
10102
10103         * gdk/makefile.msc: New file.
10104
10105         * gdk/gdk.c (gdk_arg_context_parse): Fix gccism (no statement
10106         after label).
10107
10108         * gdk/gdkprivate.h: Must mark also gdk_error_warnings and
10109         gdk_error_code as GDKVAR, as they are referred outside GDK.
10110
10111         * gdk/win32/makefile.msc: Update.
10112
10113         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): More
10114         tweaks. Check only if at least one of those Unicode subrange bits
10115         we care for is set. If no code page bits are set, guess (wildly)
10116         based on the charset.
10117
10118         * gdk/win32/gdkinput-win32.c: Remove debugging leftover.
10119
10120         * gdk/win32/gdkwindow-win32.c (gdk_window_new): Assure title is
10121         non-NULL.
10122
10123         * gtk/gtkdnd.c
10124         * gtk/gtklayout.c
10125         * gtk/gtkplug.c
10126         * gtk/gtkselection.c
10127         * gtk/gtksocket.c
10128         * gtk/gtkwindow.c: Include x11/gdkx.h *or* win32/gdkwin32.c as
10129         appropriate. There must be a cleaner way to handle this?
10130
10131         * gtk/gtkrc.c: Must include windows.h on Win32.
10132
10133         * gtk/testgtk.c: No need to include gdkx.h.
10134
10135         * gtk/makefile.cygwin: Correct invokation of genmarshal.pl.
10136
10137 1999-12-07  Tor Lillqvist  <tml@iki.fi>
10138
10139         * gdk/win32/gdkfont-win32.c: Fix string measurement code. For now,
10140         the rbearing is set to the same as the width, but this should be
10141         fixed.
10142
10143 1999-12-06  Tor Lillqvist  <tml@iki.fi>
10144
10145         * gdk/win32/gdkfont-win32.c (check_unicode_subranges): New
10146         function. If Windows doesn't tell us what Unicode subranges a font
10147         covers, guesstimate based on the codepages it covers. This will
10148         hopefully help those Windows versions or fonts that don't give us
10149         any useful Unicode subrange information with GetTextCharsetInfo.
10150         Call this function in gdk_font_load_internal.
10151
10152         * gdk/win32/{gdkdnd,gdkimage,gdkpixmap,gdkprivate}-win32.c: Misc
10153         minor changes.
10154
10155 Fri Dec  3 14:09:50 1999  Owen Taylor  <otaylor@redhat.com>
10156
10157         * gtk/gtkoptionmenu.[ch] (gtk_option_menu_get_history):
10158         New function, long needed.
10159
10160 Wed Dec  1 22:35:43 1999  Owen Taylor  <otaylor@redhat.com>
10161
10162         * gdk/gdkproperty.h x11/gdkproperty.c: Change 
10163         only_if_exists argument of gdk_atom_intern to
10164         bool.
10165
10166 1999-11-25  Tor Lillqvist  <tml@iki.fi>
10167
10168         * gdk/gdkgc.c (gdk_gc_set_ts_origin, gdk_gc_set_clip_origin): 
10169         Fix two copy&paste errors.
10170
10171         * gdk/makefile.cygwin: Also rebuild DLL when the static archive in
10172         win32 has changed.
10173
10174         * gdk/win32/gdkprivate-win32.h: Don't need CPINFO in the
10175         GdkWin32SingleFont struct.
10176
10177         * gdk/win32/gdkfont-win32.c: Some more debugging: Print Unicode
10178         subranges of loaded fonts. Clear font signature first, in case
10179         GetTextCharsetInfo fails. Pretend SYMBOL_CHARSET fonts have
10180         ASCII+Basic Latin (i.e. 0x40--0xFF) as they are single-byte.
10181
10182         * gdk/win32/gdkgc-win32.c: Improved logging. (gdk_gc_postdraw):
10183         Unoffset clip region.
10184
10185 1999-11-23  Tor Lillqvist  <tml@iki.fi>
10186
10187         * gdk/win32/gdkevents-win32.c (gdk_event_translate): set
10188         event->any.window before calling filter functions.
10189
10190 Fri Nov 19 10:34:41 1999  Owen Taylor  <otaylor@redhat.com>
10191
10192         * gtk/gtkgamma.h: Adapt cast macros to standard.
10193
10194 [ Merges from 1.2 ]
10195
10196 Tue Nov 16 10:15:54 1999  Owen Taylor  <otaylor@redhat.com>
10197
10198         * gtk/gtkitemfactory.c (gtk_item_factory_parse_path):
10199         If translation does not include a '/', use entire
10200         translation instead of crashing.
10201
10202 Sun Oct 31 22:21:11 1999  Tim Janik  <timj@gtk.org>
10203
10204         * docs/gtk_tut.sgml:
10205         s/gtk_accel_group_attach/gtk_window_add_accel_group/.
10206
10207 Sat Oct 30 09:09:09 1999  Owen Taylor  <otaylor@redhat.com>
10208
10209         * gtk/gtkselection.c (gtk_target_list_remove): Use
10210         g_list_remove_link, not g_list_remove.
10211
10212         [ From Geert Bevin <gbevin@thunderstorms.org> ]
10213         
10214 Sun Oct 24 07:41:40 1999  Tim Janik  <timj@gtk.org>
10215
10216         * gtk/gtkclist.c (real_undo_selection): commented out g_print()
10217         statement upon unselection (how the heck did that slip in?).
10218
10219 Sat Oct 23 03:03:08 1999  Tim Janik  <timj@gtk.org>
10220
10221         * gtk/gtktext.c (gtk_text_freeze): 
10222         (gtk_text_thaw): undraw/draw cursor here to avoid unnecessary scrolling
10223         in frozen state (and aparently crashes). patch provided by Anders
10224         Melchiorsen <and@kampsax.dtu.dk>.
10225
10226 Sat Oct 23 02:53:20 1999  Tim Janik  <timj@gtk.org>
10227
10228         * fix insensitive default/focus widget activation,
10229         reported by Matt Goodall <mgg@isotek.co.uk>.
10230
10231         * gtk/gtkwindow.c (gtk_window_key_press_event): 
10232         (gtk_window_activate_default):
10233         (gtk_window_activate_focus):
10234         return handled=FALSE for actiavtion of insensitive default
10235         widgets. return handled=TRUE for activation of insensitive
10236         focus widgets. don't activate in either case.
10237
10238 Tue Oct 19 09:55:08 1999  Owen Taylor  <otaylor@redhat.com>
10239
10240         * gtk-config.in (lib_gtk): Switch order of @x_cflags@
10241         and $glib_cflags to match library order and in the
10242         theory that an old version of GLib is more likely to
10243         be in the include directory for X then vice-versa.
10244         (Bug #2776)
10245
10246 Tue Oct 19 09:46:49 1999  Owen Taylor  <otaylor@redhat.com>
10247
10248         * gtk/gtkrc.c (gtk_rc_init): Always use LC_CTYPE 
10249         to determine the locale for fontsets, not LC_MESSAGES;
10250         the user may want English messages with a handling
10251         for non-English languages. (LC_CTYPE=ru_RU LC_MESSAGES=fr_FR
10252         will still be broken) (Bug #2891)
10253
10254 Tue Oct 19 20:36:42 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10255
10256         * gtk/gtkrc.ko: Fixed the wrong number of "*"'s.
10257
10258 Tue Oct 19 12:15:13 1999  Changwoo Ryu  <cwryu@adam.kaist.ac.kr>
10259
10260         * gtk/gtkrc.ko: Changed the Korean default fontset.
10261
10262 Fri Oct  8 02:32:47 1999  Owen Taylor  <otaylor@redhat.com>
10263
10264         * gtk/gtklayout.c (gtk_layout_adjustment_changed): Fix bug
10265         where when scrolling to the left or top double exposes
10266         were done, causing major slowdowns.
10267
10268 Thu Oct  7 18:31:55 1999  Owen Taylor  <otaylor@redhat.com>
10269
10270         * gtk/gtkrc.c (gtk_rc_init): Always normalize codeset
10271         names to lowercase and alphanumeric, before looking
10272         them up.
10273
10274         * gtk/Makefile.am: Install codeset variant gtkrc files
10275         with normalized names.
10276
10277 Thu Oct  7 22:52:42 1999  Tim Janik  <timj@gtk.org>
10278
10279         * gtk/gtkitemfactory.c (gtk_item_factory_popup_with_data): even
10280         popup menus when the menu is already visible, but its parent
10281         is still hidden, (happens after tornoff window got hidden).
10282
10283 Thu Oct  7 11:09:55 1999  Owen Taylor  <otaylor@redhat.com>
10284
10285         * gtk/Makefile.am (install-data-local): Fix
10286         a typo where gtkrc.vi_VN.tcvn5712 wasn't getting
10287         deleted, causing error messages on install.
10288
10289 Thu Oct  7 11:03:06 1999  Owen Taylor  <otaylor@redhat.com>
10290
10291         * gtk/gtk[hv]paned.c (gtk_{h,v}paned_draw): Redraw
10292         the handle as well, since we now sometimes ignore
10293         exposes on the handle while resizing.
10294
10295 Wed Oct  6 18:02:31 1999  Owen Taylor  <otaylor@redhat.com>
10296
10297         * gtk/gtkrc.c (gtk_rc_append_default_pixmap_path): Fix stupid
10298         extra g_free introduced in one of the last one or two 
10299         commits.
10300
10301 Wed Oct  6 16:38:36 1999  Owen Taylor  <otaylor@redhat.com>
10302
10303         * gtk/Makefile.am gtk/gtkrc*: Make naming of gtkrc files
10304         consistent, put each style that a gtkrc.* file creates
10305         in a unique namespace, remove old files before installing.
10306
10307 Wed Oct  6 14:31:16 1999  Owen Taylor  <otaylor@redhat.com>
10308
10309         * gtk/gtkrc.c (gtk_rc_init): Avoid leaking memory when
10310         gtk_rc_init is called multiple times. (Yes, people who
10311         do that have bugs in their code.)
10312
10313 Tue Oct  5 11:36:57 PDT 1999 Manish Singh <yosh@gimp.org>
10314
10315         * gtk/Makefile.am: listing gtkrc in gtkconf_DATA seems to barf.
10316         Remove it since it's generated by the Makefile anyway
10317
10318 Tue Oct  5 02:43:41 1999  Owen Taylor  <otaylor@redhat.com>
10319
10320         * gdk/gdkinputcommon.h (gdk_input_device_new): Free
10321         device->info.axes for core pointer.
10322
10323 Thu Sep 30 13:55:25 1999  Owen Taylor  <otaylor@redhat.com>
10324
10325         * gtk/testgtk.c (destroy_idle_test): Rename idle to 
10326         idle_id, to deal with obsolete, broken C libraries.
10327
10328 Mon Sep 27 02:50:15 1999  Owen Taylor  <otaylor@redhat.com>
10329
10330         * gtk/gtkvscale.c (gtk_vscale_draw): Don't add in
10331         allocation->x/y twice!
10332
10333         * gtk/gtkhscale.c: Make usage of gtk_hscale_pos_trough()
10334         consistent with gtk_vscale_pos_trough().
10335
10336 Sun Sep 26 19:44:34 1999  Owen Taylor  <otaylor@redhat.com>
10337
10338         * gtk/gtkcontainer.c (gtk_container_queue_resize): We may
10339         be queueing a resize on a toplevel container between
10340         the time we show it and when we map it. So, we need
10341         to test GTK_WIDGET_VISIBLE() for toplevels, and only
10342         use GTK_WIDGET_DRAWABLE() for child windows.
10343
10344 Thu Sep 23 16:41:03 1999  Owen Taylor  <otaylor@redhat.com>
10345
10346         * gtk/Makefile.am (LDADDS): Add GDK_WLIBS to LDADDS 
10347         (fixes bug #2144)
10348
10349 Fri Sep 24 00:51:45 1999  Tim Janik  <timj@gtk.org>
10350
10351         * gtk/gtkcontainer.c (gtk_container_queue_resize): check for
10352         container DRAWABLE (instead of VISIBLE), so we don't queue
10353         resizes on non-toplevel containers.
10354
10355 Sun Sep 19 18:13:31 1999  Owen Taylor  <otaylor@redhat.com>
10356
10357         * gtk/gtkselection.[ch]: Make the data argument
10358         const guchar *.
10359
10360 Sat Sep 18 21:27:40 1999  Owen Taylor  <otaylor@redhat.com>
10361
10362         * gtk/gtkwindow.c: Try to behave sensibly if 
10363         the focus widget is the window itself. (Should
10364         we allow this at all?)
10365
10366 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
10367
10368         * gtk/gtkwidget.c (gtk_widget_set_sensitive): 
10369         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): 
10370         * gtk/gtknotebook.c (gtk_notebook_set_show_border): 
10371         * gtk/gtkclist.c (gtk_notebook_set_show_border): make gboolean args
10372         in prototypes and implementations consistent (Tomas Ogren).
10373
10374         * gtk/gtklayout.c (gtk_layout_remove): unset GTK_IS_OFFSCREEN flag
10375         before the widget is unparented (reported by damon).
10376
10377         * gtk/gtkdnd.c: make the cursor and icon data _unsigned_ char,
10378         since we provide unsigned data anyways.
10379
10380 Thu Sep 16 21:32:01 1999  Owen Taylor  <otaylor@redhat.com>
10381
10382         * gtk/gtktooltips.c (gtk_tooltips_set_tip): Delay
10383         the call to gtk_tooltips_layout_text() until later.
10384
10385         * gtk/gtktooltips.c (gtk_tooltips_draw_tips):
10386         Call gtk_widget_ensure_style() before using the style.
10387
10388 Wed Sep 15 02:52:19 1999  Owen Taylor  <otaylor@redhat.com>
10389
10390         * gtk/gtkwidget.c (gtk_widget_event): Added workaround
10391         for old widgets that don't propagate draws to all
10392         children. (Namely gnome-dock for gnome-libs <= 1.0.16)
10393
10394 Tue Sep 14 19:22:19 1999  Tim Janik  <timj@gtk.org>
10395
10396         * gtk/gtkwidget.c (gtk_widget_queue_resize): don't queue the parent
10397         for a redraw but just the widget that requested the resize.
10398
10399 Tue Sep 14 18:29:47 1999  Tim Janik  <timj@gtk.org>
10400
10401         * gtk/gtkcontainer.c: added new widget level method
10402         gtk_container_set_reallocate_redraws() and a GtkContainer flag
10403         reallocate_redraws : 1 to reflect the setting, exported this through
10404         the argument system as a boolean ::reallocate_redraws.
10405
10406         * gtk/gtkwidget.c (gtk_widget_size_allocate): when queueing redraws
10407         on the widget because the allocation changes, do so as well for
10408         widget->parent if the parent has reallocate_redraws set to TRUE.
10409         with that containers requesting reallocation redraws get automatically
10410         redrawn if their children changed allocation (this unfortunately
10411         affects also other children that didn't change allocation, but we
10412         cannot work around that before 1.3).
10413
10414 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
10415
10416         * gtk/gtkwidget.c (gtk_widget_idle_draw): only emit ::draw if width
10417         _and_ height are >0 (not _or_).
10418
10419         * gtk/gtktable.c (gtk_table_remove): use gtk_widget_queue_resize()
10420         instead of gtk_container_queue_resize(), which is a core gtk internal
10421         function (must have been on crack when i queued that).
10422
10423         * gtk/gtkprivate.h: added new private flag GTK_FULLDRAW_PENDING, so
10424         we can check more reliably if we want to discard expose events.
10425         * gtk/gtkwidget.c: added setting/unsetting of the GTK_FULLDRAW_PENDING
10426         flag.
10427         
10428         * gtk/gtkwidget.c (gtk_widget_event): don't discard synthesized exposes,
10429         we simply trust these events. for deciding whether to discard exposes,
10430         check GTK_FULLDRAW_PENDING instead of RESIZE_PENDING.
10431         
10432 Mon Sep 13 15:01:21 1999  Owen Taylor  <otaylor@redhat.com>
10433
10434         * gtk/gtkwidget.c (gtk_widget_queue_clear_area): Ignore
10435         queues of areas that are completely off screen.
10436
10437         * gtk/gtkwidget.c (gtk_widget_idle_draw): Fix broken
10438         logic for handleboxes.
10439
10440         * gtk/gtkwidget.c (gtk_widget_queue_draw_data): Add santity
10441         check on width/height.
10442
10443 Mon Sep 13 02:22:47 1999  Tim Janik  <timj@gtk.org>
10444
10445         * gtk/Makefile.am: backed out Raja's recent VPATH build "improvements",
10446         we are fine with using $@ the way we do (if we actually encounter
10447         brokeness with $@ in VPATH builds because of additional path prefixes,
10448         we need to use $(@F) actually).
10449
10450 Mon Sep 13 01:34:53 1999  Tim Janik  <timj@gtk.org>
10451
10452         * gtk/gtksignal.c: renamed two variables, hopefully didn't introduce
10453         short lived bugs, that would allow language bindings to do surgeries
10454         to our guts.
10455
10456 Fri Sep 10 15:22:50 1999  Owen Taylor  <otaylor@redhat.com>
10457
10458         * gtk/gtkwindow.c (gtk_window_size_allocate): Fix typo
10459         where comparison was being done against an uninitialized
10460         value causing intermittant results depending on
10461         compiler flags. Also make it clearer that we aren't
10462         ever initializing the child as 0x0 (though this will
10463         be caught in gtk_widget_size_allocate())
10464
10465 Fri Sep 10 10:06:56 1999  Owen Taylor  <otaylor@redhat.com>
10466
10467         * gtk/gtkwindow.c (gtk_window_set_transient_for): Move
10468         gtk_window_unset_transient_for() call after we do checks
10469         involving the old transient parent.
10470         [ From Lance Capser <lmc@cyberhighway.net> ]
10471
10472 1999-09-07  Raja R Harinath  <harinath@cs.umn.edu>
10473
10474         * gtk/Makefile.am (gtk.defs): Go back to using `touch' to create
10475         an empty file.
10476
10477 Mon Sep  6 00:11:56 1999  Lars Hamann  <lars@gtk.org>
10478
10479         * gtk/gtkctree.c (gtk_ctree_is_ancestor): return FALSE if node has
10480         no children. (Reported by: Chris Rogers <gandalf@pobox.com>)
10481
10482 1999-09-03  Raja R Harinath  <harinath@cs.umn.edu>
10483
10484         * gtk/Makefile.am (gen_sources): Improve VPATH builds.
10485         `$@' is valid only in the build dir, not after we've done 
10486         `cd $srcdir'.  Also use `test -f' instead of less portable
10487         `test -e'.
10488
10489 Fri Sep  3 15:59:56 1999  Owen Taylor  <otaylor@redhat.com>
10490
10491         * gtk/gtktext.c (correct_cache_insert): Rewrite
10492          for simplicity, and hopefully correctness.
10493          (Fixes bug #1322, which was a segfault when
10494           on some insertions with the properties around
10495           the insertion set up just wrong.)
10496
10497         * gtk/gtktext.c (gtk_text_adjustment): When we receive
10498          a "changed" signal, clamp the new value to the adjustment
10499          bounds to avoid segfaulting if someone tries to change
10500          the adjustment to a bogus value. (Bug #1795)
10501
10502 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
10503
10504         * gtk/gtkmain.c: Ignore unexpected destroy notifies
10505         for children, for toplevel windows handle them
10506         like delete_event.
10507
10508         * gtk/gtkplug.c: Add an unrealize handler so that
10509         we unref plug->socket_window when we are done
10510         with it.
10511
10512 Fri Sep  3 14:52:54 1999  Owen Taylor  <otaylor@redhat.com>
10513
10514         * gtk/gtktext.c (clear_area): Fix stupid signedness
10515          problem that was causing background to sometimes
10516          be misaligned.
10517
10518 Fri Sep  3 12:26:33 1999  Owen Taylor  <otaylor@redhat.com>
10519
10520         [ Fixes pointed out by Ettore Perazzoli <ettore@comm2000.it> ]
10521         
10522         * gtk/gtkmenu.c (gtk_menu_position): Make
10523          sure we never position menus with negative x, y,
10524          since gtk_widget_set_uposition() can't handle that.
10525
10526         * gtk/gtkmenuitem.c (gtk_menu_item_position_menu):
10527          Modify the positioning code a bit so that we always
10528          put the top-left corner onscreen. (This is for
10529          UI reasons, gtk_menu_position() now takes care of
10530          gtk_widet_set_uposition() brokeness.)
10531
10532 Fri Sep  3 03:06:30 1999  Tim Janik  <timj@gtk.org>
10533
10534         * gtk/Makefile.am: fixed up things for -jx, x > 1.
10535
10536 Sun Sep  5 08:48:51 1999  Owen Taylor  <otaylor@redhat.com>
10537
10538         * gtk/gtkwidget.c (gtk_widget_modify_style): Ref the
10539           RC style that is passed in. The lack of the ref
10540           before was a bug. If people worked around this
10541           bug, this will introduce a slight memory leak
10542           in their code. The code should typically look like:
10543
10544             rc_style = gtk_rc_style_new ();
10545             [...]
10546             gtk_widget_modify_style (widget, rc_style);
10547             gtk_rc_style_unref (rc_style);
10548
10549         * gtk/gtkwidget.c (gtk_widget_modify_style): Reset
10550           the style if it was already set.
10551
10552         * gtk/gtkwidget.c (gtk_widget_set_name): Only set the
10553           style if it was set before.
10554
10555 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
10556
10557         * gtk/testgtk.c (main): Add a check to see if we
10558           are being run from the correct directory and
10559           to quit nicely if we are not.
10560
10561         * gtk/gtkrc.c (gtk_rc_slist_remove_all): Make function
10562           static.
10563
10564 Thu Sep  2 23:00:03 1999  Tim Janik  <timj@gtk.org>
10565
10566         * gtk/gtkenums.h (GtkWindowPosition): added GTK_WIN_POS_CENTER_ALWAYS.
10567
10568         * gtk/gtkwindow.c:
10569         queue resizes unconditionally (gtk_widget_queue_resize will figure
10570         what to do if the window is not realized).
10571         (gtk_window_move_resize): only recenter the window
10572         for GTK_WIN_POS_CENTER_ALWAYS.
10573         (gtk_window_compute_reposition): handle GTK_WIN_POS_CENTER_ALWAYS in
10574         the same way as GTK_WIN_POS_CENTER.
10575
10576 Thu Sep  2 22:39:27 1999  Tim Janik  <timj@gtk.org>
10577
10578         * gtk/gtkwindow.c (gtk_window_reposition): check for the last position
10579         with (!(info->last_flags & GDK_HINT_POS)) instead of
10580         (!info->last_flags & GDK_HINT_POS).
10581
10582         * gtk/gtkwindow.c (gtk_window_move_resize): constrain new_width and
10583         new_height unconditionally, because we use these values even if
10584         !default_size_changed && !hints_changed.
10585         comented the (default_size_changed || hints_changed) case with
10586         respect to resize rejects from the window manager.
10587
10588         * gtk/gtkwindow.c (gtk_window_move_resize): save info->last values
10589         in the zvt condition hack, since this includes the window hints, set
10590         the hints after the handling_resize case.
10591
10592         * gtk/gtkwindow.c (gtk_window_show): constrain the default size that a
10593         window is initially shown with to the geometry.
10594
10595 Thu Sep  2 07:38:56 1999  Tim Janik  <timj@gtk.org>
10596
10597         * gtk/gtkwindow.c (gtk_window_move_resize):
10598         s/size_changed/default_size_changed/g so i know what's
10599         really going on (frying brain on smaller flame now).
10600
10601 Thu Sep  2 05:47:47 1999  Tim Janik  <timj@gtk.org>
10602
10603         * gtk/gtkwindow.c (gtk_window_move_resize): queue a new resize if
10604         we have size_changed upon handling_resize. this is a gross
10605         workaround for the broken zvt widget and should be removed in
10606         1.3 again (search for FIXME).
10607         Owen provided an accurate comment for this:
10608
10609         /* We could be here for two reasons
10610          *  1) We coincidentally got a resize while handling
10611          *     another resize.
10612          *  2) Our computation of size_changed was completely
10613          *     screwed up, probably because one of our children
10614          *     is broken. It's probably a zvt widget.
10615          *
10616          * For 1), we could just go ahead and ask for the
10617          * new size right now, but doing that for 2)
10618          * might well be fighting the user (and can even
10619          * trigger a loop). Since we really don't want to
10620          * do that, we requeue a resize in hopes that
10621          * by the time it gets handled, the child has seen
10622          * the light and is willing to go along with the
10623          * new size. (this happens for the zvt widget, since
10624          * the size_allocate() above will have stored the
10625          * requisition corresponding to the new size in the
10626          * zvt widget)
10627          *
10628          * This doesn't buy us anything for 1), but it shouldn't
10629          * hurt us too badly, since it is what would have
10630          * happened if we had gotten the configure event before
10631          * the new size had been set.
10632          */
10633
10634 Wed Sep  1 20:46:11 1999  Owen Taylor  <otaylor@redhat.com>
10635
10636         * gtk/gtkrc.c: deal properly with the fact that RC
10637           style lists may include rc styles more than once.
10638
10639         * gtk/gtkrc.c (gtk_rc_append_pixmap_path): Removed
10640           unused static function.
10641
10642         * gtk/gtkrc.c (gtk_rc_find_pixmap_in_path): Keep a
10643           stack of directories of RC files currently being
10644           parsed and implicitely add them to pixmap path.
10645           
10646           This fixes a bug where the directory would get
10647           appended then overwritten by pixmap_path declarations.
10648
10649           (bug #1462, from Peter Wainright <prw@wainpr.demon.co.uk>)
10650
10651         * gtk/gtkthemes.c (gtk_theme_engine_unref): Call
10652           theme's exit function. (Patch from Peter Wainwright,
10653           bug #1454)
10654
10655         * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_destroy):
10656           Add a destroy() handler to take care of removing
10657           group for menu item. (Fixes bug #1197)
10658
10659         * gtk/gtkwidget.c (gtk_widget_size_request): Fixed thinko
10660           in warning message.
10661
10662 Wed Sep  1 21:27:42 1999  Tim Janik  <timj@gtk.org>
10663
10664         * gtk/gtkwindow.c (gtk_window_move_resize): don't require a server
10665         roundtrip to figure window's width and height, since we know that
10666         anyways from widget->allocation.
10667
10668 Wed Sep  1 12:37:44 1999  Owen Taylor  <otaylor@redhat.com>
10669
10670         * gtk/gtkwindow.c (gtk_window_move_resize): Compute
10671           the hints after we request the new size.
10672
10673 Wed Sep  1 10:38:37 1999  Owen Taylor  <otaylor@redhat.com>
10674
10675         * gtk/gtkwindow.c (gtk_window_compute_hints): Removed
10676           GTK_WIDGET_REALIZED() assertion - we can compute the
10677           hints before we are realized.
10678
10679         * gtk/gtkwindow.c (gtk_window_move_resize): Reorder
10680           hint changing so that we have a value of hints_changed
10681           when we decide whether to constrain the window size.
10682
10683         * gtk/gtkwindow.c (gtk_window_move_resize): Spelling fix.
10684
10685         * gtk/gtkwindow.c (gtk_window_constrain_size): cleanups,
10686         change back to G_MAXINT.
10687
10688 Wed Sep  1 06:54:59 1999  Tim Janik  <timj@gtk.org>
10689
10690         * gtk/gtkwindow.c (gtk_window_get_geometry_info): zero initialize
10691         new GtkWindowGeometryInfo, so fields like GdkGeometry geometry
10692         contain uncluttered values.
10693         (gtk_window_compute_hints): simply assert that window is realized
10694         and that geometry_info is valid, since we rely on this anyways.
10695         (gtk_window_constrain_size): major cleanups to the code.
10696         if (flags & GDK_HINT_BASE_SIZE) use geometry's base width and height
10697         for the base size, instead of the minimums. use 32767 as max width
10698         and height (like in gtkwindow.c) instead of G_MAXINT.
10699
10700 Wed Sep  1 04:41:25 1999  Tim Janik  <timj@gtk.org>
10701
10702         * cleaned up the GtkContainer.need_resize flag handling mess, we
10703         only need to force resize requests when we were prematurely
10704         realized, or our widget tree was modified when we were temporarily
10705         hidden. handling these cases directly upon showing the window (i.e.
10706         while the GdkWindow is still unmapped) avoids the need to wait for
10707         a configure event response and therefore makes the GUI more snappier
10708         and avoids blank windows during the roundtrip.
10709
10710         * gtk/gtkwidget.c:
10711         (gtk_widget_hide): 
10712         (gtk_widget_show): don't queue resizes on toplevels, they know how
10713         to deal with matters.
10714
10715         * gtk/gtkcontainer.c (gtk_container_queue_resize): set the ->need_resize
10716         flag directly for not visible resize containers and spare us unecessary
10717         signal emissions.
10718
10719         * gtk/gtkwindow.c:
10720         (gtk_window_realize): if we need to enforce premature size allocation,
10721         queue a container resize so we are correctly resized later on.
10722         (gtk_window_init):
10723         (gtk_window_size_request):
10724         don't freak around with the ->need_resize flag,
10725         gtk_container_queue_resize() will care about that.
10726         (gtk_window_show):
10727         handle initial resizing issues here, we can handle matters better in
10728         this place, especially since we know that our GdkWindow is still
10729         unmapped.
10730         (gtk_window_move_resize):
10731         don't care about ->need_resize at all.
10732         handle size changes properly that occoured while we waited for a
10733         configure event.
10734
10735 Tue Aug 31 15:58:46 1999  Owen Taylor  <otaylor@redhat.com>
10736
10737         * gtk/gtkwidget.c (gtk_widget_set_uposition):
10738         * gtk/gtkwindow.[hc] (gtk_window_reposition):
10739         Move the hint setting code from gtk_widget_set_uposition
10740         to here; set the hints so that we respect any previously
10741         set geometry hints.
10742
10743         * gtk/gtkwindow.c (gtk_window_compute_reposition): Don't
10744         change the window hints here or move the window here,
10745         let that happen in gtk_window_move_resize().
10746
10747 Tue Aug 31 06:58:52 1999  Tim Janik  <timj@gtk.org>
10748
10749         * gtk/gtkwidget.c (gtk_widget_event): when discarding exposes due
10750         to already queued resizes (and therefore redraws) on a widget, check
10751         its anchestry as well.
10752
10753         * gtk/gtkcontainer.c:
10754         (gtk_container_queue_resize): clear resize widgets for resize
10755         containers before aborting prematurely. this is especially important
10756         for toplevels which may need imemdiate processing or their resize
10757         handler to be queued.
10758         (gtk_container_dequeue_resize_handler): added new internal function for
10759         gtkwindow.c.
10760
10761         * gtk/gtkwindow.c (gtk_window_move_resize): if we are resizing due to a
10762         configure event, take possible changes in window position into account
10763         as well.
10764         if we request a new window size, queue up a resize handler that will
10765         last until the configure event response arrives.
10766         combined the ->need_resize case (initial show) with the general size
10767         (hints) changed case and added even more comments.
10768         if !auto_shrink, only revert to the old allocation if the new size
10769         is smaller than the current allocation.
10770
10771 Tue Aug 31 11:55:20 1999  Owen Taylor  <otaylor@redhat.com>
10772
10773         * gtk/gtkwindow.c (gtk_window_set_arg, gtk_window_set_policy,
10774                            gtk_window_set_geometry_hints
10775                            gtk_window_set_default_size):
10776         When hints are set, queue a resize so that the hints will
10777         be eventually reset on the toplevel.
10778
10779         * gtk/gtkwindow.c (gtk_window_show): Use
10780         gtk_window_compute_default_size(). Clear the need_resize flag
10781         on the initail map so that we don't unnecessarily trigger the
10782         resize code.
10783
10784         * gtk/gtkwindow.c (gtk_window_move_resize): Split apart
10785         into separate functions. Compare the hints we are setting
10786         with what we set last time so that we can accurately
10787         tell when we need to reset the hints.
10788
10789         * gtk/gtkwindow.c (gtk_window_compute_default_size): New
10790         function to figure out the size from requisition
10791         and default_size.
10792
10793         * gtk/gtkwindow.c (gtk_window_constrain_size): Function
10794         from fvwm to constrain a size to the geometry hints.
10795
10796         * gtk/gtkwindow.c (gtk_window_compare_hints): New function
10797         to compare two sets of geometry hints.
10798
10799         * gtk/gtkwindow.c (gtk_window_compute_hints): Renamed
10800         from gtk_window_set_hints(), just compute the hints,
10801         don't set them.
10802
10803         * gtk/gtkwindow.c (gtk_window_compute_reposition): Move
10804         code from gtk_window_move_resize() to separate function,
10805         rationalize a bit.
10806
10807 Tue Aug 31 13:05:03 1999  Owen Taylor  <otaylor@redhat.com>
10808
10809         * gtkrc.h: Move the ref_count member out of the GtkRcStyle
10810         structure into a new private structure.
10811
10812         * gtkrc.c: Split GtkRcStyle into public/private.
10813         In the private part, add a list of pointers to the
10814         RcStyle lists this RcStyle participates in.
10815
10816         * gtkrc.c: When a RcStyle is free, remove all
10817         lists referencing it from the 
10818         realized_style_ht hash, and free those lists.
10819         
10820         * gtk/gtkrc.c (gtk_rc_clear_styles): Don't call
10821         gtk_rc_init(), since that adds the default styles
10822         to the list of parsed RC files again.
10823
10824         * gtk/gtkrc.c: Use gtk_rc_style_find() consistently.
10825         
10826 Thu Aug 26 14:14:42 1999  Tim Janik  <timj@gtk.org>
10827
10828         * gtk/gtkwidget.c (gtk_widget_size_allocate): reactivated the sanity
10829         checks that ensure that a widget's allocation is at least 1 in width
10830         and height. (GNOME note: this doesn't affect old panel code anymore,
10831         because GtkSocket will request width and height of at least 1 since
10832         Fri Jul 23).
10833
10834         * gtk/gtkwindow.c (gtk_window_realize): if the widget hasn't been
10835         allocated yet (happens if the user realizes the window prematurely),
10836         size request and allocate it.
10837         (gtk_window_size_allocate): guard against guint underflows.
10838
10839 Wed Aug 25 19:01:36 1999  Lars Hamann  <lars@gtk.org>
10840
10841         * gtk/Makefile.am (gtk_built_sources): reordered stamp-gtk.defs
10842         in gtk_built_sources, so gtk.defs gets built prior to all other
10843         sources.
10844
10845 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
10846
10847         * gtk/Makefile.am:
10848         invoke indent on gtkmarshal.*. 
10849         rewrote source generation rules, use COPYING as oldest source tag for
10850         a piggyback rule to generate all sources from (don't touch it ;).
10851         major cleanups, strip spaces on build rules for GNU Make.
10852
10853         * gtk/genmarshal.pl: don't operate on hardcoded filenames but take
10854         source and target files from commandline arguments. don't invoke indent.
10855
10856 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10857
10858         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10859         notebook after switch to avoid drawing problems.
10860         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10861         
10862         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10863         show them instead. 
10864         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10865
10866 Sat Aug 21 14:07:36 1999  Lars Hamann  <lars@gtk.org>
10867
10868         * gtk/gtknotebook.c (gtk_notebook_real_switch_page): queue_resize
10869         notebook after switch to avoid drawing problems.
10870         (Bug#856 Reported by: Theodore Roth <troth@netmagic.net>)
10871         
10872         (gtk_notebook_pages_allocate): don't map not visible tab_labels, 
10873         show them instead. 
10874         (Bug#1805 Reported by: Dave Cole <dave@dccs.com.au>)
10875
10876 Wed Aug 18 09:20:10 1999  Tim Janik  <timj@gtk.org>
10877
10878         * gtk/gtkwindow.c:
10879         we use window->need_resize from configure_event now, to indicate that
10880         the gtkwindow should keep its allocation (e.g. because the user resized
10881         the window through window manager handles). resize_count is now reliably
10882         used to figure whether we got the allocation we requested from the
10883         window manager.
10884         configure events get queued as resizes now, the real stuff (size
10885         computation and allocation) now only goes on in gtk_window_move_resize().
10886         GtkWindow's requisition now contains its *real* requisition (like all
10887         other widgets), *not* taking usize into account.
10888         geometry_info->last_{width|height} is now updated from set_hints() only
10889         so it always contains the last hints we set for the window manager.
10890         made some event handlers return TRUE instead of FALSE.
10891         the overall code should be much more straight forward now, and the
10892         significant code portions are accompanied by comments now.
10893         (gtk_window_set_hints):
10894         removed requisition argument and made it
10895         fetch the requisition through gtk_widget_get_child_requisition.
10896         we also don't move the gdkwindow here anymore, gtk_window_move_resize()
10897         does that now.
10898         (gtk_window_show):
10899         ensure that the widget is realized before calling 
10900         gtk_container_check_resize() (and thus gtk_window_move_resize()), also
10901         ensure that we got properly size requested and allocated before
10902         realization.
10903         (gtk_window_configure_event):
10904         ignore plain window moves, or reallocate the widget tree through the
10905         resize queue otherwise.
10906         (gtk_window_move_resize):
10907         mostly rewrote this function to figure window manager hints more
10908         reliably, coalesce window moves and resizes to reduce configure events
10909         and do actuall size allocations.
10910
10911 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
10912
10913         * gtk/gtkwidget.c (gtk_widget_event): discard expose events for widgets
10914         that have a resize pending, because a redraw is already queued for them.
10915
10916         * gtk/gtkcontainer.c: removed ugly connect_to ::size_allocate signal
10917         hack to clear resize_widgets.
10918
10919         * gtk/gtkwidget.c (gtk_widget_size_allocate): call clear_resize_widgets
10920         for resize containers prior to size allocation. (this is also a bit
10921         ugly, but avoids side effects for stopped emissions and is thus more
10922         reliable).
10923         (gtk_widget_unparent): removed disconnect call for clear_resize_widgets.
10924
10925         * gtk/gtktooltips.c (gtk_tooltips_paint_window): renamed this
10926         function from gtk_tooltips_expose, as we connect to ::expose_event
10927         *and* ::draw now.
10928
10929 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
10930
10931         * gtk/gtkselection.c (gtk_target_list_ref): Added missing sanity
10932         checks.
10933         (gtk_target_list_unref): Likewise.
10934
10935         * gtk/gtkthemes.c (gtk_theme_engine_unref): Likewise.
10936
10937 Tue Aug 17 15:47:07 1999  Owen Taylor  <otaylor@redhat.com>
10938
10939         * gtk/gtkcolorsel.c (gtk_color_selection_draw_value_bar):
10940         guard against division by zero. (Fixes bug #1339)
10941
10942 Tue Aug 17 10:56:49 1999  Owen Taylor  <otaylor@redhat.com>
10943
10944         * gtk/gtkentry.c (gtk_move_{forward,backward}_word): 
10945         Prevent the trivial leak of information of allowing
10946         word motion when the entry is not visible.
10947
10948 Tue Aug 17 10:28:52 1999  Owen Taylor  <otaylor@redhat.com>
10949
10950         * gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Propagate
10951         modality to error dialog as well as confirmation dialogs.
10952         (Bug #1803, reported by Rosanna Wing Sze Yuen)
10953
10954 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
10955
10956         * gtk/gtktreeitem.c (gtk_tree_item_draw_lines): Honor
10957         tree->view_lines.
10958         (gtk-guy-990611-3.patch: Guy Harris <guy@netapp.com>)
10959
10960         * gtk/Makefile.am (install-data-local): Solaris apparently
10961         has various troubles with ln -f; use rm first instead.
10962         (gtk-guy-990611-2.patch: Guy Harris <guy@netapp.com>)
10963
10964 1999-07-30  Raja R Harinath  <harinath@cs.umn.edu>
10965
10966         * gtk/Makefile.am (stamp-m): Don't `mv' from builddir to srcdir,
10967         use `cp' followed by `rm' (the `rm' was already there).
10968
10969 July 30, 1999 Elliot Lee <sopwith@redhat.com>
10970         
10971         * configure.in: Fix autoconf warnings about cross compilation by
10972         trying to provide sane defaults for AC_TRY_RUN.
10973         * gtk/Makefile.am: If we refer to gtkmarshal.[ch] in $(srcdir),
10974         put them into $(srcdir) when generated. Also add a dependency of
10975         gtksignal.h on gtkmarshal.h for -j builds. 
10976         * gtk/gtk(dnd,style,gamma).c: Minor warning fixes.
10977
10978 Wed Jul 28 09:29:19 1999  Owen Taylor  <otaylor@redhat.com>
10979
10980         * gtk/gtkmain.c (gtk_main_iteration_do): Added missing
10981         GDK_THREADS_{LEAVE,ENTER} pair.
10982         (From Paul Fisher <pnfisher@redhat.com>)
10983
10984 Fri Jul 23 01:00:15 1999  Tim Janik  <timj@gtk.org>
10985
10986         * gtk/gtksocket.c (gtk_socket_size_request): asure that the requested
10987         width and height are always >0 (owen).
10988
10989 Fri Jul 23 00:00:47 1999  Tim Janik  <timj@gtk.org>
10990
10991         * gtk/gtkwidget.c (gtk_widget_size_allocate): backed out my recent
10992         change that assured that a widget's allocated with and height are
10993         always >1, since this breaks *buggy* panel code. unfortunately this
10994         back-breaks the gimp's color selector.
10995
10996         * gtk/gtkdrawingarea.c (gtk_drawing_area_size_allocate): asure that our
10997         allocation is always >0 in width and height, before sending the
10998         configure event; this is a *gross* hack to get the gimp back to work.
10999         
11000         * marked both cases with TODO-1.3
11001
11002 Wed Jul 21 15:47:39 1999  Owen Taylor  <otaylor@redhat.com>
11003
11004         * gtk/gtktext.c: Don't display wrap indicators when
11005         text is not editable and word wrap is on.
11006
11007 Wed Jul 21 08:21:40 1999  Tim Janik  <timj@gtk.org>
11008
11009         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): special case
11010         option menus here as they are not derived from menu shell, assure that
11011         the option menu has a menu we can add items to.
11012
11013 Tue Jul 20 23:29:48 1999  Tim Janik  <timj@gtk.org>
11014
11015         * gtk/gtknotebook.c (gtk_notebook_page_allocate): convert allocation->
11016         width/height to (gint) before calculations and check against < 0 to
11017         avoid guint wraparounds.
11018
11019 Sun Jul 18 00:35:49 1999  Tim Janik  <timj@gtk.org>
11020
11021         * gtk/gtkwidget.c (gtk_widget_size_allocate): ensure that the allocated
11022         width and height is never zero. sanity check both dimensions against
11023         32767 and issue a warning if the allocation is greater than that.
11024
11025 Wed Jul  7 15:03:30 1999  Owen Taylor  <otaylor@redhat.com>
11026
11027         * gtk/gtkmain.c (gtk_events_pending): Unlock around call
11028         to g_main_pending() as well.
11029
11030 Wed Jul  7 14:59:01 1999  Owen Taylor  <otaylor@redhat.com>
11031
11032         * gtk/gtkmain.c (gtk_main_iteration): Unlock around
11033         call to g_main_iteration() - since that will regrab
11034         GTK+ lock to process events.
11035
11036 Thu Jul  1 15:01:55 1999  Owen Taylor  <otaylor@redhat.com>
11037
11038         * gtk/gtkwindow.c
11039         - Regularize with the rest of GTK+ by making widget->requisition
11040           not reflect the set_usize()
11041         - Always recompute geometry hints, then check if they
11042           changed before sending them to the X server. The
11043           previous checks for changes would fail in a number
11044           of circumstances. 
11045
11046 Thu Jul  1 11:55:59 1999  Owen Taylor  <otaylor@redhat.com>
11047
11048         * gtk/gtkstyle.c: Include <stdlib.h> for strcmp().
11049
11050 Wed Jun 30 19:26:36 1999  Owen Taylor  <otaylor@redhat.com>
11051
11052         * gtk/gtkdnd.c:
11053         - Code cleanups
11054         - Instantaneously update on modifier key presses
11055         - Allow cancellation of the drag with Escape.
11056
11057 Tue Jun 29 17:04:09 1999  Owen Taylor  <otaylor@redhat.com>
11058
11059         * gtk/testgtk.c (create_handle_box): Set the policy
11060         to auto_shrink - otherwise the appearance is rather
11061         strange when flipping between horizontal and vertical.
11062
11063 Mon Jun 28 09:29:52 1999  Tim Janik  <timj@gtk.org>
11064
11065         * gtk/gtkwindow.c: add ::default_width and ::default_height arguments.
11066         (gtk_window_set_default_size): don't change a value if it's < 0.
11067         queue a resize.
11068
11069 Sun Jun 27 11:00:33 1999  Tim Janik  <timj@gtk.org>
11070
11071         * gtk/gtktext.c (gtk_text_insert): don't segfault on NULL inserts.
11072
11073 Mon Jun 28 12:08:25 1999  Owen Taylor  <otaylor@redhat.com>
11074
11075         * gtk/gtkfilesel.c (cmpl_completion_fullname): Don't
11076         add an extra "/" when concating "/" + filename.
11077         (From Matt Grossman <mattg@oz.net>)
11078
11079 Mon Jun 28 10:57:12 1999  Owen Taylor  <otaylor@redhat.com>
11080
11081         * gtk/gtkctree.c (draw_cell_pixmap): Reset clip mask
11082         for fg_gc if we set it for drawing pixmap.
11083
11084 Tue Jun 15 12:45:12 1999  Owen Taylor  <otaylor@redhat.com>
11085
11086         Fixes from Peter Wainwright <prw@wainpr.demon.co.uk>
11087         
11088         * gtk/gtkrc.c (gtk_rc_parse_engine): If rc_style->engine is
11089         already set, call old engine's destroy function and
11090         unref the old engine.
11091
11092 Thu Jun 10 17:59:38 1999  Tim Janik  <timj@gtk.org>
11093
11094         * gtk/gtkdrawingarea.c (gtk_drawing_area_size): queue a resize.
11095
11096 Wed Jun  9 15:13:16 1999  Tim Janik  <timj@gtk.org>
11097
11098         * gtk/gtkaccelgroup.h: mark certain functions as internal.
11099
11100 Wed Jun  9 13:48:28 1999  Tim Janik  <timj@gtk.org>
11101
11102         * gtk/gtkpreview.c (gtk_preview_set_expand): queue a resize if the
11103         expand behaviour changed.
11104
11105         * gtk/gtklabel.c (gtk_label_set_pattern):
11106         (gtk_label_set_justify):
11107         (gtk_label_set_line_wrap):
11108         don't bother invoking queue_clear, the reallocation does
11109         that for us, always free_words so the upcoming resize will
11110         relayout the label's contents.
11111
11112 Wed Jun  9 12:50:48 1999  Tim Janik  <timj@gtk.org>
11113
11114         * applied argument implementation patches from Elena Devdariani
11115         <elena@cogent.ca>.
11116
11117         * gtk/gtktoolbar.c: ::orientation, ::toolbar_style, ::space_size,
11118         ::space_style, ::relief
11119         * gtk/gtkruler.c: ::lower, ::upper, ::position, ::max_size
11120         * gtk/gtkpreview.c: ::expand
11121         * gtk/gtkpaned.c: ::handle_size, ::gutter_size
11122         * gtk/gtknotebook.c: ::homogeneous
11123         * gtk/gtklabel.c: ::wrap
11124         * gtk/gtklist.c: ::selection_mode
11125         * gtk/gtkhandlebox.c: ::handle_position, ::snap_edge
11126         * gtk/gtkcurve.c: ::curve_type, ::min_x, ::max_x, ::min_y, ::max_y
11127         * gtk/gtkcolorsel.c: ::update_policy, ::use_opacity
11128         * gtk/gtkclist.c: ::sort_type
11129         * gtk/gtkcheckmenuitem.c: ::active, ::show_toggle
11130         * gtk/gtkaspectframe.c: ::xalign, ::yalign, ::ratio, ::obey_child
11131
11132 Tue Jun  1 23:38:38 1999  Owen Taylor  <otaylor@redhat.com>
11133
11134         * gtk/gtkstyle.c: Removed ill-thought-out part of last
11135         comment.
11136
11137 Tue Jun  1 23:30:09 1999  Owen Taylor  <otaylor@redhat.com>
11138
11139         * gtk/gtkstyle.c (gtk_style_attach): Get the reference
11140         counting right when we have to attach a new style
11141         for a different visual. (Chi-Deok Hwang <cdhwang@sr.hei.co.kr>)
11142
11143         * gtk/gtkstyle.c: Documented the refcounting
11144         peculularities of gtk_style_attach.
11145
11146 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11147
11148         * gtk/gtkwindow.c (gtk_window_new): added return if fail for invalid
11149         window types.
11150
11151         * examples/packer/pack.c (main): use GTK_WINDOW_TOPLEVEL instead
11152         of GTK_TOPLEVEL for creating the window.
11153
11154 1999-06-01  Tim Janik  <timj@dhcpd7.redhat.com>
11155
11156         * gtk/gtkmain.c (gtk_init_check): don't segfault when --gtk-module is
11157         the last argument (reported by Per Winkvist).
11158         
11159 Tue May 25 13:13:12 1999  Owen Taylor  <otaylor@redhat.com>
11160
11161         Fixes for invisible XOR lines (Frank Loemker
11162         <floemker@TechFak.Uni-Bielefeld.DE>)
11163         
11164         * gtk/gtkclist.c (gtk_clist_realize): Always use
11165         a non-zero pixel for GDK_XOR.
11166
11167         * gtk/gtkvpaned.c gtk/gtkhpaned.c: 
11168         Use GDK_INVERT instead of GDK_XOR.
11169
11170 Wed May 12 21:56:40 1999  Lars Hamann  <lars@gtk.org>
11171
11172         * gtk/gtkclist.c (adjust_adjustments): signal emit value_changed
11173         signals if h/voffsets differ from adjustment values.
11174         Reportet by Jerome Bolliet <bolliet@in2p3.fr>
11175
11176 Mon May 10 04:20:41 1999  Tim Janik  <timj@gtk.org>
11177
11178         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): propagate
11179         ::selection-done emissions up to the topmost menu shell.
11180
11181 Fri May  7 10:15:14 1999  Owen Taylor  <otaylor@redhat.com>
11182
11183         * gtk/gtknotebook.c (gtk_notebook_set_scrollable): Unset
11184         the user data on the window before destroying it.
11185
11186         * gtk/gtknotebook.c (gtk_notebook_unrealize): Add an
11187         unrealize handler to take care of destroying 
11188         notebook->panel properly. 
11189         (Bug #1198 - Morten Welinder <terra@diku.dk>)
11190
11191         * gtk/gtktext.c (expand_scratch_buffer): Fix reversal
11192         of g_new and g_realloc to stop memory leak. (Actually,
11193         we could just use g_realloc(), but I'm not 100% sure
11194         that is portable).
11195         (Bug #1196 - Morten Welinder <terra@diku.dk>)
11196
11197 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
11198
11199         * gtk/gtkplug.h: Removed stray GtkPlugButton declaration.
11200
11201         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
11202         for fontsets.
11203
11204         * gtk/gtkbutton.c (gtkbutton_expose): Fix warning
11205         with bin/button confusion.
11206
11207 Thu May  6 04:53:26 1999  Tim Janik  <timj@gtk.org>
11208
11209         * gtk/testgtk.c: in the ItemFactory test, link radio items together,
11210         and show how preselection of radio items is done.
11211
11212 Sun May  2 13:31:14 1999  Tim Janik  <timj@gtk.org>
11213
11214         * gtk/gtktreeitem.c (gtk_tree_item_set_subtree): 
11215         * gtk/gtktree.c (gtk_tree_add) (gtk_tree_insert):
11216         * gtk/gtktoolbar.c (gtk_toolbar_insert_element): 
11217         * gtk/gtkpaned.c (gtk_paned_pack2) (gtk_paned_pack1):
11218         * gtk/gtkscrolledwindow.c (gtk_scrolled_window_add): 
11219         * gtk/gtktable.c (gtk_table_attach): 
11220         * gtk/gtklist.c (gtk_list_insert_items): 
11221         * gtk/gtkmenushell.c (gtk_menu_shell_insert): 
11222         * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): 
11223         * gtk/gtkpacker.c (gtk_packer_add_defaults) (gtk_packer_add): 
11224         * gtk/gtkbin.c (gtk_bin_add): 
11225         * gtk/gtkbox.c (gtk_box_pack_start) (gtk_box_pack_end): 
11226         * gtk/gtkfixed.c (gtk_fixed_put): 
11227         * gtk/gtklayout.c (gtk_layout_put):
11228         general fixups to container_add logic. always realize child if
11229         child->parent is realized, only map the child and queue a resize
11230         if child and child->parent are both visible.
11231
11232 Fri Apr 30 09:02:28 1999  Tim Janik  <timj@gtk.org>
11233
11234         * gtk/gtkwidget.c (gtk_widget_real_unrealize): use gtk_container_forall
11235         instead of gtk_container_foreach to walk and unrealize children, so
11236         composite children get also unrealized.
11237         (gtk_widget_real_show): don't call gtk_widget_map() if we don't need to.
11238         (gtk_widget_map): assert that the widget is visible (basic constrain).
11239         (gtk_widget_real_map): assert that the widget is realized (basic
11240         constrain).
11241
11242 Fri Apr 29 00:53:20 1999  Tim Janik  <timj@gtk.org>
11243
11244         * gtk/gtkbindings.c (gtk_pattern_spec_init): plugged a memory leak.
11245
11246 Tue May  4 09:32:08 1999  Owen Taylor  <otaylor@redhat.com>
11247
11248         * gtk/Makefile.am gtk/gtkrc.iso-8859-2: Add a gtkrc
11249         file for iso-8859-2 locales.
11250
11251         * configure.in (ALL_LINGUAS): ALL_LINGUAS update.
11252
11253 Tue Apr 27 16:38:32 1999  Owen Taylor  <otaylor@redhat.com>
11254
11255         * gtk/Makefile.am: Fix typo of static_sources for static_SOURCES.
11256          (Pointed out by andy@rz.uni-karlsruhe.de and others).
11257          Remove some suspicious and useless lines. 
11258
11259 Tue May  4 08:44:08 1999  Owen Taylor  <otaylor@redhat.com>
11260
11261         * gtk/gtkclist.c (gtk_clist_draw, draw_rows): Use 
11262         width,height = 0, 0 to mean - here to edge of window,
11263         instead of -1, -1, since the former is all we support.
11264
11265 Tue May  4 08:34:43 1999  Owen Taylor  <otaylor@redhat.com>
11266
11267         * gtk/gtkmain.c (gtk_main): Correctly free list nodes
11268         when removing from quit_functions list.
11269
11270 Tue Apr 27 14:17:16 1999  Tim Janik  <timj@gtk.org>
11271
11272         * gtk/gtkpacker.c (gtk_packer_size_request): remove unused variable.
11273
11274 Tue Apr 27 18:23:35 1999  Owen Taylor  <otaylor@redhat.com>
11275
11276         * gtk/gtkentry.c (gtk_entry_draw_cursor_on_drawable): 
11277          When redrawing characters on non-visible entry, use appropriate
11278          '*' character. (Bug #1130 - Jean-Marc Jacquet <jm@littleigloo.org>)
11279
11280 Tue Apr 27 01:31:40 1999  Lars Hamann  <lars@gtk.org>
11281
11282         * gtk/gtkclist.c (drag_dest_cell): compute destination cell
11283         from drag coordinates.
11284         (gtk_clist_drag_data_received) (gtk_clist_drag_motion):
11285         use drag_dest_cell.
11286
11287         * gtk/gtktree (drag_dest_cell)
11288         (gtk_ctree_drag_data_received) (gtk_ctree_drag_motion): likewise.
11289         (Bug #1129)
11290
11291 Wed Apr 21 21:26:11 1999  Tim Janik  <timj@gtk.org>
11292
11293         * gtk/gtkitemfactory.c (gtk_item_factory_init): properly initialize
11294         translate_* fields.
11295         (gtk_item_factory_finalize): invoke translate_notify independant from
11296         translate_data.
11297         (gtk_item_factory_set_translate_func): likewise.
11298         (gtk_item_factory_destroy): only remove ifactory pointer from those
11299         widgets that belong to us (stupid me).
11300
11301 Mon Apr 19 12:05:31 1999  Owen Taylor  <otaylor@redhat.com>
11302
11303         * gtk/gtkrc.c (gtk_rc_style_init): Fixed leak of
11304         rc_style list when lookup succeeeds.
11305
11306 Thu Apr 15 01:11:24 1999  Lars Hamann  <lars@gtk.org>
11307
11308         * gtk/gtkctree.c (resync_selection): 
11309         * gtk/gtkclist.c (resync_selection): fixed undo_selection bug.
11310         * gtk/gtkclist.c (gtk_clist_button_release): fixed resync_selection
11311         bug.
11312
11313 Fri Apr  9 19:22:19 1999  Owen Taylor  <otaylor@redhat.com>
11314
11315         * gtk/gtkcolorsel.c gtk/gtkdnd.c gtk/gtkmenuitem.c:
11316         Add some missing GDK_THREADS_ENTER()/LEAVE around
11317         timeouts. (Patches from Sebastian Wilhelmi <wilhelmi@ira.uka.de>)
11318
11319 Thu Apr  8 20:10:33 1999  Tim Janik  <timj@gtk.org>
11320
11321         * gtk/gtkentry.c (gtk_entry_key_press): use gtk_widget_activate()
11322         rather than emit_by_name.
11323
11324         * gtk/gtkeditable.c (gtk_editable_insert_text): keep a reference
11325         on the widget across multiple signal emissions.
11326         (gtk_editable_delete_text): same here.
11327         (gtk_editable_class_init): set widget_class->activate_signal after
11328         editable_signals[ACTIVATE] has been created.
11329
11330 Wed Apr  7 22:59:47 1999  Owen Taylor  <otaylor@redhat.com>
11331
11332         * gtk/gtkpaned.c (gtk_paned_set_position): Don't clamp
11333         position here prematurely -- we might not have the
11334         right ->min_position and ->max_position yet.
11335
11336 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
11337
11338         * gtk/gtkselection.c gdk/gdkselection.c: (gtk_selection_request):
11339         Add error traps so if the other end of the connection
11340         dies, we survive.
11341
11342         * gtk/gtkselection.c (gtk_selection_notify): Clean
11343         up properly when selection property retrieval fails.
11344         
11345         * gtk/gtkselection.c (gtk_selection_request): Correctly
11346         reject SelectionRequest notifies where the handler
11347         returns no data.
11348
11349 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
11350
11351         * gtk/gtkdnd.c (gtk_drag_dest_leave): Only unhighlight
11352         when we've previously highlighted.
11353
11354         * gtk/gtkdnd.c (gtk_drag_dest_handle_event): Don't
11355         emit two "drag_leave" signals for Motif drops.
11356
11357         * gtk/gtkdnd.c (gtk_drag_source_handle_event): Send
11358         back the correct status messages when dropping from
11359         Motif onto a proxy window that is rejecting the
11360         drop.
11361
11362 Sat Mar 27 23:32:13 1999  Tim Janik  <timj@gtk.org>
11363
11364         * gtk/gtkarg.[hc]: added functions from GLE, gtk_arg_reset() to free
11365         the value and reset type to GTK_TYPE_INVALID, and gtk_arg_values_equal()
11366         to compare two argument values. added gtk_arg_to_valueloc() to set a
11367         variable from an arg through its location (pointer).
11368
11369         * gtk/gtkobject.[hc]: implemented gtk_object_get() in terms of
11370         gtk_object_arg_get() and gtk_arg_to_valueloc(), floats are collected
11371         as gfloat*, uchars are collected as guchar*, ints are collected as
11372         gint*, etc...
11373
11374 Mon Mar 29 17:45:47 1999  Owen Taylor  <otaylor@redhat.com>
11375
11376         * gtk/gtkaccelgroup.c gtk/gtkgtkbindings.c:
11377         Include <string.h> instead of <strings.h>.
11378
11379         * gtk/gtkstyle.c: Fix double include of gtkthemes.h
11380         (actually, a lot more duplicate includes occur if
11381          you trace through the sequence of #include's)
11382         gtk-jbb-990320-0: John Bley, jbb6@acpub.duke.edu
11383         
11384 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
11385
11386         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
11387         gtk-a-higuti-990322-[0-3]
11388
11389         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
11390         that was causing -DX_LOCALE not to work.
11391
11392         * gtk/gtkrc.c (gtk_rc_init):
11393         X_LOCALE will never have LC_MESSAGES defined
11394
11395 Thu Mar 25 12:38:31 1999  Tim Janik  <timj@gtk.org>
11396
11397         * gtk/gtkrc.c (gtk_rc_append_default_module_path): get $HOME from
11398         g_get_home_dir() (gtk-pmc-990123-0.patch.gz).
11399
11400         * gtk/gtkwindow.c (gtk_window_key_press_event): feature keypad up/down/
11401         left/right as well (gtk-michael-980726-0.patch.gz).
11402
11403         * gtk/gtklabel.[hc]: bunch of miscellaneous cleanups, such as s/0/NULL/
11404         for pointer values, use gchar instead of char. fixed uline allocation
11405         leaks, changed the allocation pattern so we use G_ALLOC_AND_FREE mem
11406         chunks instead of G_ALLOC_ONLY.
11407         (gtk_label_size_request): always alter requisition as passed and leave
11408         widget->requisition alone.
11409         (gtk_label_set_text): allow NULL strings.
11410         (gtk_label_new): likewise.
11411
11412 Wed Mar 24 09:24:03 1999  Tim Janik  <timj@gtk.org>
11413
11414         * gtk/gtkdrawingarea.[hc]: type/macro fixups.
11415
11416 Mon Mar 22 05:51:34 1999  Tim Janik  <timj@gtk.org>
11417
11418         * gtk/gtkbin.c (gtk_bin_draw): only redraw children that are visible
11419         *and* mapped (i.e. drawable).
11420         (gtk_bin_expose): only send exposes to drawable children.
11421
11422         * gtk/gtkbox.c (gtk_box_draw): only redraw children that are drawable.
11423         (gtk_box_expose): only send exposes to drawable children.
11424
11425         * gtk/gtkhscale.c (gtk_hscale_draw): 
11426         * gtk/gtkvscale.c (gtk_vscale_draw):
11427         hm, this is an ugly one. we first compute the size of our trough area
11428         here (window relative) and then check intersection with the draw_area
11429         which is parent relative because we're a NO_WINDOW widget, so we need
11430         to offset the trough area by allocation.x and allocation.y before the
11431         check. (this must not be done for the background area though, since
11432         that's already computed parent relative).
11433
11434 Mon Mar 22 00:41:39 1999  Lars Hamann  <lars@gtk.org>
11435
11436         * gtk/gtkclist.c (gtk_clist_unrealize): unmap clist if neccessary,
11437         unrealize title buttons.
11438
11439 Fri Mar 19 00:00:22 1999  Lars Hamann  <lars@gtk.org>
11440
11441         * gtk/gtkclist.c (gtk_clist_column_title_passive)
11442         (gtk_clist_column_title_active): 
11443         only connect/disconnect to GtkWidgetClass::event to block mouse events.
11444
11445         * gtk/gtkclist.c (vertical_timeout) (horizontal_timeout): 
11446         zero initialize event, removed superfluous gdk_window_get_pointer call
11447
11448         * gtk/gtklist.c (gtk_list_vertical_timeout)
11449         (gtk_list_horizontal_timeout): removed superfluous
11450         gdk_window_get_pointer call
11451
11452 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
11453
11454         * plugging problems reported by "Bruce Mitchener, Jr."
11455         <bruce@puremagic.com> due to a purify session.
11456
11457         * gtk/gtkstyle.c:
11458         (gtk_style_ref): 
11459         (gtk_style_unref): assert ref_count to be > 0.
11460
11461         * gtk/gtkclist.c (gtk_clist_set_cell_style): { 0 } initilaize
11462         the requisition.
11463         (gtk_clist_set_shift): likewise.
11464
11465         * gtk/gtklayout.c: introduce gtk_layout_finalize() to unref the
11466         adjustments.
11467
11468         * gtk/gtklist.c (gtk_list_horizontal_timeout): zero initialize the
11469         event before sending it and set send_event to TRUE (which needs to
11470         be done for *all* synthesized events).
11471         (gtk_list_vertical_timeout): likewise.
11472
11473         * gtk/gtktipsquery.c (gtk_tips_query_destroy): plug small memory
11474         leaks.
11475
11476         * gtk/gtkdrawingarea.c (gtk_drawing_area_send_configure): set send_event
11477         to TRUE when synthesizing events.
11478
11479 [ *** end of merges from 1.2 *** ]      
11480         
11481 1999-11-21  Tor Lillqvist  <tml@iki.fi>
11482
11483         * gdk/gdkconfig.h: Remove, as this is a file generated by configure
11484         (or copied from gdkconfig.h.win32 on Win32, sigh).
11485
11486         * gdk/gdkprivate.h: Mark gdk_parent_root for export from DLL.
11487
11488         * gdk/gdk.c (gdk_keyval_convert_case): Fix typo.
11489
11490         * gdk/gdkgc.c (gdk_gc_alloc): Remove duplicated line.
11491
11492         * gdk/gdkconfig.h.win32: New file.
11493
11494         * gdk/win32/makefile.cygwin: Build just a static archive here.
11495
11496         * gdk/makefile.cygwin: New file. Get the win32-specific stuff
11497         for the DLL from the static archive built above.
11498
11499         * gdk/gdk.def: Moved here from the win32 subdirectory.
11500
11501         * gdk/win32/*: Adapt for the changed private struct organisation.
11502
11503         * gtk/makefile.{cygwin,msc}: Get gdk library from ../gdk now.
11504
11505 Sun Nov 21 16:44:35 1999  Stefan Jeske  <stefan@gtk.org>
11506
11507         * gtk/gtkspinbutton.c (gtk_spin_button_button_press): Added support 
11508         for wheel mice (buttons 4 and 5).
11509
11510 1999-11-18  Tor Lillqvist  <tml@iki.fi>
11511
11512         * gdk/win32/gdkgc-win32.c (gdk_gc_predraw): Also for truecolor
11513         drawables use just the pixel field in the foreground and
11514         background GdkColor of the GdkGC.
11515
11516         gdk_gc_set_{fore,back}ground() are called in the GIMP with
11517         GdkColors containing uninitialized (red,green,blue) fields, and
11518         just the pixel field filled in, and furthermore in the
11519         visual-dependent format as returned by gdk_rgb_xpixel_from_rgb().
11520         It thus turns out that we really don't need to have the full
11521         GdkColor for fg and bg in GdkGCWin32Data after all. Will change
11522         it later to have just the pixel values.
11523
11524 Mon Nov 15 17:17:51 GMT 1999 Tony Gale  <gale@gtk.org>
11525
11526         * docs/gtkfaq.sgml: s/gtk_main_iteration/g_main_iteration/
11527
11528 Sat Nov 13 22:30:29 GMT 1999 Tony Gale  <gale@gtk.org>
11529
11530         * docs/gtkfaq.sgml: threads example from Erik Mouw.
11531         New question on GtkLabel background colors.
11532
11533         * docs/gtk_tut.sgml:
11534           - Correct the example code callback
11535             function definitions.
11536           - Update the gtkdial example code, from Frans van Schaik.
11537           - Update setselection.c to current API.
11538
11539         * examples/Makefile examples/*/*.c: Update to code
11540         listed in tutorial.
11541
11542 1999-11-10  Tor Lillqvist  <tml@iki.fi>
11543
11544         * gdk/win32/gdkfont-win32.c: Fix a couple of bugs. The Unicode
11545         subrange table (from the "Developing International Software for
11546         WIndows 95 and Windows NT" book) was missing the Hangul syllable
11547         block... Get the loaded font's charset correctly.
11548
11549         (Note that this, and the other *-win32.c files, still really are
11550         the old ones, the win32 subdirectory is not ready for compilation
11551         yet after the reorg.)
11552
11553 Wed Nov 10 17:26:49 GMT 1999 Tony Gale  <gale@gtk.org>
11554
11555         * gtk/gtkclist.c: Fix off-by-one bug in parameter
11556         check.
11557
11558 Wed Nov 10 12:12:03 1999  Owen Taylor  <otaylor@redhat.com>
11559
11560         * gdk/x11/gdkinput-{x11,xfree}.c: Call XFreeDeviceState()
11561         on results of XQueryDeviceState().
11562
11563 Mon Nov  8 16:40:43 1999  Owen Taylor  <otaylor@redhat.com>
11564
11565         * gtk/gtkwidget.c: Substitute gdkx.h => gdkprivate.h since
11566         we need to accesss only ->children. We need an accessor
11567         for the children.
11568
11569         * gtk/gtkhandlebox.c gtk/testgtk.c: Substitute G
11570         DK_ROOT_PARENT() => NULL, in call to gtk_window_get_pointer()
11571         to get rid of gdkx.h include.
11572         
11573         * gtk/gtkctree.c: Get rid of #include <gdk/gdkx.h>
11574         and random references to 'None'.
11575
11576         * gtk/gtkclist.c gtk/gtkeditable.c gtk/gtkpreview.c
11577         Get rid of unused #include <gdk/gdkx.h>
11578
11579         * gtk/gtkrc.c gtk/gtkmain.c: Get rid of #include <gdk/gdkx.h>
11580         gdkx.h is _X_ specific stuff. GDK_WINDOWING comes from
11581         gdkconfig.h.
11582
11583 1999-11-08  Tor Lillqvist  <tml@iki.fi>
11584
11585         * gdk/win32/gdkdraw.c
11586         * gdk/win32/gdkfont.c
11587         * gdk/win32/gdkgc.c: Various minor cleanups and bugfixes
11588         following yesterday's changes. (Unrelated to Owen's reorg.)
11589
11590 Mon Nov  8 16:18:25 1999  Owen Taylor  <otaylor@redhat.com>
11591
11592         * gdk/x11/gdkinput-gxi.c: Add missing include,
11593           fix GdkWindowPrivate => GdkDrawablePrivate.
11594
11595         * gdk/x11/gdkinputprivate.h: include <X11/Xlib.h>.
11596
11597         * gdk/x11/Makefile.am (xinput_sources): Add missing
11598         backslash to fix building with --with-xinput=none
11599
11600 Mon Nov  8 14:47:04 1999  Owen Taylor  <otaylor@redhat.com>
11601
11602         Move all X specific code into the x11/ directory.
11603         Aside from shuffling things around, did the following:
11604
11605        * gdk/gdkprivate.h gdk/gdk.h gdk/x11/gdkmain-x11.h: Add
11606          gdk_arg_context_* - a simple argument parsing system
11607          in the style of popt.
11608
11609        * gdk/gdkdrawable.[ch] gdk/gdkprivate.h gdk/gdkwindow.[ch]
11610          gdk/x11/gdkprivate-x11.h:
11611          Remove X specific stuff from GdkDrawable and GdkWindowPrivate - 
11612          add ->klass and ->klass_data fields. The klass_data
11613          field points to an auxilliary structure that is
11614          windowing system dependent.
11615
11616        * gdk/gdkfont.c: Make most of the measurement functions
11617          simply wrappers around gdk_text_extents().
11618
11619        * gdk/gdkfont.c gdk/gdkprivate.h gdk/x11/gdkfont-x11.c: Add a 
11620          _gdk_font_strlen() function that hides the weird
11621          behavior in gtk+-1.[02] where a string is interpreted
11622          differently for 8-bit and 16-bit fonts.
11623
11624        * gdk/gdkevents.c: Add a new function gdk_event_button_generate()
11625          to store common code for synthesizing double/triple
11626          press events.
11627         
11628        * gdk/gdkgc.[ch]: Virtualize in the same way as gdkdrawable.h.
11629          Make all the function that modify an existing GC
11630          simply wrappers around gdk_gc_set_values().
11631          
11632        * gdk/gdkcc.[ch]: Moved into x11/ directory in preparation
11633          for throwing out later.
11634
11635        * gdk/gdkfont.c gdk/gdkimage.c gdk/gdkcolor.c: Change GdkFontPrivate,
11636          GdkImagePrivate and GdkColormapPrivate to have a
11637          windowing system dependent part (GdkFontPrivateX etc.)
11638          that "derives" from the system-independent part.
11639
11640        * configure.in gdk/x11/Makefile.in gdk/x11/gdkinput*.c:
11641          Got rid of the included-source-files for XInput in
11642          favor of automake conditionals. (Which didn't exist
11643          when XInput support was originally added.)
11644
11645        * gdk/gdkrgb.c: Remove the visual id from the debugging
11646          statements since that is X11 specific; print out
11647          type/depth info instead.
11648          
11649
11650 Wed Nov  3 18:14:49 1999  Owen Taylor  <otaylor@redhat.com>
11651
11652         * gdk/x11/gdkfont-x11.c (gdk_font_load): Ref fonts when
11653         loading duplicates of hashed fonts.
11654
11655         * gdk/gdk.c (gdk_keysym_convert_case): rename
11656         gdk_XConvertCase to gdk_keysym_convert_case, allow
11657         results to be NULL in the GTK+ style.
11658
11659         * gdk/gdkcompat.h: Started compatibility header
11660         for renames.
11661
11662 1999-11-07  Tor Lillqvist  <tml@iki.fi>
11663
11664         * gdk/win32/gdkprivate.h: New font private structures, related to
11665         fontsets.
11666
11667         * gdk/win32/gdkfont.c: New functions gdk_font_list_new() and
11668         gdk_font_list_free(). On X11, will just be wrappers to
11669         XListFonts() and XFreeFontNames(). On Win32, the code previously
11670         in gtkfontsel.c is now here.
11671
11672         New function gdk_font_xlfd_create(). On X11 will get the FONT
11673         property of the font (for GDK_FONT_FONTs), or call
11674         XBaseFontNameListOfFontSet (for GDK_FONT_FONTSETs), on Win32
11675         builds a XLFD style name from the font information in the LOGFONT
11676         struct(s).
11677
11678         New function gdk_font_xlfd_free(), which correspondingly frees the
11679         string returned by gdk_font_xlfd_create().
11680
11681         Implement fontsets on Win32. Add a function that iterates over a
11682         wide char string and calls a callback function for each substring
11683         of wide chars from the same Unicode subrange (and thus probably
11684         available in the same real font).
11685
11686         Improve the XLFD emulation a bit.
11687
11688         * gdk/win32/gdkim.c (gdk_nmbstowchar_ts): Small bugfix.
11689
11690         * gdk/win32/gdkevents.c: Workaround for suspected bug on Win2k
11691         Beta3, WM_IME_CHAR messages don't seem to contain the composed
11692         multi-byte char as with the Active IMM on Win9x. Oh well, handle
11693         WM_IME_COMPOSITION with GCS_RESULTSTR instead, use
11694         ImmGetCompositionStringW() to get the composed Unicode chars.
11695
11696         * gdk/win32/gdkgc.c
11697         * gdk/win32/gdkdraw.c: Changes needed because of the font private
11698         struct changes.
11699
11700         * gdk/win32/gdk.def: Add the new functions.
11701
11702 1999-11-04  Tor Lillqvist  <tml@iki.fi>
11703
11704         * config.h.win32: Don't define HAVE_DIMM_H if MSC, as you have to
11705         get the Platform SDK to get <dimm.h>.
11706
11707         * gdk/win32/gdkevents.c: More event handling fixes and
11708         simplification. Never generate motion events with is_hint true. We
11709         used to do that on bogus grounds earlier. Windows sends
11710         WM_MOUSEMOVE messages on button events even if the mouse hasn't
11711         moved, ignore these.
11712
11713         * gdk/win32/gdkfont.c: Load all fonts as (pretended) fontsets.
11714
11715         * gdk/win32/gdkglobals.c
11716         * gdk/win32/gdkprivate.h: Define a typedef for the pointer to
11717         the TrackMouseEvent function, and use it.
11718
11719         * gdk/win32/gdkwindow.c: Terminate widechar string with a zero
11720         char before calling WideCharToMultiByte in order to get a string
11721         for the window title.
11722
11723         * gdk/win32/gdkdnd.c: Some more random hacking, ifdeffed out.
11724
11725         * gdk/win32/gdk.def: Remove obsolete functions.
11726
11727         * gdk/win32/makefile.{cygwin,msc}: Remove gdkcompat.{o,obj}. Add
11728         /nodefaultlib and /defaultlib switches.
11729
11730         * gtk/gtkrc.c: s/gwin_getlocale/g_win32_getlocale/.
11731
11732 1999-10-31  Tor Lillqvist  <tml@iki.fi>
11733
11734         * gdk/gdkkeysyms.h: Add new keysyms from X11R6.4 (including
11735         EuroSign).
11736
11737         * gdk/gdktypes.h: Add note about wchar_t not necessarily being the
11738         same type as GdkWChar, especially on Win32.
11739
11740         * gdk/win32/*.c: Change gdk_root_parent to be a pointer.
11741
11742         * gdk/win32/*.c: Assume all strings are UTF-8. Convert to Unicode
11743         before passing to Windows GDI for drawing etc. Convert to the
11744         system default codepage before passing to Windows as window
11745         titles.
11746
11747         * gdk/win32/gdkprivate.h: Add more fields to GdkWindowPrivate to
11748         support changing input locale on the fly.
11749
11750         * gdk/win32/gdkevent.c: Support input language (keyboard locale)
11751         on-the-fly changes. Convert incoming characters from the current
11752         codepage to Unicode (and then to a UTF-8 multi-byte string) based
11753         on the current input language. Use keysym<->Unicode mapping tables
11754         and functions borrowed from xterm sources.
11755
11756         Support IMEs (Input Method Editors) for CJK languages. On non-CJK
11757         editions of Win9x, use the ActiveX-based Active IMM (Input Method
11758         Manager) if available. IMEs and the Active IMM are available under
11759         the disguise of Chinese, Korean and Japanese support for IE and
11760         Outlook Express from "Windows Update" for Win98. On Win2k, the CJK
11761         support is present in all editions (as long as you install it).
11762
11763         Call DispatchMessage from gdk_events_queue() (and thus
11764         gdk_WindowProc()), instead of duplicating the code in
11765         gdk_WindowProc().
11766
11767         Reworked the grab handling and propagation code, factored out
11768         duplicated code snippets into separate functions. Other cleanups,
11769         too.
11770
11771         * gdk/win32/surrogate-dimm.h: Provide just the bits we need from
11772         the <dimm.h> header describing the Active IMM.
11773
11774         * gdk/win32/gdkfont.c: Pretend to support fontsets, but so far
11775         just do the same as for "single" fonts.
11776
11777         * gdk/win32/gdk.c: Call CoInitialize() (COM initialisation) from
11778         gdk_init_check, and CoUninitialize() from gdk_exit_func. Handle
11779         the new keysyms from gdkkeysyms.h.
11780
11781         * gtk/gtkfontsel.c (Win32): Load the font for the preview as a
11782         fontset, so that gtkentry uses wide characters.
11783
11784         * gtk/gtkrc.c (Win32): Get the locale with gwin_getlocale(). Call
11785         GTk+'s system directory "gtk+", not "gtk".
11786
11787 Sat Oct 30 13:17:18 BST 1999 Tony Gale <gale@gtk.org>
11788
11789         * docs/gtkfaq.sgml: FAQ update
11790
11791 1999-10-21  Tor Lillqvist  <tml@iki.fi>
11792
11793         * gdk/win32/gdkprivate.h: Add more font private data.
11794
11795         * gdk/win32/gdkfont.c
11796         * gdk/win32/gdkdraw.c: Revamped handling of multi-byte charset
11797         fonts and strings. Now works much better. You still have to
11798         have a correct font selected, though. No fontset emulation yet.
11799
11800 1999-10-19  Tor Lillqvist  <tml@iki.fi>
11801
11802         * gtk/maketypes.awk: Use G_OS_WIN32.
11803
11804         * gtk/gtk.def: Add some missing entry points. Also some non-public
11805         ones, but PyGTK porter claims to need them.
11806
11807         * gtk/makefile.{cygwin,msc}: Drop some unneeded headers from the
11808         built-in type generation.
11809
11810 1999-10-14  Tor Lillqvist  <tml@iki.fi>
11811
11812         * gdk/win32/gdkdraw.c (gdk_draw_text_wc): Don't use TextOutW for
11813         GDK_FONT_FONT fonts (which is all we have for now, we don't
11814         emulate fontsets). The X11 version uses plain XDrawString in that
11815         case, too. The string passed to gdk_draw_text_wc seems to be in
11816         fact (at least, when used by gtkentry and gtktext) either in a
11817         single-byte charset, or a DBCS. Not Unicode.
11818
11819         This fixes the problem in gtkfontsel, where even if you had
11820         selected a font with a non-Latin1 charset (windows-greek, for
11821         instance), the preview still used Latin-1 glyphs.
11822
11823         * gdk/win32/gdkfont.c (gdk_text_width_wc): Similar change. Don't
11824         use GetTextExtentPoint32W, use GetTextExtentPoint32A.
11825         (gdk_font_load): Recognize the demibold etc weights, even if we
11826         don't have the corresponding constants in the headers.
11827         (gdk_font_hash_insert): Use same hash mechanism as in the X11
11828         version. Should save font resources a bit, when we don't have
11829         multiple HFONTs for the same font.
11830
11831         * gdk/win32/gdkprivate.h: Add the names field as in the X11
11832         version.
11833
11834 1999-10-11  ERDI Gergo  <cactus@cactus.rulez.org>
11835
11836         * gdk/gdk.c (gdk_beep): Modified the XBell call to use the default
11837         X values
11838
11839 1999-10-09  ERDI Gergo  <cactus@cactus.rulez.org>
11840
11841         * gtk/gtktoolbar.h, gtk/gtktoolbar.c: Added horizontal icon/text
11842         layout support (as mentioned on
11843         http://www.jcinteractive.com/gnome-ui/software/widgets/)
11844
11845 Wed Oct  6 12:46:17 PDT 1999 Manish Singh <yosh@gimp.org>
11846
11847         * gtk/fnmatch.c
11848         * gtk/gtkfilesel.c: s/G_HAVE_CYGWIN/G_WITH_CYGWIN/
11849
11850 1999-10-05  Jesus Bravo Alvarez  <jba@pobox.com>
11851
11852         * configure.in (ALL_LINGUAS): Added Galician (gl)
11853
11854 1999-10-05  Tor Lillqvist  <tml@iki.fi>
11855
11856         * gdk/win32/*.[ch]: Corresponding changes as in X11 backend.
11857
11858         * gdk/win32/gdkcompat.c: New file, actually provide an
11859         implementation for the deprecated functions. (Just temporarily.)
11860
11861         * gtk/gtkfilesel.c: Fix an #ifdef syntax botch.
11862
11863         * gtk/makefile.{cygwin,msc}: Update gdk_headers.
11864
11865         * gdk/win32/gdk.def gtk/gtk.def: Updates.
11866
11867 1999-10-05  Kjartan Maraas  <kmaraas@online.no>
11868
11869         * configure.in: Added "uk" to ALL_LINGUAS.
11870         
11871 Mon Oct  4 11:57:11 PDT 1999 Manish Singh <yosh@gimp.org>
11872
11873         * configure.in: correct checking for BeOS check
11874
11875         * gdk/gdktypes.h
11876         * gtk/fnmatch.c
11877         * gtk/gtkfilesel.c
11878         * gtk/gtkitemfactory.c
11879         * gtk/gtkmain.[ch]
11880         * gtk/gtkrc.c: use G_OS_WIN32 and G_HAVE_CYGWIN #defines
11881
11882 Mon Oct  4 16:16:53 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
11883
11884         * gtk/gtkrc.{bg,iso88591[345]}: add gtkrc files for some new charset
11885         encodings: iso-8859-13 (for Lithuanian), iso-8859-14 (used by celtic
11886         languages), iso-8859-15 (used in Estonia) and microsoft-cp1251 (used
11887         by Bulgarian). 
11888
11889 Sun Oct  3 18:13:44 1999  Owen Taylor  <otaylor@redhat.com>
11890
11891         * gtk/gtkwidget.c (gtk_reset_shapes_recurse): 
11892         Fix a reference to window_private->destroyed.   
11893
11894         * gtk/gtkplug.c (gtk_plug_realize): Fix up a direct
11895         (ugly) setting of an internal GdkWindow member to use
11896         a _slightly_ cleaner macro.
11897
11898         * gdk/gdkprivate.h: Split GdkWindowPrivate into
11899         GdkDrawablePrivate and GdkWindowPrivate.
11900         Add extra macros for accessing GDK_DRAWABLE_ components.
11901
11902         * *.[ch]: Massive adjustments for the above, use the
11903         new macros in a lot of places.
11904
11905 Sun Oct  3 15:16:24 1999  Owen Taylor  <otaylor@redhat.com>
11906
11907         * gdk/gdktypes.h: Make GdkDrawable the base type,
11908         not GdkWindow.
11909
11910 Sun Oct  3 15:08:44 1999  Owen Taylor  <otaylor@redhat.com>
11911
11912         * gdk/gdkdraw.c (gdk_drawable_get_data): Added new function.
11913
11914 Sun Oct  3 14:26:15 1999  Owen Taylor  <otaylor@redhat.com>
11915
11916         * gdk/gxid* gdk/x11/gxid*: Move files into x11 subdirectory.
11917
11918 Sun Oct  3 14:16:23 1999  Owen Taylor  <otaylor@redhat.com>
11919
11920         * gdk/gdkdrawable.h: Include gdk/gdkdrawable.h with
11921         gdk/ prefix. (Pointed out by chak@is.tsukuba.ac.jp)
11922
11923         * configure.in gdk/Makefile.am x11/: create x-specific subdirectory.
11924
11925         * docs/gtk-config.1: Now autogenerated.
11926         * docs/Changes-1.4.txt: started
11927         
11928 1999-10-03  Tor Lillqvist  <tml@iki.fi>
11929
11930         * gdk/gdkimage.h gdk/gdkpixmap.h: Change GDK_WINDOWING_WIN32 usage
11931         to #ifdef also here.
11932
11933         * gdk/win32/*.h gdk/win32/*.c: Make corresponding changes as those
11934         Owen did to the X11 backend.
11935
11936         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Fix it again, don't use
11937         ScrollWindowEx when blitting inside a window, it can't be correct
11938         in the general case.
11939
11940         * gdk/win32/gdkevents.c: Don't handle WM_SIZING, handling
11941         WM_GETMINMAXINFO is easier.
11942
11943         * gdk/win32/gdkimage.c (gdk_image_new): Create new image with
11944         depth equal to the bitspixel value, not the visual's depth.
11945
11946         * gdk/win32/gdkvisual.c (gdk_visual_init): Set the visual's depth
11947         to 24 even if the bitspixel value is 32.
11948
11949         * gdk/gdkrgb.c (gdk_rgb_select_conv): After the above change, no
11950         need to check for depth==32 when bpp==32, depth will always be 24.
11951
11952 Fri Oct  1 18:03:36 1999  Owen Taylor  <otaylor@redhat.com>
11953
11954         * docs/Changes-1.4.txt: Started
11955         
11956         * gtk/Makefile.am (gdk_headers): Include all the new headers.
11957
11958         * gdk/*.h gdk/*.c: Split gdk.h into lots of itty-bitty little pieces.
11959         
11960         * gdk/gdkprivate.h gdk/gdkcc.c: Moved GdkColorContext private
11961         into C file.
11962         
11963         * gdkinput.h gdkinputprivate.h - renamed the internal gdkinput
11964         header to gdkinputprivate.h.
11965
11966         * gdk/gdk.h gdk/gdk.c: Removed gdk_time* functions which have been
11967         unused since before 1.2.
11968
11969 1999-09-30  Tor Lillqvist  <tml@iki.fi>
11970
11971         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): On Win32,
11972         expand possible hex escapes in the font family (put there by
11973         logfont_to_xlfd if the font name isn't a legal XLFD font family,
11974         mainly if it contains slashes). (gtk_font_selection_create_xlfd):
11975         On Win32, add hex escapes here, too.
11976
11977 Wed Sep 29 19:55:35 1999  Owen Taylor  <otaylor@redhat.com>
11978
11979         * */*.[ch]: Changed from #if GDK_WINDOWING == GDK_WINDOWING_X11
11980         to #ifdef GDK_WINDOWING_X11.
11981
11982 [ Merges from gtk-1-2 ]
11983
11984 Wed Sep  8 07:13:29 1999  Tim Janik  <timj@gtk.org>
11985
11986         * configure.in: fixed "GNU Make" check to pass with new make version
11987         3.77.95.
11988
11989 Fri Sep  3 16:04:41 1999  Tim Janik  <timj@gtk.org>
11990
11991         * gtk-config.in (--version): don't echo @GTK_VERSION@, but
11992         @GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@, so the
11993         AM_PATH_GTK() macros don't get confused by the -pre1.
11994
11995 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
11996
11997         * configure.in (REBUILD): Change check for perl5
11998           to check explicitely for v >= 5.002. (5.001
11999           does not work with our scripts.)
12000
12001 Wed Aug 25 15:45:46 1999  Tim Janik  <timj@gtk.org>
12002
12003         * configure.in: evaluate $PERL for the perl version check. added
12004         --disable-rebuilds to give the user an option to completely disable
12005         any source autogeneration rules.
12006
12007 Mon Aug 23 23:16:14 1999  Tim Janik  <timj@gtk.org>
12008
12009         * configure.in: evaluate $ac_make when checking for GNU Make.
12010
12011 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12012
12013         * docs/Makefile.am: added generation.txt.
12014
12015         * Makefile.am: require automake 1.4, build README from README.in and
12016         INSTALL from INSTALL.in in dist-hook.
12017         
12018         * README.in:
12019         * INSTALL.in: new files to autogenerate README and INSTALL from.
12020
12021         * configure.in: figure whether we have GNU Make
12022
12023         * docs/generation.txt: minor additions/corrections.
12024
12025 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12026
12027         * docs/gtkfaq.sgml: FAQ Update
12028
12029 July 30, 1999 Elliot Lee <sopwith@redhat.com>
12030         
12031         * configure.in: Fix autoconf warnings about cross compilation by
12032         trying to provide sane defaults for AC_TRY_RUN.
12033
12034 Fri Jul 16 22:20:21 PDT 1999 Manish Singh <yosh@gimp.org>
12035
12036         * ltconfig
12037         * ltmain.sh: upgrade to libtool 1.3.3
12038
12039 Thu Jul  8 11:30:18 1999  Owen Taylor  <otaylor@redhat.com>
12040
12041         * INSTALL: Indicate that the --with-glib= configure
12042         time flag is unsupported.
12043
12044 Mon Jul  5 20:36:03 1999  Owen Taylor  <otaylor@redhat.com>
12045
12046         * docs/generation.txt: Added a file that gives
12047         documenation about the autogeneration process for
12048         various autogenerated files.
12049         
12050 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12051
12052         * configure.in (LIBS): Look for libgmodule in the
12053         right location.
12054
12055 Thu Jun 17 13:57:31 1999  Owen Taylor  <otaylor@redhat.com>
12056
12057         * docs/gtk_tut.sgml: Removed references to
12058         code examples in my directory on gtk.org as
12059         they should all be in the tutorial now.
12060
12061         * docs/gtk_tut.sgml: Added sources for dial-test
12062         and scribble-xinput programs that were previously
12063         missing.
12064
12065 Fri Jun  4 00:08:59 1999  Owen Taylor  <otaylor@redhat.com>
12066
12067         * TODO: Added entry about menu keyboard navigation, removed
12068         some finished items.
12069
12070 Mon May 31 00:11:24 1999  Owen Taylor  <otaylor@redhat.com>
12071
12072         * acinclude.m4: Standardize on func_dgettext
12073         not func_gettext, so that the checks for dgettext
12074         actually are paid attention to.
12075
12076 Wed May  5 10:47:54 1999  Owen Taylor  <otaylor@redhat.com>
12077
12078         * configure.in (LIBS): Add $INTLLIBS into $LIBS
12079         directly, rather than repeating the checks for
12080         gettext.
12081
12082         * INSTALL: Added information about gettext and
12083         NLS support.
12084
12085         * acinclude.m4 (LIBM): Check for dgettext, not
12086         just gettext. This should hopefully fix things wrt
12087         systems with old versions of GNU gettext installed.
12088
12089 Tue Jun 29 15:59:25 1999  Owen Taylor  <otaylor@redhat.com>
12090
12091         * configure.in (LIBS): Look for libgmodule in the
12092         right location.
12093
12094 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12095
12096         * autogen.sh: add --enable-maintainer-mode
12097
12098         * configure.in: set ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
12099
12100 Wed Mar 24 23:03:49 CST 1999 Shawn T. Amundson <amundson@gtk.org>
12101
12102         * docs/gtk-config.1.in:
12103           docs/Makefile.am:
12104           configure.in: gtk-config is now generated.
12105
12106         * docs/gtk-config.1: Removed, now generated.
12107
12108 Thu Sep 23 17:59:59 1999  Tim Janik  <timj@gtk.org>
12109
12110         * gdk/gdkevents.c (gdk_event_translate): grr, even if Gdk doesn't
12111         handle CreateNotify itself, still put out a debuging message for
12112         --gdk-debug=events. made the ReparentNotify debugging message more
12113         verbose.
12114         wrap xcoords translation for ConfigureEvents into an error trap,
12115         a destroy event may already be pending, and in that case, the
12116         actuall coordinate values are not at all critical.
12117
12118 Sat Sep 18 22:24:15 1999  Owen Taylor  <otaylor@redhat.com>
12119
12120         * gdk/gdkcc.c: Stop leaking the color_hash all over
12121         the place. Simplify and improve the logic.
12122
12123 Fri Sep 17 09:57:15 1999  Tim Janik  <timj@gtk.org>
12124
12125         * gdk/gdk.h, gdk/gdkcolor.c: make return types (gint or gboolean)
12126         for prototypes and function implementations consistent (reported
12127         by Tomas Ogren).
12128
12129 Tue Sep 14 18:23:01 1999  Tim Janik  <timj@gtk.org>
12130
12131         * gdk/gdkevents.c (gdk_event_translate): tell if expose events have
12132         send_event set in debugging output.
12133         (gdk_compress_exposures): default initialize the event so we don't
12134         operate on bogus values (namely send_event).
12135
12136 Thu Sep  2 16:33:59 1999  Owen Taylor  <otaylor@redhat.com>
12137
12138         * gdk/gdkwindow.c: When we receive an unexpected
12139         destroy notify on one of our windows, don't just
12140         warn about it, also mark our windows as destroyed.
12141
12142 Sun Sep  5 08:10:53 1999  Owen Taylor  <otaylor@redhat.com>
12143
12144         * gdk/gdkfont.c (gdk_font_hash_insert): Add
12145           name => font and name => fontset hashes. The 
12146           name => fontset hash is a _big_ win since we
12147           weren't previously caching fontsets at all and loading
12148           fontsets is expensive. The name => font hash
12149           is less of a win, but it does save us from doing
12150           repeated XQueryFont calls on the same font.
12151
12152         * gdk/gdkprivate.h (struct _GdkFontPrivate): Add a names
12153           list so we can remove font/fontset from hash.
12154
12155 Thu Sep  2 19:02:37 1999  Owen Taylor  <otaylor@redhat.com>
12156
12157         * gdk/gdkproperty.c (gdk_atom_intern): Remove useless
12158           and slightly confusing test. [ XInternAtom (,,TRUE)
12159           will never return None ].
12160
12161 Sat Sep  4 08:39:26 1999  Owen Taylor  <otaylor@redhat.com>
12162
12163         * gdk/gdkwindow.c (gdk_window_set_geometry_hints)
12164           gdk/gdkwindow.c (gdk_window_set_hints):
12165
12166         Don't omit setting the properties if flags == 0 -
12167         there may be an existing set of properties there
12168         already. (Very old bug. Would it be better to
12169         delete the property instead?)
12170
12171         * gdk/gdkselection.c (gdk_selection_property_get): Fix 
12172           spelling error in comment.
12173
12174 Wed Sep  1 14:05:30 1999  Owen Taylor  <otaylor@redhat.com>
12175
12176         * gdk/gdkimage.c (gdk_image_new): Use gdk_error_trap_push()
12177           to avoid stomping over gdk_error_warnings.
12178
12179         * gdk/gdkimage.c (gdk_image_new): compute image->bpp
12180           as (bits_per_pixel + 7) / 8. This gives the same
12181           result as before for multiples of 8, but actually
12182           a "reasonable" value for 1bit or 4bit displays.
12183
12184 Mon Aug 23 19:11:17 1999  Tim Janik  <timj@gtk.org>
12185
12186         * gdk/Makefile.am: minor cleanups, strip spaces on build rules for
12187         GNU Make.
12188
12189 Tue Aug 17 07:43:04 1999  Tim Janik  <timj@gtk.org>
12190
12191         * gdk/gdkevents.c (gdk_event_translate): give a debugging note when
12192         discarding configure events.
12193
12194 1999-08-18  Federico Mena Quintero  <federico@redhat.com>
12195
12196         * gdk/gdkpixmap.c (gdk_pixmap_unref): g_return_if_fail() the
12197         refcount is greater than zero.
12198
12199         * gdk/gdkwindow.c (gdk_window_unref): Likewise.
12200
12201         * gdk/gdkfont.c (gdk_font_unref): Likewise.
12202
12203         * gdk/gdkgc.c (gdk_gc_unref): Likewise.
12204
12205         * gdk/gdkdnd.c (gdk_drag_context_unref): Likewise.
12206
12207 Wed Aug 11 01:04:57 1999  Owen Taylor  <otaylor@redhat.com>
12208
12209         * gdk/gdkproperty.c (gdk_property_get): Fix assumption
12210         that format 32 => sizeof(item) == 4. It really is
12211         sizeof(long).
12212
12213 Tue Jun 29 23:02:42 1999  Owen Taylor  <otaylor@redhat.com>
12214
12215         * gdk/gdk.c (gdk_x_error / gdk_x_io_error): Don't
12216         core dump at all on X IO errors, only core dump
12217         if --enable-debug for X errors.
12218
12219 Thu Jun 24 17:06:23 1999  Tim Janik  <timj@gtk.org>
12220
12221         * gdk/gdkevents.c (gdk_event_translate): removed old ""Got event for
12222         unknown window:" message. disabled ConfigureNotify discarding code,
12223         because it led to events being processed out of order.
12224
12225 Thu Jun 24 12:22:02 1999  Tim Janik  <timj@gtk.org>
12226
12227         * gdk/gdkglobals.c: preinitialize gdk_error_code to 0.
12228
12229         * gdk/gdkevents.c (gdk_event_send_client_message_to_all_recurse): since
12230         we export this function, supress error warnings and don't reset the
12231         error code in the first half of this function.
12232
12233         * gdk/gdk.c (gdk_x_error): set gdk_error_code to the actuall X error
12234         code (instead of just -1) so gdk_error_trap_pop() reveals something
12235         actually informative about the error that happened.
12236
12237         * gdk/*.c:
12238         don't rely on gdk_error_code being -1 if an error occoured, but just
12239         gdk_error_code != 0.
12240
12241 Thu Jun 24 11:50:07 1999  Tim Janik  <timj@gtk.org>
12242
12243         * gdk/gdkevents.c (gdk_event_apply_filters): advance the filter list
12244         pointer *before* invoking the filter function, so we at least don't
12245         crash if a filter is removed that is currently executed. window filters
12246         *really* need to be made truely reentrant at some point.
12247
12248 Mon Jun 14 11:10:15 1999  Tim Janik  <timj@gtk.org>
12249
12250         * gdk/gdkevents.c (gdk_event_translate): print the atom name in the
12251         PropertyNotify debug messages.
12252
12253 Wed May  5 22:51:06 1999  Owen Taylor  <otaylor@redhat.com>
12254         
12255         Patch from Sung-Hyun Nam <namsh@lgic.co.kr>
12256         
12257         * gdk/gdkim.c: Fix cut-and-paste errors for 
12258         x/y and PreeditAttributes/StatusAttributes.
12259
12260 Wed May  5 22:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12261
12262         * gdk/gdkwindow.c (gdk_window_set_geometry_hints): Change
12263         G_MAXINT to 2^16 to alleviate overflow problems in
12264         various window managers.
12265
12266 Wed Apr 21 00:42:08 1999  Owen Taylor  <otaylor@redhat.com>
12267
12268         * gdk/gdkfont.c (gdk_text_measure): Fix the return value
12269         for fontsets.
12270
12271 Wed May  5 12:42:01 1999  Owen Taylor  <otaylor@redhat.com>
12272
12273         * gdk/gdkwindow.c (gdk_window_set_geometry_hints):
12274         Initialize size_hints.x and size_hints.y because kwm
12275         brokenly pays attention to them.
12276         (Bug #1181 -  Lars Heete <hel@admin.de>)
12277
12278 Wed May  5 11:38:56 1999  Owen Taylor  <otaylor@redhat.com>
12279
12280         * gdk/gdkrgb.c (gdk_rgb_choose_visual): Free the 
12281         return value of gdk_list_visuals(). 
12282         (Bug #1193 - Morten Welinder <terra@diku.dk>)
12283
12284 Tue May  4 11:12:56 PDT 1999 Manish Singh <yosh@gimp.org>
12285
12286         * gdk/gdkim.c (gdk_im_real_open): cast the return value of
12287         XSetIMValues to (void *) when comparing to NULL, to workaround
12288         the problem of some compilers barfing since older X headers don't
12289         have the prototype for it.
12290
12291 Mon Apr 19 10:11:12 1999  Owen Taylor  <otaylor@redhat.com>
12292
12293         * gdk/gdkcolor.c (gdk_colormap_new): Fix memory leak
12294         for pseudocolor where colormap->colors was double
12295         allocated.
12296
12297         * gdk/gdkcolor.c (gdk_colormap_alloc1): Store the
12298         color value in the hash table with the pixel filled
12299         in so when we do later hash table lookups, the color
12300         value is correct.
12301         
12302 Sun May  2 15:29:45 PDT 1999 Manish Singh <yosh@gimp.org>
12303
12304         * gdk/gdkdraw.c (gdk_draw_lines): check private->destroyed before
12305         making the call
12306
12307 Tue Apr 27 11:17:35 1999  Owen Taylor  <otaylor@redhat.com>
12308
12309         * gdk/gdkdnd.c (xdnd_set_{targets,actions}): Fix leak
12310         pointed out by Morten Welinder <terra@diku.dk>.
12311
12312 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12313
12314         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12315           default filter from the list
12316
12317 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12318
12319         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12320           default filter from the list
12321
12322 Fri Apr 16 20:41:43 PDT 1999 Manish Singh <yosh@gimp.org>
12323
12324         * gdk/gdk.c: #include "gdkkeysyms.h" for gdk_XConvertCase #defines
12325
12326         * gtk/gtkfontsel.c (gtk_font_selection_create_xlfd): use
12327         g_strdup_printf instead of calcing the length separately
12328
12329 Tue Apr 13 02:49:33 1999  Owen Taylor  <otaylor@redhat.com>
12330
12331         * gdk/gdkwindow.c: removed some silly #ifdef HAVE_CONFIG
12332         that we don't do in many other places. (Fixing duplicate 
12333         #include of config.h)
12334
12335         * gdk/gdkevents.c: include gdkinput.h _after_ config.h.
12336         Otherwise, #ifndef XINPUT_NONE check in the latter
12337         doesn't work. (Bug #546)
12338
12339 Sun Apr 11 14:38:03 1999  Tim Janik  <timj@gtk.org>
12340
12341         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): check for color
12342         "None" case insensitive.
12343
12344 Tue Apr  6 16:38:51 1999  Owen Taylor  <otaylor@redhat.com>
12345
12346         * gdk/gdkselection.c: 
12347         Add error traps so if the other end of the connection
12348         dies, we survive.
12349
12350 Tue Apr  6 12:24:21 1999  Owen Taylor  <otaylor@redhat.com>
12351
12352         * gdk/gdkdnd.c (gdk_drag_motion): Separate out the
12353         dest_xid field into two fields - one for the window
12354         to send in messages, one to indicate the last looked
12355         up window for caching purposes. This is needed, so
12356         that Leave messages get the correct window.
12357
12358 Mon Apr  5 13:21:30 1999  Owen Taylor  <otaylor@redhat.com>
12359
12360         * gdk/gdkevents.c (gdk_event_check, gdk_event_prepare):
12361         Fix warning created by people mucking around
12362         with the gsource API.
12363
12364         * gdk/gdkevents.c (gdk_io_invoke, gdk_input_add_full):
12365         Change mapping between GIOCondition and GdkInputCondition
12366         to match the way the Linux kernel does it. This should
12367         fix problems where closed pipes were no longer signalling
12368         GDK_INPUT_READ on systems with a native poll().
12369
12370 Mon Apr  5 17:11:57 1999  Owen Taylor  <otaylor@redhat.com>
12371
12372         * gdk/gdkpixmap.c (_gdk_pixmap_create_from_xpm): Check 
12373         explicitly for the string "None" - it is in the XPM
12374         spec and some servers treat unknown colors in odd ways
12375         (like asking the user!)
12376
12377 Thu Apr  1 16:58:10 PST 1999 Manish Singh <yosh@gimp.org>
12378
12379         * gdk/gdkevents.c: made "->" into a "." of previous change so
12380         it compiles
12381
12382 Thu Apr  1 18:41:25 1999  Owen Taylor  <otaylor@redhat.com>
12383
12384         * gdk/gdkevents.c (gdk_compress_exposures): Set the
12385         window field of the event structure before calling
12386         user filters.
12387
12388 1999-03-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
12389
12390         * gdk/gdk.c (gdk_init_check): Use False as the last argument to
12391         XInternAtom() here.  This is a particularly Old And Nasty(tm) bug.
12392
12393 Mon Mar 29 17:31:52 1999  Owen Taylor  <otaylor@redhat.com>
12394
12395         * gdk/gdkim.c (gdk_mbstowcs): Free the value of the
12396         intermediate text property - prevents major memory
12397         leak when gdk_use_mb.
12398         gtk-d3august-990311-0: Bj|rn Augustsson <d3august@dtek.chalmers.se>
12399
12400 Mon Mar 29 17:02:58 1999  Owen Taylor  <otaylor@redhat.com>
12401
12402         Patches from Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
12403         gtk-a-higuti-990322-[0-3]
12404
12405         * gdk/gdkfont.c (gdk_text_extents_wc): Make  work when
12406         sizeof(wchar_t) != sizeof (GdkWChar)
12407
12408         * configure.in: Fix confusion between GTK_LOCALE_[C]FLAGS
12409         that was causing -DX_LOCALE not to work.
12410
12411         * gtk/gtkrc.c (gtk_rc_init):
12412         X_LOCALE will never have LC_MESSAGES defined
12413
12414         * gdk/gdk.c (gdk_init_check):
12415         Remove --xim-preedit and --xim-status from argv properly.
12416
12417         * gdk/gdkim.c (gdk_ic_real_new): Add a gdk_flush() so
12418         that the client window is present on the X server
12419         before we pass it to the input method.
12420
12421 Tue Mar  9 10:46:49 1999  Owen Taylor  <otaylor@redhat.com>
12422
12423         * gdk/gdkdnd.c (motif_find_drag_window): Fix bug where
12424         if --display is specified on the command line, than
12425         the drag window will not be created on that display.
12426         
12427 Tue Mar  9 10:38:24 1999  Owen Taylor  <otaylor@redhat.com>
12428
12429         * gdk/gdkproperty.c (gdk_atom_intern): Fixed bug where
12430         lookups with only_if_exists == TRUE were inserting
12431         bogus values into the atom cache.
12432
12433 Wed Mar 17 09:00:00 1999  Tim Janik  <timj@gtk.org>
12434
12435         * gdk/gdkselection.c (gdk_selection_property_get): first XFree(t),
12436         then reset it to NULL.
12437
12438         * gdk/gdkcolor.c:
12439         (gdk_colors_free): 
12440         (gdk_colormap_free_colors): use colormap->colors[in_pixels[i]] as the
12441         key for g_hash_table_remove() in both functions, this prevents us
12442         from accessing possibly uninitialized portions of a GdkColor structure
12443         where we are only interested in its pixel value.
12444
12445 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
12446
12447         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
12448         font hash table, if we have a GdkFontPrivate entry for this font
12449         already, simply increment its reference count, provided by Olaf Dietsche
12450         <olaf.dietsche+list.gtk@netcologne.de>.
12451
12452 1999-09-21  Tor Lillqvist  <tml@iki.fi>
12453
12454         * gdk/win32/gdk.c (gdk_exit_func): Delete the gdk_DC when exiting,
12455         just to be sure.
12456
12457         * gdk/win32/gdkvisual.c (gdk_visual_init): Remove a couple of
12458         unused variables, leftovers from the X11 version.
12459
12460         * gdk/win32/rc/*.cur: Better cursors provided by Bernd Herd.
12461
12462         * gtk/gtkfontsel.c (gtk_font_selection_get_xlfd_field): Only
12463         downcase fields on X11.
12464
12465 Mon Sep 20 13:17:39 1999  Pablo Saratxaga <pablo@mandrakesoft.com>
12466         
12467         * configure.in,po/pt_BR.po: added Portuguese Brazilian file from
12468         Alex Sandro Queiroz e Silva <asandro@lcg.dc.ufc.br>
12469
12470 1999-09-17  Tor Lillqvist  <tml@iki.fi>
12471
12472         * gdk/win32/gdk.def: Add gdk_threads_mutex.
12473
12474         * gtk/makefile.msc: Correct path to libintl.
12475
12476         Thanks to Tomi Ollila and Bernd Herd: Fix some inconsistencies in
12477         use of gint vs. int, and gint vs. gboolean in headers and
12478         definitions. Use GtkType for the *_get_type functions. Note that
12479         these changes preserve binary compatibility.
12480
12481         * gdk/gdk.c
12482         * gdk/win32/gdk.c
12483         * gdk/gdk.h: Fix inconsistencies: gint vs int.
12484
12485         * gtk/gtkmain.c
12486         * gtk/gtkclist.c
12487         * gtk/gtkmenufactory.c
12488         * gtk/gtknotebook.c
12489         * gtk/gtkwidget.c: Fix inconsistencies, also gint
12490         vs. gboolean.
12491
12492         * gtk/gtkcolorsel.[ch]
12493         * gtk/gtkcombo.[ch]
12494         * gtk/gtkdrawingarea.[ch]
12495         * gtk/gtkgamma.[ch]
12496         * gtk/gtkhandlebox.[ch]
12497         * gtk/gtkhpaned.[ch]
12498         * gtk/gtkhruler.[ch]
12499         * gtk/gtkplug.[ch]
12500         * gtk/gtkpreview.[ch]
12501         * gtk/gtkruler.[ch]
12502         * gtk/gtksocket.[ch]
12503         * gtk/gtkstatusbar.[ch]
12504         * gtk/gtktoolbar.[ch]
12505         * gtk/gtkvbbox.[ch]
12506         * gtk/gtkvpaned.[ch]
12507         * gtk/gtkvruler.[ch]: Always use type GtkType for the *_get_type
12508         functions.
12509
12510         * gtk/gtkgamma.h: Fix bug, missing () in call of
12511         gtk_gamma_curve_get_type() in GTK_GAMMA_CURVE_CLASS. 
12512
12513 1999-09-14  Tor Lillqvist  <tml@iki.fi>
12514
12515         * gdk/gdkcolor.c (gdk_colormap_new)
12516         * gdk/win32/gdkcolor.c (gdk_colormap_new): Fix memory leak:
12517         colormap->colors was allocated twice.
12518
12519         * gdk/win32/gdk.c: Remove some unused stuff.
12520
12521         * gdk/win32/gdkcolor.c (gdk_colormap_sync): Initialize all of the
12522         colormap.
12523
12524         * gtk/gtkfontsel.c (gtk_font_selection_dialog_get_type)
12525         * gtk/gtklabel.h (gtk_label_get_type)
12526         * gtk/gtktipsquery.c (gtk_tips_query_get_type)
12527         * gtk/gtktypeutils.h (gtk_type_name): : Use GtkType
12528         in a couple of places, not guint.
12529
12530 Fri Sep 10 21:31:00 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12531
12532         * configure.in,po/et.po: added Estonian language file
12533
12534 Wed Sep  1 14:36:12 CEST 1999 Pablo Saratxaga <pablo@mandrakesoft.com>
12535
12536         * configure.in,po/da.po: added Danish file
12537
12538 Sun Aug 29 13:38:59 BST 1999 Tony Gale <gale@gtk.org>
12539
12540         * docs/gtkfaq.sgml: Minor FAQ Update
12541
12542 Sat Aug 28 14:34:37 BST 1999 Tony Gale <gale@gtk.org>
12543
12544         * docs/gtkfaq.sgml: FAQ update
12545
12546 1999-08-27  Tor Lillqvist  <tml@iki.fi>
12547
12548         Win32: Philippe Colantoni <colanton@aris.ss.uci.edu> suggests a
12549         way to get window contents continually refreshed while resizing. I
12550         didn't like the effects myself, so it's not on by default.
12551
12552         * gdk/win32/gdkprivate.h: New flag variable
12553         gdk_event_func_from_window_proc, FALSE by default.
12554
12555         * gdk/win32/gdk.c (gdk_init_check): Set above flag if the
12556         environment variable GDK_EVENT_FUNC_FROM_WINDOW_PROC is set, or we
12557         are passed --gdk-event-func-from-window-proc.
12558
12559         * gdk/win32/gdkevents.c (gdk_WindowProc): If above flag is set,
12560         and we have am event_func, call it instead of enqueing the event.
12561
12562 1999-08-23  Tor Lillqvist  <tml@iki.fi>
12563
12564         * gdk/win32/gdkevents.c (gdk_event_translate): Fix from Simon
12565         Kelley: Set expose_count in GdkEventExposes correctly.
12566
12567         * gdk/win32/gdkwindow.c: Remove dead code (#ifdef
12568         MULTIPLE_WINDOW_CLASSES).
12569
12570         * gdk/win32/gdkdraw.c (gdk_draw_line): Workaround from Hans Breuer
12571         for bug in NT, apparently NT *does* draw the end pixel, too, in
12572         LineTo with a one-pixel pen, so we don't have to do it ourselves.
12573
12574 1999-08-21  Tor Lillqvist  <tml@iki.fi>
12575
12576         Improvements by Hans Breuer: 
12577
12578         * gdk/win32/gdkwindow.c (RegisterGdkClass): New function
12579
12580         * gdk/win32/gdkwindow.c (gdk_window_new): Use it. Don't set the
12581         CS_?REDRAW flags as they cause lots of (late) redraws when "show
12582         window contents while dragging" is turned on. Allocate at least
12583         one unique class for every GdkWindowType. If support for single
12584         window-specific icons is ever needed (eg. Dialog specific), every
12585         such window should get its own class.
12586
12587 1999-08-19  Tor Lillqvist  <tml@iki.fi>
12588
12589         * gdk/win32/gdkgc.c (gdk_gc_new_with_values): Fix a cut&paste
12590         error that caused crashes.
12591
12592 1999-08-17  Tor Lillqvist  <tml@iki.fi>
12593
12594         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): When blitting inside one
12595         window, use ScrollWindowEx, and call UpdateWindow. This prevents
12596         bugs when for instance part of the window was outside the
12597         display. Thanks to Philippe Colantoni for finding and fixing this.
12598
12599 1999-08-16  Tor Lillqvist  <tml@iki.fi>
12600
12601         * gdk/win32/gdkdraw.c (gdk_draw_arc): Fix start and end radial
12602         endpoint calculations which were totally wrong. (A little RTFMing
12603         helps a lot ;-)
12604
12605         * gtk/makefile.{cygwin,msc}: Use libintl extracted from glibc
12606         from a separate directory, not from gettext, because of licensing
12607         issues (we want to use the LGPL version).
12608
12609         * README.win32: Mention the intl from glibc vs from gettext issue.
12610
12611 1999-08-13  Tor Lillqvist  <tml@iki.fi>
12612
12613         * gdk/win32/gdkevents.c (gdk_event_translate): Fix a couple of bugs
12614         in the key event handling: Now AltGr chars work again. Also,
12615         now Alt-digits are passed up as well as Control-digits.
12616         Pass keypad plus and minus as normal plus and minus.
12617
12618 Wed Aug 11 13:38:26 BST 1999 Tony Gale  <gale@gtk.org>
12619
12620         * docs/gtkfaq.sgml: FAQ Update
12621
12622 1999-07-25  Tor Lillqvist  <tml@iki.fi>
12623
12624         * README.win32
12625         * config.h.win32: Add HAVE_WINTAB. Undefine it if bulding without
12626         the Wintab SDK.
12627
12628         * gdk/win32/gdkinput.c: Hack some more. Still doesn't quite work
12629         OK, but getting closer. Guard against bogus tilt data from Wacom
12630         ArtPad II with the 3.40 driver. Add ifdefs for HAVE_WINTAB to
12631         enable easier building without Wintab.
12632
12633         * gdk/win32/gdkinput.h
12634         * gdk/win32/gdkevents.c 
12635         * gdk/win32/gdkwindow.c: Minor changes related related to above.
12636         
12637         * gdk/win32/gdkvisual.c: Simplify a lot, remove leftovers from X11
12638         code. As we have just one visual on Win32, no sense to have it in a
12639         table, and no need for the hash table.
12640
12641         * gdk/win32/rc/cursor*.cur: Edit some of the cursors a bit to look
12642         better on white background.
12643
12644 1999-07-21  Tor Lillqvist  <tml@iki.fi>
12645
12646         * README.win32: Update gcc build instructions. Mention gettext is
12647         GPL.
12648
12649         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Get correct
12650         supported cursor size with GetSystemMetrics.
12651
12652         * gdk/win32/gdkfont.c
12653         * gtk/gtkfontsel.c: Guard against some font weight and charset
12654         symbols being undefined (in mingw32 headers).
12655
12656         * gdk/win32/makefile.cygwin
12657         * gtk/makefile.cygwin
12658         * gtk/gtkthemes.c: No longer need to have differently named
12659         gcc-built DLLs when using gcc-2.95 and -fnative-struct.
12660
12661 hu Jul 15 13:33:15 BST 1999 Tony Gale <gale@gtk.org>
12662
12663         * docs/gtkfaq.sgml: Long awaited FAQ update.
12664
12665 1999-07-15  Tor Lillqvist  <tml@iki.fi>
12666
12667         * gdk/win32/gdkcursor.c (gdk_cursor_new_from_pixmap): Implement
12668         it. Obscure bit manipulation needed.
12669
12670         * gdk/win32/gdkevents.c: Logging.
12671         
12672         * gtk/gtkthemes.c (gtk_theme_engine_get): (Win32) Use new DLL naming
12673         style (file name include compiler name) for theme engines.
12674
12675 1999-07-13  Tor Lillqvist  <tml@iki.fi>
12676
12677         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Less logging verbiage.
12678
12679         * gdk/win32/gdkevents.c: Fix long-standing bug in key
12680         events. The key.string wasn't zero-terminated, still we strdup'ed
12681         it in gdk_event_copy(). Synthesize crossing events for button
12682         events before possible propagation.
12683
12684         * gdk/win32/gdkwindow.c: Log gdk_window_set_title.
12685
12686         * gdk/win32/makefile.cygwin
12687         * gtk/makefile.cygwin: Use new DLL naming style for the
12688         GCC-compiled ones.
12689
12690         * gdk/win32/makefile.msc
12691         * gtk/makefile.msc: Cosmetics mostly.
12692
12693         * gtk/gtk.def: Add missing entry points.
12694
12695         * gtk/gtksocket.c: Add dummy gtk_socket_get_type() for Win32.
12696
12697 1999-07-09  Tor Lillqvist  <tml@iki.fi>
12698
12699         * gdk/win32/gdkdraw.c (gdk_draw_arc): Don't draw anything if width
12700         or height is zero. Don't print a warning if Pie or Arc fails, they
12701         always fail (?) for very narrow ellipses.
12702
12703         * gdk/win32/gdkdraw.c (gdk_draw_pixmap): Call InvalidateRgn for
12704         the part or the destination window corresponding to source area
12705         outside of the source drawable's boundary.
12706
12707         * gdk/win32/gdkdraw.c (gdk_draw_lines, gdk_draw_polygon): Don't do
12708         anything if less than two points.
12709
12710         * gdk/win32/gdkselection.c (gdk_selection_owner_get): Always
12711         return NULL. Gtk cut-and-paste inside a single program works
12712         better this way. (It always gets the clipboard contents from
12713         Windows, not from its own copy, which is cleared anyway. I can't
12714         say I fully understand what happens... Emulating the X selection
12715         and property stuff is a bit of a mess.)
12716
12717         * gdk/win32/gdkevents.c
12718         * gdk/win32/gdkproperty.c: A bit more verbose logging.
12719
12720         * gdk/win32/gdkregion.c: Fix some memory leaks (temporary regions
12721         that never got deleted). Revamp gdk_region_shrink.
12722
12723         * gdk/win32/gdkregion.c: Fix memory leak, delete temporary regions
12724         after use.
12725
12726         * gtk/gtk.def: Add some missing entry points.
12727
12728         * gtk/gtkrc.c: Strip trailing directory separator from pixmap path
12729         component.
12730
12731 1999-07-04  Tor Lillqvist  <tml@iki.fi>
12732
12733         * gdk/win32/gdkevents.c (gdk_event_translate): Handle
12734         Control-digits specially.
12735
12736 1999-07-03  Tor Lillqvist  <tml@iki.fi>
12737
12738         * gtk/makefile.{cygwin,msc}: New pthreads version. Use gettext.
12739
12740 1999-06-28  Tor Lillqvist  <tml@iki.fi>
12741
12742         * gdk/win32/gdkimage.c (gdk_image_get): bpl was set wrong for
12743         bitmaps, should be multiple of 4. (Thanks to Hans Breuer for
12744         finding this.)
12745
12746 1999-06-01  Jose H Mercado  <jmercado@mit.edu>
12747
12748         * gtk+.spec.in: Corrected some typos in files section.
12749         
12750 1999-06-15  Tor Lillqvist  <tml@iki.fi>
12751
12752         * README.win32: Mention using GNU gettext.
12753         * config.h.win32: Enable NLS stuff.
12754         * gtk/makefile.msc: Use GNU gettext.
12755         * gdk/win32/gdkdnd.c: Minor header reorg.
12756         * gdk/win32/{gdkevents,gdkwindow}.c: No semantic changes, mainly
12757         cosmetics.
12758         * gtk/gtkrc.c (Win32): Make get_gtk_sysconf_directory() public.
12759         * gtk/gtkmain.c (Win32): Use it in bindtextdomain() call.
12760
12761 Wed Jun  2 11:44:25 PDT 1999 Manish Singh <yosh@gimp.org>
12762
12763         * acinclude.m4
12764         * config.guess
12765         * config.status
12766         * ltconfig
12767         * ltmain.sh: upgrade to libtool 1.3.2 (BeOS changes merged)
12768
12769 1999-05-30  Tor Lillqvist  <tml@iki.fi>
12770
12771         * gdk/win32/gdkwindow.c: AdjustWindowRectEx2 renamed to
12772         SafeAdjustWindowRectEx. Don't override all calls to
12773         AdjustWindowRectEx by it, but use it only in two places: When
12774         creating a new top-level window and when moving a top-level
12775         window.
12776
12777         Use screen coordinate rectangle, not client rectangle, in
12778         gdk_window_move. Thus SafeAdjustWindowRectEx will do its job only
12779         when we try to place a window so that the decoration (mainly,
12780         title bar) isn't visible.
12781
12782         These changes fix the bug that showed up for instance as the
12783         GIMP's saved top-level windows moving right and down (by an amount
12784         equal to the window decoration) for each session. This bug showed
12785         up also in testgtk's "Saved Position".
12786
12787         gdk_window_resize also redone a bit.
12788
12789 1999-05-25  Tor Lillqvist  <tml@iki.fi>
12790
12791         * gtk/testgtkrc: Add (commented out) Windows-style theme
12792         include line.
12793
12794         * gdk/win32/gdk.def,gtk/gtk.def: Add some missing entry points.
12795
12796 1999-05-18  Tor Lillqvist  <tml@iki.fi>
12797
12798         * gdk/win32/makefile.{cygwin,msc}: Copy our gdkprivate.h and
12799         gdkx.h to a gdk subdirectory, so that applications can include
12800         these with <gdk/*.h> without trouble.
12801
12802         * gdk/win32/gdkimage.c (gdk_image_new_with_depth): Code simplified.
12803         (gdk_image_destroy): Plug resource leak, some GdkImages didn't
12804         have their bitmap destroyed.
12805
12806         * gdk/win32/gdk.def: Add gdk_root_parent.
12807
12808 Wed May 12 03:00:56 CDT 1999 Shawn T. Amundson <amundson@gtk.org>
12809
12810         * configure.in
12811           gtk-config.in
12812           ltconfig
12813           ltmain.sh     
12814           gtk/Makefile.am: changes to compile nicely (with xlib) 
12815           on BeOS
12816
12817 Sat May  1 15:04:42 PDT 1999 Manish Singh <yosh@gimp.org>
12818
12819         * acinclude.m4
12820         * config.guess
12821         * config.sub
12822         * ltconfig
12823         * ltmain.sh: upgrade to libtool 1.3
12824
12825 Fri Apr 30 13:38:16 1999  Lars Hamann  <lars@gtk.org>
12826
12827         * gtk/gtkclist.c:
12828         * gtk/gtkctree.c: merges from gtk-1-2
12829
12830 1999-04-25  Tor Lillqvist  <tml@iki.fi>
12831
12832         Support added for building using a GNU toolchain on Win32,
12833         gcc -mno-cygwin (egcs-1.1.2) on cygwin-b20.1.
12834
12835         * gdk/win32/makefile.cygwin gtk/makefile.cygwin: New files.
12836         * config.h.win32: Changes for gcc.
12837         * gdk/gdkrectangle.c: Include gdk.h as <gdk/gdk.h>.
12838         * gdk/gdkcolor.c: config.h.win32 already defines strcasecmp.
12839         * gdk/win32/gdkconfig.h: Only the MS compiler has wctype.h.
12840         * gdk/win32/gdkdnd.c: Protect (unused) OLE2 stuff better.
12841         Protect shl stuff unavaiilable with mingw32 headers.
12842         * gdk/win32/gdkevents.c: Fix typo.
12843         * gdk/win32/gdkglobals.c: Use GDKVAR here also for gcc.
12844         * gdk/win32/gdkim.c: Use OEM code page for multibyte chars. (?)
12845         * gdk/win32/gdkinput.c: Use __try __except only with the MS compiler.
12846         * gdk/win32/gdkprivate.h: Make up for some stuff missing from
12847         the mingw32 headers.
12848         * gdk/win32/makefile.msc: Use latest Wintab kit and glib.
12849         * gtk/gtkfilesel.c: Include <glib.h> early, to get stat->_stat
12850         definition on Win32. Test for NATIVE_WIN32, not _MSC_VER.
12851         * gtk/gtkfontsel.c: Protect CHARSET redefinition on Win32.
12852         Test for NATIVE_WIN32, not _MSC_VER.
12853         * gtk/gtkmain.c: No use warning about developer version on Win32,
12854         there aren't any non-developer versions anyhow.
12855         * gtk/gtkrc.c: Test for NATIVE_WIN32, not _MSC_VER.
12856         * gtk/makefile.msc: Use pthread from another directory. Minor other
12857         changes. 
12858
12859 Wed Apr 21 14:20:22 1999  George Lebl  <jirka@5z.com>
12860
12861         * gdk/gdkwindow.c: (gdk_window_remove_filter) correctly remove the
12862           default filter from the list
12863
12864 Mon Mar  8 12:52:53 1999  Owen Taylor  <otaylor@redhat.com>
12865
12866         * gtk/gtkwidget.c (gtk_widget_grab_default): Add a warning
12867          when gtk_widget_grab_default() is called for a widget that
12868          is not within a GtkWindow.
12869
12870 Sat Apr 10 13:52:54 BST 1999  Tony Gale <gale@gtk.org>
12871
12872         * docs/gtk_tut.sgml, examples/clist.c: use a
12873           scrolled window in the clist example. Minor
12874           tutorial fixes.
12875
12876 Fri Apr  2 09:19:20 BST 1999  Tony Gale <gale@gtk.org>
12877
12878         * docs/gtk_tut.sgml: Style check from David King
12879           <dking@youvegotmail.net>
12880
12881 1999-03-30  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
12882
12883         * gtk/gtkfontsel.c (gtk_font_selection_get_fonts): Make code
12884         compile with unknown value of GDK_WINDOWING
12885
12886 1999-03-28  Raja R Harinath  <harinath@cs.umn.edu>
12887
12888         * gdk/Makefile.am (gdkconfig.h): Make sure `gdkconfig.h' exists
12889         after the rule is fired.
12890         (install-exec-local): Install gdkconfig.h only if the contents are
12891         different from the currently installed gdkconfig.h.
12892
12893 1999-03-26  Raja R Harinath  <harinath@cs.umn.edu>
12894
12895         * gdk/Makefile.am (configexecincludedir): Rename from 
12896         configincludedir so that gdkconfig.h will be installed 
12897         as part of `make install-exec'. 
12898
12899 Fri Mar 19 16:50:33 PST 1999 Manish Singh <yosh@gimp.org>
12900
12901         * acinclude.m4
12902         * config.guess
12903         * config.sub
12904         * ltconfig
12905         * ltmain.sh: upgrade to libtool 1.2f
12906
12907         * autogen.sh: libtool is not required to autogen gtk+
12908
12909         * acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly
12910         needed)
12911
12912 1999-03-18  Tor Lillqvist  <tml@iki.fi>
12913
12914         * gdk/gdktypes.h: Merge in Win32 version: Define macro GDKVAR for
12915         declaring gdk variables exported/imported from the DLL. New image
12916         type enum, GDK_IMAGE_SHARED_PIXMAP, for gdk_imlib. New drag and
12917         drop protocol enums, GDK_DRAG_PROTO_WIN32_DROPFILES and
12918         GDK_DRAG_PROTO_OLE2.
12919
12920         * gdk/gdk.h: Merge in Win32 version: Two new functions,
12921         gdk_pixmap_create_on_shared_image and gdk_image_bitmap_new. So far
12922         declared only for the Win32 version, but could be in the X11
12923         version as well. (Needed for a Xlib-less gdk_imlib.)
12924         gdk_color_hash should have only one parameter. Declare
12925         gdk_threads_mutex with GDKVAR.
12926         
12927         * gdk/gdkcolor.c (gdk_color_hash): A hash function should have
12928         just one parameter.
12929
12930         * gdk/gdkimage.c (gdk_image_get): Initialize bpp correctly. Bytes
12931         per pixel, not bits.
12932
12933         * gdk/gdkrgb.c: Mingle includes somewhat. (gdk_rgb_select_conv):
12934         Fetch bpp (which means bits-per-pixel here) from another place on
12935         Win32. Accept also depth==32 (which we might get on Win32) with
12936         bpp==32.
12937
12938         * gtk/{gtkclist,gtkctree,gtkdnd,gtkditable,gtkfontsel,
12939         gtkhandlebox,gtklayout,gtkmain,gtkplug,gtkpreview,gtkrc,
12940         gtkselection,gtksocket,gtkstyle,gtkwidget,gtkwindow}.c:
12941         Include gdx.h from "gdkx.h", not "gdk/gdkx.h", as gdkx.h will be
12942         in the backend-dependent directory, not in the common gdk
12943         directory.
12944
12945         * gtk/testgtk.c: Ditto. Also, don't use ../gdk path to gdk
12946         headers.
12947
12948 Wed Mar 17 05:06:49 1999  Tim Janik  <timj@gtk.org>
12949
12950         * gtk/gtkmain.c (gtk_init_check): tell people that they don't really
12951         want to use the Gtk+ devel version (which is true, and yes - even i am
12952         currently working with the 1.2.x branch). so everyone reading this, you
12953         probably want to issue
12954         cvs checkout -r glib-1-2 glib
12955         and
12956         cvs checkout -r gtk-1-2 gtk+
12957         as your next two comands.
12958
12959 Wed Mar 17 02:49:32 1999  Tim Janik  <timj@gtk.org>
12960
12961         * configure.in: build gtkcompat.h from gtkcompat.h.in instead of
12962         gtkfeatures.h from gtkfeatures.h.in, require GLib 1.3.0.
12963
12964         * gtk/gtkcompat.h.in: combined gtkcompat.h and gtkfeatures.in in this
12965         file. strongly deprecated the GTK_HAVE_* macros, we provide
12966         GTK_CHECK_VERSION() for people that need to check for certain
12967         Gtk+ versions.
12968
12969         * gtk/gtkcompat.h: removed this from CVS.
12970         * gtk/gtkfeatures.h.in: removed this from CVS, gtkfeatures.h was a bad
12971         idea right from the start, it just didn't seem like that back then.
12972
12973 Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>
12974
12975         * merges from gtk-1-2:
12976
12977 Tue Mar 16 17:43:33 1999  Tim Janik  <timj@gtk.org>
12978
12979         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc_string): ensure the
12980         item factory class has been created.
12981         (gtk_item_factory_parse_rc): likewise.
12982
12983         * gtk/gtkmenu.c:
12984         keep proper references for old_active_menu_item.
12985         (gtk_menu_reparent): unset the usize of the new parent,
12986         so the menu can sanely be size requested and we don't get nasty screen
12987         artefacts upon next reparentation.
12988         (gtk_menu_motion_notify): set send_event to TRUE if we synthesize an
12989         enter notify. only synthesize enter notifies if the pointer really is
12990         inside the event window.
12991         (gtk_menu_popdown): use gtk_menu_shell_deselect().
12992         (gtk_menu_popup): move the background setting stuff into
12993         gtk_menu_tearoff_bg_copy() so it can be called from other places as well.
12994
12995         * gtk/gtkmenushell.c (gtk_menu_shell_button_press): use
12996         gtk_menu_shell_select_item() to select the new item.
12997         (gtk_menu_shell_deselect): export this function, so gtkmenu.c can
12998         do the right thing for deselection as well.
12999
13000 Sat Mar 15 20:10:33 1999  Tim Janik  <timj@gtk.org>
13001
13002         * gtk/gtkwidget.[hc]:
13003         (gtk_widget_accelerators_locked): return whether a widget's accelerators
13004         are locked.
13005
13006         * gtk/gtkmenu.c (gtk_menu_key_press): don't remove or install new or
13007         existing accelerators if the widget's accelerators are locked.
13008
13009 Sat Mar 14 19:44:05 1999  Tim Janik  <timj@gtk.org>
13010
13011         * gtk/gtkitemfactory.[hc]: allow managing of foreign menu items.
13012
13013         * gtk/gtkmenu.c: truely forward key press and key release events to
13014         the menu widget from the toplevel or tearoff window. we can't simply
13015         connect to that, we need to stop further processing of the events as
13016         well.
13017
13018 Sat Mar 13 13:14:17 1999  Tim Janik  <timj@gtk.org>
13019
13020         * gtk/gtkmenu.c:
13021         (gtk_menu_key_press): pass event->keyval, event->state to
13022         gtk_accelerator_valid, instead of event->keyval twice.
13023         refuse to install single letter accelerators for menus that use
13024         single letter shortcuts.
13025
13026         * gtk/gtkitemfactory.c (gtk_item_factory_create_item): use
13027         gtk_menu_ensure_uline_accel_group().
13028
13029         * gtk/gtkmenu.[hc]: added gtk_menu_ensure_uline_accel_group()
13030         which will always return an uline accel group, made
13031         gtk_menu_get_uline_accel_group() return NULL if the group isn't
13032         yet created.
13033
13034 Mon Mar 15 01:03:27 1999  Lars Hamann  <lars@gtk.org>
13035
13036         * gtk/gtkclist.h (struct _GtkCListColumn): added button_passive flag.
13037
13038         * gtk/gtkclist.c (gtk_clist_column_title_passive):
13039         Leave button sensitive, trap  button_press, button_release,
13040         motion_notify, enter_notify and leave_notify events instead.
13041         (gtk_clist_column_title_active): disconnect event handler.
13042         (gtk_clist_drag_data_get): fixed memory leak. Reported by
13043         Guillaume Laurent <glaurent@worldnet.fr>
13044
13045 Wed Mar 10 23:49:55 1999  Lars Hamann  <lars@gtk.org>
13046
13047         * gtk/gtklayout.c (gtk_layout_adjustment_changed): fixed a few
13048         width/height mixups.
13049
13050         * gtk/gtkctree.c (tree_delete): emit an tree_unselect_row signal
13051         if needed.
13052
13053 Wed Mar 10 00:11:32 1999  Tim Janik  <timj@gtk.org>
13054
13055         * gtk/testgtk.c (create_item_factory): unref the item factory after
13056         window's destruction.
13057
13058         * gtk/gtkmenushell.c (gtk_menu_shell_activate_item): keep a reference
13059         count on the menu shell around the menu item's activation, since the
13060         signal emission may cause menu shell destruction.
13061
13062         * gtk/gtkitemfactory.c:
13063         the previous code leaked one accel group per menu. we use
13064         gtk_menu_get_uline_accel_group() now to fix that, and with that
13065         also create the underline accelerator group of the menus only if
13066         required (i.e. an underline accelerator has been specified).
13067         (gtk_item_factory_construct):
13068         (gtk_item_factory_create_item): removed code that would create an
13069         extra accel group for the menu (and leak references).
13070         (gtk_item_factory_create_item): adapted the underline accelerator
13071         installation code to properly feature gtk_menu_get_uline_accel_group().
13072
13073         * gtk/gtkmenu.[hc]: added gtk_menu_get_accel_group() to retrive
13074         menu->accel_group, this may return NULL if the accelerator group
13075         hasn't been set yet.
13076         added gtk_menu_get_uline_accel_group() to retrive the underline
13077         accelerator group of the menu, this will be created on demand
13078         and proper care is taken about its reference count.
13079
13080         * gtk/gtkitemfactory.h:
13081         * gtk/gtkitemfactory.c:
13082         dumped the approach of keeping a widgets by action list on the
13083         factory since the factory<->widget destroy negotiation didn't work
13084         and would be hard to get going at all. instead we keep a list of
13085         GtkItemFactoryItem items on the factory (GtkItemFactoryItems are
13086         persistant throughout a program's life time).
13087         also, i removed the static const gchar *key_* variables, and made
13088         them inline strings (they weren't actually used anyways).
13089         (gtk_item_factory_add_item): update ifactory->items.
13090         (gtk_item_factory_destroy): destroy ifactory->items (and remove
13091         the item factory pointer from the remaining ifactory widgets).
13092         (gtk_item_factory_get_widget_by_action): walk the GtkItemFactoryItem
13093         list to find the widget.
13094         (gtk_item_factory_get_item): new function that works around
13095         gtk_item_factory_get_widget() limitations, this function will only
13096         return menu items, even for <Branch> entries.
13097
13098 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13099
13100         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13101         font hash table, if we have a GdkFontPrivate entry for this font
13102         already, simply increment its reference count, provided by Olaf Dietsche
13103         <olaf.dietsche+list.gtk@netcologne.de>.
13104
13105         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13106         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13107
13108 Sun Mar  7 06:13:29 1999  Tim Janik  <timj@gtk.org>
13109
13110         * gtk/gtkcontainer.c:
13111         (gtk_container_add_with_args):
13112         (gtk_container_addv):
13113         (gtk_container_add): before adding a child to a conatiner, make sure
13114         it is (default) constructed, this is neccessary because under certain
13115         circumstances the child will get relized and mapped immediatedly, in
13116         which case it has to be constructed already.
13117
13118 Mon Mar  1 17:58:21 1999  Tim Janik  <timj@gtk.org>
13119
13120         * gtk/gtksignal.c (gtk_signal_connect_by_type): count object_signal
13121         values > 1 as TRUE also.
13122
13123 1999-03-16  Tor Lillqvist  <tml@iki.fi>
13124
13125         * README.win32: New file.
13126                 
13127         * configure.in: Check for lstat.
13128
13129         * config.h.win32: Add non-definition of HAVE_LSTAT, just for
13130         completeness.
13131
13132         * gtk/gtkrc.c: If don't HAVE_LSTAT, use stat.
13133
13134         * gtk/gtk.def: Removed CRs.
13135
13136         * gtk/makefile.msc: Correct include path to Win32 GDK version (in
13137         ..\gdk\win32).
13138
13139         * gdk/win32/makefile.msc: Correct upwards relative paths.
13140         
13141 Mon Mar 15 03:38:34 1999  George Lebl  <jirka@5z.com>
13142
13143         * gtk/gtkdnd.c: (gtk_drag_highlight) swap the
13144           gtk_drag_highlight_expose and gtk_drag_highlight_paint since
13145           it was connecting a void function to expose_event and the int
13146           returning function to the draw signal
13147
13148 1999-03-14  Jeff Garzik  <jgarzik@pobox.com>
13149
13150         * configure.in:
13151         Use correct path to libgmodule.la when ref'ing uninstalled copy
13152         of glib.  (Already in stable branch, Bug #417)
13153
13154 1999-03-15  Tor Lillqvist  <tml@iki.fi>
13155
13156         Win32 merge and general portability stuff:
13157                 
13158         * acconfig.h,configure.in: Check for <sys/time.h>.
13159
13160         * gdk/win32: New directory (actually, been there for a while).
13161         
13162         * gtk/fnmatch.c: Include <glib.h> for G_DIR_SEPARATOR, WIN32 and
13163         NATIVE_WIN32, and use these. Always case fold on Win32. No
13164         backslashed escapes on native Win32.
13165
13166         * gtk/{gtk.def,makefile.msc}: New files.
13167
13168         * gtk/Makefile.am: Add above new files.
13169         
13170         * gtk/{gtkaccelgroup,gtkbindings}.c: Include <string.h>
13171         instead of <strings.h>.
13172
13173         * gtk/{gtkcalendar,gtkitemfactory,gtkpreview,gtkrc}.c: Include
13174         config.h. Protect inclusion of <sys/param.h>, <sys/time.h>, and
13175         <unistd.h> appropriately.
13176
13177         * gtk/gtkdnd.c: Merge in Win32 version (which doesn't do much).
13178         Use ABS() (from <glib.h>) instead of abs().
13179         
13180         * gtk/gtkfilesel.c: Moved Win32-specific includes after inclusion
13181         of gtk (and thus glib) headers, so that WIN32 will be
13182         defined. With MS C, include <direct.h> for mkdir prototype.
13183
13184         * gtk/gtkitemfactory.c (gtk_item_factory_callback_marshal): Add
13185         some casts, needed by MS C.
13186
13187         * gtk/{gtklayout,gtkplug}.c: Merge in Win32 version (which isn't
13188         implemented).
13189
13190         * gtk/gtkmain.c: Include gdk/gdkx.h for GDK_WINDOWING. Include
13191         <X11/Xlocale.h> only on X11 platform, otherwise <locale.h>.  Use
13192         G_SEARCHPATH_SEPARATOR_S and g_module_build_path.
13193
13194         * gtk/gtkmain.h: Mark variables for export/import on Win32.
13195                 
13196         * gtk/gtkrange.c (gtk_range_motion_notify): Set mods also in case
13197         the event is not a hint, or its window is not the slider. Needed
13198         on Win32, at least.
13199
13200         * gtk/gtkrc.c: Include config.h and gdk/gdkx.h. Use <locale.h>
13201         unless on X11. Skip \r chars, too. Use G_DIR_SEPARATOR and
13202         G_SEARCHPATH_SEPARATOR(_S). Use g_path_is_absolute. On Win32, use
13203         a subdirectory of the Windows directory as gtk system
13204         configuration directory.
13205
13206         * gtk/gtkselection.c: No chunks on Win32.
13207
13208         * gtk/gtksocket.c: Not implemented on Win32.
13209
13210         * gtk/gtkthemes.c (gtk_theme_engine_get): Use g_module_build_path.
13211
13212         * gtk/makeenums.h: Include gdkprivate.h after gdk.h.
13213
13214         * gtk/maketypes.awk: Declare variables with a macro that expands to
13215         necessary export/import magic in the case of Win32.
13216                 
13217         * gtk/testrgb.c: Use dynamically allocated buffer. Use GTimers.
13218
13219 1999-03-13  Raja R Harinath  <harinath@cs.umn.edu>
13220
13221         * configure.in (gdk_wc): Move widechar tests from `glib' to here,
13222         since those were meant only for gdki18n.h.  
13223         * gdk/gdki18n.h: Include gdkconfig.h and use GDK_* instead of G_*
13224         for widechar tests.
13225         * gtk/Makefile.am (INCLUDES): Add -I../gdk for gdkconfig.h.
13226
13227 1999-03-13  Tor Lillqvist  <tml@iki.fi>
13228
13229         * configure.in acconfig.h: Check for dirent.h and pwd.h. Generate
13230         gdk/gdkconfig.h using similar mechanism as GLib's glibconfig.h.
13231
13232         * gtk-config.in: Add @libdir/gtk+/include (where gdkconfig.h is
13233         installed) to CFLAGS.
13234
13235         * gdk/Makefile.am: Add rules for gdkconfig.h.
13236
13237         * gdk/gdktypes.h: Include gdkconfig.h. Define macros for windowing
13238         APIs.
13239
13240         * gdk/gdkfontsel.c: Don't include Xlib.h, it gets included via
13241         gdkx.h anyway when compiling for X11.
13242         (gtk_font_selection_create_xlfd): Use g_strdup_printf. (In
13243         general): Merge in Win32 version.
13244         
13245         * gtk/gtkfilesel.c: Use g_get_current_dir(). Merge in Win32
13246         version: Use G_DIR_SEPARATOR, g_path_is_absolute, no tilde
13247         expansion (if we don't have HAVE_PWD_H), allow for drive
13248         letters. UNC paths (\\server\share\...) are not handled yet.  Also,
13249         included code from Craig Setera's port to Win32 (the one that uses
13250         X11, and the cygwin dll), even if it probably will be abandoned.
13251
13252         * gtk/gtkfilesel.c: Don't append a * to the pattern to complete if
13253         the user entered one herself.  This way one can complete *.h and
13254         don't get matches on any .help files, for instance.
13255         
13256 Tue Mar  9 01:01:28 1999  Tim Janik  <timj@gtk.org>
13257
13258         * gdk/gdkfont.c (gdk_font_load): first lookup the xfont ID in our
13259         font hash table, if we have a GdkFontPrivate entry for this font
13260         already, simply increment its reference count, provided by Olaf Dietsche
13261         <olaf.dietsche+list.gtk@netcologne.de>.
13262
13263         * gtk/gtkstyle.c (gtk_style_copy): plug a GdkFont reference leak, fix
13264         provided by Olaf Dietsche <olaf.dietsche+list.gtk@netcologne.de>.
13265
13266 1999-03-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
13267
13268         * gtk/gtkstyle.c (gtk_default_draw_handle): Significantly reduced
13269         the number of calls to gdk_draw_point() (and thus to X) by
13270         clipping the points by hand.
13271
13272         * gtk/gtkhandlebox.c (draw_textured_frame): Actually make use of
13273         the clip parameter.
13274         (gtk_handle_box_paint): Only paint the handle if the expose area
13275         intersects it.
13276
13277 Sun Mar  7 18:46:37 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13278
13279         * gtk/gtkmain.c (add_dll_suffix): Add this function (OS/2 ver.)
13280
13281 Sun Mar  7 11:43:34 1999  ape@spacetec.no  (Asbjorn Pettersen)
13282
13283         * gtk/gtkthemes.c (gtk_theme_engine_get): Add OS/2 changes.
13284         Added function gen_8_3_dll_name(gchar *name, gchar *fullname).
13285
13286 Fri Mar  5 09:12:24 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
13287
13288         * gtk/gtkitemfactory.c (gtk_item_factory_parse_rc): Open file in
13289          textmode (O_TEXT) for OS/2 version.
13290
13291 Sun Feb 28 16:46:02 1999  Stefan Jeske  <stefan@gtk.org>
13292
13293         * gtk/gtkspinbutton.[c,h] gtk/testgtk.c: Added two new signals to 
13294         GtkSpinButton, "input" and "output", to make the output more flexible.
13295         The user has to provide a mapping between adjustment->value and the
13296         output string (and vice versa, if the spin button is editable). 
13297         See testgtk for examples.
13298
13299 Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>
13300
13301         * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
13302         new one.
13303         
13304         * configure.in: set gtk+ version to 1.3.0.